Inyo

Validador de Número de Documento

Verifique si un número de documento está bien formado para su jurisdicción, antes de crear una sesión o enviar una verificación. No se almacena nada y no se consume ninguna verificación.


Endpoint: POST /v1/validators/document-number
Autenticación: token Bearer con el scope sessions

Una verificación de formato sin estado contra el mismo registro que usa el pipeline de verificación. No se almacena nada y no se consume ninguna verificación — pero recibe identificadores gubernamentales, por lo que se atribuye a un tenant como todos los demás endpoints de esta sección. Útil para validar la entrada en su propio formulario antes de crear una sesión.

curl --request POST \
  --url https://{FQDN}/v1/validators/document-number \
  --header "Authorization: Bearer $ACCESS_TOKEN" \
  --header 'Content-Type: application/json' \
  --data '{
  "documentType": "drivers_license",
  "number": "31612967",
  "issuingCountry": "USA",
  "issuingState": "PA"
}'
{
  "documentType": "drivers_license",
  "issuingCountry": "USA",
  "issuingState": "PA",
  "valid": true,
  "rule": "drivers_license:USA:PA",
  "detail": "document number matches the PA license format"
}

El número que envía nunca se devuelve en la respuesta. La respuesta informa la jurisdicción aplicada, no el identificador que usted envió.

Qué Está Cubierto

Paísdrivers_licensepassportidentity_cardssn / itin
🇺🇸 Estados Unidos✓ 51 jurisdicciones (50 estados + DC)✓ reglas estructurales
🇨🇦 Canadá✓ 13 jurisdicciones (10 provincias + 3 territorios)
🇧🇷 Brasil✓ CNH — dígitos verificadores comprobados✓ CPF — dígitos verificadores comprobados
🇲🇽 México✓ CURP — estructura
🇪🇸 España✓ DNI/NIE — letra de control comprobada
🌎 11 países más
🌐 Resto del mundo✓ formato genérico ICAO

Los 11 países adicionales de pasaporte, como el issuingCountry que usted envía: ARG, AUS, CHN, DEU, FRA, GBR, IND, ITA, JPN, NLD, RUS.

Todo lo que no está marcado con ✓ — dentro o fuera de la tabla — devuelve valid: null, nunca false. Trate null como "no lo sabemos": acéptelo, y no lo interprete como aprobación ni rechazo.

La CNH, el CPF y el DNI/NIE se verifican con aritmética real de dígitos de control, por lo que una transposición de dígitos se detecta — a diferencia de las tablas de licencias, que verifican solo la forma, porque esas jurisdicciones no publican dígito de control.

Indicar la Jurisdicción

issuingCountry es el país — un código ISO 3166-1 alpha-3, un nombre de país o un alias común. issuingState es una subdivisión dentro de ese país — un estado de EE. UU. o una provincia o territorio de Canadá — y solo las licencias de conducir la utilizan.

Tipo de documentoissuingCountryissuingStateNotas
drivers_license (EE. UU.)USAel estado, p. ej. PA
drivers_license (Canadá)CANla provincia o territorio, p. ej. ON
drivers_license (Brasil)BRALa CNH es nacional; el DETRAN emisor no altera el número
passportel país emisor
identity_cardel país emisor
ssn, itinUSAIdentificadores exclusivos de EE. UU.; cualquier otro país devuelve 422

Una licencia debe nombrar su país. Una subdivisión no basta: enviar issuingState sin issuingCountry hace que la solicitud sea rechazada, porque PA por sí solo puede ser Pennsylvania o Pará, y la respuesta nombraría una jurisdicción que usted nunca indicó. No enviar ninguno de los dos está permitido y devuelve valid: null — no verificable, no inválido. Nada infiere el país: un pasaporte o cédula de identidad sin él también devuelve valid: null.

ssn e itin existen solo en el validador. No son tipos de documento capturables — no puede crear una sesión para ellos — pero las reglas estructurales son útiles cuando los recoge en sus propios formularios.

Interpretar la Respuesta

valid es deliberadamente de tres valores:

ValorSignificadoCómo tratarlo
trueCoincide con el formato conocido de esa jurisdicciónAcepte
falseViola el formato conocidoRechace antes de crear la sesión
nullNo existe regla para esa jurisdicciónAcepte — una jurisdicción desconocida nunca es una falla

null es la respuesta honesta para una jurisdicción sin regla, y es la razón por la que las brechas de cobertura siguientes son seguras en lugar de silenciosamente erróneas.

rule nombra la regla aplicada, para que sepa qué jurisdicción respondió:

ruleSignificado
drivers_license:USA:PAUna licencia de EE. UU. verificada contra el formato de Pensilvania
drivers_license:CAN:ONUna licencia canadiense verificada contra el formato de Ontario
drivers_license:BRAUna CNH brasileña verificada contra los dígitos verificadores nacionales — sin componente de subdivisión, porque el DETRAN emisor no altera el número
drivers_license:USA:unknown_subdivisionUna licencia de EE. UU. sin estado resoluble — valid: null
drivers_license:<country>:no_ruleUna licencia de un país para el que no tenemos reglas — valid: null
drivers_license:unknown_countryNi país ni subdivisión resueltos — valid: null
passport:USAUn pasaporte verificado contra el formato de ese país
passport:genericUn pasaporte cuyo número no cumple la forma genérica de la OACI — valid: false
passport:no_ruleUn pasaporte de un país sin formato conocido — valid: null
identity_card:ESPUna cédula de identidad verificada contra el esquema nacional de ese país
identity_card:no_ruleUna cédula de identidad de un país sin esquema conocido — valid: null
ssn:USA, itin:USALas reglas estructurales de EE. UU.

Cada regla nombra el documentType al que pertenece, por lo que el prefijo corresponde al tipo por igualdad de cadena. La única excepción es un valor reservado de sandbox, con prefijo reserved: y el tipo en su segundo segmento — vea Sandbox y Datos de Prueba.

Errores

EstadoCausa
401Token Bearer ausente o inválido
403El token no tiene el scope sessions
422issuingCountry no se pudo resolver a un país
422issuingState enviado para un pasaporte o una cédula de identidad — indique el país en issuingCountry
422issuingState enviado para una licencia sin issuingCountry — una subdivisión por sí sola no nombra una jurisdicción
422ssn o itin enviado con un issuingCountry fuera de EE. UU.
503No se pudo contactar al proveedor de identidad para verificar el token — transitorio, reintente con backoff

Próximos Pasos