API Reference · Controladoria Jurídica

Situação dos contratos

A CJUR não é mais a API consumida diretamente pelo Hub. Ela publica eventos para a Function. A Function tem contrato técnico de entrada e de saída, mas a compatibilidade e a publicação das operações correspondentes no nead-hub-api dependem da issue #212. Nenhuma operação desta página autoriza a interface do Hub a chamar a CJUR ou a Function diretamente.

POST · endpoint da Function no Appwrite

Finalidade: receber uma publicação da CJUR para tratamento.

Autenticação e autorização: a CJUR assina o corpo bruto com HMAC-SHA256. A Function verifica a assinatura em tempo constante e recusa instante fora da janela de cinco minutos. O endereço público concreto da Function é uma configuração de ambiente e não está definido como rota do Hub.

Entrada

LocalCampoTipoObrigatórioCondição
Cabeçalhox-lsa-eventotextoSimChave de idempotência do evento.
Cabeçalhox-lsa-tipotextoSimTipo do evento.
Cabeçalhox-lsa-versaotextoSimVersão do envelope.
Cabeçalhox-lsa-instanteepoch em segundosSimDeve estar dentro da janela anti-replay.
Cabeçalhox-lsa-tentativatextoSimTentativa de entrega.
Cabeçalhox-lsa-assinaturatextoSimValor sha256 do HMAC.
CorpovinteiroSimVersão do envelope.
CorposeqtextoSimSequência publicada pela CJUR.
CorpoidtextoSimIdentidade do evento.
CorpoescopotextoSimEscopo do evento.
CorpotipotextoSimTipo do evento.
Corpoocorrido_emdata e horaSimInstante do fato.
CorpocorpoobjetoSimConteúdo específico do evento.

Saída

HTTPCampoTipoDescrição
2xx—sem corpo definidoEvento processado, duplicado ou ignorado.

Erros

HTTPerrorCodeCondição
400—Corpo inválido; a CJUR não deve reenviar.
401—Assinatura inválida.
5xx—Falha transitória; a CJUR pode reenviar.

PUT · /v1/integracoes/cjur/processos/{cnj}/sentenca

Situação: contrato de saída definido pela Function para o nead-hub-api. A publicação e a compatibilidade da rota no nead-hub-api devem ser confirmadas na issue #212.

Finalidade: registrar a sentença classificada pela Function para um processo identificado por CNJ.

Autenticação e autorização: token de serviço da Function, com escopo de escrita de sentença. A requisição leva chave de idempotência estável por movimentação.

Entrada

LocalCampoTipoObrigatórioCondição
CaminhocnjtextoSimNúmero CNJ do processo.
CabeçalhoAuthorizationBearer tokenSimCredencial de serviço.
CabeçalhoIdempotency-KeytextoSimChave estável da movimentação.
CorpotipotextoSimTipo de sentença classificado.
CorpoorigemtextoSimOrigem da classificação.
Corpocodigo_nacionalinteiroNãoCódigo nacional quando aplicável.
Corpomovimentacao_idtextoSimMovimento de origem.
Corpoocorrida_emdata e horaSimBase da precedência.
Corpoevento_cjur_idtextoSimEvento que originou o efeito.
Corpoversao_regratextoSimVersão da regra aplicada.

Saída

| HTTP | Campo | Tipo | Descrição | | --- | --- | --- | | 200 | aplicado | booleano | Indica se a sentença recebida se tornou vigente. | | 200 | motivo | texto ou nulo | Replay ou sentença não mais recente, quando aplicável. | | 200 | sentenca | objeto | Sentença vigente depois da operação. |

Erros

HTTPerrorCodeCondição
400VALIDATION_FAILEDCaminho, chave ou corpo inválido.
401UNAUTHORIZEDCredencial ausente, inválida, revogada ou expirada.
403FORBIDDENCredencial sem sistema ou escopo necessário.
404NOT_FOUNDProcesso não localizado pelo CNJ.
409CONFLICTConflito de chave ou CNJ ambíguo.
429RATE_LIMITEDLimite de taxa.
5xx—Falha transitória da API do Hub.

POST · /v1/integracoes/cjur/tratamentos

Situação: contrato de saída definido pela Function para o nead-hub-api. A publicação e a compatibilidade da rota no nead-hub-api devem ser confirmadas na issue #212.

Finalidade: registrar um resultado de classificação, atribuição, distribuição ou aviso.

Autenticação e autorização: token de serviço da Function com escopo de escrita de tratamentos e chave de idempotência da etapa.

Entrada

LocalCampoTipoObrigatórioCondição
CabeçalhoAuthorizationBearer tokenSimCredencial de serviço.
CabeçalhoIdempotency-KeytextoSimChave formada pela etapa, evento e versão principal.
Corpoevento_cjur_idtextoSimEvento de origem.
CorpoetapatextoSimClassificação, atribuição, distribuição ou aviso.
Corpocnjtexto ou nuloSimNúmero CNJ quando conhecido.
CorpoestadotextoSimEstado produzido pela etapa.
CorporesultadoobjetoSimResultado sem dados pessoais.
CorpoversoesobjetoSimVersões aplicadas ao tratamento.
CorposimuladobooleanoSimIndica execução simulada.

Saída

| HTTP | Campo | Tipo | Descrição | | --- | --- | --- | | 201 | aplicado | booleano | Primeiro registro da chave. | | 200 | aplicado | booleano | Replay idempotente da mesma chave e corpo. | | 200 ou 201 | tratamento | objeto | Tratamento conservado pela API. |

Erros

HTTPerrorCodeCondição
400VALIDATION_FAILEDCorpo, chave ou dados pessoais não permitidos.
401UNAUTHORIZEDCredencial ausente, inválida, revogada ou expirada.
403FORBIDDENCredencial sem sistema ou escopo necessário.
409CONFLICTChave reutilizada com conteúdo diferente.
429RATE_LIMITEDLimite de taxa.
5xx—Falha transitória da API do Hub.

Pendências

  • Publicar e validar, na API do Hub, os contratos que esta página registra como contratos da Function.
  • Definir as leituras que alimentam a Visão Geral.
  • Definir operações de Configurações por proprietário e comando.
  • Confirmar a superfície que o Hub consumirá após a adequação da issue #212.

Camadas do domínio