Autenticação
Obter Chave de API
- 1Acesse app.legalmail.com.br
- 2Vá para Menu → Integrações
- 3Clique em "Gerar Nova Chave de API"
- 4Copie a chave gerada e guarde em local seguro
⚠️ Segurança: Nunca compartilhe sua chave de API. Trate-a como uma senha. Se comprometida, regenere imediatamente.
Configuração Inicial
Variáveis de Ambiente
Configure as seguintes variáveis de ambiente:
LEGALMAIL_API_KEY=sua_chave_api_aqui LEGALMAIL_BASE_URL=https://app.legalmail.com.br/api LEGALMAIL_API_VERSION=v1
Adicione estas variáveis ao seu arquivo .env ou ao sistema de configuração do seu servidor.
Endpoints Principais
/v1/lawsuit/allListar todos os processos do workspace.
{
"success": true,
"data": [
{
"id": "123456",
"number": "0000832-35.2018.4.01.3202",
"title": "Ação de Direito à Saúde",
"status": "Arquivado",
"created_at": "2023-10-30"
}
]
}/v1/lawsuit/detailObter detalhes completos de um processo.
Parâmetros: lawsuit_number
{
"success": true,
"data": {
"id": "123456",
"number": "0000832-35.2018.4.01.3202",
"title": "Ação de Direito à Saúde",
"status": "Arquivado",
"class": "Ação Ordinária",
"subject": "Direito à Saúde",
"court": "TRF1",
"filed_at": "2023-10-30",
"parties": [
{"name": "João Silva", "role": "Autor"},
{"name": "Estado da Bahia", "role": "Réu"}
]
}
}/v1/lawsuit/documentsListar todos os autos e documentos de um processo.
Parâmetros: lawsuit_number
{
"success": true,
"data": [
{
"id": "doc_001",
"name": "Petição Inicial",
"type": "Petição",
"date": "2023-10-30",
"url": "https://app.legalmail.com.br/documents/..."
}
]
}Rate Limiting
Limite Padrão
30 requisições por minuto
Tratamento de Erros
Se atingir o limite, aguarde 60 segundos antes de fazer novas requisições.
Boas Práticas
Implemente retry logic com backoff exponencial para melhor confiabilidade.
Exemplos de Código
import requests
import json
# Configuração
API_KEY = "sua_chave_api_legalmail"
BASE_URL = "https://app.legalmail.com.br/api"
# Headers
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
}
# Consultar processos
def listar_processos():
url = f"{BASE_URL}/v1/lawsuit/all"
response = requests.get(url, headers=headers)
return response.json()
# Obter detalhes de um processo
def obter_detalhes_processo(numero_processo):
url = f"{BASE_URL}/v1/lawsuit/detail"
params = {"lawsuit_number": numero_processo}
response = requests.get(url, headers=headers, params=params)
return response.json()
# Listar autos de um processo
def listar_autos(numero_processo):
url = f"{BASE_URL}/v1/lawsuit/documents"
params = {"lawsuit_number": numero_processo}
response = requests.get(url, headers=headers, params=params)
return response.json()
# Exemplo de uso
if __name__ == "__main__":
processos = listar_processos()
print(json.dumps(processos, indent=2))Tratamento de Erros
401 Unauthorized
Chave de API inválida ou expirada. Verifique suas credenciais.
429 Too Many Requests
Limite de taxa excedido. Aguarde 60 segundos antes de tentar novamente.
500 Internal Server Error
Erro no servidor do LegalMail. Tente novamente em alguns minutos.
Precisa de Ajuda?
Consulte a documentação oficial do LegalMail ou entre em contato com o suporte.
Documentação Oficial do LegalMail