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) |
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": "8", // 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.