Saltar al contenido principal

Manejo de errores comunes

Formato de respuesta de error​

El formato de respuesta de error es el siguiente:

{
"type": "validation_error",
"errors": [
{
"code": "required",
"detail": "This field is required.",
"attr": "name"
}
]
}
  • type: puede ser validation_error, client_error o server_error.
  • code: cadena corta que describe el error. Puedes usarla para adaptar el comportamiento de tu integración.
  • detail: texto descriptivo y comprensible para el usuario sobre el error. Por lo general está en inglés, pero puede traducirse.
  • attr: puede ser null cuando el error no está asociado a un campo específico; cuando aplica, contiene el nombre del campo, por ejemplo en errores de tipo validation_error.

Errores comunes​

Algunos errores pueden aparecer en la mayoría de nuestros endpoints. En las siguientes secciones describimos los más comunes. Para más detalles, consulta los recursos enlazados en OpenAPI.

403 No autorizado​

Estos errores se devuelven con el código de estado 403 siempre que la autenticación falla o se hace una solicitud a un endpoint sin proporcionar información de autenticación. Estos son los dos errores posibles:

{
"type": "client_error",
"errors": [
{
"code": "authentication_failed",
"detail": "Incorrect authentication credentials.",
"attr": null
}
]
}
{
"type": "client_error",
"errors": [
{
"code": "not_authenticated",
"detail": "Authentication credentials were not provided.",
"attr": null
}
]
}

405 Método no permitido​

Este error se devuelve cuando se llama a un endpoint con un método HTTP inesperado. Por ejemplo, si para actualizar un usuario se requiere POST y en su lugar se usa PATCH, se devuelve este error. Se ve así:

{
"type": "client_error",
"errors": [
{
"code": "method_not_allowed",
"detail": "Method \"PATCH\" not allowed.",
"attr": null
}
]
}

406 No aceptable​

Este error se devuelve si se envía la cabecera Accept con un valor distinto a application/json. La respuesta sería:

{
"type": "client_error",
"errors": [
{
"code": "not_acceptable",
"detail": "Could not satisfy the request Accept header.",
"attr": null
}
]
}

415 Tipo de medio no soportado​

Este error se devuelve cuando el tipo de contenido de la solicitud no es JSON. La respuesta sería:

{
"type": "client_error",
"errors": [
{
"code": "unsupported_media_type",
"detail": "Unsupported media type \"application/xml\" in request.",
"attr": null
}
]
}

500 Error interno del servidor​

Este error se devuelve cuando el servidor de la API encuentra un error inesperado. La respuesta sería:

{
"type": "server_error",
"errors": [
{
"code": "error",
"detail": "A server error occurred.",
"attr": null
}
]
}

Elige tu guía​

Soy un Comercio

Quiero cobrar pagos o enviar dinero a mis usuarios.

Soy un Proveedor de Pago

Tengo puntos físicos y quiero procesar transacciones de Pago46.