Pular para o conteúdo principal
O Lerian SCR expõe uma única superfície REST. Uma instalação atende uma instituição.

Superfície da API


As operações de credencial existem apenas quando um vault gravável dá suporte ao deployment. Caso contrário, a credencial vem do ambiente. GET /v1/scr/audit e GET /v1/scr/consultations/{id} podem retornar o CPF ou a raiz do CNPJ consultado por completo, no campo document. Conceda scr:audit:read apenas a pessoas que possam vê-lo.

Autenticação


Um consumidor se autentica com um token OAuth2 client-credentials em Authorization: Bearer. Com PLUGIN_AUTH_ENABLED=true, o servidor de autorização decide cada requisição protegida por gate. Um scope tem o formato scr:<resource>:<action>. Veja Access Manager. Um token ausente responde SCR-0201, e um scope ausente SCR-0202. Um servidor de autorização inalcançável responde SCR-1002, porque o gate falha de forma fechada.

Idempotência


As duas operações com efeito colateral exigem um header X-Idempotency, e uma requisição sem ele responde SCR-0004. Quando o Lerian SCR armazena um desfecho 2xx ou 4xx, uma nova tentativa dentro de uma janela de cinco minutos repete esse desfecho e não paga uma segunda tarifa. Uma nova tentativa enquanto a primeira requisição ainda roda responde SCR-0006. Envie-a de novo depois de Retry-After. Uma chave reutilizada com uma requisição diferente responde SCR-0003. Uma resposta com X-Idempotency-Fenced: true retém sua chave durante a janela, e uma nova tentativa com essa chave responde SCR-0005 sem executar. Um 5xx sem esse header libera a chave, e uma nova tentativa executa a operação de novo. Com X-Idempotency-Fenced: false, a requisição pode ter rodado e a chave não está protegida. Concilie o desfecho antes de enviar a requisição de novo. Sem Redis, as duas operações respondem SCR-9002.

Erros


Uma falha responde application/problem+json sob a RFC 9457, com o código e o status.

Eventos


O Lerian SCR emite um evento por consulta terminal por meio de um outbox transacional. A linha de auditoria e o evento fazem commit juntos.
  • studio.lerian.br-scr.consulta.completed: a consulta retornou uma resposta, uma posição ou nenhuma.
  • studio.lerian.br-scr.consulta.failed: a consulta não retornou nenhuma resposta.
Os dois tipos trafegam no tópico lerian.streaming.br-scr, e mensagens poison em lerian.streaming.br-scr.dlq. Nenhuma variável define o tópico, então provisione ambos. Veja Streaming Hub. Quando um operador desativa a emissão, o dispatcher não inicia. As linhas permanecem pendentes e são enviadas depois que a emissão volta a ser ativada e o serviço reinicia.

Convenções de integração


  • Correlação. X-Request-ID carrega um UUID pelos logs e traces.
  • Datas de referência. Intervalos de consulta e filtros de auditoria usam AAAAMM, um ano e mês de seis dígitos. O resumo operacional usa um intervalo de data-hora em vez disso.
  • Filtros. O filtro de documento aceita de 8 a 14 dígitos, correspondidos por meio do índice cego. O tipo de cliente 1 é uma pessoa física, 2 uma pessoa jurídica.
  • Paginação. A lista de auditoria aceita um cursor opaco e um limit de 1 a 200, padrão 50.