application/problem+json y el esquema Detail para estas respuestas.
type– Un URI que identifica el error en el catálogo de errores de Lerian, construido comohttps://errors.lerian.studio/v1/<code>. Una respuesta sincodelleva el valor predeterminado de RFCabout:blank.title– El texto del estado HTTP, por ejemploUnprocessable Entity.status– El código de estado HTTP.detail– Una explicación legible de esta ocurrencia. En la mayoría de las respuestas5xx, SPB reemplaza el texto porinternal error, así que la causa interna no queda expuesta en la respuesta. Usacodepara decidir la rama en su lugar.code– El código de error estable de SPB, con el formatoSPB-NNNN.errors– Una lista opcional de detalles de validación por campo. Cada entrada lleva unmessagey unalocation, y puede llevar elvaluerechazado.correlationId– El identificador de correlación con alcance de la solicitud. SPB reutiliza unX-Request-IDválido o genera uno. Cita este valor en una solicitud de soporte.
400), un método no admitido (405) o un tipo de medio no admitido (415). Una ruta desconocida responde 404 con SPB-0010, y una solicitud que no coincide con el esquema publicado responde 422 con SPB-0003.
La capa de idempotencia se ejecuta antes del handler. Un encabezado X-Idempotency ausente responde 422 con SPB-0001. Una clave mal formada, o una clave reutilizada con un cuerpo distinto, responde 422 con SPB-0003. Una repetición de una clave todavía en curso responde 409 con SPB-0011. Si el almacén de idempotencia falla después de que el handler se ejecutó, SPB igual devuelve la respuesta del handler, con el encabezado X-Idempotency-Fenced. Cuando ese encabezado vale true, la clave rechaza un reenvío con 422. Concilia la solicitud original y no la envíes de nuevo con una nueva clave.
La columna detail resume el texto que SPB coloca en el campo detail. La redacción exacta depende del punto de llamada, porque un punto de llamada puede reemplazarlo por un texto específico de la solicitud.
Errores de validación y de entrada
El rango
SPB-0xxx cubre una solicitud que SPB leyó y luego rechazó.
HTTP 422 Entidad no procesable
HTTP 413 Entidad de solicitud demasiado grande
HTTP 404 No encontrado
HTTP 409 Conflicto
Errores de conectividad con el STR
El rango
SPB-1xxx cubre una solicitud que SPB rechazó porque su camino hacia el STR está caído.
HTTP 503 Servicio no disponible
Errores de autenticación y de autorización
El rango
SPB-2xxx cubre una solicitud cuya credencial está ausente o no se puede usar y una solicitud que pide una acción fuera de sus permisos. También cubre una solicitud enviada por HTTP en texto plano en producción o staging.
HTTP 401 No autorizado
HTTP 403 Prohibido
Errores de procesamiento y de estado
El rango
SPB-3xxx cubre una solicitud que SPB aceptó y luego no pudo aplicar. Tres de estos códigos describen un conflicto de estado sobre el que puedes actuar, así que responden 409 en lugar de un 5xx.
HTTP 409 Conflicto
HTTP 500 Error interno del servidor
Errores de rate limit
El rango
SPB-4xxx cubre a un emisor de llamadas que superó su presupuesto de solicitudes.
HTTP 429 Demasiadas solicitudes
Errores de reserva
El rango
SPB-9xxx cubre una falla del lado de Lerian o en un componente del que depende SPB. Reintenta una solicitud que responde 503 o 504. Para los demás códigos, cita el correlationId en una solicitud de soporte.
HTTP 500 Error interno del servidor
HTTP 503 Servicio no disponible
HTTP 504 Tiempo de espera del gateway agotado
Rechazos de la red de BACEN
Un código
SPB-NNNN describe una decisión que tomó Lerian SPB. Un mensaje que SPB transmite todavía puede fallar en el STR, y ese rechazo lleva el vocabulario propio de BACEN en lugar de un código SPB-NNNN.
GET /v1/str/reports/rejected lista los mensajes rechazados para un rango de fechas. Cada elemento rechazado lleva un campo rejectReason cuando BACEN suministró uno. El valor es el propio código de error de BACEN para el rechazo, proyectado sin cambios. SPB lo lee del campo de código de error en la devolución de error del STR que envía BACEN.
Trata rejectReason como un vocabulario abierto. El conjunto de valores pertenece a BACEN, y crece junto con el catálogo del STR. Pasa el valor a tu operador en lugar de compararlo con una lista fija en tu cliente.
El resultado de la liquidación viaja por separado, en el campo sitLancSTR. SPB proyecta el estado de liquidación del STR de forma literal en ese campo. Lo hace en los eventos de una respuesta entrante y en las lecturas de estado de Conta PI y de dinero electrónico. En esas lecturas, el campo permanece vacío mientras el movimiento está en PENDING.
