Estructura uniforme
string
Código estable y legible por máquina. Úsalo para ramificar tu lógica de manejo de errores (no parsees el
message).string
Mensaje legible para personas. Puede cambiar con el tiempo: no lo uses para tomar decisiones en tu código.
array
Presente en errores de validación. Lista de
{ field, issue } que indica qué campo falló y por qué.string
Identificador único de la petición. Compártelo con soporte para rastrear exactamente qué pasó.
Catálogo de códigos
RESOLUTION_ERROR indica que la organización asociada a tu token no está bien configurada en el sistema (por ejemplo, le faltan modalidades activas). Si lo ves de forma persistente, contacta a soporte con el requestId.El
401 puede llegar en dos formas. Si la falla ocurre en el API Gateway (falta la x-api-key o el token, o son inválidos), la respuesta es {"message":"Unauthorized"}, sin el objeto error. Si la petición pasa el gateway pero la Facade rechaza la autenticación, usa la forma estándar con error.code: AUTHENTICATION_FAILED.Recomendaciones
Rama por code
Decide tu lógica con
error.code, nunca con el texto de message.Guarda el requestId
Registra el
requestId en tus logs: es la forma más rápida de que soporte rastree una petición.Reintenta con idempotencia
Ante
429, 500 o 502, reintenta con la misma Idempotency-Key para evitar duplicados.Valida antes de enviar
Usa
error.details para mostrar a tus usuarios qué campo corregir en errores 400.
