application/problem+json:
type– Uma URI que identifica o erro no catálogo de erros da Lerian. Construída comohttps://errors.lerian.studio/v1/<code>.title– O texto do status HTTP (por exemplo,Unprocessable Entity).status– O código de status HTTP.detail– Uma explicação legível por humanos desta ocorrência. Em uma resposta5xx, o Consignado sanitiza o detail parainternal error, para que uma causa interna nunca apareça no corpo. Baseie sua lógica emcodee no status.code– Um identificador estável para o erro. As tabelas abaixo listam os códigosCLT-NNNN. Algumas operações respondem com um código nomeado próprio, comoCURSOR_EXPIREDna varredura de inventário de registros.errors– Lista opcional de detalhes de erro individuais, cada um com umlocation, ummessagee umvalue.upstream– O próprio erro do Dataprev, quando o gateway repassa um. Ele contém ocodee omessagedo Dataprev, e sobrevive à sanitização de5xxque limpa odetail. Veja Códigos de motivo do Dataprev.
400: Requisição inválida
401: Não autorizado
403: Proibido
404: Não encontrado
409: Conflito
CLT-0007 com o detail an identical request is already in flight marca uma requisição que o gateway ainda não terminou. Repita essa requisição sob a mesma chave de idempotência.
Conflitos de comando respondem com um código nomeado no lugar de CLT-0007, para que um cliente consiga diferenciá-los. Leia code e detail juntos antes de repetir a requisição. Essas grafias de código fazem parte do contrato de wire e não mudam.
410: Removido
A varredura paginada de inventário de registros emite um cursor com uma janela limitada de repetição.
413: Entidade da requisição muito grande
422: Entidade não processável
500: Erro interno do servidor
501: Não implementado
Um
501 responde a uma operação que seu deploy não habilitou. As rotas permanecem montadas, então a resposta chega por requisição, em vez de como um path ausente. Downloads de artefato de contrato, correções de contrato, confirmação de desembolso, registro de cessão e envio de lance respondem 501 até que seu deploy os habilite.
O detail traz internal error, porque o Consignado sanitiza o detail em uma resposta 5xx. Baseie sua lógica no status.
503: Serviço indisponível
Quando o Dataprev produziu a falha, a resposta também traz
upstream com o código e a mensagem do próprio Dataprev.
Códigos de motivo do Dataprev
O Consignado repassa os códigos de motivo do Dataprev, em vez de mapeá-los para códigos próprios. Isso mantém uma recusa legível em relação ao que o Dataprev de fato disse. Leia cada código de motivo em relação à especificação do Dataprev, não a esta página. O Dataprev pode publicar um código que esta página não lista, e o gateway ainda assim o entrega a você. Eles chegam até você em dois lugares. Em uma recusa. O membro
upstream traz o code e o message do próprio Dataprev, ambos literais. O gateway limita cada campo no wire, então o membro contém um código e uma frase, e não um corpo de resposta completo. Um 422 o traz para uma rejeição determinística, e um 503 o traz para uma falha de repetir-mais-tarde.
Em respostas de contrato e margem. Vários campos de resposta emparelham um código de motivo do Dataprev com o rótulo próprio do Dataprev para ele. Uma leitura de margem publica blockType e ineligibilityReason, que formam o par code e description. Uma leitura de contrato publica motivo_exclusao, origem_averbacao, origem_exclusao, portabilidade_situacao e situacao_bloqueio_garantia, que formam o par codigo e descricao. Cada campo contém um código numérico e o texto que o Dataprev retornou ao lado dele.
Trate o conjunto como aberto. Mapeie os códigos de motivo sobre os quais sua integração age, e repasse o restante com seus rótulos, para que um código ainda não mapeado continue legível para um operador.
