code puedes usar para tomar decisiones en tu lógica y qué fallos se pueden reintentar con seguridad.
Básate primero en el estado y después en code cuando esté presente, porque el texto de un mensaje puede cambiar.
Códigos de estado
Cuerpos de error
Los cuerpos de error no comparten una misma estructura, así que léelos de forma defensiva. La forma depende de la familia de endpoints:
Una respuesta
500 puede no tener ningún cuerpo JSON, así que gestiona los cuerpos que no se puedan analizar.
Errores de clave de API
Durante unos minutos después de eliminar una aplicación, la API responde con
application_deleted y, a partir de entonces, rechaza la clave como cualquier clave incorrecta.
No reintentes: la aplicación y sus claves ya no existen.
Consulta Autenticación de la API y Claves de API para saber cómo funcionan las claves y sus límites.
Créditos insuficientes
Cada familia de API informa de un saldo insuficiente a su manera:
Con un contrato, al crear una sesión, se recibe una respuesta
403 con "code": "contract_billing_suspended" cuando los servicios de pago están suspendidos para tu organización.
Las aplicaciones de sandbox nunca se facturan, así que no pasan por estas comprobaciones.
Códigos de error
Estos valores decode son estables, así que puedes basar tu lógica en ellos.
La mayoría aparecen junto a detail; en la verificación con wallets de Digital ID, el código es el valor de error.
Acceso y facturación
Solicitudes e idempotencia
Comprobaciones bancarias, de teléfono y de riesgo
Verificación de empresas (KYB)
Wallets de Digital ID
Informes y casos
Firmas electrónicas
Al crear una sesión, los problemas de documento siguientes llegan como valor del campo que presenta el problema, con estado
400, por ejemplo {"sign": "signature_document_changed"}:
Webhooks
Reintentos e idempotencia
Algunos errores se pueden repetir con seguridad y otros no:429: espera lo que indica el encabezadoRetry-Aftery luego reintenta.502y503: reintenta con backoff cuando la referencia del endpoint indique que no se facturó nada, como ocurre con las comprobaciones de teléfono, correo electrónico, banco y riesgo.502enPOST /v3/database-validation/: revisa primero cada entrada devalidation_errors, porque este código de estado por sí solo no significa un error temporal.503en una eliminación: repite la misma solicitud hasta que devuelva200.- Otros
4xx: corrige primero la solicitud, porque la misma solicitud falla de la misma forma.
POST /v3/aml/ y la verificación de wallet de Digital ID aceptan un encabezado Idempotency-Key de hasta 255 caracteres.
Repetir una solicitud con la misma clave y el mismo cuerpo devuelve la respuesta almacenada, de modo que el procesamiento y el cargo se realizan una sola vez.
Una solicitud con la misma clave y un cuerpo distinto devuelve 409 y, mientras la primera solicitud sigue en curso, los endpoints de wallets responden 409 con Retry-After.
POST /v3/session/ no tiene clave de idempotencia, así que, si se agota el tiempo de espera al crear una sesión, consulta tus sesiones por vendor_data antes de crear otra.
Relacionado
- Límite de solicitudes: límites, encabezados y el cuerpo de
429. - Autenticación de la API: cómo enviar tu clave de API.
- Pruebas en sandbox: reproduce resultados sin datos reales ni facturación.
- Webhooks: entrega, reintentos y orden.