Como funciona a integração Docato?
Exclusivo Magalu
Neste artigo mostraremos como funciona a recepção das distribuições, validações, fluxo da inicial e efetivação do cadastro dos processos.
🔄 Resumo do Funcionamento
-
Recebe os casos enviados em lote
-
Valida informações essenciais como cidade, justiça, órgão e equipe. Caso não identifique um dos campos, é registrada pendência
- A justiça e a cidade informadas existem no banco de dados.
- O órgão e a equipe estão corretos e vinculados à justiça correspondente.
-
Registra logs
- Cada caso recebido é registrado em um log interno, com as informações completas para rastreabilidade.
-
Associa prazos, documentos e responsáveis
-
Atualiza processos já existentes ou cria novos registros
- Se o processo ainda não existir no sistema, um novo registro é criado com todas as informações.
- Se o processo já existir e não for Dje, o registro antigo é excluído logicamente e um novo registro é criado.
- Se já existir e for Dje, o sistema apenas atualiza as informações relevantes.
-
Baixa documentos automaticamente, se houver
- Os documentos recebidos são lidos e organizados com nome, tipo e URL, armazenados em uma pasta apropriada no servidor.
-
Garante que tudo fique salvo com segurança ou retorna erros, se algo falhar
- A transação é concluída e os dados ficam disponíveis no sistema.
- Se algo falhar, tudo é revertido para não comprometer a integridade dos dados.
🧾 Etapas do Processo
-
Uma lista de processos é recebida através do webhook.
-
O sistema inicia uma transação segura para garantir integridade.
Documentação API: Distribuições-Docato-Documentacao.pdf
✅ Início do Processo
🔐 Autenticação
Todos os endpoints exigem autenticação via Bearer Token.

🔑 Como obter um token
Endpoint
POST /api/v1.0/auth/token
Corpo da requisição
{
"Email": "usuario@brainlaw.com.br",
"Senha": "********"
}
Exemplo de resposta
Sucesso:
{
"accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwZXJtaXNzY...",
"expiresIn": 3600,
"refreshToken": "hashCode",
"usuarioToken": {
"id": "hashCode",
"email": "usuario@brainlaw.com.br",
"claims": [
{
"value": "integracao.webhook",
"type": "permissao"
},
{
"value": "hashCode",
"type": "sub"
},
{
"value": "usuario@brainlaw.com.br",
"type": "email"
},
{
"value": "hashCode",
"type": "jti"
},
{
"value": "int",
"type": "nbf"
},
{
"value": "int",
"type": "iat"
}
]
}
}
Falha:
401 - "Usuário ou Senha incorretos"
🔗 Endpoint Principal
Permite registrar uma nova distribuição via integração com a Docato.
POST /api/v1.0/distribuicoes/webhook
📤 Requisição – Distribuição de Processo
A requisição deve ser enviada em JSON (raw), contendo um array de objetos com os seguintes campos:
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
idDistribuicao |
string | ✅ | ID único da distribuição (integração) |
numeroProcesso |
string | ✅ | Número do processo |
justica |
string | ❌ | Justiça (ex: CÍVEL, CRIMINAL) |
orgao |
string | ❌ | Órgão responsável |
tipoAcao |
string | ❌ | Tipo da ação judicial |
uf |
string | ❌ | Unidade Federativa |
cidade |
string | ❌ | Cidade |
comarca |
string | ❌ | Comarca |
vara |
string | ❌ | Vara do processo |
naturezaProcesso |
string | ❌ | Natureza da ação |
juiz |
string | ❌ | Nome do juiz |
instancia |
number | ❌ | Instância (ex: 1, 2) |
tribunal |
string | ❌ | Nome do tribunal |
valorAcao |
decimal | ❌ | Valor da causa |
dataDistribuicao |
string | ✅ | Data da distribuição (formato ISO: YYYY-MM-DDTHH:mm:ssZ) |
codigoCliente |
number | ✅ | Valor fixo: 769958 |
origem |
string | ✅ | Valor fixo: DOCATO |
publicacao |
string | ❌ | Texto da publicação |
area |
string | ❌ | Ex: "PRÉ CADASTRO CÍVEL" |
dje |
boolean | ❌ | Indica se a origem é DJE |
tipoExpediente |
string | Condicional | Ex: Citação, Intimação, Notificação |
dataCitacao |
string | Condicional | Data da citação |
observacao |
string | ❌ | Observações complementares |
Para a justiça TRABALHISTA, enviar o campo "orgao": "JUSTIÇA DO TRABALHO" e o campo "tipoAcao": "RECLAMAÇÃO TRABALHISTA"
👥 Partes Envolvidas (partes[])
Array com as partes do processo:
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
nome |
string | ✅ | Nome da parte |
tipoPessoa |
string | ✅ | F (Física) ou J (Jurídica) |
tipoDocumento |
string | ✅ | CPF, CNPJ ou NROAB |
documento |
string | ✅ | Número do documento |
tipoParte |
string | ✅ | Ex: AUTOR, REU, ADVOGADO PARTE ADVERSO |
📎 Documentos (documentos[])
Array de documentos relacionados:
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
urlDocumento |
string | ✅ | URL do arquivo |
nomeDocumento |
string | ❌ | Nome do documento |
tipoDocumento |
string | ❌ | Ex: Citação, Notificação, Print |
⏳ Prazos (prazos[])
Array de prazos e audiências:
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
descricao |
string | ✅ | Tipo do prazo (ex: "Audiência Inicial") |
dataAudiencia |
string | ✅ | Data da audiência (YYYY-MM-DD) |
Valores esperados no campo "descrição":
Audiência de Conciliação
Audiência de Instrução e Julgamento
Audiência Preliminar
Audiência Mutirão
Audiência Inicial
Audiência UNA
Audiência Conciliação Execução
Audiência de Instrução
Audiência Precatória
Audiência de Julgamento
Audiência Encerramento Instrução
Audiência Conciliação VIRTUAL
AIJ VIRTUAL
Exemplo de Payload
[
{
"idDistribuicao": "125600",
"numeroProcesso": "0826849-12.2001.x.xx.xxxx",
"justica": "CÍVEL",
"orgao": "JUIZADO ESPECIAL CÍVEL",
"tipoAcao": "Protesto Indevido de Título",
"uf": "MG",
"cidade": "Cataguases",
"comarca": "Cataguases",
"vara": "TJ-MG",
"naturezaProcesso": "PROCEDIMENTO DO JUIZADO ESPECIAL CÍVEL",
"instancia": 1,
"valorAcao": 0000.00,
"dataDistribuicao": "2024-09-02T03:00:00Z",
"codigoCliente": 769958,
"origem": "DOCATO",
"dje": true,
"tipoExpediente": "Citação",
"dataCitacao": "2024-06-03",
"observacao": "Atualização da data de citação",
"partes":
[
{
"nome": "JOSE SILVA",
"tipoPessoa": "F",
"tipoDocumento": "CPF",
"documento": "999.999.999-99",
"tipoParte": "AUTOR"
},
{
"nome": "MAGAZINE LUIZA S/A",
"tipoPessoa": "J",
"tipoDocumento": "CNPJ",
"documento": "99.999.999/0001-99",
"tipoParte": "REU"
}
],
"documentos":
[
{
"urlDocumento": "https://falcon-devs.s3.us-east-2.amazonaws.com/documento.pdf",
"tipoDocumento": "Citação"
}
],
"prazos":
[
{
"descricao": "Audiência Inicial",
"dataAudiencia": "2025-03-05"
}
]
}
]
Exemplo de Payload em casos Dje
[
{
"IdDistribuicao": "",
"NumeroProcesso": "0187628-80.2024.x.xx.xxxx",
"CodigoCliente": 769958,
"Dje": true,
"TipoExpediente": "Citação", // Intimação, Citação ou Notificação
"DataCitacao": "2024-06-03",
"Observacao": "Atualização data citação",
"Origem": "DOCATO",
"Documentos":
[
{
"UrlDocumento": "https://falcon-devs.S3.us-east-2.amazonaws.com/4d51c950-dc4f-4c8",
"TipoDocumento": "Citação"// Intimação, Citação ou Notificação
}
],
"Prazos":
[
{
"Descricao": "Audiência de Instrução",
"DataAudiencia": "2025-03-30"
}
]
}
]
Exemplo Resposta da API
Sucesso:
{
"mensagem": "Distribuição registrada com sucesso.",
"sucesso": true
}
Falhas:
401 - **Unauthorized** \\para token expirado ou não passar o token
400 - Bad Request (Abaixo as únicas validações) {
"errors": {
"[0].UF": [
"O campo UF é obrigatório"
],
"[0].Orgao": [
"O campo Orgao é obrigatório"
],
"[0].Cidade": [
"O campo Cidade é obrigatório"
],
"[0].Origem": [
"O campo Origem é obrigatório"
],
"[0].Comarca": [
"O campo Comarca é obrigatório"
],
"[0].NumeroProcesso": [
"O campo NumeroProcesso é obrigatório"
]
},
"type": "https://tools.ietf.org/html/rfc7231#section-6.5.1%22",
"title": "One or more validation errors occurred.",
"status": 400,
"traceId": "hashCode"
}
🔃 Fluxo
Distribuições com Dje:
Se receber o caso com Dje igual a true "Dje": true e já está cadastrado, ou seja, já existe um ID para este processo:

- Atualiza a data de citação
- Gera um prazo "Tratar Notificação DJE" D+1
- Gera andamento
- Grava os documentos
- Grava audiência, se existir
Se receber o caso com Dje igual a true "Dje": true e não está cadastrado, ficará destacada em amarelo e habilitado para cadastro:

Distribuições com área preenchida:
Se receber a área como PRÉ CADASTRO CÍVEL ou PRÉ CADASTRO TRABALHISTA
"area": "PRÉ CADASTRO CÍVEL" ou "area": "PRÉ CADASTRO TRABALHISTA"

Os casos são direcionados para o respectivo painel conforme a justiça na box "Distribuições Docato":
- https://magalu.brainlaw.com.br/painel/csc (CÍVEL)
- https://magalu.brainlaw.com.br/painel/Trabalhista/csc (TRABALHISTA)

1. Verifica se recebeu prazos e grava descrição e data da audiência.
2. Identifica a justiça, cidade, órgão e equipe. Caso não identifique o campo, ficará como pendência e na primeira coluna será exibido o botão de edição para complementar os dados:

Ao clicar no botão de edição, abrirá o pop-up para complementar os dados:

Após complementar os dados, clique em "Gravar". O sistema fará nova tentativa de identificar a equipe, caso identifique, segue o fluxo de envio da tarefa para o escritório enviar a inicial (passo 5).
3. Grava os links dos documentos. Em casos de segredo de justiça somente vem um print.
4. Se a cidade é identificada, busca a equipe responsável, de acordo com as regras configuradas previamente no Brainlaw, passando a área e a cidade. Configuração das regras feita internamente pelo time BL.
5. Se a equipe é identificada, é enviada uma tarefa para o escritório subir a inicial e o status é alterado para AGUADANDO INIDICAL. Neste caso fica bloqueado para cadastro até o momento que o escritório conclua a tarefa, subindo a inicial.

6. Quando o escritório conclui a tarefa, a inicial é anexada e o status é alterado para ENVIADO INICIAL PELO ESCRITÓRIO, habilitando o caso para cadastro.

7. Ao clicar em "Tratar", abrirá o pop-up com os dados.


8. Ao clicar em "Efetivar Cadastro", o processo é cadastrado e não é mais exibido na grid.

Distribuições sem área:
Se receber a área NULL, vazia ou diferente de PRÉ CADASTRO CÍVEL ou PRÉ CADASTRO TRABALHISTA
"area": null, "area": "" ou "area": "PRÉ CADASTRO MAGALU"
Os casos são direcionados para o respectivo painel conforme a justiça na box "Distribuições Docato":
- https://magalu.brainlaw.com.br/painel/csc (CÍVEL)
- https://magalu.brainlaw.com.br/painel/Trabalhista/csc (TRABALHISTA)

1. Verifica se recebeu prazos e grava descrição e data da audiência.
2. Identifica a justiça, cidade, órgão e equipe. Caso não identifique o campo, ficará como pendência e na primeira coluna será exibido o botão de edição para complementar os dados:

Ao clicar no botão de edição, abrirá o pop-up para complementar os dados:

Após complementar os dados, clique em "Gravar".
3. Grava os links dos documentos.
4. Na grid, será exibido para tratativa com o status RECEBIDO INICIAL.

5. Ao clicar em "Tratar", abrirá o pop-up com os dados.


6. Ao clicar em "Efetivar Cadastro", o processo é cadastrado e não é mais exibido na grid.

Distribuições sem Dje:
Se receber o caso com DJE igual a false "Dje": false ou a propriedade não for enviada e o caso já está cadastrado, ou seja, possui um ID no sistema, o caso continua sendo direcionado para o respectivo painel para efetivação do cadastro.
1. Ao clicar em "Tratar", abrirá o pop-up com os dados.


2. Ao clicar em "Efetivar Cadastro", será exibido um alerta, indicando que o processo já está cadastrado.

SIM para anexar os documentos e NÃO para cadastrar novo caso.

Se seguir com a opção de cadastrar novo caso, o processo será duplicado no sistema. Para casos duplicados, é possível excluir um dos cadastros:
- Ao clicar em "Enviar Para Lixeira", abrirá o pop-up para justificativa e confirmação da exclusão


- Ao confirmar a exclusão, o caso não é mais exibido na grid. Essa exclusão é feita de forma lógica, ou seja, não é mais exibido na grid, porém o cadastro segue no banco de dados.
Observações:
- Para o fluxo de inicial, temos as colunas data solicitação inicial e inicial enviado pelo escritório.

- Em todas as distribuições, exceto Dje, em que o caso não está cadastrado no Brainlaw, ou seja, não possui um ID no sistema, e está pendente efetivação do cadastro nos Painéis CSC Trabalhista ou Cível, o caso anterior é excluído logicamente e um novo é exibido na grid para cadastro. Para casos Dje, é atualizada a data da citação e anexados os documentos recebidos.
📊 Fluxograma


🆘 Suporte
Estamos disponíveis em helpdesk@brainlaw.com.br, de segunda a sexta-feira, das 9h às 18h (horário de Brasília), exceto em feriados.
Aqui mostramos o passo a passo de como solicitar suporte.