ID
Scan
API de verificación de identidad NFC • La privacidad es lo primero • Compatible con API

Integra la verificación de identidad en tu propio software.

Crea solicitudes seguras de verificación de identidad mediante NFC desde tu propio sistema. Invita a los usuarios por correo electrónico o SMS, o envía tú mismo el enlace generado. El usuario escanea el chip NFC en la aplicación móvil y tú recuperas solo los campos que necesita tu proceso.

Verificación del chip NFCLee los datos de DG1/DG2 y comprueba el chip del documento.
Minimización de datosSolicita solo los campos y las comprobaciones necesarios para tu flujo de trabajo.
Flujo de trabajo propioUtiliza referencias externas para vincular los resultados a tus propios expedientes.
Ejemplo de flujo
1POST /scan-requests
2Invite email / SMS / own channel
3App NFC + optional selfie check
4GET /scan-requests/{id}/details

Flujo de la API

ID Scan está diseñado para proveedores de software y organizaciones que desean incorporar la verificación de identidad sin tener que desarrollar ellos mismos todo el proceso de escaneo móvil.

1

Crear una solicitud

Crea una solicitud de escaneo desde tu sistema de gestión. Añade una referencia externa, el idioma, la fecha de caducidad, los ajustes de entrega, los campos solicitados y las comprobaciones.

2

Invita al usuario

Deja que ID Scan envíe el correo electrónico o el SMS, o utiliza tu propio canal de comunicación con el enlace de verificación que se te ha facilitado.

3

Escanear en la aplicación

El usuario abre la aplicación móvil, escanea la zona magnética (MRZ), lee el chip NFC y, si lo desea, realiza una verificación en directo mediante una selfie comparándola con la foto de rostro del DG2.

4

Obtener el resultado

Recupera el estado, las comprobaciones, los campos solicitados y la información de auditoría a través de la API. Solo se devuelven los campos configurados.

URL base y autenticación

Las llamadas a la API se envían a la URL base de la API de ID Scan y se autentican mediante una clave de API generada en el portal de ID Scan. La clave de API se envía a través de un encabezado de solicitud específico y solo debe utilizarse en el lado del servidor. Nunca reveles las claves de API en el código del frontend ni en las aplicaciones móviles.

Base URL https://api.id-scan.app Example request GET https://api.id-scan.app/api/scan-requests/{id}/details X-API-KEY: YOUR_API_KEY Accept: application/json

Crear solicitud y respuesta

Cuando se crea una solicitud de escaneo, la API devuelve el ID de la solicitud, la clave de la solicitud, la hora de caducidad y los enlaces de verificación. Utiliza la WebUrl devuelta en tu propio correo electrónico, SMS, portal o flujo de trabajo cuando utilices el envío autónomo. En dispositivos móviles, la DeepLinkUrl puede abrir la aplicación directamente.

{ "ScanRequestId": "2153ae29-0b77-4601-87b6-17ce9037ef3d", "Status": "requested", "LanguageCode": "nl", "ExternalReference": "customer-12345", "RequestKey": "ab6f1c05de29", "ExpiresAtUtc": "2026-05-28T06:58:17.9384521Z", "DeepLinkUrl": "idcheck://scan/ab6f1c05de29", "WebUrl": "https://id-scan.app/ab6f1c05de29", "IsTest": false }

Opciones de entrega

Puedes elegir cómo recibe el usuario la solicitud de verificación. Esto permite que ID Scan se adapte tanto a flujos de comunicación totalmente automatizados como a flujos personalizados.

Correo electrónico de la plataforma

ID Scan envía un correo electrónico de invitación con la imagen de marca de la empresa y un enlace de verificación seguro.

Plataforma de SMS

ID Scan envía el enlace de verificación por SMS. Resulta útil para los procesos de registro orientados al móvil.

Entrega por cuenta propia

Tu sistema recibe el enlace y lo envía a través de tu propio correo electrónico, SMS, portal o flujo de trabajo de mensajería.

Estados de las solicitudes

Una solicitud de verificación pasa por una serie de estados. Las integraciones pueden utilizar estos estados para mostrar el progreso, activar recordatorios o decidir si es necesario enviar una nueva solicitud.

EstadoDescripción
requestedThe request has been created and is waiting for the user to start or complete the verification.
completedThe user completed the flow. Use IsSuccess and the check fields to determine whether verification passed.
expiredThe request expired before the user completed the verification.
deletedThe request was deleted and is no longer available for completion.
failedThe request could not be completed successfully because of an error or failed verification step.

Referencia externa

Utiliza una referencia externa para vincular una solicitud de verificación a tu propio cliente, empleado, expediente, pedido o registro de incorporación. Al consultar los detalles de la solicitud, se muestra la misma referencia.

ID del cliente

Vincula la solicitud al expediente de tu propio cliente.

Número de expediente

Vincula el resultado a un expediente de Wwft, RR. HH. o cumplimiento normativo.

N.º de pedido o de proceso

Utilice la referencia para continuar con los flujos de trabajo automatizados una vez finalizada la verificación.

Campos obligatorios

ID Scan permite reducir al mínimo los datos. Configura exactamente qué campos deben enviarse a tu sistema. Se puede mostrar al usuario qué datos se compartirán antes de que envíe el formulario.

CampoDescripciónFuente
surnameSurname / family name from the identity document.NFC DG1
given_namesGiven names from the identity document.NFC DG1
date_of_birthDate of birth. Can also be used for age checks.NFC DG1
date_of_expiryDocument expiry date.NFC DG1
document_numberDocument number. Can be returned full or masked depending on template settings.NFC DG1
document_typeDocument type, such as passport or identity card.NFC DG1
issuing_countryCountry that issued the document.NFC DG1
country_of_issueCountry of issue when available.NFC DG1
nationalityNationality from the identity document.NFC DG1
genderGender marker from the document, if requested.NFC DG1
photoPortrait photo from the NFC chip. Only return when explicitly needed.NFC DG2
mrz_masked_imageMasked MRZ image as proof of scan without exposing all MRZ data.Camera/MRZ
selfie_imageLive selfie image. Usually only included for manual review.Camera/selfie

Cheques disponibles

Las comprobaciones pueden solicitarse como parte del proceso de verificación. Algunas son comprobaciones técnicas relacionadas con la tecnología NFC, mientras que otras se basan en reglas de negocio, como la edad mínima o la verificación mediante selfie.

ComprobarDescripciónResultado obtenido
nfc_read_successIndicates whether the NFC chip was successfully read.true / false
chip_authentication_successIndicates whether chip authentication or chip verification succeeded.true / false
document_not_expiredChecks if the document expiry date is in the future.true / false
minimum_ageChecks whether the person meets a configured minimum age without necessarily returning the date of birth.{ required, passed }
sod_signature_validChecks the SOD signature when available.true / false
dg1_hash_validChecks whether DG1 data matches the signed document data.true / false
dg2_hash_validChecks whether the portrait photo data matches the signed document data.true / false
active_auth_okOptional active authentication result when supported by the document.true / false / not available
selfie_checkOptional live selfie verification matched against the DG2 portrait photo.{ requested, consent_given, passed, status, method }

Campos de resultado y de retorno

El punto final de resultados devuelve el estado de la solicitud, el estado de la verificación, la referencia externa, los campos de identidad seleccionados, las imágenes seleccionadas y los resultados de la verificación. No se devuelven los campos que no se hayan solicitado.

Estado de la solicitud

Solicitadas, completadas, caducadas, eliminadas o fallidas, incluyendo las marcas de tiempo de creación y finalización.

Campos seleccionados

Únicamente datos de identidad configurados, como el nombre, la nacionalidad, la fecha de nacimiento o la fecha de caducidad del documento.

Controles y auditorías

Estado de lectura NFC, autenticación del chip, validez del documento, verificación mediante selfie y datos opcionales en formato PDF o en informes.

Campos de imagen

Los campos de imagen, como la foto de rostro DG2, la imagen MRZ enmascarada y la imagen de selfie, se devuelven en línea como datos codificados en Base64 cuando se solicitan. Las imágenes no se devuelven como URL públicas.

Codificado en Base64

Utiliza el valor de los datos como datos de imagen binarios codificados en Base64.

Tipo de contenido

Utiliza el tipo de contenido, como «image/jpeg», para reconstruir la imagen correctamente.

Solo cuando se solicite

Los datos de imagen solo se incluyen cuando el campo se solicita explícitamente en la plantilla.

Ocultación del número de documento

El número de documento puede mostrarse completo o oculto. La ocultación ayuda a reducir la exposición innecesaria de los números de documento, al tiempo que permite realizar comprobaciones de coincidencia o de auditoría en su propio sistema.

ValorOpciónDescripción
(empty)No maskingReturn the document number as read from the identity document. Only use when the full document number is required.
last4_visibleLast 4 visibleMask the document number and only return the last four characters, for example *****7P44.
first4_visibleFirst 4 visibleMask the document number and only return the first four characters.

Ejemplo de solicitud de API

En el ejemplo siguiente se crea una solicitud de verificación, se pide a ID Scan que envíe la invitación por correo electrónico y se devuelven únicamente los campos y comprobaciones seleccionados.

POST /api/scan-requests X-API-KEY: YOUR_API_KEY Content-Type: application/json { "externalReference": "customer-12345", "language": "en", "expiresInHours": 72, "delivery": { "mode": "platform", "channels": ["email"], "emailAddress": "client@example.com", "phoneNumber": null }, "template": { "fields": { "given_names": { "requested": true }, "surname": { "requested": true }, "document_number": { "requested": true, "masking": "last4_visible" }, "country_of_issue": { "requested": true }, "photo": { "requested": true }, "date_of_expiry": { "requested": true }, "nationality": { "requested": true }, "mrz_masked_image": { "requested": true } }, "checks": { "document_not_expired": true, "nfc_read_success": true, "chip_authentication_success": true, "selfie_check": true, "minimum_age": 18 } } }

Ejemplo de resultado

Una vez finalizado el proceso, su sistema podrá recuperar el resultado mediante el ID de solicitud o la clave de solicitud. La referencia externa se puede utilizar para vincular el resultado a su propio sistema.

GET /api/scan-requests/{id}/details X-API-KEY: YOUR_API_KEY { "VerificationRequestId": "912eef5b-7ec7-4825-9125-b5a0e68eb878", "Name": "Jane Doe", "EmailAddress": "jane@example.com", "PhoneNumber": "31612345678", "PreferredLanguage": "en", "Status": "completed", "RequestType": "identity_check", "DeliveryMode": "platform", "DeliveryChannels": "sms,email", "ResultJson": { "fields": { "country_of_issue": "NLD", "nationality": "NLD", "given_names": "JANE MARIA", "surname": "DOE", "date_of_expiry": "2034-01-03", "document_number": "*****7P44", "photo": { "available": true, "content_type": "image/jpeg", "data": "/9j/..." }, "mrz_masked_image": { "available": true, "content_type": "image/jpeg", "data": "/9j/4AAQSQ==..." } }, "checks": { "nfc_read_success": true, "chip_authentication_success": true, "document_not_expired": true, "minimum_age": { "required": 18, "passed": true }, "selfie_check": { "requested": true, "consent_given": true, "passed": true, "status": "passed", "method": "on_device_face_match" } } }, "CreatedDateTimeUtc": "2026-05-26T06:14:26", "InvitationSentDateTimeUtc": "2026-05-26T06:14:26", "CompletedDateTimeUtc": "2026-05-26T06:16:04", "HasResult": true, "IsSuccess": true, "NfcReadSuccess": true, "ChipAuthenticationSuccess": true, "Summary": "Passport chip successfully read", "DocumentType": "PASSPORT" }

Conservación de datos y privacidad

Los ajustes de retención se pueden configurar por cliente. Los datos de verificación se pueden eliminar tras un periodo determinado, tras su lectura o de acuerdo con la política de privacidad que haya configurado. Esto ayuda a limitar el almacenamiento innecesario de datos de identidad sensibles.

Días fijos

Eliminar los datos de verificación tras un número de días configurado.

Después de leer

Marcar los datos como leídos al recuperarlos y programar su eliminación a partir de ese momento.

Configuración del portal y de la API

Utiliza configuraciones de retención distintas para los flujos de trabajo del portal y de la API cuando sea necesario.

Criterios de valoración adicionales

Además de crear y recuperar solicitudes, las integraciones pueden reenviar invitaciones o eliminar una solicitud. La eliminación de una solicitud puede ser útil cuando se cancela un flujo de trabajo o cuando ya no es necesaria una verificación.

Reenviar invitación

POST /api/scan-requests/{id}/resend

Solicitud de eliminación

DELETE /api/scan-requests/{id}

Leer más

GET /api/scan-requests/{id}/details

Modo de prueba

El modo de prueba permite validar todo el flujo de integración antes de la puesta en marcha. Las solicitudes de prueba se marcan con «IsTest» en la respuesta de la API, de modo que tu sistema pueda distinguir los datos de prueba de los flujos de trabajo de producción.

Pruebas seguras

Comprueba la creación de solicitudes, la entrega, el análisis de aplicaciones y la obtención de resultados sin utilizar flujos de trabajo de producción.

Visible en respuesta

La respuesta a la solicitud de creación incluye el campo «IsTest», lo que facilita la detección de las solicitudes de prueba.

Ponerlo en marcha más adelante

Empieza con una clave API de prueba o una configuración de tenant de prueba y pasa a la verificación en producción una vez validado.

Fracaso y resultados incompletos

No todas las solicitudes se completan con éxito. El usuario puede interrumpir el proceso, la solicitud puede caducar o la lectura NFC puede fallar. Utiliza los campos «Status», «HasResult», «IsSuccess» y los campos de comprobación para determinar el resultado final.

{ "VerificationRequestId": "912eef5b-7ec7-4825-9125-b5a0e68eb878", "Status": "completed", "HasResult": true, "IsSuccess": false, "NfcReadSuccess": false, "ChipAuthenticationSuccess": false, "Summary": "NFC chip could not be read", "DocumentType": null, "ResultJson": { "checks": { "nfc_read_success": false, "chip_authentication_success": false, "document_not_expired": null, "selfie_check": { "requested": true, "consent_given": false, "passed": false, "status": "not_completed", "method": "on_device_face_match" } } } }

¿Estás listo para integrar la verificación de identidad mediante NFC?

Crea una cuenta gratuita, genera una clave API y prueba todo el proceso antes de ponerlo en marcha.