Detalhes dos Callbacks

# Detalhes dos Callbacks

## Introdução

Callbacks são avisos que o Escavador dispara (Via método POST) para certos eventos que ocorrem em sua conta.

As chamadas são enviadas com content-type application/json.

A URL de callback pode ser cadastrado pelo [painel da API](https://api.escavador.com/callbacks).

Para garantir que os callbacks recebidos tem como origem a API do Escavador Business, você pode gerar um token no [painel da
API](https://api.escavador.com/callbacks). Esse token será enviado em todos os callbacks pelo header
`Authorization`.

Em caso de ocorrer falha na entrega do webhook na url de callback cadastrada, o Escavador irá tentar enviar novamente
mais 10 vezes.
Sendo assim, um total de 11 tentativas serão feitas. Cada tentativa tem um intervalo de 2_n_ minutos, sendo
_n_ o número da tentativa.

As próximas seções descrevem os callbacks disponíveis na API do Escavador Business, seus campos e exemplos de payloads enviados.

## Uma nova publicação foi encontrada pelo Monitoramento de Diários Oficiais e o Escavador identificou o processo

Ocorre quando um [Monitoramento de Diários Oficiais](monitoramento-de-diarios-oficiais.html#retornar-os-dirios-oficiais-monitorados) encontra algum resultado
novo e o Escavador identificou qual o processo na página do Diário Oficial. Você pode [simular um envio desse callback](monitoramento-de-diarios-oficiais.htm#testar-callback-do-monitoramento) para o seu servidor.

#### Campos enviados no callback

| Parâmetro     | Descrição                                                          |
| ------------- | ------------------------------------------------------------------ |
| event         | _diario_movimentacao_nova_                                         |
| monitoramento | Informações do Monitoramento relacionado ao resultado.             |
| movimentacao  | Informações da movimentação que contém o termo/processo monitorado |

@responseFile apidoc_responses/callbacks/diario_movimentacao_nova.json

## Nova publicação encontrada no Monitoramento de Diários Oficiais

Ocorre quando um [Monitoramento de Diários Oficiais](/v1/docs/monitoramento-de-diarios-oficiais.html#registrar-novo-monitoramento) encontra algum resultado novo e o Escavador não identificou qual é o processo na página do Diário Oficial ou não tem processo nessa página. Você pode [simular um envio desse callback](/v1/docs/monitoramento-de-diarios-oficiais.html#testar-callback-do-monitoramento) para o seu servidor.

#### Campos enviados no callback

| Parâmetro     | Descrição                                                            |
| ------------- | -------------------------------------------------------------------- |
| event         | _diario_citacao_nova_                                                |
| monitoramento | Informações do Monitoramento relacionado ao resultado.               |
| diario        | Informações do Diário Oficial que contém o termo/processo monitorado |
| pagina_diario | Informações da página e do contéudo que o termo foi encontrado       |

@responseFile apidoc_responses/callbacks/diario_citacao_nova.json

## Monitoramento Atualizado

Ocorre sempre que uma busca é realizada e os dados do processo são atualizados em um [Monitoramento do site do Tribunal](/v1/docs/monitoramento-no-site-do-tribunal.html#registrar-novo-monitoramento)

#### Campos enviados no callback

| Parâmetro             | Descrição                              |
| --------------------- | -------------------------------------- |
| event                 | _update_time_                          |
| processo              | Informações da instância e do processo |
| app.id                | Id do seu monitoramento                |
| app.monitor           | Informações do seu monitoramento       |
| event_data.updated_at | Data da atualização                    |

@responseFile apidoc_responses/callbacks/update_time.json

## Processo encontrado no Monitoramento do site do Tribunal

Quando um [Monitoramento do site do Tribunal](/v1/docs/monitoramento-no-site-do-tribunal.html#registrar-novo-monitoramento) é criado para o tipo **UNICO** (numeração CNJ do Processo),
o Escavador vai procurar pela existência daquele processo nos sistemas dos Tribunais e pode encontrar ou não o processo.

#### Campos enviados no callback

| Parâmetro         | Descrição                                                                                |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| event             | _update_status_                                                                                |
| processo          | Informações da instância e do processo                                                                                |
| app.id            | Id do seu monitoramento                                                                                |
| app.monitor       | Informações do seu monitoramento                                                                                |
| event_data.status | `FOUND`: O processo foi encontrado e está sendo monitorado.
`NOT_FOUND`: O processo não foi encontrado e não será monitorado.
`SENHA_INVALIDA`: Senha enviada é inválida e processo não será monitorado. |

@responseFile apidoc_responses/callbacks/update_status_to_found.json Processo encontrado

OBS: A combinação instancia + extra_instancia faz a diferenciação para 2 instâncias do mesmo grau

@responseFile apidoc_responses/callbacks/update_status_to_not_found.json Processo não encontrado

## Novo andamento encontrado no Monitoramento do site do Tribunal

Ocorre quando um [Monitoramento do site do Tribunal](/v1/docs/monitoramento-no-site-do-tribunal.html#registrar-novo-monitoramento) do tipo **UNICO** (numeração CNJ do Processo)
encontra um novo andamento.

#### Campos enviados no callback

| Parâmetro           | Descrição                                       |
| ------------------- | ----------------------------------------------- |
| event               | _movimentacao_nova_                             |
| processo            | Informações da instância e do processo          |
| app.id              | Id do seu monitoramento                         |
| app.monitor         | Informações do seu monitoramento                |
| event_data.id       | ID único que identifica o andamento do processo |
| event_data.data     | Data do andamento                               |
| event_data.conteudo | Conteúdo do andamento                           |

@responseFile apidoc_responses/callbacks/movimentacao_nova.json

## Andamento Removido no Monitoramento do site do Tribunal

Ocorre quando não encontramos uma movimentação que estava na verificação anterior de um [Monitoramento do site do Tribunal](/v1/docs/monitoramento-no-site-do-tribunal.html#registrar-novo-monitoramento).

#### Campos enviados no callback

| Parâmetro           | Descrição                                       |
| ------------------- | ----------------------------------------------- |
| event               | _movimentacao_removida_                         |
| processo            | Informações da instância e do processo          |
| app.id              | Id do seu monitoramento                         |
| app.monitor         | Informações do seu monitoramento                |
| event_data.id       | ID único que identifica o andamento do processo |
| event_data.data     | Data do andamento                               |
| event_data.conteudo | Conteúdo do andamento                           |

@responseFile apidoc_responses/callbacks/movimentacao_removida.json

## Nova informação da capa processo encontrada no Monitoramento do site do Tribunal

Ocorre quando um [Monitoramento do site do Tribunal](/v1/docs/monitoramento-no-site-do-tribunal.html#registrar-novo-monitoramento) do tipo **UNICO** (numeração CNJ
do Processo) encontra uma informação nova na capa do processo. São os valores que vem no atributo `dados` das
informações do processo.

#### Campos enviados no callback

| Parâmetro       | Descrição                              |
| --------------- | -------------------------------------- |
| event           | _processo_dado_novo_                   |
| processo        | Informações da instância e do processo |
| app.id          | Id do seu monitoramento                |
| app.monitor     | Informações do seu monitoramento       |
| event_data.tipo | Título                                 |
| event_data.dado | Conteúdo                               |

@responseFile apidoc_responses/callbacks/processo_dado_novo.json

## Informação de capa de processo removida no Monitoramento do site do Tribunal

Ocorre quando encontramos um dado que estava na verificação anterior. Dados são as informações que salvamos do sistema
do Tribunal que não se encaixam como cabeçalhos. Elas são informações avulsas que costumam ser diferentes entre os
sistema e os Tribunais

#### Campos enviados no callback

| Parâmetro       | Descrição                              |
| --------------- | -------------------------------------- |
| event           | _processo_dado_removido_               |
| processo        | Informações da instância e do processo |
| app.id          | Id do seu monitoramento                |
| app.monitor     | Informações do seu monitoramento       |
| event_data.tipo | Tipo do dado encontrado                |
| event_data.dado | Valor do dado encontrado               |

@responseFile apidoc_responses/callbacks/processo_dado_removido.json

## Informação de capa de processo alteradas no Monitoramento do site do Tribunal

Ocorre quando encontramos um campo da capa do processo diferente da verificação anterior.
Os campos do cabeçalho são area, assunto, classe, orgao_julgador, data_distribuicao, valor_causa,
url.

#### Campos enviados no callback

| Parâmetro                 | Descrição                              |
| ------------------------- | -------------------------------------- |
| event                     | _update_cabecalho_                     |
| processo                  | Informações da instância e do processo |
| app.id                    | Id do seu monitoramento                |
| app.monitor               | Informações do seu monitoramento       |
| event_data.valor_antigo   | Valor encontrado na busca anterior     |
| event_data.valor_novo     | Valor encontrado na última busca       |
| event_data.data_alteracao | Data em que foi encontrado a mudança   |

@responseFile apidoc_responses/callbacks/update_cabecalho.json

## Nova instancia de processo encontrada em Monitoramento do site do Tribunal

Ocorre quando identificamos uma nova instância do processo. É uma notificação semelhante ao
update_status.

#### Campos enviados no callback

| Parâmetro   | Descrição                              |
| ----------- | -------------------------------------- |
| event       | _nova_instancia_                       |
| processo    | Informações da instância e do processo |
| app.id      | Id do seu monitoramento                |
| app.monitor | Informações do seu monitoramento       |
| event_data  | Dados encontrados do processo          |

@responseFile apidoc_responses/callbacks/nova_instancia.json

## Processo entrou ou saiu de segredo de justiça no Monitoramento do site do Tribunal

Ocorre quando um [Monitoramento do site do Tribunal](/v1/docs/monitoramento-no-site-do-tribunal.html#registrar-novo-monitoramento) do
tipo **UNICO** (numeração CNJ do Processo)
identifica que o processo entrou ou saiu de segredo de justiça.

#### Campos enviados no callback

| Parâmetro          | Descrição                              |
| ------------------ | -------------------------------------- |
| event              | _update_segredo_                       |
| processo           | Informações da instância e do processo |
| app.id             | Id do seu monitoramento                |
| app.monitor        | Informações do seu monitoramento       |
| event_data.segredo | true ou false                          |

@responseFile apidoc_responses/callbacks/processo_dado_novo_entrou_e_saiu_do_segredo.json

## Processo Arquivado

Ocorre quando identificamos o arquivamento do processo

#### Campos enviados no callback

| Parâmetro                    | Descrição                              |
| ---------------------------- | -------------------------------------- |
| event                        | _processo_arquivado_                   |
| processo                     | Informações da instância e do processo |
| app.id                       | Id do seu monitoramento                |
| app.monitor                  | Informações do seu monitoramento       |
| event_data.arquivado         | Sempre será true                       |
| event_data.data_arquivamento | Data do arquivamento (pode ser null)   |

@responseFile apidoc_responses/callbacks/processo_arquivado.json

## Processo Desarquivado

Ocorre quando identificamos que o processo foi desarquivado

#### Campos enviados no callback

| Parâmetro                    | Descrição                              |
| ---------------------------- | -------------------------------------- |
| event                        | _processo_desarquivado_                |
| processo                     | Informações da instância e do processo |
| app.id                       | Id do seu monitoramento                |
| app.monitor                  | Informações do seu monitoramento       |
| event_data.arquivado         | Sempre será false                      |
| event_data.data_arquivamento | Sempre será null                       |

@responseFile apidoc_responses/callbacks/processo_desarquivado.json

## Novo envolvido encontrado no Monitoramento do site do Tribunal

Ocorre quando um [Monitoramento do site do Tribunal](/v1/docs/monitoramento-no-site-do-tribunal.html#registrar-novo-monitoramento) do
tipo **UNICO** (numeração CNJ do Processo)
encontra um novo envolvido no processo.

#### Campos enviados no callback

| Parâmetro            | Descrição                                                             |
| -------------------- | --------------------------------------------------------------------- |
| event                | _envolvido_novo_                                                      |
| processo             | Informações da instância e do processo                                |
| app.id               | Id do seu monitoramento                                               |
| app.monitor          | Informações do seu monitoramento                                      |
| event_data           | Informações do envolvido                                              |
| event_data.tipo      | Tipo do Envolvido                                                     |
| event_data.nome      | Nome do Envolvido                                                     |
| event_data.principal | Booleano que indica se envolvido é um dos principais participantes do |

processo ou não
event_data.polo | Polo do envolvido (ATIVO ou PASSIVO)
event_data.documento | CPF ou CNPJ do envolvido
event_data.advogado_de | OPCIONAL: Cliente do envolvido (o envolvido é advogado)
event_data.oabs | OPCIONAL: OABs do advogado

@responseFile apidoc_responses/callbacks/envolvido_novo.json

## Envolvido removido no Monitoramento do site do Tribunal

Ocorre quando um envolvido encontrado em uma verificação anterior não foi encontrado em um [Monitoramento do site do Tribunal](/v1/docs/monitoramento-no-site-do-tribunal.html#registrar-novo-monitoramento)

#### Campos enviados no callback

| Parâmetro            | Descrição                                                             |
| -------------------- | --------------------------------------------------------------------- |
| event                | _envolvido_removido_                                                  |
| processo             | Informações da instância e do processo                                |
| app.id               | Id do seu monitoramento                                               |
| app.monitor          | Informações do seu monitoramento                                      |
| event_data           | Informações do envolvido                                              |
| event_data.tipo      | Tipo do Envolvido                                                     |
| event_data.nome      | Nome do Envolvido                                                     |
| event_data.principal | Booleano que indica se envolvido é um dos principais participantes do |

processo ou não
event_data.polo | Polo do envolvido (ATIVO ou PASSIVO)
event_data.documento | CPF ou CNPJ do envolvido
event_data.advogado_de | OPCIONAL: Cliente do envolvido (o envolvido é advogado)
event_data.oabs | OPCIONAL: OABs do advogado

@responseFile apidoc_responses/callbacks/envolvido_removido.json

## Novo processo encontrado no Monitoramento do site do Tribunal

Ocorre quando um [Monitoramento do site do Tribunal](/v1/docs/monitoramento-no-site-do-tribunal.html#registrar-novo-monitoramento) do
tipo **NUMDOC** ou **NOME** (Nome, CPF ou CNPJ)
encontra um novo processo.

#### Campos enviados no callback

| Parâmetro   | Descrição                                   |
| ----------- | ------------------------------------------- |
| event       | _novo_processo_envolvido_                   |
| envolvido   | Informações do nome ou documento monitorado |
| app.id      | Id do seu monitoramento                     |
| app.monitor | Informações do seu monitoramento            |
| event_data  | Informações do processo encontrado          |

@responseFile apidoc_responses/callbacks/novo_processo_envolvido.json

## Resultado da busca assíncrona do processo no site do Tribunal

Ocorre quando uma [busca assíncrona do processo no site do Tribunal](#pesquisar-processo-no-site-do-tribunal-assncrono) encontra as informações do processo e o
usuário
marcou a opção de receber por callback. Ou caso não encontre depois de algumas tentativas.

#### Campos enviados no callback

| Parâmetro | Descrição                  |
| --------- | -------------------------- |
| event     | _resultado_processo_async_ |
| status    | `SUCESSO` ou `ERRO`        |
| resposta  | Informações do processo    |

@responseFile apidoc_responses/callbacks/resultado_da_busca_assincrona_processo_encontrado.json Processo encontrado

@responseFile apidoc_responses/callbacks/resultado_da_busca_assincrona_processo_nao_encontrado.json Processo não encontrado

## Resultado da busca assíncrona de nome do envolvido no site do Tribunal

Ocorre quando uma [busca assíncrona do nome do envolvido no site do
Tribunal](#pesquisar-processos-no-site-do-tribunal-por-nome-do-envolvido-assncrono) encontra os
processos e o usuário
marcou a opção de receber por callback.

#### Campos enviados no callback

| Parâmetro | Descrição                             |
| --------- | ------------------------------------- |
| event     | _resultado_busca_nome_async_          |
| status    | `SUCESSO` ou `ERRO`                   |
| resposta  | Informações dos processos encontrados |

@responseFile apidoc_responses/callbacks/resultado_busca_nome_async.json

## Resultado da busca assíncrona por CPF ou CNPJ no site do Tribunal

Ocorre quando uma [busca assíncrona por CPF ou CNPJ no no site do Tribunal](#pesquisar-processos-no-site-do-tribunal-por-cpf-ou-cnpj-assncrono) encontra os processos
e o usuário
marcou a opção de receber por callback.

#### Campos enviados no callback

| Parâmetro | Descrição                             |
| --------- | ------------------------------------- |
| event     | _resultado_busca_documento_async_     |
| status    | `SUCESSO` ou `ERRO`                   |
| resposta  | Informações dos processos encontrados |

@responseFile apidoc_responses/callbacks/resultado_busca_documento_async.json

## Resultado da busca assíncrona por OAB no site do Tribunal

Ocorre quando uma [busca assíncrona por OAB no no site do Tribunal](#pesquisar-processos-no-site-do-tribunal-por-oab-assncrono) encontra os processos e o
usuário
marcou a opção de receber por callback.

#### Campos enviados no callback

| Parâmetro | Descrição                             |
| --------- | ------------------------------------- |
| event     | _resultado_busca_oab_async_           |
| status    | `SUCESSO` ou `ERRO`                   |
| resposta  | Informações dos processos encontrados |

@responseFile apidoc_responses/callbacks/resultado_busca_oab_async.json

Prompt: Explique a seção "Detalhes dos Callbacks" da documentação e destaque os principais pontos práticos.