Integracoes e Webhooks
Conecte a Lex Platform ao seu sistema via webhooks com entrega garantida, gerenciamento de API Keys e integracoes nativas com ferramentas populares do mercado juridico.
Configuracao de Webhooks
Webhooks enviam requisicoes HTTP POST para a URL configurada sempre que um evento ocorre na plataforma. Configure via API ou diretamente no portal em Configuracoes > Integracoes > Webhooks.
/v1/webhooksCria um novo endpoint de webhook com os eventos e configuracoes desejados.
curl -X POST \
-H "X-API-Key: $LEX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://meuapp.com/lex-webhook",
"eventos": ["movimentacao.nova", "prazo.vencendo", "publicacao.nova"],
"ativo": true,
"secret": "whsec_minha_chave_secreta_32chars"
}' \
"https://api.lex.com.br/v1/webhooks"
# Resposta 201 Created
{
"id": "wh_a1b2c3d4e5f6",
"url": "https://meuapp.com/lex-webhook",
"eventos": ["movimentacao.nova", "prazo.vencendo", "publicacao.nova"],
"ativo": true,
"created_at": "2024-12-15T10:00:00Z"
}Tipos de Eventos
Subscreva apenas nos eventos relevantes para o seu sistema. Cada webhook pode escutar multiplos tipos de evento.
| Evento | Descricao | Planos |
|---|---|---|
movimentacao.nova | Nova movimentacao detectada em processo monitorado | Todos |
prazo.vencendo | Prazo processual a 5, 3 ou 1 dia(s) do vencimento | Todos |
publicacao.nova | Nova publicacao no diario oficial com match nos filtros configurados | Pro / Enterprise |
processo.atualizado | Dados cadastrais do processo foram atualizados (status, classe, valor) | Todos |
peticao.protocolada | Peticao foi protocolada com sucesso no tribunal | Todos |
peticao.falhou | Tentativa de protocolo eletronico falhou — requer acao manual | Todos |
monitoramento.inativo | Processo monitorado foi arquivado ou extinto no tribunal | Todos |
Formato do Payload
Todos os webhooks seguem um envelope padrao com os campos evento, timestamp e dados. O campo dados varia conforme o tipo de evento.
{
"id": "evt_abc123",
"evento": "movimentacao.nova",
"timestamp": "2024-12-15T10:30:00Z",
"dados": {
"processo": "1234567-89.2024.8.26.0100",
"tribunal": "TJSP",
"movimentacao": {
"id": "uuid",
"data": "2024-12-15",
"tipo": "Despacho",
"descricao": "Vistos. Defiro o pedido de tutela antecipada..."
}
}
}{
"id": "evt_def456",
"evento": "prazo.vencendo",
"timestamp": "2024-12-15T08:00:00Z",
"dados": {
"processo": "1234567-89.2024.8.26.0100",
"descricao_prazo": "Contestacao",
"vence_em": "2024-12-18",
"dias_restantes": 3
}
}{
"id": "evt_ghi789",
"evento": "publicacao.nova",
"timestamp": "2024-12-15T07:30:00Z",
"dados": {
"diario": "DJE-TJSP",
"edicao": "3748",
"data_publicacao": "2024-12-15",
"processo": "1234567-89.2024.8.26.0100",
"trecho": "VISTOS. Fls. 234. Defiro a gratuidade..."
}
}Politica de Retry e Entrega
O sistema garante a entrega com politica de retry automatico com backoff exponencial. A URL de destino deve responder com HTTP 2xx em ate 30 segundos; caso contrario, a tentativa e considerada falha.
Sequencia de Retry (Backoff Exponencial)
Tentativa inicial
Entrega imediata apos o evento ser disparado.
1o retry
Primeira retentativa apos falha.
2o retry
Segunda retentativa com backoff aumentado.
3o retry (ultimo)
Terceira e ultima retentativa. Apos falha, o evento e registrado como nao entregue no log.
Reenvio manual: Eventos nao entregues podem ser reenviados manualmente pelo portal em Configuracoes > Webhooks > Log de Entregas. Webhooks com mais de 10 falhas consecutivas sao desativados automaticamente com notificacao por email.
Verificacao de Assinatura
Cada requisicao de webhook inclui o header X-Lex-Signature com assinatura HMAC-SHA256 do payload usando o secret configurado. Sempre verifique a assinatura antes de processar o payload.
import crypto from 'crypto';
function verificarAssinatura(
payload: string,
assinatura: string,
secret: string
): boolean {
const expected = crypto
.createHmac('sha256', secret)
.update(payload, 'utf8')
.digest('hex');
return crypto.timingSafeEqual(
Buffer.from(`sha256=${expected}`),
Buffer.from(assinatura)
);
}import hmac
import hashlib
def verificar_assinatura(payload: str, assinatura: str, secret: str) -> bool:
expected = "sha256=" + hmac.new(
secret.encode("utf-8"),
payload.encode("utf-8"),
hashlib.sha256
).hexdigest()
return hmac.compare_digest(expected, assinatura)Gerenciamento de API Keys
API Keys sao vinculadas ao escritorio (tenant) e podem ter permissoes granulares por recurso. Cada escritorio pode ter ate 10 API Keys ativas simultaneamente. Chaves prefixadas com sk_live_ sao de producao; sk_test_ sao de sandbox.
| Metodo | Endpoint | Descricao |
|---|---|---|
| GET | /v1/api-keys | Lista todas as API Keys do escritorio com status e ultimo uso |
| POST | /v1/api-keys | Cria uma nova API Key com permissoes e nome descritivo |
| DELETE | /v1/api-keys/{id} | Revoga imediatamente uma API Key (irreversivel) |
| PUT | /v1/api-keys/{id} | Atualiza nome, permissoes ou rate limit customizado da chave |
# Criar nova API Key com permissoes limitadas
curl -X POST \
-H "X-API-Key: $LEX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"nome": "Integracao CRM Juridico",
"permissoes": ["processos:read", "monitoramentos:write"],
"expires_at": "2025-12-31"
}' \
"https://api.lex.com.br/v1/api-keys"
# Resposta — a chave secreta so e exibida uma vez
{
"id": "key_xyz789",
"nome": "Integracao CRM Juridico",
"chave": "sk_live_abc123...",
"permissoes": ["processos:read", "monitoramentos:write"],
"expires_at": "2025-12-31",
"created_at": "2024-12-15T10:00:00Z"
}Atencao: O valor da chave (sk_live_...) e exibido apenas uma vez no momento da criacao. Guarde-a com seguranca. Em caso de perda, revogue e crie uma nova chave.
Integracoes Nativas
Alem dos webhooks, a plataforma oferece integracoes pre-configuradas com ferramentas populares. Configure em Configuracoes > Integracoes.
Slack / Microsoft Teams
Receba alertas de movimentacoes e prazos diretamente no canal do escritorio. Configure por carteira ou advogado responsavel.
Notificacoes por email com resumo diario, alertas instantaneos de prazos criticos ou digest semanal configuravel.
Google Sheets
Exporte automaticamente dados de processos, movimentacoes e relatorios gerenciais para planilhas Google.
Zapier / Make (n8n)
Conecte com centenas de aplicativos via automacao no-code usando os triggers de webhook da plataforma.