Qué recibirás
Una respuesta
application/problem+json es un objeto de detalles de problema de RFC 9457. Cualquier otro tipo de medio no lo es, y la forma que transporta varía entre APIs. La referencia de tu API incluye una página de Manejo de errores que indica la forma con la que esa API responde.
type– Una referencia URI que identifica el tipo de error.title– Un resumen breve del tipo de problema.status– El código de estado HTTP.detail– Orientación específica para esta ocurrencia.code– Un identificador estable para el error. Usa este campo para el manejo programático.errors– Lista opcional de detalle por campo, cada entrada con unlocationy unmessage.instance– Referencia URI opcional para esta ocurrencia específica.
Códigos de error
La forma del código varía según la API. Encontrarás un
<PREFIX>-<NNNN> con prefijo, un número
simple, un token en minúsculas y un código que asignó la contraparte de un riel. El núcleo de Midaz
usa números simples como 0002 y 0009.
La referencia de tu API incluye una página de Manejo de errores que indica la forma que usa esa
API y lista los códigos que emite.
Códigos de estado HTTP
Estos son los códigos de estado que encontrarás con más frecuencia. Una API puede responder con otros, y su propia página de Manejo de errores los lista.
Orientación sobre reintentos
No se recomienda reintentar cada error. La siguiente tabla te ayuda a decidir:
Estrategia de backoff exponencial
Para los errores reintentables, usa backoff exponencial para no saturar el servicio:- Primer reintento: espera 1 segundo
- Segundo reintento: espera 2 segundos
- Tercer reintento: espera 4 segundos
- Reintentos máximos: detente después de 3 a 5 intentos
- Jitter: agrega un pequeño retraso aleatorio (0 a 500 ms) a cada espera para evitar el thundering herd
Solución de problemas por categoría
Campos faltantes o inválidos (400)
Una respuesta400 puede llevar detalle por campo que señala los campos responsables.
Causas comunes:
- Falta un campo obligatorio en el cuerpo de la solicitud
- El valor del campo no coincide con el tipo esperado (por ejemplo, texto en lugar de UUID)
- El valor del campo supera la longitud máxima
- Campos adicionales inesperados en el cuerpo de la solicitud
- Lee el detalle por campo en la respuesta de error
- Compara tu solicitud con la referencia de la API para ese endpoint
Autenticación y autorización (401/403)
Causas comunes:- Falta el header
Authorization - Token expirado o revocado
- El token no otorga acceso al endpoint solicitado
- Confirma que tu entorno tenga Access Manager habilitado
- Verifica que el token esté presente en el header
Authorization - Solicita un token nuevo si el actual expiró
- Verifica que el ámbito del token incluya los permisos requeridos
Recurso no encontrado (404)
Causas comunes:- ID de recurso incorrecto en la ruta de la URL
- El recurso se eliminó de forma lógica (soft delete)
- El recurso pertenece a otra organización o ledger
- Verifica el ID del recurso en la ruta de la URL
- Lista los recursos para confirmar que el ID existe
- Verifica que uses los parámetros de ruta
organizationIdyledgerIdcorrectos
Errores de conflicto (409)
Causas comunes:- Crear un recurso con un nombre que ya existe (por ejemplo, nombre de ledger duplicado, nombre de regla duplicado)
- Intentar una operación que ya se completó (por ejemplo, transacción duplicada)
- Lee el mensaje de error para identificar qué campo causó el conflicto
- Usa un valor distinto (por ejemplo, renombra) u obtén el recurso existente en su lugar
- Para operaciones idempotentes, verifica que el recurso existente coincida con tu intención
Rate limit (429)
Causas comunes:- Demasiadas solicitudes en un período corto
- Implementa backoff exponencial con jitter
- Reduce la frecuencia de las llamadas a la API
- Agrupa operaciones en lotes cuando sea posible
Errores de servidor y de tiempo de espera (500/502/503/504)
Causas comunes:- Interrupción temporal del servicio
- Alta carga en la plataforma
- Dependencia upstream no disponible
- Reintenta las lecturas con backoff exponencial (1 s, 2 s, 4 s). Concilia los comandos antes de reintentarlos, porque el resultado original puede ser desconocido.
- Si el error persiste después de 3 a 5 reintentos, contacta a soporte
- Registra una respuesta de error redactada para la escalación a soporte
Listas de errores por servicio
Cada referencia de API incluye una página de Manejo de errores. Úsala para buscar un código que recibiste. Productos
Rieles Brasil
La lista de errores de SPI documenta el contrato del riel nativo de SPI. No es la vía de integración de Pix Lerian v1.0.0: usa la lista de errores de Pix Lerian para el plugin de aplicación y la superficie de integración/pruebas con el proveedor simulado. El conector nativo de SPI no está disponible para uso en esta versión.
Interfaces
Plataforma
Mejores prácticas
1. Usa los códigos de error para el manejo programático
Los códigos de error son identificadores estables para la automatización. Asigna códigos específicos a rutas de resolución en tu integración:2. Registra los errores con contexto
Registra la operación, la marca de tiempo, el estado, el código de error estable y una respuesta redactada. No registres credenciales, tokens bearer, datos personales ni campos sensibles de la solicitud. Esto mantiene el contexto útil para soporte sin copiar secretos ni PII en los registros.3. Maneja los errores por campo
Cuando la respuesta lleva detalle por campo, muestra esos mensajes a tus usuarios en lugar de un error genérico. El miembro que lo lleva varía según la API. Cada página de lista de errores indica el miembro que envía su API.4. Implementa circuit breakers para las integraciones
Si recibes errores500, 502 o 503 repetidos, usa un patrón de circuit breaker para dejar de llamar temporalmente al servicio que falla y evitar fallas en cascada.

