15 - API Pública Sisjud
15 - API Pública SisJud
Manual – API Pública SisJud v1
Este manual descreve a API pública do SisJud para integração de sistemas externos (ERPs, portais, automações). A API é autenticada por chave (API Key) e expõe os principais recursos do escritório: clientes, casos, tarefas, boletos, prospecção, cobrança e negociações.
Índice
- Visão geral
- Autenticação
- URL base e formato
- Recursos e endpoints
- 4.1 Clientes
- 4.1.1 Vínculos entre clientes (subclientes)
- 4.2 Usuários
- 4.3 Casos
- 4.4 Tarefas
- 4.5 Boletos
- 4.6 Prospecção
- 4.7 Cobrança
- 4.8 Negociações
- Exemplos por recurso
- Códigos de resposta e erros
- Postman / Insomnia
1. Visão geral
Item | Valor |
|---|---|
Versão | v1 |
Base URL | https://app.sisjud.com.br/api/v1/ |
Autenticação | Header X-Api-Key ou Authorization: Bearer <chave> |
Formato | JSON (request e response) |
CORS | Habilitado para qualquer origem |
A chave é vinculada ao escritório. Todas as requisições retornam ou alteram apenas dados desse escritório.
Como obter a chave
No SisJud, acesse Configurações (menu do escritório) → aba API Pública → Criar chave. Informe um nome (ex: "Sistema ERP") e copie a chave exibida uma única vez. Guarde em local seguro; não é possível recuperá-la depois.
Subclientes (novo)
O SisJud agora suporta vínculo de subclientes: pessoas vinculadas a um cliente principal que podem participar dos mesmos casos, mas não são codevedores. Subclientes têm cadastro completo (CPF, RG, endereço próprio) e podem vincular-se a múltiplos clientes principais (relação N:N via tabela cliente_vinculos).
A participação em casos é registrada na tabela caso_clientes (idcaso, idcliente, tipo = 'principal' | 'subcliente'), preservando casos.idcliente para retrocompatibilidade.
2. Autenticação
Envie a chave em um dos formatos abaixo.
Opção A – Header X-Api-Key
GET /api/v1/clientes HTTP/1.1
Host: app.sisjud.com.br
X-Api-Key: sk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Content-Type: application/jsonOpção B – Authorization Bearer
GET /api/v1/clientes HTTP/1.1
Host: app.sisjud.com.br
Authorization: Bearer sk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Content-Type: application/jsonChave inválida ou inativa
A API responde com HTTP 401 e corpo:
{ "error": "unauthorized", "message": "chave inválida ou inativa." }3. URL base e formato
Base: https://app.sisjud.com.br/api/v1/ + recurso no path.
Exemplos:
Forma | Exemplo |
|---|---|
Path | GET /api/v1/clientes |
Query (sempre válido) | GET /api/v1/?url=clientes |
Sub-recursos e IDs:
Alguns recursos usam segundo segmento:
- /api/v1/cobranca/boletos
- /api/v1/cobranca/calculos
Para um único item:
- /api/v1/casos/123 ou ?url=casos/123 ou ?url=casos&id=123
Body: Em POST/PUT, envie JSON com Content-Type: application/json. No recurso prospeccao (leads/kanban), operações POST aceitam também application/x-www-form-urlencoded; para criar lead (op=create), o uso de form-urlencoded é recomendado.
4. Recursos e endpoints
Recurso | Métodos | Descrição |
|---|---|---|
clientes | GET, POST, PUT, DELETE | CRUD de clientes do escritório |
usuarios | GET, POST, PUT, DELETE | CRUD de usuários do escritório |
casos | GET, POST, PUT, DELETE | CRUD de casos |
tarefas | GET, POST, PUT, DELETE | CRUD de tarefas |
boletos | GET, POST, PUT, DELETE | CRUD de boletos |
prospeccao | GET, POST | Leads e kanban (parâmetro op) |
cobranca | GET | Listagem de boletos e cálculos |
negociacoes | GET | Listagem de parcelamentos e detalhe com parcelas |
4.1 Clientes
Método | URL / Parâmetros | Descrição |
|---|---|---|
GET | /api/v1/clientes | Lista todos os clientes do escritório |
GET | /api/v1/clientes?id=123 | Cliente por ID |
POST | /api/v1/clientes | Cria cliente |
PUT | /api/v1/clientes | Atualiza cliente |
DELETE | /api/v1/clientes | Remove cliente |
Campos principais (POST/PUT):
Campo | Obrigatório | Descrição |
|---|---|---|
nomecompleto | Sim | Nome completo do cliente |
cpf | Sim | 11 dígitos (PF) ou 14 dígitos (PJ) |
Não | ||
celular | Não | Celular com DDD |
nomefantasia | Não | Nome fantasia (PJ) |
cnpj | Não | CNPJ (14 dígitos) |
endereco | Não | Logradouro |
bairro | Não | Bairro |
cidade | Não | Cidade |
estado | Não | Estado (UF) |
cep | Não | CEP |
telresidencial | Não | Telefone residencial |
telcomercial | Não | Telefone comercial |
4.1.1 Vínculos entre clientes (subclientes)
O SisJud permite vincular clientes como subclientes de um cliente principal (relação N:N). Subclientes possuem cadastro completo e podem participar dos mesmos casos, mas não são codevedores — apenas o cliente principal responde nas cobranças.
Tabelas de vínculo:
Tabela | Descrição |
|---|---|
cliente_vinculos | idcliente_principal, idcliente_vinculado, tipo |
caso_clientes | idcaso, idcliente, tipo ('principal' ou 'subcliente') |
Regras de negócio:
- Um subcliente pode estar vinculado a múltiplos clientes principais
- casos.idcliente permanece como referência ao principal (retrocompatibilidade total)
- Ao listar casos de um cliente, o campo vinculo_tipo indica 'principal' ou 'subcliente'
Endpoints internos (autenticados por sessão, não por API Key):
Método | URL | Descrição |
|---|---|---|
GET | /api/clientes-vinculos-listar?idcliente=X | Lista subclientes vinculados a X + principais de X |
POST | /api/clientes-vinculo-adicionar | Cria vínculo (body: idcliente_principal, idcliente_vinculado) |
POST | /api/clientes-vinculo-remover | Remove vínculo (body: idcliente_principal, idcliente_vinculado) |
Resposta do GET /api/clientes-vinculos-listar:
{
"success": true,
"data": [
{
"id": 2,
"nomecompleto": "Maria Souza",
"cpf": "12345678901",
"tipo": "subcliente",
"criado_em": "2026-07-05 18:14:13"
}
],
"principais": [
{
"id": 1,
"nomecompleto": "João Silva"
}
]
}4.2 Usuários
Método | URL | Descrição |
|---|---|---|
GET | /api/v1/usuarios | Lista usuários do escritório |
POST | /api/v1/usuarios | Cria usuário |
PUT | /api/v1/usuarios | Atualiza usuário |
DELETE | /api/v1/usuarios | Remove usuário |
Campos: nome, email, senha, telefone, cpf, cargo, nivel_acesso, escritorio.
4.3 Casos
Método | URL / Parâmetros | Descrição |
|---|---|---|
GET | /api/v1/casos | Lista casos do escritório |
GET | /api/v1/casos?cliente_id=5 | Casos de um cliente |
GET | /api/v1/casos/123 ou ?id=123 | Um caso por ID |
POST | /api/v1/casos | Cria caso |
PUT | /api/v1/casos | Atualiza caso (id no body/path) |
DELETE | /api/v1/casos | Remove caso |
Campos principais:
Campo | Descrição |
|---|---|
idcliente | ID do cliente principal |
idescritorio | ID do escritório |
tipocaso | 1=Judicial, 2=Administrativo, 3=Cobrança |
parteadversa | Nome da parte adversa / devedor |
numcnj | Número CNJ (20 dígitos) |
numprocesso | Número do processo administrativo |
posicaocliente | 1=Autor, 2=Réu |
areaatuacao | Área de atuação |
assunto | Assunto do caso |
localtramite | Local de trâmite |
comarca | Comarca |
valorcausa | Valor da causa |
datadistribuicao | Data de distribuição |
observacao | Observações |
enderecodev | Endereço do devedor |
telfixodev | Telefone fixo do devedor |
telceldev | Celular do devedor |
cpf | CPF/CNPJ do devedor |
vinculo_tipo | 'principal' ou 'subcliente' (presente ao listar casos filtrando por cliente) |
Ao listar casos de um cliente que participa como subcliente (via caso_clientes), o campo vinculo_tipo retorna 'subcliente' para distinguir dos casos onde ele é o principal.
4.4 Tarefas
Método | URL / Parâmetros | Descrição |
|---|---|---|
GET | /api/v1/tarefas | Lista tarefas do escritório |
GET | /api/v1/tarefas?id=123 | Uma tarefa por ID |
POST | /api/v1/tarefas | Cria tarefa |
PUT | /api/v1/tarefas | Atualiza tarefa |
DELETE | /api/v1/tarefas | Remove tarefa |
Campos típicos: idcliente, idescritorio, titulo, descricao, prazo, status.
4.5 Boletos
Método | URL / Parâmetros | Descrição |
|---|---|---|
GET | /api/v1/boletos | Lista boletos |
GET | /api/v1/boletos?id=123 | Boleto por ID |
POST | /api/v1/boletos | Cria boleto |
PUT | /api/v1/boletos | Atualiza boleto |
DELETE | /api/v1/boletos | Remove boleto |
4.6 Prospecção
Todas as chamadas usam o parâmetro op (GET ou POST). Base: /api/v1/prospeccao ou /api/v1/prospecao.
As operações estão agrupadas por área (leads, quadros, colunas, gatilhos, tags, comentários, anexos e conversão).
Leads
op | Método | Descrição |
|---|---|---|
list | GET | Lista leads (filtros: idquadro, status, responsavel_id, busca) |
get | GET | Detalhe de um lead (id) |
create | POST | Cria lead (idquadro, nome, telefone, email, cpf_cnpj, etc.) |
update | POST | Atualiza lead (id + campos) |
busca_cliente | GET | Busca cliente por CPF/CNPJ (query: cpf_cnpj) |
usuarios | GET | Lista usuários do escritório (id, nome) |
update_data_vencimento | POST | Reprograma apenas a data de vencimento (id, data_vencimento dd/mm/yyyy) |
update_observacoes | POST | Altera apenas as observações (id, observacoes) |
update_responsavel | POST | Altera apenas o responsável (id, responsavel_id) |
Quadros
op | Método | Descrição |
|---|---|---|
kanban_quadros | GET | Lista quadros do escritório |
kanban_quadro_save | POST | Cria/atualiza quadro (id, nome, descricao, cor, icone, ordem, is_default) |
kanban_quadro_delete | POST | Remove quadro (id) — não permite excluir o quadro padrão ou quadro com leads |
kanban_quadro_set_default | POST | Define o quadro padrão (id) |
kanban_quadros_ordem | POST | Reordena quadros (ordem: array de ids) |
Colunas
op | Método | Descrição |
|---|---|---|
kanban_colunas | GET | Lista colunas do kanban (idquadro) |
kanban_list | GET | Colunas e cards do kanban (idquadro, busca) |
kanban_move | POST | Move card (id, coluna, idquadro) — executa gatilhos da coluna |
kanban_move_revert | POST | Reverte movimentação abortada (id, coluna_origem, coluna_destino, idquadro) |
kanban_coluna_save | POST | Cria/atualiza coluna (idquadro, id, nome, slug, ordem, concluida, bloquear_pular) |
kanban_coluna_set_concluida | POST | Marca coluna como concluída (id, concluida 0/1) |
kanban_coluna_set_bloquear_pular | POST | Marca coluna como etapa obrigatória (id, bloquear_pular 0/1) |
kanban_colunas_ordem | POST | Atualiza ordem das colunas (idquadro, ordem: array de ids) |
kanban_coluna_apagar | POST | Remove coluna (idquadro, id) — leads são migrados para outra coluna |
Gatilhos
op | Método | Descrição |
|---|---|---|
kanban_gatilhos | GET | Lista gatilhos (idquadro, id_coluna opcional) |
kanban_gatilho_save | POST | Cria/atualiza gatilho (idquadro, id_coluna, id, tipo_acao, config, ativo) |
kanban_gatilho_apagar | POST | Remove gatilho (id) |
Tags
op | Método | Descrição |
|---|---|---|
tags_list | GET | Lista tags do escritório |
tags_create | POST | Cria tag (nome, cor) |
tags_update | POST | Atualiza tag (id, nome, cor) |
tags_delete | POST | Remove tag (id) |
lead_tags_update | POST | Adiciona/remove tag do lead (idlead, idtag, action) |
Comentários
op | Método | Descrição |
|---|---|---|
comentarios_list | GET | Comentários de um lead (id) |
comentario_add | POST | Adiciona comentário (id, comentario, mencoes) |
comentario_apagar | POST | Remove comentário (id do comentário) |
reacao_comentario | POST | Toggle de reação num comentário (id_comentario, idlead, tipo: like/dislike/ok/heart/alert) |
Anexos
op | Método | Descrição |
|---|---|---|
anexos_list | GET | Lista anexos do lead (id) |
anexo_upload | POST | Envia anexo (id do lead + arquivo em multipart) |
anexo_apagar | POST | Remove anexo (id do anexo) |
Conversão
op | Método | Descrição |
|---|---|---|
lead_converter_completo | POST | Converte lead em cliente + caso (lead_id, id_gatilho + dados cliente_*/caso_*) |
Criar lead (op=create): Envie op=create na query ou no body.
Campos aceitos: nome, telefone, email, cpf_cnpj (11 ou 14 dígitos), origem, observacoes, responsavel_id, idquadro (quadro do kanban; se omitido, usa o quadro padrão) e data_vencimento (dd/mm/yyyy; padrão: fim do dia). O lead é criado na primeira coluna do quadro.
A resposta inclui o idquadro usado e o idcliente_vinculado:
{
"success": true,
"message": "lead criado",
"id": 42,
"idquadro": 5,
"idcliente_vinculado": null
}Conversão de lead (op=lead_converter_completo): cria (ou atualiza) o cliente e o caso, vincula o lead (idcliente, idcaso) e move o card para a coluna de destino do gatilho. Requer lead_id e id_gatilho (gatilho do tipo converter_lead_cliente, ativo). Dados do cliente via prefixo cliente_ (cliente_nomecompleto/cliente_nome, cliente_cpf/cliente_cnpj, cliente_email, cliente_celular, cliente_endereco, cliente_bairro, cliente_cidade, cliente_estado, cliente_cep, cliente_rg, cliente_nomefantasia, etc.) e do caso via prefixo caso_ (caso_tipocaso, caso_parteadversa, caso_numcnj, caso_numprocesso, caso_assunto, caso_valorcausa, caso_comarca, etc.). Se o CPF/CNPJ informado já existir, o cliente é apenas atualizado. Anexos do lead são copiados para o caso.
4.7 Cobrança
Apenas GET. Sub-recurso no path ou em url.
Sub-recurso | URL | Parâmetros (opcional) | Descrição |
|---|---|---|---|
boletos | /api/v1/cobranca ou /api/v1/cobranca/boletos | idcliente, idcaso, pago (0/1), limit | Lista boletos (boletos_dados) |
cálculos | /api/v1/cobranca/calculos | idcaso | Lista cálculos do escritório |
Exemplo: GET /api/v1/cobranca/boletos?idcaso=5&pago=0
4.8 Negociações
Apenas GET. Lista parcelamentos ou detalhe de um parcelamento (com parcelas).
Chamada | URL / Parâmetros | Descrição |
|---|---|---|
listar | /api/v1/negociacoes?idcaso=X | Lista parcelamentos de um caso |
detalhe | /api/v1/negociacoes?id=123 ou path /negociacoes/123 | Parcelamento com array de parcelas |
Exemplos:
GET /api/v1/negociacoes?idcaso=10
GET /api/v1/negociacoes?id=455. Exemplos por recurso
Listar clientes
GET /api/v1/clientes HTTP/1.1
Host: app.sisjud.com.br
X-Api-Key: sk_live_sua_chave_aqui
Content-Type: application/jsonCriar cliente
POST /api/v1/clientes HTTP/1.1
Host: app.sisjud.com.br
X-Api-Key: sk_live_sua_chave_aqui
Content-Type: application/json
{
"nomecompleto": "Maria Silva",
"cpf": "12345678901",
"email": "[email protected]",
"celular": "11999998888"
}Listar leads (prospecção)
GET /api/v1/prospeccao?op=list&idquadro=5 HTTP/1.1
Host: app.sisjud.com.br
X-Api-Key: sk_live_sua_chave_aquiKanban da prospecção
GET /api/v1/prospeccao?op=kanban_list&idquadro=5 HTTP/1.1
Host: app.sisjud.com.br
X-Api-Key: sk_live_sua_chave_aquiCriar lead (prospecção)
POST /api/v1/prospeccao?op=create HTTP/1.1
Host: app.sisjud.com.br
X-Api-Key: sk_live_sua_chave_aqui
Content-Type: application/x-www-form-urlencoded
idquadro=5&nome=João Silva&telefone=11999998888&[email protected]&cpf_cnpj=12345678901&origem=site&observacoes=lead vindo do formulárioResposta de sucesso (200):
{
"success": true,
"message": "lead criado",
"id": 42,
"idcliente_vinculado": null
}Cobrança – boletos em aberto
GET /api/v1/cobranca/boletos?pago=0 HTTP/1.1
Host: app.sisjud.com.br
X-Api-Key: sk_live_sua_chave_aquiNegociações de um caso
GET /api/v1/negociacoes?idcaso=12 HTTP/1.1
Host: app.sisjud.com.br
X-Api-Key: sk_live_sua_chave_aqui6. Códigos de resposta e erros
Código | Significado |
|---|---|
200 | Sucesso (GET, PUT, DELETE ou POST com retorno de dados) |
201 | Recurso criado (POST) |
400 | Dados inválidos ou incompletos |
401 | Chave ausente, inválida ou inativa |
404 | Recurso ou endpoint não encontrado |
405 | Método não permitido para o recurso |
500 | Erro interno do servidor |
Respostas de erro em JSON costumam seguir o formato:
{ "error": "unauthorized", "message": "chave inválida ou inativa." }ou
{ "message": "Os campos 'nomecompleto' e 'cpf' são obrigatórios." }7. Postman / Insomnia
Foram disponibilizados uma Postman Collection e um arquivo OpenAPI (Swagger) com os principais endpoints da API v1 e variáveis para URL base e chave.
Arquivos:
- api/postman/SisJud-API-v1.postman_collection.json
- api/postman/SisJud-API-v1-openapi.yaml
Uso no Postman:
- Import → Upload Files → Selecione o JSON
- Variáveis da collection:
- base_url: ex: https://app.sisjud.com.br (sem barra no final)
- api_key: sua chave (ex: sk_live_...)
A collection inclui pastas por recurso (clientes, casos, tarefas, boletos, usuários, prospecção, cobrança, negociações) e requisições de exemplo. Ajuste base_url e api_key no nível da collection ou em environment para usar em todos os requests.
Manual SisJud – API Pública v1 Atualizado em Setembro 2026