Peticionamento
Arquitetura
Abaixo encontra-se uma visão geral demonstrando como os serviços utilizados estão estruturados.
O projeto utiliza os seguintes microserviços da PDPJ:
-
Mensageria: responsável por receber as mensagens/eventos lançados pelo sistema e encaminhar ao RabbitMQ.
-
Notificações: responsável por efetivamente processar as mensagens encaminhadas ao serviço de mensageria, e entregar, nos endpoints de webhook cadastrados pelos Tribunais, as notificações contendo as mensagens. O tribunal deve se inscrever no evento respectivo lançado pelos sistemas, passando aí a receber as notificações no seu webhook.
-
Repositório: responsável por encapsular o acesso ao repositório de binários S3 da PDPJ.
-
Cabeçalho processual: busca os dados de processos judiciais.
-
Tabelas processuais unificadas: busca do Sistema de Gestão das TPUs (SGT) as tabelas unificadas de classes, assuntos, movimentos e tipos de documentos, utilizados nos processos judiciais.
-
Proxy do CNJ Corporativo: o CNJ Corporativo é o sistema de cadastro de usuários, lotações, varas e permissões do CNJ, e é utilizado tanto para usuários internos quanto para certas espécies de usuários externos (membros do Ministério Público, da Defensoria Pública, das Polícias, etc).
Tecnologias utilizadas
-
Spring Boot como framework de aplicação
-
String Data JPA para acesso ao banco de dados
-
Spring Security para autenticação e autorização
-
Mapstruct para mapeamento entre POJOs e entidades
-
Swagger para auto-documentação da API
-
S3 para armazenamento dos binários (serviço de repositório da PDPJ)
Como realizar um Peticionamento intercorrente
Documentação/Swagger: https://portalexterno-tribunais.stg.pdpj.jus.br/swagger-ui.html
Para realizar um peticionamento, deve-se seguir o seguinte passo a passo:
Primeiro, cria-se a petição.
POST https://portalexterno-tribunais.stg.pdpj.jus.br/api/v1/peticoes
{
"tipo": "A",
"numeroProcesso": "1234567-00.2024.8.20.0000",
"siglaTribunal": "TJRN",
"siglaGrau": "1G",
"codOrgaoJulgadorCorporativo": 5875, //VARA UNICA DA COMARCA DE PARELHAS
"idAvisoExpediente": null, //Se tipo for R, o id do aviso da comunicação processual
"nivelSigilo": 0
}
O retorno conterá o objeto PeticaoDTO, com o id gerado para a nova petição.
Agora, é necessário incluir os documentos vinculados à petição.
⚠️ O tipo de documento (atributo codDocumentoSgt) a ser utilizado são aqueles pertecentes ao grupo de "documentos externos", no SGT.
POST https://portalexterno-tribunais.stg.pdpj.jus.br/api/v1/peticoes/documentos
{
"idPeticao": 123,
"idDocumentoPai": null,
"codDocumentoSgt": 209,
"nome": "Petição XYZ",
"mimeType": "application/pdf",
"principal": true,
"nivelSigilo": 0,
"tamanho": 10000,
"hash": "2aae6c35c94fcfb415dbe95f408b9ce91ee846ed" //SHA-1
}
Response:
{
"url": "URL PRÉ ASSINADA PARA PUT",
"documentoSalvo": {
...
}
}
De posse da url temporária, o cliente deverá realizar a operação de PUT respectiva (vide https://aws.amazon.com/pt/blogs/compute/uploading-to-amazon-s3-directly-from-a-web-or-mobile-application/).
Exemplo de código TypeScript para fazer a requisição PUT:
let blobData = new Blob([new Uint8Array(array)], {type: 'application/pdf'})
const result = await fetch(signedURL, {
method: 'PUT',
body: blobData
})
A mesma operação deve ser repetida para os anexos, com a diferença que o campo idDocumentoPai
deve ser setado para ser igual ao id do documento principal da petição, bem como o campo principal
deve ser false.
Criada a petição e feito o upload dos seus documentos vinculados, agora pode-se protocolar:
POST https://portalexterno-tribunais.stg.pdpj.jus.br/api/v1/peticoes/{id}/protocolo
Se bem sucedido o protocolo, o sistema irá encaminhar para o serviço de mensageria da PDPJ uma mensagem com o seguinte payload (sistema PortalDeServicosExternoHomolog
, evento PeticaoProtocolada
):
{
"protocolo": "20244000000001234",
"url": "https://portalexterno-tribunais.stg.pdpj.jus.br/api/v1/peticoes/por-protocolo/20244000000001234",
"callback": "https://portalexterno-tribunais.stg.pdpj.jus.br/api/v1/protocolos/20244000000001234/callback"
}
Onde:
protocolo
é número do recibo gerado pelo Portal;
url
é a url para obter os metadados da petição e seus documentos;
callback
é a url que o Tribunal deverá chamar informando o resultado do processamento da juntada da petição.
⚠️ O Tribunal irá receber a mensagem acima no formato de notificação, no endpoint de webhook configurado por ele no serviços de notificações da PDPJ. Recomenda-se checar a documentação do serviço em https://docs.pdpj.jus.br/notificacoes.
O Tribunal, ao processar a notificação, obtêm os metadados da petição e dos documentos por meio de uma requisição GET na url
informada no payload
mencionado acima.
Ao realizar as requisições aos endpoints indicados na notificação, o sistema do tribunal deve adicionar no cabeçalho HTTP
Authorization
umbearer token
que deve ser obtido por meio do SSO da PDPJ. Oaccess token
deve ser de serviço, ou seja, utilizando oclient_id
do sistema do tribunal egrant_type
do tipoclient_credentials
. Para entender melhor, vide https://docs.pdpj.jus.br/servicos-estruturantes/autenticacao-sso.
Exemplo da resposta ao chamar o endpoint contido no campo url
da mensagem recebida do serviço de notificações:
GET https://portalexterno-tribunais.stg.pdpj.jus.br/api/v1/peticoes/por-protocolo/20244000000001234
Response:
{
"protocolo": "20244000000001234",
"dataEnvio": "01/06/2024 17:50:01",
"numeroProcesso": "1234567-00.2024.8.20.0000",
"idAvisoExpediente": null,
"cpfPeticionante": "12345678900",
"nomePeticionante": "Fulano de Tal",
"documentos": [{
"urlConteudo": "https://repositorio.stg.pdpj.jus.br/api/v1/portal?hash=2aae6c35c94fcfb415dbe95f408b9ce91ee846ed",
"tipoDocumento": { "codigo": "123", "descricao": "Peticao" },
"dataHora": "01/06/2024 17:01:00",
"descricao": "Petição XYZ",
"mimeType": "application/pdf",
"principal": true,
"nivelSigilo": 0,
"tamanho": 10000,
"hash": "2aae6c35c94fcfb415dbe95f408b9ce91ee846ed",
"cadeiaCertificado": "xxxx...", //base64
"assinatura": "xxx...." //base64
}]
}
Ao requisitar a URL em urlConteudo
, o sistema do tribunal receberá uma resposta 302 (REDIRECT), contendo a URL pré-assinada temporária para download do arquivo.
A maioria dos clientes HTTP utilizados pelas linguagens de mercado tratam esse cenário de forma transparente, não sendo necessário, via de regra, qualquer implementação específica por parte do sistema do tribunal.
Processada a juntada, o sistema do tribunal então chama a URL constante em callback
, na mensagem recebida do serviço de notificações:
POST https://portalexterno-tribunais.stg.pdpj.jus.br/api/v1/protocolos/20244000000001234/callback
{
"protocoloPortal": "20244000000001234",
"protocolo": "ABCD", //valor gerado pelo sistema do tribunal
"dataHora": "01/06/2024 17:01:00",
"sucesso": true,
"erros": [] //se retornar sucesso false, informar lista de strings aqui, com mensagens de erro
}
O sistema do tribunal deve receber um código "HTTP 200 OK" ao chamar o endpoint acima, indicando sucesso na operação de atualização do status do protocolo no Portal de Serviços.
Feito isso, o sistema exibirá ao usuário peticionante o status do protocolo (se a juntada da petição ocorreu com sucesso ou não, no sistema do tribunal).
Autenticação/autorização
A API utiliza o Single Sign On (Keycloak) do CNJ para autenticar os endpoints. A autorização dependerá do perfil do usuário (se advogado privado ou público, membro do Ministério Público, etc.), conforme, se for o caso, o que costar no sistema CNJ Corporativo.
Veja mais em https://docs.pdpj.jus.br/servicos-estruturantes/autenticacao-sso
Precisa de ajuda?
Acesse o canal #Portal de Serviços no RocketChat, por meio do link https://go.rocket.chat/invite?host=rocketchat.cloud.pje.jus.br&path=invite%2Fqj4jPC ou por meio do QR Code abaixo.
Links de Referência
Nome | Swagger |
---|---|
Portal de Serviços | https://portalexterno-tribunais.stg.pdpj.jus.br/swagger-ui.html |
Mensageria | https://gateway.stg.cloud.pje.jus.br/mensageria/swagger-ui.html |
Notificações | https://gateway.stg.cloud.pje.jus.br/notificacao/swagger-ui.html |
Repositório | https://gateway.stg.cloud.pje.jus.br/repositorio/swagger-ui.html |
Cabeçalho processual | https://gateway.stg.cloud.pje.jus.br/cabecalho-processual/swagger-ui.html |
Tabelas Processuais Unificadas | https://gateway.stg.cloud.pje.jus.br/tpu/swagger-ui.html |
Proxy para o CNJ Corporativo | https://gateway.stg.cloud.pje.jus.br/corporativo-proxy/swagger-ui.html |
SGT - Complemento de Movimentos | https://www.cnj.jus.br/sgt/gerenciar_complementos.php |
Anexo I - Listagem das Siglas dos Tribunais
SIGLA | CÓDIGO | DESCRIÇÃO |
---|---|---|
STF | 100 | Supremo Tribunal Federal |
STJ | 300 | Superior Tribunal de Justiça |
TST | 500 | Tribunal Superior do Trabalho |
TSE | 600 | Tribunal Superior Eleitoral |
STM | 700 | Superior Tribunal Militar |
TRF1 | 401 | Tribunal Regional Federal da 1a Região |
TRF2 | 402 | Tribunal Regional Federal da 2a Região |
TRF3 | 403 | Tribunal Regional Federal da 3a Região |
TRF4 | 404 | Tribunal Regional Federal da 4a Região |
TRF5 | 405 | Tribunal Regional Federal da 5a Região |
TRF6 | 406 | Tribunal Regional Federal da 6a Região |
TRT1 | 501 | Tribunal Regional do Trabalho da 1a Região |
TRT2 | 502 | Tribunal Regional do Trabalho da 2a Região |
TRT3 | 503 | Tribunal Regional do Trabalho da 3a Região |
TRT4 | 504 | Tribunal Regional do Trabalho da 4a Região |
TRT5 | 505 | Tribunal Regional do Trabalho da 5a Região |
TRT6 | 506 | Tribunal Regional do Trabalho da 6a Região |
TRT7 | 507 | Tribunal Regional do Trabalho da 7a Região |
TRT8 | 508 | Tribunal Regional do Trabalho da 8a Região |
TRT9 | 509 | Tribunal Regional do Trabalho da 9a Região |
TRT10 | 510 | Tribunal Regional do Trabalho da 10a Região |
TRT11 | 511 | Tribunal Regional do Trabalho da 11a Região |
TRT12 | 512 | Tribunal Regional do Trabalho da 12a Região |
TRT13 | 513 | Tribunal Regional do Trabalho da 13a Região |
TRT14 | 514 | Tribunal Regional do Trabalho da 14a Região |
TRT15 | 515 | Tribunal Regional do Trabalho da 15a Região |
TRT16 | 516 | Tribunal Regional do Trabalho da 16a Região |
TRT17 | 517 | Tribunal Regional do Trabalho da 17a Região |
TRT18 | 518 | Tribunal Regional do Trabalho da 18a Região |
TRT19 | 519 | Tribunal Regional do Trabalho da 19a Região |
TRT20 | 520 | Tribunal Regional do Trabalho da 20a Região |
TRT21 | 521 | Tribunal Regional do Trabalho da 21a Região |
TRT22 | 522 | Tribunal Regional do Trabalho da 22a Região |
TRT23 | 523 | Tribunal Regional do Trabalho da 23a Região |
TRT24 | 524 | Tribunal Regional do Trabalho da 24a Região |
TREAC | 601 | Tribunal Regional Eleitoral do Acre |
TREAL | 602 | Tribunal Regional Eleitoral de Alagoas |
TREAP | 603 | Tribunal Regional Eleitoral do Amapá |
TREAM | 604 | Tribunal Regional Eleitoral do Amazonas |
TREBA | 605 | Tribunal Regional Eleitoral da Bahia |
TRECE | 606 | Tribunal Regional Eleitoral do Ceará |
TREDF | 607 | Tribunal Regional Eleitoral do Distrito Federal |
TREES | 608 | Tribunal Regional Eleitoral do Espírito Santo |
TREGO | 609 | Tribunal Regional Eleitoral de Goiás |
TREMA | 610 | Tribunal Regional Eleitoral do Maranhão |
TREMT | 611 | Tribunal Regional Eleitoral de Mato Grosso |
TREMS | 612 | Tribunal Regional Eleitoral de Mato Grosso do Sul |
TREMG | 613 | Tribunal Regional Eleitoral de Minas Gerais |
TREPA | 614 | Tribunal Regional Eleitoral do Pará |
TREPB | 615 | Tribunal Regional Eleitoral da Paraíba |
TREPR | 616 | Tribunal Regional Eleitoral do Paraná |
TREPE | 617 | Tribunal Regional Eleitoral de Pernambuco |
TREPI | 618 | Tribunal Regional Eleitoral do Piauí |
TRERJ | 619 | Tribunal Regional Eleitoral do Rio de Janeiro |
TRERN | 620 | Tribunal Regional Eleitoral do Rio Grande do Norte |
TRERS | 621 | Tribunal Regional Eleitoral do Rio Grande do Sul |
TRERO | 622 | Tribunal Regional Eleitoral de Rondônia |
TRERR | 623 | Tribunal Regional Eleitoral de Roraima |
TRESC | 624 | Tribunal Regional Eleitoral de Santa Catarina |
TRESE | 625 | Tribunal Regional Eleitoral de Sergipe |
TRESP | 626 | Tribunal Regional Eleitoral de São Paulo |
TRETO | 627 | Tribunal Regional Eleitoral de Tocantins |
CJM1 | 701 | 1a Circunscrição de Justiça Militar |
CJM2 | 702 | 2a Circunscrição de Justiça Militar |
CJM3 | 703 | 3a Circunscrição de Justiça Militar |
CJM4 | 704 | 4a Circunscrição de Justiça Militar |
CJM5 | 705 | 5a Circunscrição de Justiça Militar |
CJM6 | 706 | 6a Circunscrição de Justiça Militar |
CJM7 | 707 | 7a Circunscrição de Justiça Militar |
CJM8 | 708 | 8a Circunscrição de Justiça Militar |
CJM9 | 709 | 9a Circunscrição de Justiça Militar |
CJM10 | 710 | 10a Circunscrição de Justiça Militar |
CJM11 | 711 | 11a Circunscrição de Justiça Militar |
CJM12 | 712 | 12a Circunscrição de Justiça Militar |
TJAC | 801 | Tribunal de Justiça do Acre |
TJAL | 802 | Tribunal de Justiça de Alagoas |
TJAP | 803 | Tribunal de Justiça do Amapá |
TJAM | 804 | Tribunal de Justiça do Amazonas |
TJBA | 805 | Tribunal de Justiça da Bahia |
TJCE | 806 | Tribunal de Justiça do Ceará |
TJDFT | 807 | Tribunal de Justiça do Distrito Federal e dos Territórios |
TJES | 808 | Tribunal de Justiça do Espírito Santo |
TJGO | 809 | Tribunal de Justiça de Goiás |
TJMA | 810 | Tribunal de Justiça do Maranhão |
TJMT | 811 | Tribunal de Justiça de Mato Grosso |
TJMS | 812 | Tribunal de Justiça de Mato Grosso do Sul |
TJMG | 813 | Tribunal de Justiça de Minas Gerais |
TJPA | 814 | Tribunal de Justiça do Pará |
TJPB | 815 | Tribunal de Justiça da Paraíba |
TJPR | 816 | Tribunal de Justiça do Paraná |
TJPE | 817 | Tribunal de Justiça de Pernambuco |
TJPI | 818 | Tribunal de Justiça do Piauí |
TJRJ | 819 | Tribunal de Justiça do Rio de Janeiro |
TJRN | 820 | Tribunal de Justiça do Rio Grande do Norte |
TJRS | 821 | Tribunal de Justiça do Rio Grande do Sul |
TJRO | 822 | Tribunal de Justiça de Rondônia |
TJRR | 823 | Tribunal de Justiça de Roraima |
TJSC | 824 | Tribunal de Justiça de Santa Catarina |
TJSE | 825 | Tribunal de Justiça de Sergipe |
TJSP | 826 | Tribunal de Justiça de São Paulo |
TJTO | 827 | Tribunal de Justiça de Tocantins |
TJMMG | 913 | Tribunal de Justiça Militar de Minas Gerais |
TJMRS | 921 | Tribunal de Justiça Militar do Rio Grande do Sul |
TJMSP | 926 | Tribunal de Justiça Militar de São Paulo |
Anexo II - Listagem dos códigos de documento (Externo)
CÓDIGO | DESCRIÇÃO |
---|---|
203 | Agravo de Instrumento em Recurso de Revista |
204 | Agravo de Instrumento em Recurso Ordinário |
205 | Agravo de Instrumento em Recurso Ordinário para o STF |
206 | Agravo de Petição |
165 | Agravo em recurso especial |
164 | Agravo em recurso extraordinário |
42 | Agravo retido |
43 | Alegações finais |
207 | Antecipação de Tutela |
44 | Apelação |
208 | Arguição de Inconstitucionalidade |
45 | Contestação |
46 | Contra-razões |
209 | Contraminuta |
47 | Denúncia |
210 | Embargos |
48 | Embargos à ação monitória |
180 | Embargos à Execução |
49 | Embargos de declaração |
114 | Embargos de divergência |
242 | Embargos em Ação Penal Militar |
50 | Embargos infringentes |
211 | Embargos Infringentes na Execução Fiscal |
212 | Exceção de Impedimento |
213 | Exceção de Incompetência |
51 | Exceção de pré-executividade |
214 | Exceção de Suspeição |
52 | Execução / cumprimento de sentença |
215 | Impugnação |
216 | Impugnação à Adjudicação |
217 | Impugnação à Arrematação |
218 | Impugnação à Remição |
53 | Impugnação ao cumprimento de sentença |
219 | Impugnação ao Valor da Causa |
54 | Impugnação aos embargos |
220 | Impugnação aos Embargos na Execução Fiscal |
221 | Incidente de Desconsideração de Personalidade Jurídica |
222 | Incidente de Falsidade |
115 | Incidente de uniformização de jurisprudência |
55 | Memoriais |
56 | Parecer |
121 | Parecer "Falta de Interesse" (MP) |
122 | Parecer de Mérito (MP) |
123 | Parecer sobre a admissibilidade de incidente ou recurso para estabelecer precedente qualificado (MP) |
192 | Pedido de assistência litisconsorcial |
191 | Pedido de assistência simples |
120 | Pedido de Instauração de IAC |
119 | Pedido de Instauração de IRDR |
179 | Pedido de reconsideração |
57 | Petição (outras) |
112 | Procuração/substabelecimento com reserva de poderes |
113 | Procuração/substabelecimento sem reserva de poderes |
59 | Razões de apelação criminal |
60 | Razões de recurso em sentido estrito |
61 | Razões finais |
62 | Reconvenção |
63 | Recurso adesivo |
223 | Recurso de Multa |
224 | Recurso de Revista |
64 | Recurso de sentença (JEF) |
243 | Recurso Eleitoral |
244 | Recurso Eleitoral Criminal |
65 | Recurso em sentido estrito |
66 | Recurso especial |
67 | Recurso extraordinário |
68 | Recurso inominado |
69 | Recurso ordinário |
111 | Renúncia de mandato |
268 | Renúncia de Prazo |
70 | Réplica |
71 | Resposta |
72 | Resposta à acusação |
225 | Tutela Antecipada Incidental |
226 | Tutela Cautelar Incidental |
227 | Tutela de Evidência |
58 | Petição inicial |
997 | Anexo |
998 | Recibo |
993 | Outros |
995 | Agravo de Instrumento em Agravo de Petição |
994 | Agravo (inominado/ legal) |
996 | Recibo portal de serviços |
41 | Agravo (inominado/ legal) |
202 | Agravo de Instrumento em Agravo de Petição |
400 | Recibo portal de serviços |
401 | Anexo |
332 | Recibo |
999 | Anexo |
Anexo III - Listagem dos códigos de documento (Interno)
CÓDIGO | DESCRIÇÃO |
---|---|
75 | Carta de ordem |
76 | Carta Precatória |
79 | Ofício |
163 | Ofício - Descumprimento de Medida Protetiva (Lei Maria da Penha) |
80 | Outros documentos |