Documentos de EE. UU.
Los tipos de documento de Estados Unidos del catálogo de Constaia, la lectura del código PDF417 (AAMVA) de permisos de conducir, las listas del formulario I-9 y la validación de SSN, EIN y otros identificadores.
El catálogo de Constaia incluye 31 tipos específicos de Estados Unidos (y 5 de Canadá) además de los universales,
como el pasaporte ICAO. Se usan igual que cualquier otro: pásalos en expect y recibes un verdict con sus motivos,
los campos extraídos y las comprobaciones deterministas de cada tipo.
curl -s 'https://api.constaia.com/v1/document-types?country=USA&strict=true&language=es' \
| jq -r '.data[] | "\(.type)\t\(.label)"'Sin strict=true la lista incluye también los tipos universales (passport, invoice…). Campos, validadores y
checks de cada tipo: GET /v1/document-types o el
catálogo completo.
Qué tipos hay
| Grupo | Tipos |
|---|---|
| Conducir e identidad | us_driver_license, us_state_id (50 estados y DC, con PDF417), us_passport_book, us_passport_card, us_military_id, us_school_id, us_voter_registration_card, us_tribal_document, us_citizen_id_card, us_resident_citizen_id_card |
| Inmigración y trabajo | us_permanent_resident_card (Green Card), us_ead (I-766), us_foreign_passport_i551, us_i94, us_i9_form |
| Registro civil y Seguridad Social | us_birth_certificate, us_consular_birth_report, us_ssn_card |
| Salud | us_medicare_card, us_health_insurance_card |
| Impuestos | us_w9, us_w2, us_1099_nec, us_1099_misc, us_1099_int, us_irs_ein_letter |
| Ingresos, banca y dirección | us_paystub, us_bank_statement, us_utility_bill |
| Seguros y vehículos | acord_25, us_vehicle_registration |
| Canadá | ca_driver_licence, ca_photo_id_card, ca_pr_card, ca_sin, ca_health_card |
Permisos de conducir e ID estatales: el código PDF417
El reverso de un permiso de conducir o una ID estatal de EE. UU. (y de los permisos de Canadá) lleva un código de barras PDF417 con los datos del titular en el estándar AAMVA. Constaia lo lee en sus propios servidores, sin enviarlo a ningún proveedor de IA y sin coste adicional, y:
- rellena con él los campos que falten (número, nombre, fechas, dirección…);
- lo cruza con el anverso impreso: número, nombre, apellido, fecha de nacimiento y caducidad. El resultado es el
check
aamva_matches_visual; si algo no coincide, falla, los campos afectados quedan convalidated: falsey el veredicto pasa ainvalid; - valida el formato del número de permiso según el estado (
issuing_state) y el código ZIP (id_number_format).
Para que se lea, el fichero tiene que incluir el reverso: una imagen con las dos caras o un PDF de dos páginas
(sigue costando 1 crédito). El widget con sides="2" captura las dos caras y las une. Si solo llega
el anverso, no hay aamva_matches_visual y el resto funciona igual.
curl https://api.constaia.com/v1/analyze \
-H "Authorization: Bearer $CONSTAIA_API_KEY" \
-F file=@driver_license_both_sides.jpg \
-F 'options={"expect":["us_driver_license","us_state_id"],"checks":{"min_age_years":21}}'{
"document": { "type": "us_driver_license", "label": "Licencia de conducir (EE. UU.)", "country": "USA" },
"verdict": {
"status": "valid",
"reasons": [
{ "code": "type_match", "severity": "info", "message": "El documento es Licencia de conducir (EE. UU.)." },
{ "code": "not_expired", "severity": "info", "message": "Vigente hasta el 30/07/2031." },
{ "code": "age", "severity": "info", "message": "El titular tiene 41 años." },
{ "code": "i9_list", "severity": "info", "message": "Documento aceptable para el formulario I-9: lista B." }
]
},
"checks": [
{ "code": "id_number_format", "passed": true, "message": "El identificador document_number (us_dl) es válido." },
{ "code": "id_number_format", "passed": true, "message": "El identificador postal_code (us_zip) es válido." },
{ "code": "aamva_matches_visual", "passed": true, "message": "El código PDF417 (AAMVA v10) se ha leído y coincide con los datos impresos." }
]
}Entre los campos están issuing_state, document_number, first_name, middle_name, last_name, birth_date,
issue_date, expiry_date, address, postal_code, real_id_compliant, class, restrictions, endorsements,
commercial y barcode_data (el texto del PDF417). La caducidad se comprueba por defecto. Guía completa:
Verificar un permiso de conducir de EE. UU..
Formulario I-9: listas A, B y C
Los tipos que sirven para el formulario I-9 indican su lista en i9_lists (["A"], ["B"], ["C"] o ["B","C"])
en el catálogo, y al analizarlos con expect añaden un motivo informativo:
{ "code": "i9_list", "severity": "info", "message": "Documento aceptable para el formulario I-9: lista A." }| Lista | Tipos |
|---|---|
| A | us_passport_book, us_passport_card, us_permanent_resident_card, us_foreign_passport_i551, us_ead, us_i94 |
| B | us_driver_license, us_state_id, us_school_id, us_voter_registration_card, us_military_id, us_tribal_document, ca_driver_licence |
| C | us_ssn_card, us_birth_certificate, us_consular_birth_report, us_tribal_document, us_citizen_id_card, us_resident_citizen_id_card |
Constaia etiqueta la lista; si la combinación está completa (un documento de la A, o uno de la B más uno de la C) lo decide tu código, y el empleador sigue siendo responsable del formulario. No hay integración con E-Verify. Guía completa: Documentos del formulario I-9.
Identificadores de EE. UU.
Estos identificadores se validan de forma determinista (sin IA) en los tipos que los tienen. Solo se comprueba el formato o el dígito de control: Constaia nunca consulta a la SSA, al IRS ni a USCIS.
| Esquema | Qué valida | Dónde |
|---|---|---|
us_dl | Formato del número de permiso según el estado emisor | us_driver_license, us_state_id |
us_ssn | Formato del SSN (área, grupo y serie válidos) | us_ssn_card, us_w9, us_w2, 1099, us_i9_form |
us_ein | Formato del EIN (prefijo del IRS válido) | us_w9, us_w2, 1099, us_irs_ein_letter |
us_uscis | Número USCIS / A-Number | us_permanent_resident_card, us_ead, us_foreign_passport_i551, us_i9_form |
us_mbi | Medicare Beneficiary Identifier | us_medicare_card |
us_aba | Dígito de control del número de ruta bancario (ABA) | us_bank_statement |
us_zip | Código ZIP de 5 o 9 cifras | permisos, W-9, extractos, facturas, carta EIN, registro de vehículo |
El resultado va en checks[] como id_number_format o id_number_checksum. En algunos tipos el identificador está
marcado como blando (por ejemplo el SSN de un W-2 o un 1099, que suele venir enmascarado): su fallo da un motivo
con warning y lleva a review en vez de a invalid. Qué esquemas tiene cada tipo lo dice field_validators en el
catálogo.
Probarlo
Con una clave ck_test_ no hay escenarios de EE. UU.: un documento americano devuelve el tipo generic y, con
expect, el veredicto review con type_unknown. Para ver los tipos de EE. UU. de verdad, usa una clave live: los
150 créditos gratis del mes sirven (los créditos gratis en live exigen el email verificado). Ver
Modo test.
Dónde se procesan los datos
Hoy todos los documentos, también los de clientes de EE. UU., se procesan y guardan en la UE, y
processing.region es eu. Constaia no hace biometría ni consulta registros públicos (DMV, IRS, SSA, E-Verify). Notas
sobre DPPA, CCPA, GLBA/FCRA y leyes biométricas en Residencia de datos y cumplimiento.
Próximamente: región de EE. UU.
Está prevista una región de procesamiento en EE. UU., todavía sin fecha. Sigue el changelog.
Guías
Permiso de conducir
Edad, vigencia y PDF417 en altas y alquileres.
Formulario I-9
Documentos de las listas A, B y C y borrador de la sección 2.
W-9 de contratistas
Recoge y valida el W-9 de proveedores y freelances.
Verificación de ingresos
Nóminas y extractos bancarios en una solicitud.
Certificado ACORD 25
Seguro de responsabilidad de proveedores y subcontratas.
Justificante de domicilio
Facturas de suministros y extractos recientes.
Revisión humana
Qué hacer con el veredicto review. Por qué ocurre, cómo recibirlo por webhook, montar una cola de revisión, registrar la decisión y pedir otra foto.
Verificar un permiso de conducir de EE. UU.
Verifica un permiso de conducir o una ID estatal de EE. UU. con el código PDF417 (AAMVA), el formato del número de cada estado, la caducidad y la edad mínima, con Node o Python.