Modelos JSON e mapeamento de campos para integrar publicações judiciais ao ERP e CRM
Um guia prático para estruturar eventos, prazos, documentos, comentários e auditoria em integrações com Salesforce, TOTVS e calendários corporativos.
Conheça o guia de integração jurídica
Neste artigo8 seções
- Por que o JSON estruturado é decisivo na integração jurídica
- Quais campos mínimos enviar do monitoramento para o ERP ou CRM
- Como mapear os campos para Salesforce, TOTVS e Google Agenda
- Dez modelos JSON para eventos de publicações judiciais
- Como evitar duplicidades e preservar a cadeia de custódia
- Como o Pocket Jurídico pode alimentar esse fluxo sem replicar trabalho
- Erros frequentes ao integrar publicações judiciais por JSON
- Roteiro de validação antes de colocar a integração em produção
Por que o JSON estruturado é decisivo na integração jurídica
Modelos JSON para publicações judiciais ajudam a transformar textos, movimentações e prazos em registros que um ERP ou CRM consegue interpretar sem depender de planilhas e digitação manual. Quando o payload é inconsistente, o mesmo processo pode ser criado várias vezes, uma data pode ser gravada no fuso errado e um documento relevante pode ficar separado do histórico.
Uma publicação não é apenas uma mensagem. Ela pode conter número CNJ, tribunal, vara, partes, classe, assunto, texto original, documentos, movimentações relacionadas, responsável interno e uma ação com prazo. O modelo de dados precisa preservar esses elementos sem obrigar o sistema de destino a compreender a linguagem jurídica de cada tribunal.
O primeiro princípio é separar identidade, conteúdo e ação. A identidade responde qual processo e qual publicação estão sendo tratados; o conteúdo registra o que foi capturado; a ação representa o que a equipe deve fazer, como analisar um despacho, apresentar manifestação ou acompanhar uma audiência.
Para projetos no Brasil, também é necessário normalizar datas, nomes de tribunais e identificadores processuais. A documentação do [Conselho Nacional de Justiça sobre a numeração única de processos](https://www.cnj.jus.br/tecnologia-da-informacao-e-comunicacao/num eracao-unica/) ajuda a orientar o uso do padrão CNJ, enquanto a integração deve manter o valor original recebido para auditoria.
Antes de escolher campos do Salesforce ou do TOTVS, desenhe o objeto jurídico canônico. Esse objeto funciona como uma camada intermediária: o monitoramento envia dados padronizados, e cada conector converte esses dados para os campos existentes no sistema da empresa.
Quais campos mínimos enviar do monitoramento para o ERP ou CRM
Um evento de nova publicação deve carregar, no mínimo, um identificador estável do processo, um identificador único da publicação, a data de captura, a data de disponibilização, o tribunal, o número CNJ, o texto original e a origem. Sem esses campos, a equipe perde capacidade de reconciliar eventos e provar quando determinada informação entrou no fluxo.
O número CNJ é útil, mas não deve ser o único identificador. Processos podem aparecer em diferentes instâncias, sofrer correções cadastrais ou ser associados a registros antigos. Uma combinação entre identificador do processo no Pocket Jurídico, número CNJ normalizado, tribunal e hash do conteúdo oferece uma chave mais segura para deduplicação.
Para movimentações, inclua tipo, descrição, data de ocorrência, data de captura e vínculo com a publicação que originou o evento. Para prazos, envie data inicial, data final, tipo de contagem, quantidade de dias, status de validação e responsável sugerido. Um prazo extraído por inteligência artificial não deve ser tratado como verdade absoluta sem indicar sua origem e necessidade de revisão.
O texto original precisa permanecer imutável. Resumos, classificações e prazos gerados por regras ou modelos de linguagem devem ser armazenados como derivados, com versão, método e horário de processamento. Essa separação permite corrigir uma interpretação sem apagar a evidência recebida.
A política de campos também evita excesso de dados. O guia sobre o que sincronizar e o que manter no jurídico pode ajudar a decidir quais informações pertencem ao sistema central e quais devem permanecer no ambiente de monitoramento.
Como mapear os campos para Salesforce, TOTVS e Google Agenda
- 1
Crie um dicionário de dados jurídico
Liste cada campo canônico, seu tipo, obrigatoriedade, exemplo e regra de atualização. Por exemplo, process_number deve ser texto, nunca número, porque zeros, pontuação e caracteres de controle podem ser relevantes.
- 2
Relacione objetos de negócio
No Salesforce, um processo pode ser representado por um objeto personalizado relacionado a Account, Contact, Case ou Opportunity, conforme o desenho da empresa. No TOTVS, o vínculo pode passar por entidades jurídicas, clientes, contratos ou tarefas, dependendo do produto e da parametrização instalada.
- 3
Defina a chave externa
Use um campo de identificação externa para impedir duplicidade. A chave pode ser process_id para o processo e publication_id para a publicação, preservando também content_hash para detectar alterações no conteúdo.
- 4
Converta tipos e listas
Mapeie status, tribunal, grau de jurisdição e prioridade para valores aceitos pelo destino. Não envie livremente dezenas de variações como urgente, Urgente e alta, pois isso quebra filtros, relatórios e automações.
- 5
Separe prazo de evento processual
Uma publicação pode gerar zero, um ou vários prazos. O prazo deve ser um registro filho ou uma tarefa relacionada, não apenas uma data gravada no texto da publicação.
- 6
Conecte o calendário somente após validar o prazo
Google Agenda e Outlook devem receber eventos com título, horário, fuso, responsável, descrição, link para a fonte e regra de lembretes. O evento não substitui a revisão jurídica, especialmente quando a contagem depende de feriados, suspensão ou intimação.
Dez modelos JSON para eventos de publicações judiciais
Os exemplos abaixo usam um envelope comum. Em produção, inclua versionamento, identificador do evento e idempotency_key. Os nomes podem ser adaptados ao contrato da API, mas a estrutura reduz ambiguidades entre o sistema de monitoramento, o ERP e o CRM.
- Nova publicação:
{"event":"publication.created","event_id":"evt_01","publication_id":"pub_987","process_id":"pjt_456","process_number":"0001234-56.2026.8.26.0100","court":"TJSP","published_at":"2026-10-21T03:00:00Z","captured_at":"2026-10-21T08:12:14Z","source":"Diário da Justiça","content":{"original_text":"...","hash":"sha256:abc123"}}
- Atualização de movimentação:
{"event":"movement.created","event_id":"evt_02","process_id":"pjt_456","movement_id":"mov_333","type":"despacho","description":"Intime-se a parte para manifestação","occurred_at":"2026-10-21T00:00:00Z","captured_at":"2026-10-21T08:12:18Z","publication_id":"pub_987"}
- Extração de prazo:
{"event":"deadline.extracted","event_id":"evt_03","deadline_id":"prazo_44","process_id":"pjt_456","publication_id":"pub_987","start_date":"2026-10-22","end_date":"2026-11-05","business_days":10,"action":"apresentar manifestação","confidence":0.91,"review_required":true,"extracted_by":"llm"}
- Alteração de prazo após revisão:
{"event":"deadline.reviewed","event_id":"evt_04","deadline_id":"prazo_44","previous_end_date":"2026-11-05","confirmed_end_date":"2026-11-07","reviewer":"usuario_18","reason":"suspensão local conferida","reviewed_at":"2026-10-22T13:20:00-03:00"}
- Anexação de documento:
{"event":"document.attached","event_id":"evt_05","document_id":"doc_778","publication_id":"pub_987","name":"despacho.pdf","mime_type":"application/pdf","size":245781,"sha256":"abc123","download_url":"https://api.exemplo/documentos/doc_778"}
- Atualização da capa processual:
{"event":"process.updated","event_id":"evt_06","process_id":"pjt_456","process_number":"0001234-56.2026.8.26.0100","parties":[{"name":"Empresa Alfa","role":"polo ativo"}],"court":"TJSP","chamber":"3ª Vara Cível","updated_at":"2026-10-21T08:14:00Z","source":"capa processual"}
- Resumo gerado por inteligência artificial:
{"event":"publication.summarized","event_id":"evt_07","publication_id":"pub_987","summary":"O juízo determinou manifestação da parte em prazo legal.","model":"modelo-configurado","prompt_version":"v3","generated_at":"2026-10-21T08:16:00Z","human_review":"pending"}
- Comentário colaborativo:
{"event":"comment.created","event_id":"evt_08","publication_id":"pub_987","process_id":"pjt_456","author_id":"usuario_22","body":"Confirmar documentos com a banca correspondente.","created_at":"2026-10-21T08:20:00-03:00","mentions":["usuario_18"]}
- Evento para Google Agenda ou Outlook:
{"event":"calendar.event.requested","event_id":"evt_09","deadline_id":"prazo_44","title":"Revisar manifestação, processo 0001234-56.2026.8.26.0100","start":"2026-11-06T14:00:00-03:00","end":"2026-11-06T14:30:00-03:00","timezone":"America/Sao_Paulo","reminders":[1440,60],"source_url":"https://app.exemplo/processos/pjt_456"}
- Reconciliação e confirmação de entrega:
{"event":"sync.acknowledged","event_id":"evt_10","source_event_id":"evt_03","destination":"salesforce","destination_record_id":"a0Bxx00000123","received_at":"2026-10-22T13:25:10Z","status":"processed"}
Os endpoints de destino devem responder com sucesso somente depois de validar o payload e registrar a operação. A documentação oficial da API do Salesforce detalha o uso de recursos REST, enquanto a API do Google Calendar descreve a criação de eventos e seus campos.
Como evitar duplicidades e preservar a cadeia de custódia
- ✓Use uma idempotency_key determinística, formada por publication_id, tipo do evento e versão do conteúdo. Se o mesmo webhook for reenviado, o destino deve devolver o registro existente em vez de criar outro.
- ✓Mantenha duas datas distintas: occurred_at, quando o ato ou a publicação ocorreu, e captured_at, quando o monitoramento identificou o dado. Misturar essas datas produz relatórios incorretos sobre tempo até ciência.
- ✓Envie timestamps em UTC no formato ISO 8601 e informe o fuso quando a operação depender do horário local. Para exibição em São Paulo, converta para America/Sao_Paulo somente na interface ou no calendário.
- ✓Calcule um hash do texto original e dos documentos. O hash não revela o conteúdo, mas permite verificar se o arquivo recebido posteriormente é o mesmo que foi capturado no evento inicial.
- ✓Registre a cadeia de custódia com source, captura, transformação, versão do modelo, usuário revisor e destino. Um resumo gerado por IA deve ser claramente identificado como derivado, sem substituir o documento original.
- ✓Implemente reconciliação diária. Compare quantidade de publicações, prazos, documentos e falhas entre a origem e o ERP ou CRM, separando eventos pendentes, processados e rejeitados.
- ✓Aplique permissões por função e princípio do menor privilégio. Dados processuais podem conter informações pessoais e devem ser tratados conforme a finalidade, necessidade e controles previstos na orientação da ANPD sobre segurança da informação.
Como o Pocket Jurídico pode alimentar esse fluxo sem replicar trabalho
Depois que o modelo canônico estiver definido, o Pocket Jurídico pode funcionar como fonte estruturada para processos, publicações e movimentações capturados em mais de 490 diários e tribunais. A cada nova publicação, a plataforma identifica e valida o processo, captura capa, histórico, movimentações e documentos, entregando contexto para o conector consumir.
Um caso comum é o despacho recebido antes da data de publicação. O evento de nova publicação entra no CRM com texto original, resumo opcional e link para a fonte; o evento de prazo cria uma tarefa para revisão; somente após a confirmação humana o prazo é enviado ao Google Agenda ou ao calendário corporativo.
Em um departamento jurídico com dezenas de bancas terceirizadas, o campo external_owner pode indicar o escritório responsável, enquanto o campo internal_owner aponta o gestor da empresa. Assim, Salesforce ou TOTVS centralizam a visão do contencioso sem apagar comentários, documentos e decisões registradas no contexto da publicação.
A conexão com modelos como ChatGPT, Claude ou Gemini também pode enriquecer o evento, desde que resumo e prazo tenham metadados de confiança, versão e revisão. O playbook de triagem e priorização de publicações com IA apresenta uma forma de separar automação de classificação da decisão jurídica final.
Para o calendário, o evento deve conter a origem, o processo, a ação e o prazo confirmado. A integração não deve criar um compromisso para cada atualização irrelevante, pois isso gera fadiga de alertas. Uma política de notificações, prioridade e escalonamento torna o calendário operacional em vez de apenas volumoso.
Erros frequentes ao integrar publicações judiciais por JSON
O primeiro erro é tratar o número do processo como chave única em todos os contextos. Use identificadores internos e externos combinados, pois um processo pode ter múltiplas publicações, documentos e prazos, cada qual com ciclo próprio.
Outro problema é enviar datas sem fuso ou usar a data de captura como data do ato. A diferença pode parecer pequena, mas altera a ordem dos eventos e pode deslocar um lembrete para o dia errado. O guia sobre normalização de horários em publicações judiciais aprofunda essa camada técnica.
Também é arriscado sobrescrever o texto original com um resumo. O resumo facilita a triagem, mas não deve eliminar a fonte que permite conferência. Para auditoria, armazene versões e hashes, e não apenas o resultado final exibido ao usuário.
Webhooks sem reprocessamento são outra fonte de perda. O receptor precisa aceitar repetição segura, manter uma fila, registrar falhas e tentar novamente com espera progressiva. O material sobre como projetar webhooks e APIs para publicações judiciais oferece critérios para assinatura, resposta, retentativa e observabilidade.
Por fim, muitas equipes testam apenas o caminho feliz. Inclua cenários com publicação duplicada, processo sem número CNJ, documento indisponível, prazo sem data final, tribunal fora do ar, evento fora de ordem e alteração manual feita no ERP.
Roteiro de validação antes de colocar a integração em produção
- 1
Defina casos de teste reais
Selecione publicações de despacho, sentença, intimação, audiência e movimentação sem prazo. Use também um processo com múltiplos documentos e outro com atuação de banca terceirizada.
- 2
Teste a deduplicação
Envie o mesmo evento três vezes, com a mesma chave, e confirme que apenas um registro foi criado. Depois altere o hash e verifique se o sistema registra uma nova versão sem duplicar o processo.
- 3
Valide prazos com revisão humana
Compare a data extraída com a conferência de um advogado. Meça falsos positivos, campos ausentes e tempo de correção antes de liberar a criação automática de tarefas.
- 4
Confira calendário e fusos
Teste usuários em diferentes localidades, horários de verão quando aplicável e eventos de dia inteiro. Confirme que a descrição contém processo, publicação, origem e link para consulta.
- 5
Monitore indicadores
Acompanhe latência, taxa de erro, eventos rejeitados, duplicidades, tempo de reconciliação e percentual de prazos revisados. O artigo sobre KPIs de integração por API pode servir como base para o painel.
- 6
Formalize o plano de retorno
Defina como pausar o envio, reprocessar a fila e corrigir registros sem apagar a trilha. Durante o piloto, mantenha uma rotina de conferência entre o feed e o ERP ou CRM.
Perguntas Frequentes
Quais campos mínimos uma publicação judicial deve ter no JSON?▼
O mínimo recomendado inclui publication_id, process_id, número CNJ, tribunal, texto original, origem, data de ocorrência, data de captura e hash do conteúdo. Também é útil enviar link para a fonte, movimentação relacionada e lista de documentos. Para integração com ERP ou CRM, acrescente status, prioridade, responsável e chave de idempotência.
Como evitar que o mesmo processo seja criado várias vezes no Salesforce ou TOTVS?▼
Crie uma chave externa estável para o processo e outra para cada publicação ou movimentação. O receptor deve consultar essa chave antes de inserir e tratar reenvios com comportamento idempotente. O número CNJ pode participar da identificação, mas deve ser combinado com o identificador interno e, quando necessário, com tribunal e instância.
Como representar vários prazos extraídos de uma única publicação?▼
Envie os prazos como uma coleção de objetos relacionados à publication_id, e não como várias datas soltas no mesmo registro. Cada objeto deve conter ação, data inicial, data final, tipo de contagem, responsável, confiança da extração e status de revisão. Assim, uma publicação que exige manifestação e também agenda audiência mantém duas ações rastreáveis.
Devo enviar o resumo da inteligência artificial para o ERP ou CRM?▼
O resumo pode ser enviado como campo derivado, desde que o texto original permaneça preservado e o payload informe modelo, versão, data de geração e situação da revisão. A equipe deve conseguir distinguir conteúdo recebido do tribunal de interpretação automatizada. Para atos com risco de prazo, use o resumo para priorização e exija validação humana antes de criar uma obrigação definitiva.
Qual formato de data usar em uma integração de publicações judiciais?▼
Use ISO 8601 e, preferencialmente, armazene timestamps técnicos em UTC. Separe a data em que o ato ocorreu da data em que foi capturado pelo monitoramento. Para eventos de calendário, informe explicitamente o fuso, como America/Sao_Paulo, evitando que o sistema de destino interprete o compromisso como UTC.
Como anexar documentos judiciais no payload JSON?▼
O padrão mais seguro é enviar metadados, como nome, tipo MIME, tamanho, hash, identificador e URL protegida, em vez de inserir arquivos grandes diretamente no JSON. O sistema de destino pode buscar o documento com autenticação e registrar o hash recebido. Se houver expiração do link, defina uma rotina de renovação ou armazenamento controlado.
É possível transformar uma publicação em evento no Google Agenda?▼
Sim, mas o evento deve ser criado a partir de um prazo validado ou de uma ação operacional clara, não para cada atualização processual. Envie título, início, fim, fuso, lembretes, responsáveis, descrição e link para a fonte. Também defina uma chave que permita atualizar ou cancelar o evento sem criar compromissos duplicados.
Como provar a cadeia de custódia de uma publicação integrada?▼
Registre o texto ou documento original, hash, origem, data de captura, transformações realizadas, versão do resumo ou modelo, usuário revisor e confirmações de entrega. Cada alteração deve gerar uma nova versão, sem apagar o histórico anterior. Esse conjunto permite demonstrar o que foi recebido, quando foi processado e como chegou ao ERP, CRM ou calendário.