Manejo de errores
El formato de error, cada código de estado que la API devuelve y cómo utilizar IDs de solicitud.
Situación de la API pública
La API v1 utiliza las teclas de portador con un sistema operativo y requiere un período de plan activo. Los puntos finales de facturación y borrado no envían mensajes de clientes. Ejemplos usan los marcadores de posición — nunca pegan una clave real en código compartido.
Formato de error
Cada error tiene la misma forma JSON:
{
"error": {
"code": "not_found",
"message": "Resource not found."
},
"request_id": "9fd120d8-f54e-4413-bc52-a860800ff222"
}Errores de validación agrega un objeto fields con mensajes por campo:
{
"error": {
"code": "validation_failed",
"message": "Validation failed.",
"fields": {
"currency": ["The selected currency is invalid."],
"due_date": ["The due date field is required."]
}
},
"request_id": "89a24d53-684a-4e1d-b0ee-2f6a5a7cd2c2"
}Las respuestas de error nunca incluyen huellas de pila, secretos u otros datos de las empresas.
Códigos de estado
| Situación | error.code |
Cuándo |
|---|---|---|
401 |
unauthenticated |
Falta, inválida o caducada clave de API. |
403 |
forbidden |
La clave carece del alcance, o el propietario clave, la membresía o la empresa no es elegible. |
404 |
not_found |
El recurso no existe or pertenece a otra empresa. |
409 |
conflict |
La clave de Idempotencia se reutiliza con un cuerpo diferente, expected_version, duplicar external_reference, o un cambio sólo en un proyecto de cambio sobre un crédito no-proyecto. |
422 |
validation_failed |
Falta un campo o no es válido, el Idempotency-Key falta, o no se permite un cambio de estado. |
429 |
rate_limited |
Demasiados pedidos — ver Rate limits. |
500 |
server_error |
Algo salió mal a nuestro lado. Retira más tarde con el mismo Idempotency-Key. |
Solicitud de identificación
Cada respuesta lleva un encabezado X-Request-Id. Las respuestas de error y las respuestas de lectura también lo incluyen como request_id en el cuerpo. Incluya cuando contacte con soporte para que la solicitud pueda ser rastreada.
Retirando con seguridad
- Retry
429,500y errores de red con backoff. - Para los escritos, reingrese con el same
Idempotency-Keyy el cuerpo same; obtendrá el resultado original en lugar de un duplicado. - No vuelva a iniciar la validación
4xxo errores de conflicto sin cambios — solucione la solicitud primero.