Saltar al contenido principal
Lerian SCR expone una única superficie REST. Una instalación atiende a una institución.

Superficie de la API


Las operaciones de credencial existen solo cuando un vault de escritura respalda el despliegue. De lo contrario, la credencial proviene del entorno. GET /v1/scr/audit y GET /v1/scr/consultations/{id} pueden devolver el CPF o la raíz del CNPJ consultado completo, en el campo document. Concede scr:audit:read solo a las personas que puedan verlo.

Autenticación


Un consumidor se autentica con un token OAuth2 de client-credentials en Authorization: Bearer. Con PLUGIN_AUTH_ENABLED=true, el servidor de autorización decide cada solicitud protegida. Un ámbito tiene la forma scr:<resource>:<action>. Consulta Access Manager. Un token faltante responde SCR-0201, y un ámbito faltante SCR-0202. Un servidor de autorización inalcanzable responde SCR-1002, porque el control falla en modo cerrado.

Idempotencia


Las dos operaciones con efectos exigen un header X-Idempotency, y una solicitud sin él responde SCR-0004. Cuando Lerian SCR almacena un resultado 2xx o 4xx, un reintento dentro de una ventana de cinco minutos repite ese resultado y no paga una segunda tarifa. Un reintento mientras la primera solicitud sigue en ejecución responde SCR-0006. Envíalo de nuevo después de Retry-After. Una clave reutilizada con una solicitud distinta responde SCR-0003. Una respuesta con X-Idempotency-Fenced: true retiene su clave durante la ventana, y un reintento con esa clave responde SCR-0005 sin ejecutarse. Un 5xx sin ese header libera la clave, y un reintento vuelve a ejecutar la operación. Con X-Idempotency-Fenced: false, la solicitud puede haberse ejecutado y la clave no está protegida. Concilia el resultado antes de enviar la solicitud de nuevo. Sin Redis, ambas operaciones responden SCR-9002.

Errores


Un fallo responde application/problem+json conforme a RFC 9457, con el código y el estado.

Eventos


Lerian SCR emite un evento por cada consulta terminal a través de un outbox transaccional. La fila de auditoría y el evento hacen commit juntos.
  • studio.lerian.br-scr.consulta.completed: la consulta devolvió una respuesta, una posición o ninguna.
  • studio.lerian.br-scr.consulta.failed: la consulta no devolvió ninguna respuesta.
Ambos tipos viajan por el topic lerian.streaming.br-scr, y los mensajes envenenados por lerian.streaming.br-scr.dlq. Ninguna variable establece el topic, así que aprovisiona ambos. Consulta Streaming Hub. Cuando un operador desactiva la emisión, el despachador no arranca. Las filas permanecen pendientes y se envían después de que la emisión vuelve a activarse y el servicio se reinicia.

Convenciones de integración


  • Correlación. X-Request-ID lleva un UUID a través de los logs y las trazas.
  • Fechas de referencia. Los rangos de consulta y los filtros de auditoría usan AAAAMM, un año y mes de seis dígitos. El resumen operativo toma en cambio un rango de fecha y hora.
  • Filtros. El filtro de documento toma de 8 a 14 dígitos, comparados a través del índice ciego. El tipo de cliente 1 es una persona, 2 una empresa.
  • Paginación. El listado de auditoría toma un cursor opaco y un limit de 1 a 200, con valor por defecto 50.