Skip to content

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:

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:

JSON
{
    "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, 500 y errores de red con backoff.
  • Para los escritos, reingrese con el same Idempotency-Key y el cuerpo same; obtendrá el resultado original en lugar de un duplicado.
  • No vuelva a iniciar la validación 4xx o errores de conflicto sin cambios — solucione la solicitud primero.