# Feedback If you encounter incorrect, outdated, or confusing documentation on any page, submit feedback: POST https://docs.judit.io/feedback ```json { "path": "/current-page-path", "feedback": "Description of the issue" } ``` Only submit feedback when you have something specific and actionable to report. # Baixar anexo Source: https://docs.judit.io/api-reference/endpoint/attachments/attachment-access openapi-1 GET /lawsuits Essa página tem como objetivo mostrar o fluxo para baixar um anexo de um processo. Parametro instancia do processo Código do processo. ID do anexo na lista de anexos (attachments) retornado na consulta processual. # Baixar anexo de mandado Source: https://docs.judit.io/api-reference/endpoint/attachments/attachment-access-warrant openapi-1 GET /warrants Esta página tem como objetivo mostrar o fluxo para baixar o anexo do mandado de prisão. Um mandado de prisão possui apenas um anexo, que é o mandado expedido, de fato. Código do processo. ID do anexo é retornado na propriedade tribunal\_id # Consulta True / False Source: https://docs.judit.io/api-reference/endpoint/crawler/req-async openapi-1 POST /requests Consultando a Existência de Processos para o Documento em nosso datalake Define o tipo de entidade que você quer buscar: “cpf”, “cnpj”, “oab”, “lawsuit\_cnj” ou "lawsuit\_id"; Número do processo (Código CNJ), CPF, CNPJ ou OAB; Define a instância em que deseja buscar o processo; Define os tipos de participantes do processo: ‘Passive’ ou ‘Active’; Retorna buscas com a data de distribuição maior ou igual a informada; Retorna buscas com o valor da causa maior que o valor passado Retorna buscas com o valor da causa menor que o valor passado Filtra processos com estes códigos ou não Determina se o filtro será por processos que contém ou não contém os código passados Filtra processos com estes códigos ou não Determina se o filtro será por processos que contém ou não contém os código passados Filtra processos com estes códigos ou não Determina se o filtro será por processos que contém ou não contém os código passados Retorna buscas com a data de distribuição maior ou igual a informada; Retorna buscas com a data de distribuição menor ou igual a informada; Lista de nomes (array de strings) que restringe a busca a processos que os contenham em alguma das partes. Lista de nomes (array de strings) que restringe a busca a processos que os contenham em alguma das partes. ```json theme={null} { "has_lawsuits": true, "request_id": "bd2be78e-2d04-4fad-ad85-b6058e7cc4f4", "response_data": [] } ``` # Consultando a quantidade de processos Source: https://docs.judit.io/api-reference/endpoint/crawler/req-count openapi-1 POST /requests Consulta a quantidade de processos em nosso datalake Define o tipo de entidade que você quer buscar: “cpf”, “cnpj”, “oab”, “lawsuit\_cnj” ou "lawsuit\_id"; Número do processo (Código CNJ), CPF, CNPJ ou OAB; Define o tipo de retorno dos dados da busca: "lawsuit", "parties", "attachments", "step" ou "lawsuits"; Define a instância em que deseja buscar o processo; Define os tipos de participantes do processo: ‘Passive’ ou ‘Active’; Retorna buscas com a data de distribuição maior ou igual a informada; Retorna buscas com o valor da causa maior que o valor passado Retorna buscas com o valor da causa menor que o valor passado Filtra processos com estes códigos ou não Determina se o filtro será por processos que contém ou não contém os código passados Filtra processos com estes códigos ou não Determina se o filtro será por processos que contém ou não contém os código passados Filtra processos com estes códigos ou não Determina se o filtro será por processos que contém ou não contém os código passados Retorna buscas com a data de distribuição maior ou igual a informada; Retorna buscas com a data de distribuição menor ou igual a informada; Lista de nomes (array de strings) que restringe a busca a processos que os contenham em alguma das partes. Lista de nomes (array de strings) que restringe a busca a processos que os contenham em alguma das partes. Permite passar a chave do cliente para acessar o cofre de credencial correto. Se não for passado a API tentará encontrar uma credencial cadastrada com a customer\_key vazia; ```json theme={null} { "total": 2 } ``` # Consulta histórica agrupada Source: https://docs.judit.io/api-reference/endpoint/crawler/req-grouped openapi-1 POST /requests Retorna o total de processos relacionados a uma parte, agrupando esse número pelas informações da capa processual. Define o tipo de entidade que você quer buscar: “cpf”, “cnpj”, “oab”, “lawsuit\_cnj” ou "lawsuit\_id"; Número do processo (Código CNJ), CPF, CNPJ ou OAB; Define o tipo de retorno dos dados da busca: "lawsuit", "parties", "attachments", "step" ou "lawsuits"; Define a instância em que deseja buscar o processo; Define os tipos de participantes do processo: ‘Passive’ ou ‘Active’; Retorna buscas com a data de distribuição maior ou igual a informada; Retorna buscas com o valor da causa maior que o valor passado Retorna buscas com o valor da causa menor que o valor passado Filtra processos com estes códigos ou não Determina se o filtro será por processos que contém ou não contém os código passados Filtra processos com estes códigos ou não Determina se o filtro será por processos que contém ou não contém os código passados Filtra processos com estes códigos ou não Determina se o filtro será por processos que contém ou não contém os código passados Retorna buscas com a data de distribuição maior ou igual a informada; Retorna buscas com a data de distribuição menor ou igual a informada; Lista de nomes (array de strings) que restringe a busca a processos que os contenham em alguma das partes. Lista de nomes (array de strings) que restringe a busca a processos que os contenham em alguma das partes. Permite passar a chave do cliente para acessar o cofre de credencial correto. Se não for passado a API tentará encontrar uma credencial cadastrada com a customer\_key vazia; ```json theme={null} { "classifications": [ { "count": 1, "value": "PROCEDIMENTO COMUM CÍVEL" }, { "count": 1, "value": "HOMOLOGAçãO DE TRANSAçãO EXTRAJUDICIAL" }, { "count": 1, "value": "PROCEDIMENTO DO JUIZADO ESPECIAL CÍVEL" } ], "subjects": [ { "count": 1, "value": "ÔNUS DA PROVA" }, { "count": 1, "value": "ACIDENTE DE TRâNSITO" }, { "count": 1, "value": "COISAS" } ], "areas": [ { "count": 4, "value": "DIREITO CIVIL" }, { "count": 2, "value": "DIREITO ADMINISTRATIVO E OUTRAS MATÉRIAS DE DIREITO PÚBLICO" } ], "tribunals": [ { "count": 1, "value": "TRF2" }, { "count": 8, "value": "TRT1" }, { "count": 1, "value": "TRF1" } ], "justices": [ { "count": 7, "value": "NÃO INFORMADO" }, { "count": 8, "value": "JUSTIÇA ESTADUAL" }, { "count": 5, "value": "JUSTIÇA FEDERAL" } ], "phases": [ { "count": 11, "value": "INICIAL" }, { "count": 3, "value": "TRâNSITO EM JULGADO OU ACORDO" }, { "count": 9, "value": "ARQUIVADO" } ], "states": [ { "count": 11, "value": "RJ" }, { "count": 1, "value": "MG" }, { "count": 10, "value": "SP" } ], "instances": [ { "count": 24, "value": 1 }, { "count": 3, "value": 2 } ], "sides": [ { "count": 8, "value": "PASSIVE" }, { "count": 6, "value": "INTERESTED" } ], "person_types": [ { "count": 1, "value": "IMPETRANTE" }, { "count": 1, "value": "VITIMA" }, { "count": 2, "value": "REQUERENTE" } ], "lawsuits_count": 27 } ``` # Consulta Datalake Hot Storage Source: https://docs.judit.io/api-reference/endpoint/crawler/req-hotStorage openapi-1 POST /requests Retorna processos atrelados a consulta histórica Define o tipo de entidade que você quer buscar: “cpf”, “cnpj”, “oab”, “lawsuit\_cnj” ou "lawsuit\_id"; Número do processo (Código CNJ), CPF, CNPJ ou OAB; Define o tipo de retorno dos dados da busca: "lawsuit", "parties", "attachments", "step" ou "lawsuits"; Define a instância em que deseja buscar o processo; Define os tipos de participantes do processo: ‘Passive’ ou ‘Active’; Retorna buscas com a data de distribuição maior ou igual a informada; Retorna buscas com o valor da causa maior que o valor passado Retorna buscas com o valor da causa menor que o valor passado Filtra processos com estes códigos ou não Determina se o filtro será por processos que contém ou não contém os código passados Filtra processos com estes códigos ou não Determina se o filtro será por processos que contém ou não contém os código passados Filtra processos com estes códigos ou não Determina se o filtro será por processos que contém ou não contém os código passados Retorna buscas com a data de distribuição maior ou igual a informada; Retorna buscas com a data de distribuição menor ou igual a informada; Lista de nomes (array de strings) que restringe a busca a processos que os contenham em alguma das partes. Lista de nomes (array de strings) que restringe a busca a processos que os contenham em alguma das partes. Permite passar a chave do cliente para acessar o cofre de credencial correto. Se não for passado a API tentará encontrar uma credencial cadastrada com a customer\_key vazia; ```json theme={null} { "has_lawsuits": true, "request_id": "c37cacba-41b5-4694-919f-4a937f2ea5df", "response_data": [ { "code": "9999999-99.9999.9.99.9999", "justice": "5", "tribunal": "01", "instance": 2, "distribution_date": "2023-05-18T11:12:59.000Z", "tribunal_acronym": "TRT1", "secrecy_level": 0, "tags": { "is_fallback_source": true, "crawl_id": "28e00227-e41b-4c94-956e-7a0f105eabee" }, "subjects": [ { "code": "13656", "name": "DOMÉSTICOS" } ], "classifications": [ { "code": "1009", "name": "RECURSO ORDINÁRIO TRABALHISTA" } ], "courts": [ { "code": "75580", "name": "GAB DES. GLAUCIA ZUCCARI FERNANDES BRAGA" } ], "parties": [ { "name": "Usuário teste", "side": "Active", "person_type": "Autor", "document": "99999999999", "document_type": "CPF", "lawyers": [ { "name": "Advogada do Autor", "side": "Active", "person_type": "Advogado" } ], "tags": { "crawl_id": "28e00227-e41b-4c94-956e-7a0f105eabee" } }, { "name": "Usuário teste", "side": "Passive", "person_type": "Réu", "document": "99999999999", "document_type": "CPF", "lawyers": [ { "name": "Nome da advogada do réu", "side": "Passive", "person_type": "Advogado" } ] ], "steps": [], "attachments": [], "related_lawsuits": [], "crawler": { "source_name": "JTJ - BR - Document / Lawsuit - Auth", "crawl_id": "28e00227-e41b-4c94-956e-7a0f105eabee", "weight": 0, "updated_at": "2024-03-18T19:21:02.466Z" }, "amount": 7685.82, "last_step": { "lawsuit_cnj": "9999999-99.9999.9.99.9999", "lawsuit_instance": 1, "step_id": "JZzfEPTs10aeE+vpu+p+bkrz5K7enJhAM5kWattktHk=", "step_date": "2024-03-18T19:21:02.466Z", "private": false, "steps_count": 1 }, "phase": "Inicial", "status": "Ativo", "name": "Nome do Autor X Nome do Réu" }, { "code": "9999999-99.9999.9.99.9999", "justice": "5", "tribunal": "01", "instance": 1, "distribution_date": "2022-03-30T16:41:24.000Z", "tribunal_acronym": "TRT1", "secrecy_level": 0, "tags": { "is_fallback_source": true, "crawl_id": "28e00227-e41b-4c94-956e-7a0f105eabee" }, "subjects": [ { "code": "13656", "name": "DOMÉSTICOS" } ], "classifications": [ { "code": "985", "name": "AÇÃO TRABALHISTA - RITO ORDINÁRIO" } ], "courts": [ { "code": "33782", "name": "RIO DE JANEIRO - 37ª VARA DO TRABALHO" } ], "parties": [ { "name": "Berenice", "side": "Active", "person_type": "Autor", "document": "99999999999", "document_type": "CPF", "lawyers": [ { "name": "Nome do advogado do Autor", "side": "Active", "person_type": "Advogado" } ], "tags": { "crawl_id": "28e00227-e41b-4c94-956e-7a0f105eabee" } }, { "name": "Jhon Doe", "side": "Passive", "person_type": "Réu", "document": "99999999999", "document_type": "CPF", "lawyers": [ { "name": "Nome da Advogada do réu", "side": "Passive", "person_type": "Advogado" } ], "tags": { "crawl_id": "28e00227-e41b-4c94-956e-7a0f105eabee" } }, { "person_type": "Advogado", "side": "Active", "name": "Nome do Advogado", "tags": { "crawl_id": "28e00227-e41b-4c94-956e-7a0f105eabee" } }, { "person_type": "Advogado", "side": "Passive", "name": "Nome do Advogado", "tags": { "crawl_id": "28e00227-e41b-4c94-956e-7a0f105eabee" } } ], "steps": [], "attachments": [], "related_lawsuits": [], "crawler": { "source_name": "JTJ - BR - Document / Lawsuit - Auth", "crawl_id": "28e00227-e41b-4c94-956e-7a0f105eabee", "weight": 0, "updated_at": "2024-03-18T19:21:02.465Z" }, "amount": 7685.82, "last_step": { "lawsuit_cnj": "0100248-39.2022.5.01.0037", "lawsuit_instance": 1, "step_id": "u2r/3iZieAWrkFjxBZC/r4bMlFAvRO1IWvaOD8xdGl8=", "step_date": "2024-03-18T19:21:02.465Z", "private": false, "steps_count": 1 }, "phase": "Inicial", "status": "Ativo", "name": "Autor X Réu" }, { "code": "8888888-88.8888.8.88.8888", "justice": "8", "tribunal": "19", "instance": 1, "distribution_date": "2023-06-06T17:35:50.000Z", "tribunal_acronym": "TJRJ", "secrecy_level": 0, "tags": { "is_fallback_source": true, "crawl_id": "28e00227-e41b-4c94-956e-7a0f105eabee" }, "subjects": [ { "code": "7769", "name": "ABATIMENTO PROPORCIONAL DO PREÇO " }, { "code": "7748", "name": "ACIDENTE AÉREO" }, { "code": "10435", "name": "ACIDENTE DE TRÂNSITO" } ], "classifications": [ { "code": "436", "name": "PROCEDIMENTO DO JUIZADO ESPECIAL CÍVEL" } ], "courts": [ { "code": "13805", "name": "BARRA DA TIJUCA REGIONAL II JUI ESP CIV" } ], "parties": [ { "name": "USUÁRIO TESTE", "side": "Active", "person_type": "Autor", "document": "88888888888", "document_type": "CPF", "lawyers": [], "tags": { "crawl_id": "28e00227-e41b-4c94-956e-7a0f105eabee" } }, { "name": "GABRIELLA", "side": "Active", "person_type": "Autor", "document": "88888888888", "document_type": "CPF", "lawyers": [], "tags": { "crawl_id": "28e00227-e41b-4c94-956e-7a0f105eabee" } } { "name": "LEONARDO", "side": "Active", "person_type": "Autor", "document": "88888888888", "document_type": "CPF", "lawyers": [], "tags": { "crawl_id": "28e00227-e41b-4c94-956e-7a0f105eabee" } } ], "steps": [], "attachments": [], "related_lawsuits": [], "crawler": { "source_name": "JTJ - BR - Document / Lawsuit - Auth", "crawl_id": "28e00227-e41b-4c94-956e-7a0f105eabee", "weight": 0, "updated_at": "2024-03-18T19:21:02.466Z" }, "amount": 28790, "last_step": { "lawsuit_cnj": "0817064-37.2023.8.19.0209", "lawsuit_instance": 1, "step_id": "nU9IcVb9NLoHrJeUXt+Hay139dqHAVbfxk7f0D77aRQ=", "step_date": "2024-03-18T19:21:02.466Z", "private": false, "steps_count": 1 }, "phase": "Inicial", "status": "Ativo", "name": "DAVI LUIZ X GRUPO TURISMO LTDA" } ] } ``` # Criar uma requisição Source: https://docs.judit.io/api-reference/endpoint/registrationData/create openapi-1 POST /requests/create Esse endpoint realiza consulta de dados cadastrais por CPF, nome ou RJI Define o tipo de entidade que você quer buscar: “cpf”, "CNPJ", “nome” ou “RJI”; Número do CPF, CNPJ, RJI ou nome; Define se os documentos dos sócios devem ser revelados; # Criar uma requisição Source: https://docs.judit.io/api-reference/endpoint/requests/create openapi-1 POST /requests Esse endpoint cria uma requisição de processos por documento(CPF, CNPJ, OAB) ou Código CNJ Define o tipo de entidade que você quer buscar: “cpf”, “cnpj”, “oab”, “lawsuit\_cnj” ou "lawsuit\_id"; Número do processo (Código CNJ), CPF, CNPJ ou OAB; Define o tipo de retorno dos dados da busca: "lawsuit", "parties", "attachments", "step" ou "lawsuits"; Define até quantos dias o resultado da busca pode considerar um cache válido; Será criada uma requisição para cada filial vinculada ao CNPJ informado. Todas as requisições geradas serão associadas à requisição original por meio do campo `origin_id`. Define a instância em que deseja buscar o processo; Define se a resposta virá minificada. Este parâmetro é utilizado exclusivamente para consultas simples ou completas por documento. Define os tipos de participantes do processo: ‘Passive’ ou ‘Active’; Retorna buscas com a data de distribuição maior ou igual a informada; Retorna buscas com o valor da causa maior que o valor passado Retorna buscas com o valor da causa menor que o valor passado Filtra processos com estes códigos ou não Determina se o filtro será por processos que contém ou não contém os código passados Filtra processos com estes códigos ou não Determina se o filtro será por processos que contém ou não contém os código passados Filtra processos com estes códigos ou não Determina se o filtro será por processos que contém ou não contém os código passados Permite passar a chave do cliente para acessar o cofre de credencial correto. Se não for passado a API tentará encontrar uma credencial cadastrada com a customer\_key vazia; ```json Response theme={null} { "request_id": "71adfaa6-5485-45ce-a4a1-00d485f8f0f9", "search": { "search_type": "lawsuit_cnj", "search_key": "0010137-92.2023.5.03.0077", "search_params": {}, }, "origin": "api", "origin_id": "fde89d98-b2b1-4c58-b0b7-13f4f96bba3d", "status": "pending", "tags": {}, "created_at": "2023-10-18T18:36:58.775Z", "updated_at": "2023-10-18T18:36:58.775Z" } ``` # Consultar requisições criadas Source: https://docs.judit.io/api-reference/endpoint/requests/find-many GET /requests Esse endpoint consulta as requisições realizadas por parâmetros de forma paginada Define a página dos resultados que você deseja consultar. Define o número máximo de resultados que você deseja receber por página; Nome do campo em que se deseja ordenar os buscas; Sentido da ordenação: ‘asc’ ou ‘desc’; Retorna buscas do tipo de referência especificado “cpf”, “cnpj”, “oab” ou “lawsuit\_cnj”; Retorna buscas relacionadas ao número do CPF, CNPJ, OAB ou processo informado; Retorna buscas onde a instância do processo na busca está de acordo com a informada; Retorna buscas cuja origem está de acordo com a informada podendo ser “tracking” ou “api”; Retorna buscas relacionado ao ID da origem que poder ser um tracking\_id(ID de um monitoramento) ou um id gerado pela api; Retorna buscas cujo status podem ser created, “pending”‘, “started”, “cancelling”, “cancelled” ou “completed”, ou ou mais de um de status \[“started”, “completed”]; Retorna buscas com a data de distribuição maior ou igual a informada; Retorna buscas com a data de criação maior ou igual a informada; Retorna buscas com a data de criação menor ou igual a informada; Retorna buscas com a data de atualização maior ou igual a informada; Retorna buscas com a data de atualização menor ou igual a informada; Retorna buscas com a data de execução maior ou igual a informada; Retorna buscas com a data de execução menor ou igual a informada; Retorna buscas com a data de cancelamento maior ou igual a informada; Retorna buscas com a data de cancelamento criação menor ou igual a informada; Retorna buscas com a data de finalização maior ou igual a informada; Retorna buscas com a data finalização criação menor ou igual a informada; ```json Response theme={null} { "page": "1", "page_data":[ { "request_id":"3e7f5d47-e7e7-4ae7-a378-21b83a78888c", "search":{ "search_type":"cpf", "search_key":"01262577608", "search_params": {} }, "origin":"api", "origin_id":"aa58f5fa-0432-40f3-a551-3fd4743cb881", "user_id":"c0573c15-219b-4a46-acc2-f9225b29c51e", "status":"pending", "created_at":"2023-10-05T17:59:11.234Z", "updated_at":"2023-10-05T17:59:11.234Z" }, { "request_id":"1b954b56-aabc-4d8e-af0e-3032de522633", "search":{ "search_type":"lawsuit_cnj", "search_key":"0027400-51.2009.5.03.0135", "search_params": {} }, "origin":"api", "origin_id":"9f8b1d34-2cfe-4a4e-8da2-0cb70c02282c", "user_id":"82082593-c664-4d7b-b174-2f0dc4791daf", "status":"completed", "created_at":"2023-10-05T18:12:36.331Z", "updated_at":"2023-10-05T18:14:12.867Z" }, { "request_id":"b16ee08e-2169-4594-8bf4-ff528b5b5b72", "search":{ "search_type":"lawsuit_cnj", "search_key":"0027400-51.2009.5.03.0135", "search_params": {} }, "origin":"api", "origin_id":"cefb6df5-bb97-4751-9d34-8f6f3fe6f6b7", "user_id":"c0573c15-219b-4a46-acc2-f9225b29c51e", "status":"completed", "created_at":"2023-10-05T18:13:28.266Z", "updated_at":"2023-10-05T18:13:39.988Z" }, { "request_id":"08444130-44c9-4e09-b11d-2bc35a2e3d8a", "search":{ "search_type":"lawsuit_cnj", "search_key":"0027400-51.2009.5.03.0135", "search_params": {} }, "origin":"api", "origin_id":"8a3a651d-27cc-400a-bd42-8f4f92d49bf9", "user_id":"c0573c15-219b-4a46-acc2-f9225b29c51e", "status":"completed", "created_at":"2023-10-05T18:15:07.209Z", "updated_at":"2023-10-05T18:15:08.187Z" }, { "request_id":"83c50e89-d7dc-44ae-b45d-675268afb636", "search":{ "search_type":"lawsuit_cnj", "search_key":"0027400-51.2009.5.03.0135", "search_params": {} }, "origin":"api", "origin_id":"f35f2dfb-e55c-4844-8537-a7ddd2c3c0f6", "user_id":"c0573c15-219b-4a46-acc2-f9225b29c51e", "status":"completed", "created_at":"2023-10-05T18:15:20.042Z", "updated_at":"2023-10-05T18:15:20.407Z" }, { "request_id":"d5ea333b-dfb5-4026-bba9-cc13e11193a8", "search":{ "search_type":"lawsuit_cnj", "search_key":"0027400-51.2009.5.03.0135", "search_params": {} }, "origin":"api", "origin_id":"1ce22c18-c30a-4178-b9f5-ba6dc2028319", "user_id":"c0573c15-219b-4a46-acc2-f9225b29c51e", "status":"completed", "created_at":"2023-10-05T18:19:49.285Z", "updated_at":"2023-10-05T18:19:50.226Z" }, { "request_id":"d9e34f6b-5598-491b-844f-09811f03f9b9", "search":{ "search_type":"lawsuit_cnj", "search_key":"0027400-51.2009.5.03.0135", "search_params": {} }, "origin":"api", "origin_id":"4366966b-6486-453f-b37a-fdc547289bae", "user_id":"c0573c15-219b-4a46-acc2-f9225b29c51e", "status":"completed", "created_at":"2023-10-05T18:26:59.283Z", "updated_at":"2023-10-05T18:27:03.765Z" }, { "request_id":"eff4bb00-b7c8-4c78-8196-ff89ffe398e6", "search":{ "search_type":"cpf", "search_key":"01262577608", "search_params": {} }, "origin":"api", "origin_id":"23486b66-37ae-40d6-883d-bfdfc2d1de7f", "user_id":"c0573c15-219b-4a46-acc2-f9225b29c51e", "status":"completed", "created_at":"2023-10-05T18:28:34.028Z", "updated_at":"2023-10-05T18:29:48.945Z" }, { "request_id":"317b098b-9ca8-416e-a04e-85260682095a", "search":{ "search_type":"cpf", "search_key":"01262577608", "search_params": {} }, "origin":"api", "origin_id":"9deb5092-bd29-46b3-9cfe-3e50828f16c8", "user_id":"c0573c15-219b-4a46-acc2-f9225b29c51e", "status":"completed", "created_at":"2023-10-05T18:44:05.048Z", "updated_at":"2023-10-05T18:44:19.251Z" }, { "request_id":"1272d6a9-53f0-4219-99e9-bca7ca6f5823", "search":{ "search_type":"cpf", "search_key":"01262577608", "search_params": {} }, "origin":"api", "origin_id":"e3e8d647-0198-472d-bc13-9674b9fec02b", "user_id":"c0573c15-219b-4a46-acc2-f9225b29c51e", "status":"completed", "created_at":"2023-10-05T18:56:40.807Z", "updated_at":"2023-10-05T18:56:55.340Z" } ], "page_count":10, "all_count":47, "all_pages_count":5 } ``` # Consultar por request_id Source: https://docs.judit.io/api-reference/endpoint/requests/find-one GET /requests/{request_id} Esse endpoint retorna os processos de um documento ou próprio processo. No caso de documento, retornaremos as capas dos processos. No caso dos processos retornaremos ele completo. O ID da busca que você deseja consultar. ```json Response theme={null} { "request_id": "71adfaa6-5485-45ce-a4a1-00d485f8f0f9", "search": { "search_type": "lawsuit_cnj", "search_key": "0010137-92.2023.5.03.0077", "search_params": {}, }, "origin": "api", "origin_id": "fde89d98-b2b1-4c58-b0b7-13f4f96bba3d", "user_id": "5ccba00e-1563-4418-91a4-c164b9f02411", "status": "pending", "tags": {}, "created_at": "2023-10-18T18:36:58.775Z", "updated_at": "2023-10-18T18:36:58.775Z" } ``` # Consultar respostas Source: https://docs.judit.io/api-reference/endpoint/responses/find-many GET /responses Esse endpoint consulta as respostas de requisições realizadas por parâmetros de forma paginada Define a página dos resultados que você deseja consultar. Define o número máximo de resultados que você deseja receber por página; Nome do campo em que se deseja ordenar os buscas; Sentido da ordenação: ‘asc’ ou ‘desc’; Retorna respostas tipo especificado **"lawsuit"**,**"parties"**, **"attachments"**, **"steps"** ou **"lawsuits"**; Retorna respostas relacionadas a uma busca pelo id; Retorna respostas em que o status da busca podem estar em created, “pending”‘, “started”, “cancelling”, “cancelled” ou “completed”, ou ou mais de um de status \[“started”, “completed”]; Retorna buscas com a data de criação maior ou igual a informada; Retorna buscas com a data de criação menor ou igual a informada; Retorna respostas com a data de criação da busca maior ou igual a informada; Retorna respostas com a data de criação da busca menor ou igual a informada ```json Response theme={null} { "request_status": "completed", "page": 1, "page_count": 1, "all_pages_count": 1, "all_count": 1, "page_data": [ { "request_id": "54964ee1-fb81-4075-83e8-134dc484f9f7", "response_id": "66acd939-a7b1-4b5c-a10c-f0c55f2e57d8", "origin": "api", "origin_id": "54964ee1-fb81-4075-83e8-134dc484f9f7", "response_type": "lawsuit", "response_data": { "code": "9999999-99.9999.9.99.9999", "justice": "8", "tribunal": "09", "instance": 1, "distribution_date": "2025-02-24T15:25:52.000Z", "tribunal_acronym": "TJGO", "secrecy_level": 0, "tags": { "crawl_id": "7b909cec-9060-4530-be34-81e364b86b92", "dictionary_updated_at": "2025-03-13T14:17:44.114Z" }, "subjects": [ { "code": "7698", "name": "PERDAS E DANOS" } ], "classifications": [ { "code": "7", "name": "PROCEDIMENTO COMUM CÍVEL" } ], "courts": [ { "name": "Guapó - Vara Cível" }, { "code": "81448", "name": "GUAPÓ - 1ª VARA JUDICIAL (FAMÍLIA E SUCESSÕES, INFÂNCIA E JUVENTUDE, CÍVEL E JUIZADO ESPECIAL CÍVEL)" } ], "parties": [ { "side": "Passive", "name": "Usuáio teste", "tags": { "crawl_id": "7b909cec-9060-4530-be34-81e364b86b92" }, "main_document": "99999999999", "documents": [ { "document": "99999999999", "document_type": "CNPJ" } ], "person_type": "Desconhecido", "lawyers": [] }, { "side": "Active", "name": "Usuário teste 2", "tags": { "crawl_id": "7b909cec-9060-4530-be34-81e364b86b92" }, "main_document": "99999999999", "documents": [ { "document": "99999999999", "document_type": "CPF" } ], "person_type": "Desconhecido", "lawyers": [ { "name": "USUÁRIO TESTE 4", "documents": [ {} ] } ] }, { "name": "Usuário teste 1", "side": "Passive", "tags": { "crawl_id": "7b909cec-9060-4530-be34-81e364b86b92" }, "main_document": "", "documents": [], "person_type": "Desconhecido", "lawyers": [] } ], "steps": [ { "lawsuit_cnj": "9999999-99.9999.9.99.9999", "lawsuit_instance": 1, "private": false, "step_id": "d029dd09", "tags": { "crawl_id": "7b909cec-9060-4530-be34-81e364b86b92" }, "content": "Citação Efetivada Citação aberta pelo Domicilio Eletronico (Polo Passivo) Bv Financeira Sa Credito Financiamento E Investimento -", "step_date": "2025-03-11T15:08:48.000Z", "steps_count": 15 }, { "lawsuit_cnj": "9999999-99.9999.9.99.9999", "lawsuit_instance": 1, "private": false, "step_id": "54854442", "tags": { "crawl_id": "7b909cec-9060-4530-be34-81e364b86b92" }, "content": "Citação Expedida Via Domicílio Eletrônico para (Polo Passivo)", "step_date": "2025-03-10T16:30:13.000Z" }, { "lawsuit_cnj": "9999999-99.9999.9.99.9999", "lawsuit_instance": 1, "private": false, "step_id": "a0ce7c0f", "tags": { "crawl_id": "7b909cec-9060-4530-be34-81e364b86b92" }, "content": "Peticão Enviada ", "step_date": "2025-02-24T15:25:52.000Z" } ], "attachments": [], "related_lawsuits": [], "crawler": { "source_name": "JPjdTjgoNoAuthScrapper - TJ - GO - Lawsuit - No Auth - 1 instance", "crawl_id": "7b909cec-9060-4530-be34-81e364b86b92", "weight": 10, "updated_at": "2025-03-13T14:17:37.165Z" }, "metadata": {}, "amount": 40000, "area": "Cível", "county": " GUAPÓ - 2ª VARA JUDICIAL (FAZENDAS PÚBLICAS, CRIMINAL, EXECUÇÃO PENAL E JUIZADO CRIMINAL)", "state": "GO", "city": "GUAPO", "justice_description": "JUSTIÇA ESTADUAL", "last_step": { "lawsuit_cnj": "9999999-99.9999.9.99.9999", "lawsuit_instance": 1, "private": false, "step_id": "d029dd09", "tags": { "crawl_id": "7b909cec-9060-4530-be34-81e364b86b92" }, "content": "Citação Efetivada Citação aberta pelo Domicilio Eletronico (Polo Passivo)", "step_date": "2025-03-11T15:08:48.000Z", "steps_count": 15 }, "phase": "Inicial", "status": "Ativo", "name": "USUÁRIO TESTE 1 X USUÁRIO TESTE 2", "created_at": "2025-02-26T16:09:25.605Z", "updated_at": "2025-03-13T14:17:26.921Z", "free_justice": true }, "user_id": "7f8065a3-4891-428d-9456-dedfc12ff850", "created_at": "2025-03-13T14:17:04.607Z", "request_created_at": "2025-03-13T14:17:01.114Z", "tags": { "debug": true, "dashboard_id": null, "cached_response": true } } ] } ``` # Consultar por response_id Source: https://docs.judit.io/api-reference/endpoint/responses/find-one GET responses/{response_id} Esse endpoint consulta uma resposta de uma requisição pelo id O ID da resposta que você deseja consultar. ```json Response theme={null} { "request_id": "b16ee08e-2169-4594-8bf4-ff528b5b5b72", "response_id": "d56e8c0a-a1de-4e75-8e4f-add06617035b", "response_type": "lawsuit", "response_data": { "code": "0027400-51.2009.5.03.0135", "instance": 1, "lawsuit_cnj": "eb77148d-b0a4-41cd-bad2-d10e38f68a06", "crawler": { "parties": { "code": "JTrtScrapper", "updated_at": "2023-10-05T18:13:33.894Z", "weight": 10, }, "cover": { "code": "JTrtScrapper", "updated_at": "2023-10-05T18:13:34.616Z", "weight": 10, } , "amount": { "code": "JTrtScrapper", "updated_at": "2023-10-05T18:13:14.534Z", "weight": 0, }, "classification": { "code": "JTrtScrapper", "updated_at": "2023-10-05T18:13:14.948Z", "weight": 10, }, "status": { "code": "JTrtScrapper", "updated_at": "2023-10-05T18:13:35.635Z", "weight": 0, }, "subjects": { "code": "JTrtScrapper", "updated_at": "2023-10-05T18:13:32.670Z", "weight": 10, }, "attachments": { "code": "JTrtScrapper", "updated_at": "2023-10-05T18:13:15.172Z", "weight": 10, }, "related_lawsuits": { "code": "JTrtScrapper", "updated_at": "2023-10-05T18:13:12.645Z", "weight": 10, }, "steps": { "code": "JTrtScrapper", "updated_at": "2023-10-05T18:13:13.522Z", "weight": 10, }, }, "parties": [ { "name": "ALINE PAULA RAMOS", "document": "05196308660", "document_type": "0", "person_type": "Autor", "side": "Active", "lawyers": [ { "name": "RONEI MUNIZ BONFIM", "document": "03344781626", "document_type": "0", "license": "MG100560", } ], }, { "name": "ADRIANA AMELIA DA SILVA MELO", "document": "83359079604", "document_type": "0", "person_type": "Réu", "side": "Passive", "lawyers": [ { "name": "JOSE RIBAMAR MATOS AMARAL", "document": "10912797720", "document_type": "0", "license": "MG94008", } ], }, { "name": "ADRIANA AMELIA DA SILVA MELO - ME", "document": "01618283000100", "document_type": "1", "person_type": "Réu", "side": "Passive", "lawyers": [ { "name": "JOSE RIBAMAR MATOS AMARAL", "document": "10912797720", "document_type": "0", "license": "MG94008", } ], }, { "name": "MARCOS VINICIUS MELO", "document": "83642943691", "document_type": "0", "person_type": "Réu", "side": "Passive", "lawyers": [ { "document": null, "document_type": "0", "license": "null", } ], }, { "name": "MARIA MARTINS MELO", "document": "94472866668", "document_type": "0", "person_type": "Réu", "side": "Passive", "lawyers": [ { "document": null, "document_type": "0", "license": "null", } ], }, { "name": "MERCEARIA MARTINS & MELO LTDA - ME", "document": "06947237000160", "document_type": "1", "person_type": "Réu", "side": "Passive", "lawyers": [ { "name": "JOSE RIBAMAR MATOS AMARAL", "document": "10912797720", "document_type": "0", "license": "MG94008", } ], }, { "name": "RONEI MUNIZ BONFIM", "document": "03344781626", "document_type": "0", "license": "MG100560", "person_type": "Advogado", "side": "Active", "lawyers": [] }, { "name": "JOSE RIBAMAR MATOS AMARAL", "document": "10912797720", "document_type": "0", "license": "MG94008", "person_type": "Advogado", "side": "Passive", "lawyers": [] } ], "subjects": [], "related_lawsuits": [], "created_at": "2023-10-05T18:12:40.002Z", "updated_at": "2023-10-05T18:13:35.635Z", "last_step": { "step_id": "d6hR9sg3XTPkxX3G5bvTq+qnb4aBf2b9VLsqQkc9fzg=", "step_date": "2018-01-11T14:44:24.000Z", "content": "Termo de Abertura de Execução | Termo de Abertura de Execução (RESTRITO)", "step_type": "ATOrd", }, "classification": { "code": "985", "name": "Ação Trabalhista - Rito Ordinário", }, "name": "ALINE PAULA RAMOS X ADRIANA AMELIA DA SILVA MELO", "distribution_date": "2009-03-19T00:00:00.000Z", "free_justice": false, "judge": null, "justice": "5", "secrecy_level": 0, "tribunal": "03", "tribunal_acronym": "TRT3", "tribunal_id": "985" }, "user_id": "c0573c15-219b-4a46-acc2-f9225b29c51e", "created_at": "2023-10-05T18:13:36.074Z", "request_status": "pending", "request_created_at": "2023-10-05T18:13:36.074Z" }, ``` # Criar um monitoramento Source: https://docs.judit.io/api-reference/endpoint/tracking/create POST /tracking Esse endpoint cria um monitoramento de processos por documento(CPF, CNPJ, OAB) ou Código CNJ Recorrência em dias de atualização dos processos. Define o tipo de entidade que você quer buscar: “cpf”, “cnpj”, “oab”, “lawsuit\_cnj” ou "lawsuit\_id"; Número do processo (Código CNJ), CPF, CNPJ ou OAB; Define o tipo de retorno dos dados da busca: "lawsuit", "parties", "attachments", "step" ou "lawsuits"; Define até quantos dias o resultado da busca pode considerar um cache válido; Define a instância em que deseja buscar o processo; Define se a resposta virá minificada. Este parâmetro é utilizado exclusivamente para consultas simples ou completas por documento. Monitoramento contínuo de fontes públicas oficiais relacionadas ao CPF ou CNPJ. Define os tipos de participantes do processo: ‘Passive’ ou ‘Active’; Retorna buscas com a data de distribuição maior ou igual a informada; Retorna buscas com o valor da causa maior que o valor passado Retorna buscas com o valor da causa menor que o valor passado Filtra processos com estes códigos ou não Determina se o filtro será por processos que contém ou não contém os código passados Filtra processos com estes códigos ou não Determina se o filtro será por processos que contém ou não contém os código passados Filtra processos com estes códigos ou não Determina se o filtro será por processos que contém ou não contém os código passados Permite passar a chave do cliente para acessar o cofre de credencial correto. Se não for passado a API tentará encontrar uma credencial cadastrada com a customer\_key vazia; ```json Response theme={null} { "tracking_id": "754f02d7-e346-48e2-a23e-4455a11af41e", "user_id": "454bbd51-3f8a-4889-b45f-54a78e312257", "status": "created", "recurrence": 1, "search":{ "search_type":"lawsuit_cnj", "search_key":"0027400-51.2009.5.03.0135", "search_params": {} }, "created_at": "2023-10-17T15:17:05.826Z", "updated_at": "2023-10-17T15:17:05.826Z" } ``` # Deletar um Monitoramento Source: https://docs.judit.io/api-reference/endpoint/tracking/delete DELETE /tracking/{tracking_id} Esse endpoint deleta um monitoramento pelo id O ID do monitoramento que você deseja deletar. ```json Response theme={null} { "tracking_id": "754f02d7-e346-48e2-a23e-4455a11af41e", "user_id": "454bbd51-3f8a-4889-b45f-54a78e312257", "status": "deleted", "recurrence": 1, "search":{ "search_type": "lawsuit_cnj", "search_key": "0001234-55.2023.8.26.0100", "search_params": {} }, "created_at": "2023-10-17T15:17:05.826Z", "updated_at": "2023-10-17T15:17:05.826Z", "deleted_at": "2023-10-18T18:40:34.742Z", } ``` # Consultar monitoramentos Source: https://docs.judit.io/api-reference/endpoint/tracking/find-many GET /tracking Esse endpoint consulta monitoramentos por parâmetros de forma paginada Define a página dos resultados que você deseja consultar. Define o número máximo de resultados que você deseja receber por página; Nome do campo em que se deseja ordenar os buscas; Sentido da ordenação: ‘asc’ ou ‘desc’; Retorna monitoramentos do tipo de referência especificado “cpf”, “cnpj”, “oab” ou “lawsuit\_cnj”; Retorna monitoramentos relacionadas ao número do CPF, CNPJ, OAB ou processo informado; Retorna monitoramentos onde a instância do processo está de acordo com a informada; Retorna monitoramentos cujo status podem ser 'created', 'updating', 'updated', 'paused' ou 'deleted' ou mais de um de status \['updating', 'paused']; Retorna monitoramentos com as tags informadas; Retorna monitoramentos com a recorrência de atualização maior ou igual a informada; Retorna monitoramentos com a recorrência de atualização menor ou igual a informada; Retorna buscas com a data de criação maior ou igual a informada; Retorna buscas com a data de criação menor ou igual a informada; Retorna buscas com a data de atualização maior ou igual a informada; Retorna buscas com a data de atualização menor ou igual a informada; Retorna monitoramentos com a data de execução do monitoramento maior ou igual a informada; Retornam onitoramentos com a data de execução do monitoramento menor ou igual a informada; Retorna monitoramentos com a data de pause do monitoramento maior ou igual a informada; Retorna monitoramentos com a data de pause do monitoramento menor ou igual a informada; Retorna monitoramentos com a data de deleção maior ou igual a informada; Retorna monitoramentos com a data de deleção menor ou igual a informada; ```json Response theme={null} { "page": "1", "page_data": [ { "tracking_id": "6adbd1ba-8ef4-47c5-994f-13c017118046", "status": "updating", "recurrence": 1, "search":{ "search_type": "cpf", "search_key":"208.422.640-60", "search_params": {} }, "created_at": "2023-10-14T00:39:28.864Z", "updating_at": "2023-10-18T00:39:39.538Z", "updated_at": "2023-10-18T00:39:39.596Z" }, { "tracking_id": "754f02d7-e346-48e2-a23e-4455a11af41e", "user_id": "454bbd51-3f8a-4889-b45f-54a78e312257", "status": "updating", "recurrence": 1, "search":{ "search_type": "lawsuit_cnj", "search_key": "0027400-51.2009.5.03.0135", "search_params": {} }, "created_at": "2023-10-17T15:17:05.826Z", "updating_at": "2023-10-18T15:17:09.125Z", "updated_at": "2023-10-18T15:17:09.203Z" } ], "page_count": 2, "all_count": 2, "all_pages_count": 1 } ``` # Consultar um monitoramento Source: https://docs.judit.io/api-reference/endpoint/tracking/find-one GET /tracking/{tracking_id} Esse endpoint consulta um monitoramento pelo id O ID do monitoramento que você deseja consultar. ```json Response theme={null} { "tracking_id": "754f02d7-e346-48e2-a23e-4455a11af41e", "user_id": "454bbd51-3f8a-4889-b45f-54a78e312257", "status": "created", "recurrence": 1, "search":{ "search_type": "lawsuit_cnj", "search_key": "0001234-55.2023.8.26.0100", "search_params": {} }, "created_at": "2023-10-17T15:17:05.826Z", "updated_at": "2023-10-17T15:17:05.826Z", } ``` # Pausar um monitoramento Source: https://docs.judit.io/api-reference/endpoint/tracking/pause POST /tracking/{tracking_id}/pause Esse endpoint pausa um monitoramento pelo id O ID do monitoramento que você deseja pausar. ```json Response theme={null} { "tracking_id": "754f02d7-e346-48e2-a23e-4455a11af41e", "user_id": "454bbd51-3f8a-4889-b45f-54a78e312257", "status": "paused", "recurrence": 1, "search":{ "search_type": "lawsuit_cnj", "search_key": "0001234-55.2023.8.26.0100", "search_params": {} }, "created_at": "2023-10-17T15:17:05.826Z", "updated_at": "2023-10-17T15:17:05.826Z", "paused_at": "2023-10-17T15:17:05.826Z", } ``` # Reativar um monitoramento Source: https://docs.judit.io/api-reference/endpoint/tracking/resume POST /tracking/{tracking_id}/resume Esse endpoint reativar um monitoramento pelo id O ID do monitoramento que você deseja reativar. ```json Response theme={null} { "tracking_id": "754f02d7-e346-48e2-a23e-4455a11af41e", "user_id": "454bbd51-3f8a-4889-b45f-54a78e312257", "status": "created", "recurrence": 1, "search":{ "search_type": "lawsuit_cnj", "search_key": "0001234-55.2023.8.26.0100", "search_params": {} }, "created_at": "2023-10-17T15:17:05.826Z", "updated_at": "2023-10-17T15:17:05.826Z", } ``` # Cofre de Credenciais Source: https://docs.judit.io/api-reference/endpoint/vault/vault openapi-1 GET /credentials Permite ao cliente parceiro cadastrar em nosso cofre de senhas as credenciais dos seus advogados por sistema e tribunal. Em nosso cofre de senhas é possível passar uma chave `customer_key`, para que você possa identificar as credenciais do seu cliente. ```json theme={null} { "systems": [ { "name": "*", "customer_key": "", "credential_status": "not exists" }, { "name": "EPROC - JFES - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "EPROC - TJSC - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "EPROC - TJSC - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "EPROC - TJTO - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "EPROC - JFPR - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "EPROC - TNU - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "ESAJ - TJAC - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "ESAJ - TJAC - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "ESAJ - TJMS - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "ESAJ - TJSP - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "ESAJ - TJAM - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "ESAJ - TJCE - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "ESAJ - TJSP - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TJBA - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TJMG - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TJES - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TJAP - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TJCE - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TJDFT - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TJDFT - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TJMA - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "EPROC - JFRJ - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "EPROC - JFRS - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TJMT - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TJPA - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TJPB - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TJPE - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TJPE - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TJRJ - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TJRO - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TJRO - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TJRR - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRF1 - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRF1 - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRF3 - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRF3 - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT1 - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "EPROC - TJMG - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "EPROC - JFSC - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "EPROC - TJMG - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "EPROC - TJRS - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "EPROC - TJRS - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "EPROC - TRF2 - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "EPROC - TJTO - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "EPROC - TRF4 - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "ESAJ - TJAL - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "ESAJ - TJCE - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "ESAJ - TJAL - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "ESAJ - TJMS - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "ESAJ - TJAM - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TJAP - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TJBA - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TJES - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TJMA - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TJCE - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT15 - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT15 - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT17 - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT18 - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT18 - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT19 - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT20 - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT21 - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT22 - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT22 - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT23 - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT3 - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT6 - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT7 - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TJRN - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TJRN - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TJRR - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT1 - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT10 - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT10 - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT11 - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT11 - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT12 - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT12 - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT13 - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT14 - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TJPI - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TJPI - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT13 - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT14 - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT16 - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT16 - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT17 - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT19 - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT2 - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT2 - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT20 - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT21 - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT23 - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT24 - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT24 - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT3 - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT4 - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT5 - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT4 - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT5 - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT8 - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "TJRJ - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJEINTER TJRO - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TST - 3º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJEINTER TJPB - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TST - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJEINTER TJAP - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TST - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJEINTER TJAP - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT8 - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT6 - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT7 - CE - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT9 - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TRT9 - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJEINTER TJBA - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJEINTER TJES - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJEINTER TJMT - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJEINTER TJRJ - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJEINTER TJPB - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PROJUDI TJBA - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PROJUDI TJBA - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "TJRJ - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TJMG - 2º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TJMT - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TJPB - 1º grau", "customer_key": "", "credential_status": "not exists" }, { "name": "PJE TJPA - 2º grau", "customer_key": "", "credential_status": "not exists" } ] } ``` *credential\_status pode ser*: `not exists`: Não cadastrada `active`: Cadastrada e ativa `inactive`: Cadastrada porém inativa (provável problema com senha ou bloqueio) Caso seja utilizado um cadastro no sistema \* (cadastro genérico), essa credencial será utilizada para todos os tribunais que não contenha um outro cadastro, então cuidado com esse tipo de cadastro. Caso não seja informada nenhuma customer\_key, será criada um customer\_key `vazia`. # Consultas Agrupada Source: https://docs.judit.io/cache-judit/cache-grouped Consulta Agrupada A consulta síncrona permite verificar rapidamente se um CPF, CNPJ, OAB ou nome possui processos registrados em nosso datalake. Ela retorna, de forma ágil, uma resposta indicando a existência ou não de processos, quantidade de processos, consulta histórica hot storage e consulta sintética de processos. Na consulta síncrona, são retornados apenas os dados já disponíveis em nossa base de acordo com os filtros aplicados, garantindo uma resposta mais rápida. Contudo, isso pode resultar em um pequeno atraso na obtenção de informações mais completas. Para acessar dados atualizados e abrangentes, é fundamental realizar uma consulta assíncrona, que buscará diretamente nos tribunais trazendo as informações atualizadas. Todas as consultas históricas síncronas podem incluir filtros específicos para refinar os resultados. Caso deseje receber um grupo específico de itens, basta realizar a consulta informando os [filtros](/requests/request-document#payload-da-solicitação) desejados. Através da consulta histórica agrupada é possível receber de forma sintética o número total de processos relacionados a uma parte, agrupando esse número pelas informações da capa processual. Para realização da consulta histórica agrupada basta realizar um requisição `POST` para o endpojnt `https://lawsuits.production.judit.io/requests/create/grouped` adicionando `search_type` e `search_key` no payload.. ```json theme={null} curl --location 'https://lawsuits.production.judit.io/requests/create/grouped' \ --header 'api-key: >' \ --header 'Content-Type: application/json' \ --data '{ "search": { "search_type": "cpf", "search_key": "999.999.999-99" } } ' ``` ### Resposta esperada: ``` { "classifications": [ { "count": 1, "value": "PROCEDIMENTO COMUM CÍVEL" }, { "count": 1, "value": "HOMOLOGAçãO DE TRANSAçãO EXTRAJUDICIAL" }, { "count": 1, "value": "PROCEDIMENTO DO JUIZADO ESPECIAL CÍVEL" } ], "subjects": [ { "count": 1, "value": "ÔNUS DA PROVA" }, { "count": 1, "value": "ACIDENTE DE TRâNSITO" }, { "count": 1, "value": "COISAS" } ], "areas": [ { "count": 4, "value": "DIREITO CIVIL" }, { "count": 2, "value": "DIREITO ADMINISTRATIVO E OUTRAS MATÉRIAS DE DIREITO PÚBLICO" } ], "tribunals": [ { "count": 1, "value": "TRF2" }, { "count": 8, "value": "TRT1" }, { "count": 1, "value": "TRF1" } ], "justices": [ { "count": 7, "value": "NÃO INFORMADO" }, { "count": 8, "value": "JUSTIÇA ESTADUAL" }, { "count": 5, "value": "JUSTIÇA FEDERAL" } ], "phases": [ { "count": 11, "value": "INICIAL" }, { "count": 3, "value": "TRâNSITO EM JULGADO OU ACORDO" }, { "count": 9, "value": "ARQUIVADO" } ], "states": [ { "count": 11, "value": "RJ" }, { "count": 1, "value": "MG" }, { "count": 10, "value": "SP" } ], "instances": [ { "count": 24, "value": 1 }, { "count": 3, "value": 2 } ], "sides": [ { "count": 8, "value": "PASSIVE" }, { "count": 6, "value": "INTERESTED" } ], "person_types": [ { "count": 1, "value": "IMPETRANTE" }, { "count": 1, "value": "VITIMA" }, { "count": 2, "value": "REQUERENTE" } ], "lawsuits_count": 27 } ``` # Consulta datalake Hot Storage Source: https://docs.judit.io/cache-judit/hotstorage Consulta datalake Hot Storage A consulta síncrona permite verificar rapidamente se um CPF, CNPJ, OAB ou nome possui processos registrados em nosso datalake. Ela retorna, de forma ágil, uma resposta indicando a existência ou não de processos, quantidade de processos, consulta histórica hot storage e consulta sintética de processos. Na consulta síncrona, são retornados apenas os dados já disponíveis em nossa base de acordo com os filtros aplicados, garantindo uma resposta mais rápida. Contudo, isso pode resultar em um pequeno atraso na obtenção de informações mais completas. Para acessar dados atualizados e abrangentes, é fundamental realizar uma consulta assíncrona, que buscará diretamente nos tribunais trazendo as informações atualizadas. Todas as consultas históricas síncronas podem incluir filtros específicos para refinar os resultados. Caso deseje receber um grupo específico de itens, basta realizar a consulta informando os [filtros](/requests/request-document#payload-da-solicitação) desejados. Utilizamos Hot Storage para otimizar o desempenho de consultas frequentes em nossa base de dados. Essa camada de armazenamento é projetada para fornecer acesso rápido a dados que são frequentemente utilizados, permitindo que nossas aplicações retornem informações de forma mais ágil. ### Request hot storage Para realizar a consulta de forma síncrona, é necessário primeiro criar uma requisição para o endpoint de lawsuits. Abaixo, segue um exemplo de como fazer essa requisição utilizando o cURL. ```bash theme={null} curl --request POST \ --url https://lawsuits.production.judit.io/lawsuits \ --header 'Content-Type: application/json' \ --header 'api-key: ' \ --data '{ "search": { "search_type": "cpf", "search_key": "999.999.999-99" } }' ``` Segue um exemplo de request utilizando filtro para `TJRJ`: ```bash theme={null} curl --request POST \ --url https://lawsuits.production.judit.io/lawsuits \ --header 'Content-Type: application/json' \ --header 'api-key: ' \ --data '{ "search": { "search_type": "cpf", "search_key": "999.999.999-99", "search_params": { "filter": { "tribunals": { "keys": ["TJRJ"], "not_equal": false } } } } }' ``` ### Valores possíveis para `phase` | Phase | Descrição | | --------------------------------- | -------------------------------------------- | | Aguardando execução ou julgamento | O processo está em espera para ser julgado. | | Arquivado | O processo foi arquivado. | | Cancelado | O processo foi cancelado. | | Execução | O processo está em fase de execução. | | Execução ou cumprimento | O processo está sendo executado ou cumprido. | | Inicial | O processo está em fase inicial. | | Reativado | O processo foi reativado após arquivamento. | | Recurso | O processo está em fase de recurso. | | Sentença | O processo recebeu uma sentença. | | Trânsito em julgado ou acordo | O processo está em trânsito ou foi acordado. | *** ### Valores possíveis para `status` | Status | Descrição | | ---------- | ------------------------------------- | | Ativo | O processo está ativo e em andamento. | | Finalizado | O processo foi finalizado. | ### Request com retorno de fase/status Segue um exemplo de request solicitando o retorno da fase e o status do processo: É possivel através da consulta datalake obter no retorno os campo `status` e `phase` na consulta histórica, para obter esse retorno basta adicionar o parâmetro `process_status` com o valor `true`. ```bash theme={null} curl --request POST \ --url https://lawsuits.production.judit.io/lawsuits \ --header 'Content-Type: application/json' \ --header 'api-key: ' \ --data '{ "search": { "search_type": "cpf", "search_key": "999.999.999-99" }, "process_status": true }' ``` A resposta dessa requisição será um objeto JSON com os dados da resposta: ```json theme={null} { "has_lawsuits": true, "request_id": "c37cacba-41b5-4694-919f-4a937f2ea5df", "response_data": [ { "code": "9999999-99.9999.9.99.9999", "justice": "5", "tribunal": "01", "instance": 2, "distribution_date": "2023-05-18T11:12:59.000Z", "tribunal_acronym": "TRT1", "secrecy_level": 0, "tags": { "is_fallback_source": true, "crawl_id": "28e00227-e41b-4c94-956e-7a0f105eabee" }, "subjects": [ { "code": "13656", "name": "DOMÉSTICOS" } ], "classifications": [ { "code": "1009", "name": "RECURSO ORDINÁRIO TRABALHISTA" } ], "courts": [ { "code": "75580", "name": "GAB DES. GLAUCIA ZUCCARI FERNANDES BRAGA" } ], "parties": [ { "name": "Usuário teste", "side": "Active", "person_type": "Autor", "document": "99999999999", "document_type": "CPF", "lawyers": [ { "name": "Advogada do Autor", "side": "Active", "person_type": "Advogado" } ], "tags": { "crawl_id": "28e00227-e41b-4c94-956e-7a0f105eabee" } }, { "name": "Usuário teste", "side": "Passive", "person_type": "Réu", "document": "99999999999", "document_type": "CPF", "lawyers": [ { "name": "Nome da advogada do réu", "side": "Passive", "person_type": "Advogado" } ] } ], "steps": [], "attachments": [], "related_lawsuits": [], "crawler": { "source_name": "JTJ - BR - Document / Lawsuit - Auth", "crawl_id": "28e00227-e41b-4c94-956e-7a0f105eabee", "weight": 0, "updated_at": "2024-03-18T19:21:02.466Z" }, "amount": 7685.82, "last_step": { "lawsuit_cnj": "9999999-99.9999.9.99.9999", "lawsuit_instance": 1, "step_id": "JZzfEPTs10aeE+vpu+p+bkrz5K7enJhAM5kWattktHk=", "step_date": "2024-03-18T19:21:02.466Z", "private": false, "steps_count": 1 }, "phase": "Inicial", "status": "Ativo", "name": "Nome do Autor X Nome do Réu" }, { "code": "9999999-99.9999.9.99.9999", "justice": "5", "tribunal": "01", "instance": 1, "distribution_date": "2022-03-30T16:41:24.000Z", "tribunal_acronym": "TRT1", "secrecy_level": 0, "tags": { "is_fallback_source": true, "crawl_id": "28e00227-e41b-4c94-956e-7a0f105eabee" }, "subjects": [ { "code": "13656", "name": "DOMÉSTICOS" } ], "classifications": [ { "code": "985", "name": "AÇÃO TRABALHISTA - RITO ORDINÁRIO" } ], "courts": [ { "code": "33782", "name": "RIO DE JANEIRO - 37ª VARA DO TRABALHO" } ], "parties": [ { "name": "Berenice", "side": "Active", "person_type": "Autor", "document": "99999999999", "document_type": "CPF", "lawyers": [ { "name": "Nome do advogado do Autor", "side": "Active", "person_type": "Advogado" } ], "tags": { "crawl_id": "28e00227-e41b-4c94-956e-7a0f105eabee" } }, { "name": "Jhon Doe", "side": "Passive", "person_type": "Réu", "document": "99999999999", "document_type": "CPF", "lawyers": [ { "name": "Nome da Advogada do réu", "side": "Passive", "person_type": "Advogado" } ], "tags": { "crawl_id": "28e00227-e41b-4c94-956e-7a0f105eabee" } }, { "person_type": "Advogado", "side": "Active", "name": "Nome do Advogado", "tags": { "crawl_id": "28e00227-e41b-4c94-956e-7a0f105eabee" } }, { "person_type": "Advogado", "side": "Passive", "name": "Nome do Advogado", "tags": { "crawl_id": "28e00227-e41b-4c94-956e-7a0f105eabee" } } ], "steps": [], "attachments": [], "related_lawsuits": [], "crawler": { "source_name": "JTJ - BR - Document / Lawsuit - Auth", "crawl_id": "28e00227-e41b-4c94-956e-7a0f105eabee", "weight": 0, "updated_at": "2024-03-18T19:21:02.465Z" }, "amount": 7685.82, "last_step": { "lawsuit_cnj": "0100248-39.2022.5.01.0037", "lawsuit_instance": 1, "step_id": "u2r/3iZieAWrkFjxBZC/r4bMlFAvRO1IWvaOD8xdGl8=", "step_date": "2024-03-18T19:21:02.465Z", "private": false, "steps_count": 1 }, "phase": "Inicial", "status": "Ativo", "name": "Autor X Réu" }, { "code": "8888888-88.8888.8.88.8888", "justice": "8", "tribunal": "19", "instance": 1, "distribution_date": "2023-06-06T17:35:50.000Z", "tribunal_acronym": "TJRJ", "secrecy_level": 0, "tags": { "is_fallback_source": true, "crawl_id": "28e00227-e41b-4c94-956e-7a0f105eabee" }, "subjects": [ { "code": "7769", "name": "ABATIMENTO PROPORCIONAL DO PREÇO " }, { "code": "7748", "name": "ACIDENTE AÉREO" }, { "code": "10435", "name": "ACIDENTE DE TRÂNSITO" } ], "classifications": [ { "code": "436", "name": "PROCEDIMENTO DO JUIZADO ESPECIAL CÍVEL" } ], "courts": [ { "code": "13805", "name": "BARRA DA TIJUCA REGIONAL II JUI ESP CIV" } ], "parties": [ { "name": "USUÁRIO TESTE", "side": "Active", "person_type": "Autor", "document": "88888888888", "document_type": "CPF", "lawyers": [], "tags": { "crawl_id": "28e00227-e41b-4c94-956e-7a0f105eabee" } }, { "name": "GABRIELLA", "side": "Active", "person_type": "Autor", "document": "88888888888", "document_type": "CPF", "lawyers": [], "tags": { "crawl_id": "28e00227-e41b-4c94-956e-7a0f105eabee" } } { "name": "LEONARDO", "side": "Active", "person_type": "Autor", "document": "88888888888", "document_type": "CPF", "lawyers": [], "tags": { "crawl_id": "28e00227-e41b-4c94-956e-7a0f105eabee" } } ], "steps": [], "attachments": [], "related_lawsuits": [], "crawler": { "source_name": "JTJ - BR - Document / Lawsuit - Auth", "crawl_id": "28e00227-e41b-4c94-956e-7a0f105eabee", "weight": 0, "updated_at": "2024-03-18T19:21:02.466Z" }, "amount": 28790, "last_step": { "lawsuit_cnj": "0817064-37.2023.8.19.0209", "lawsuit_instance": 1, "step_id": "nU9IcVb9NLoHrJeUXt+Hay139dqHAVbfxk7f0D77aRQ=", "step_date": "2024-03-18T19:21:02.466Z", "private": false, "steps_count": 1 }, "phase": "Inicial", "status": "Ativo", "name": "DAVI LUIZ X GRUPO TURISMO LTDA" } ] } ``` # Execução penal Source: https://docs.judit.io/criminal-consultation/criminal-execution Entenda como funciona a consulta de execução penal Esta API permite que partes interessadas verifiquem se existe ordem de excução penal utilizando CPF (Cadastro de Pessoa Física), nome ou Processos (Código CNJ), assegurando a precisão e relevância das informações obtidas. # Exemplo de request de criação para execução penal Aqui está um exemplo da criação de uma request para execução penal por CPF: ```json theme={null} { "search": { "search_type": "cpf", "search_key": "999.999.999-99", "response_type": "execution" } } ``` Na consulta por execução penal, o search\_type deve ser 'cpf', 'cnpj', 'name' ou lawsuit\_cnj, já o campo response\_type deverá sempre ser 'execution'. Aqui está um exemplo da criação de uma request para execução penal por CNJ: ```json theme={null} { "search": { "search_type": "cpf", "search_key": "999.999.999-99", "response_type": "execution" } "with_attachments": true } ``` Na consulta por processos (Código CNJ), o parâmetro with\_attachments Indica se a busca incluiu a captura de anexos. # Retorno da requisição realizada para execução penal Aqui está um exemplo do retorno para execução penal: ```json theme={null} { "request_id": "87d9f7bf-0071-41ee-a721-e6e1b4082bc9", "search": { "search_type": "cpf", "search_key": "999.999.999-99", "response_type": "execution", "search_params": { "filter": {}, "pagination": {} } }, "with_attachments": true, "origin": "api", "origin_id": "33fad316-cd98-40b9-bcd4-70e3c74ff947", "user_id": "6dc91e78-400e-489c-b30c-61789e323d7c", "status": "pending", "created_at": "2024-03-14T07:35:14.272Z", "updated_at": "2024-03-14T07:35:14.272Z", "tags": { "potential_homonym": false } } ``` # Consultando resposta para execução penal Exemplo de como consultar a resposta gerada para execução penal \-- ```bash theme={null} https://requests.prod.judit.io/responses?request_id={request_id} ``` Segue abaixo um exemplo de resposta da consulta por CPF: ```json theme={null} Exemplo de retorno da resposta: { "page": 1, "page_data": [ { "request_id": "1d3d84d9-2edb-4952-83dc-70a7d81487hj", "response_id": "9a4c8dee-e0d1-4cc5-8abb-bd5616265yu6", "origin": "api", "origin_id": "1d3d84d9-2edb-4952-83dc-70a7d81485ol", "response_type": "lawsuit", "response_data": { "amount": 0, "attachments": [], "classifications": [ { "code": "386", "name": "EXECUÇÃO DA PENA" } ], "code": "99999999-99.9999.9.99.9999", "county": "MARINGÁ - 2ª VARA DA FAZENDA PÚBLICA", "courts": [ { "name": "TJPR - Vara de Execução em Meio Aberto de Curitiba" } ], "crawler": { "source_name": "JSeeu - BR - Lawsuit - Auth - 1 instance", "crawl_id": "a7fe1da7-6d2e-452f-9d36-115d80e9601a", "weight": 10, "updated_at": "2024-11-13T12:55:43.488Z" }, "distribution_date": "2020-07-09T04:00:48.207Z", "free_justice": true, "instance": 1, "judge": "Usuário teste", "justice": "8", "last_step": { "lawsuit_cnj": "99999999-99.9999.8.16.9999", "lawsuit_instance": 1, "content": "EXPEDIÇÃO DE CERTIDÃO GERAL Referente ao evento (seq. 417) RECEBIDOS OS AUTOS(13/08/2024 16:02:19). Identificador do Cumprimento: 9999.", "tags": { "crawl_id": "a7fe1da7-6d2e-452f-9d36-115d80e9601a" }, "private": false, "step_date": "2024-08-15T00:00:00.000Z", "step_id": "2b837df6", "steps_count": 418 }, "name": "ESTADO DO PARANÁ X USUÁRIO TESTE", "parties": [ { "side": "Active", "person_type": "AUTORIDADE", "name": "ESTADO DO PARANÁ", "main_document": "99999999999", "tags": { "crawl_id": "a7fe1da7-6d2e-452f-9d36-115d80e9601a" }, "entity_type": "company", "documents": [], "lawyers": [] }, { "side": "Passive", "person_type": "EXECUTADO", "name": "USUÁRIO TESTE", "main_document": "99999999999", "tags": { "crawl_id": "a7fe1da7-6d2e-452f-9d36-115d80e9601a" }, "entity_type": "person", "documents": [], "lawyers": [] } ], "related_lawsuits": [], "secrecy_level": 0, "steps": [], "subjects": [ { "code": "7791", "name": "PENA PRIVATIVA DE LIBERDADE" } ], "tags": { "datalake_id": "99999999999999999999", "datalake_segment": "JUSTICA_ESTADUAL", "crawl_id": "a7fe1da7-6d2e-452f-9d36-115d80e9601a", "criminal": true, "dictionary_updated_at": "2024-11-13T12:55:47.284Z" }, "tribunal": "16", "tribunal_acronym": "TJPR" }, "user_id": "7f8065a3-4891-428d-9456-dedfc12ff850", "created_at": "2024-11-13T12:55:47.885Z", "tags": { "dashboard_id": null } } ], "page_count": 1, "all_count": 1, "all_pages_count": 1 } ``` Segue abaixo um exemplo de resposta da consulta por CNJ: ```json theme={null} Exemplo de retorno da resposta: { "page": 1, "page_data": [ { "request_id": "a0c975a5-71ad-4013-9cdb-eefc670c9b8a", "response_id": "5d08159c-28e8-4c77-a20a-1a643a2eba87", "origin": "api", "origin_id": "a0c975a5-71ad-4013-9cdb-eefc670c9b8a", "response_type": "lawsuit", "response_data": { "amount": 0, "attachments": [], "classifications": [ { "code": "386", "name": "EXECUÇÃO DA PENA" } ], "code": "99999999-99.9999.9.99.9999", "county": "MARINGÁ - 2ª VARA DA FAZENDA PÚBLICA", "courts": [ { "name": "TJPR - Vara de Execução em Meio Aberto de Curitiba" } ], "crawler": { "source_name": "JSeeu - BR - Lawsuit - Auth - 1 instance", "crawl_id": "730acd6f-a490-4153-a5e0-585e1c851eae", "weight": 10, "updated_at": "2024-11-13T13:33:16.264Z" }, "distribution_date": "2020-07-09T04:00:48.207Z", "free_justice": true, "instance": 1, "judge": "USUÁRIO TESTE", "justice": "8", "last_step": { "lawsuit_cnj": "99999999-99.9999.9.99.9999", "lawsuit_instance": 1, "content": "EXPEDIÇÃO DE CERTIDÃO GERAL Referente ao evento (seq. 417) RECEBIDOS OS AUTOS(13/08/2024 16:02:19). Identificador do Cumprimento: 0025.", "tags": { "crawl_id": "730acd6f-a490-4153-a5e0-585e1c851eae" }, "private": false, "step_date": "2024-08-15T00:00:00.000Z", "step_id": "2b837df6", "steps_count": 418 }, "name": "ESTADO DO PARANÁ X USUÁRIO TESTE", "parties": [ { "side": "Active", "person_type": "AUTORIDADE", "name": "ESTADO DO PARANÁ", "main_document": "99999999999", "tags": { "crawl_id": "730acd6f-a490-4153-a5e0-585e1c851eae" }, "entity_type": "company", "documents": [], "lawyers": [] }, { "side": "Passive", "person_type": "EXECUTADO", "name": "USUÁRIO TESTE", "main_document": "99999999999", "tags": { "crawl_id": "730acd6f-a490-4153-a5e0-585e1c851eae" }, "entity_type": "person", "documents": [], "lawyers": [] } ], "related_lawsuits": [], "secrecy_level": 0, "status": "Ativo", "phase": "Suspenso", "steps": [ { "lawsuit_cnj": "99999999-99.9999.9.99.9999", "lawsuit_instance": 1, "content": "EXPEDIÇÃO DE CERTIDÃO GERAL Referente ao evento (seq. 417) RECEBIDOS OS AUTOS(13/08/2024 16:02:19). Identificador do Cumprimento: 0025.", "tags": { "crawl_id": "730acd6f-a490-4153-a5e0-585e1c851eae" }, "private": false, "step_date": "2024-08-15T00:00:00.000Z", "step_id": "2b837df6", "steps_count": 418 }, { "lawsuit_cnj": "99999999-99.9999.9.99.9999", "lawsuit_instance": 1, "content": "RECEBIDOS OS AUTOS Recebido da Vara TJPR - Vara de Execução em Meio Aberto de Apucarana", "tags": { "crawl_id": "730acd6f-a490-4153-a5e0-585e1c851eae" }, "private": false, "step_date": "2024-08-13T00:00:00.000Z", "step_id": "e9e1d394" }, { "lawsuit_cnj": "99999999-99.9999.9.99.9999", "lawsuit_instance": 1, "content": "REDISTRIBUÍDO PARA COMPETÊNCIA EXCLUSIVA EM RAZÃO DE ALTERAÇÃO DE COMPETÊNCIA DO ÓRGÃO TJPR - Vara de Execução em Meio Aberto de Curitiba", "tags": { "crawl_id": "730acd6f-a490-4153-a5e0-585e1c851eae" }, "private": false, "step_date": "2024-08-13T00:00:00.000Z", "step_id": "6be984c8" } ], "subjects": [ { "code": "7791", "name": "PENA PRIVATIVA DE LIBERDADE" } ], "tags": { "datalake_id": "99999999999999999999", "datalake_segment": "JUSTICA_ESTADUAL", "crawl_id": "730acd6f-a490-4153-a5e0-585e1c851eae", "criminal": true, "dictionary_updated_at": "2024-11-13T13:33:20.167Z" }, "tribunal": "16", "tribunal_acronym": "TJPR" }, "user_id": "7f8065a3-4891-428d-9456-dedfc12ff850", "created_at": "2024-11-13T13:33:14.825Z", "request_created_at": "2024-11-13T13:33:14.046Z", "tags": { "dashboard_id": null } } ], "page_count": 1, "all_count": 1, "all_pages_count": 1 } ``` Agora na Judit você pode consultar execuções penais. Isso é mais uma melhoria que trazemos até aqui. Simplificamos o processo para partes interessadas, proporcionando uma maneira fácil e confiável de verificar a validade e os detalhes das execuções penais emitidos pelo sistema de excução penal. Conte conosco para facilitar sua busca por informações legais essenciais. # Mandados de Prisão Source: https://docs.judit.io/criminal-consultation/warrant Entenda como funciona a consulta de mandados Esta API permite que partes interessadas verifiquem mandados de prisão utilizando CPF (Cadastro de Pessoa Física), nome ou RJI (numeração atribuída pelo BNMP 2.0 à pessoa), assegurando a precisão e relevância das informações obtidas. # Exemplo de request de criação para mandado de prisão Aqui está um exemplo da criação de uma request para mandado de prisão por CPF: Caso deseje a captura do anexo no mandado de prisão, basta adicionar o parâmetro with\_attachments com o valor true. ```json theme={null} { "search": { "search_type": "cpf", "search_key": "999.999.999-99", "response_type": "warrant" }, "with_attachments": false } ``` Na consulta por mandado de prisão, o search\_type deve ser 'cpf', 'name' ou rji, já o campo response\_type deverá sempre ser 'warrant'. # Retorno de uma requisição realizada para mandado de prisão Aqui está um exemplo do retorno do mandado de prisão por cpf: ```json theme={null} { "request_id": "87d9f7bf-0071-41ee-a721-e6e1b4082bc9", "search": { "search_type": "cpf", "search_key": "999.999.999-99", "response_type": "warrant", "search_params": { "filter": {}, "pagination": {} } }, "with_attachments": true, "origin": "api", "origin_id": "33fad316-cd98-40b9-bcd4-70e3c74ff947", "user_id": "6dc91e78-400e-489c-b30c-61789e323d7c", "status": "pending", "created_at": "2024-03-14T07:35:14.272Z", "updated_at": "2024-03-14T07:35:14.272Z", "tags": {} } ``` # Consultar anexo do mandado de prisão ```bash theme={null} curl -X POST --location 'https://lawsuits.production.judit.io/warrants//attachments/' \ --header 'api-key: ' ``` # Consultando respostas do mandado de prisão Exemplo para consultar as respostas de um mandado de prisão \-- ```bash theme={null} https://requests.prod.judit.io/responses?request_id={request_id} ``` Segue abaixo um exemplo de resposta da consulta: ```json theme={null} Exemplo de retorno da resposta: { "page": 1, "page_data": [ { "request_id": "87d9f7bf-0071-41ee-a721-e6e1b4082bc9", "response_id": "c7ae682c-3d7c-4634-a0b1-e414ae38fdeb", "origin": "api", "origin_id": "33fad316-cd98-40b9-bcd4-70e3c74ff947", "response_type": "warrant", "response_data": { "_id": "65f29d5c48f9210b7040b5a3", "warrant_id": "eb532bb3-2f0e-41c9-a80d-50f17258126f", "entity_id": "09c91d1b-fba7-4b0e-bfc3-e87a8b092802", "tribunal_id": "33123363_1", "individual_id": "18155647970", "warrant_type": "warrant_of_arrest", "arrest_type": "definitive", "law_type": { "number": "2848", "description": "2848, 157, § 2º, I;II;" }, "number": "0007826652016810000101000112", "previous_number": "", "issue_date": "2018-05-28T11:52:37.716Z", "create_date": "2018-05-28T12:05:09.040Z", "expiration_date": "2028-11-27T00:00:00.000Z", "status": "Pendente de Cumprimento", "code": "99999999-99.9999.9.99.9999", "instance": 1, "tribunal": "10", "justice": "8", "tribunal_acronym": "TJMA", "court": "Tribunal de Justiça do Estado do Maranhão", "judge": "USUÁRIO TESTE", "judgementSummary": "O MINISTÉRIO PÚBLICO ESTADUAL, através da douta Promotora de Justiça com exercício nesta Unidade Jurisdicional, lastreada em Inquérito Policial ofereceu denúncia contra LUÍS SOUZA, brasileiro, solteiro, natural de Cedral/MA, nascido em 17/07/1995, RG n.º 999999999999-9 SSPMA, filho de Eduardo Silva Trindade e Maria da Conceição Silva, residente na Rua centro, n.º 99, bairro Centro, São Luís/MA, incursando-o no crime tipificado no art. 157, § 2º, I e II, do Código Penal.Ante o exposto, julgo procedente a denúncia e CONDENO o acusado LUÍS SOUZA, supraqualificado, nas penas do artigo 157, § 2º, I e II, do Código Penal. Não ocorre causa de diminuição de pena. Por outro lado, presente a causa de aumento de pena pelo emprego de arma e concurso de pessoas, pelo que elevo a reprimenda no patamar mínimo de 1/3 (um terço), ou seja, 01 ano e 04 (quatro) meses de reclusão e 03 (três) dias multa, resultando na reprimenda definitiva de 05 (CINCO) ANOS E 04 (QUATRO) MESES DE RECLUSÃO E 13 (TREZE) DIAS MULTA, a qual deverá ser cumprida em regime inicialmente semiaberto, na Penitenciária Agrícola de Pedrinhas. Com o trânsito em julgado desta, o nome do condenado deverá ser inscrito no Livro Rol dos Culpados, calculada a pena de multa e intimado para pagamento, oficiando-se ao TRE para as providências quanto a sua situação eleitoral, bem como expedida carta de guia definitiva e mandado de prisão.", "duration": "5 ano(s) 4 mês(es) 0 dia(s).", "duration_years": 5, "duration_months": 4, "duration_days": 0, "observations": "DEFINITIVA", "regime": "Semiaberto", "recapture": false, "crawler": { "source_name": "JBnmp - BR - Warrant - No Auth", "crawl_id": "eb9c2c3a-1893-4ace-a98f-6210f8e78f72", "updated_at": "2024-03-14T06:46:24.996Z", "weight": 10, "_id": "65f29d5c48f9210b7040b5a4" }, "created_at": "2024-03-14T06:46:24.996Z", "updated_at": "2024-03-14T06:46:24.996Z", "entity": { "_id": "65f29d5c48f9210b7040b59b", "entity_id": "09c91d1b-fba7-4b0e-bfc3-e87a8b092802", "entity_type": "person", "name": "JOÃO SILVA", "main_document": "99999999999", "documents": [ { "document": "99999999999", "document_type": "cpf", "_id": "65f29d5c48f9210b7040b59c" }, { "document": "99999999999-9", "document_type": "rg", "_id": "65f29d5c48f9210b7040b59d" }, { "document": "99999999999-9", "document_type": "rji", "_id": "65f29d5c48f9210b7040b59e" } ], "addresses": [ { "street": "RUA CENTRO", "number": "99", "neighborhood": "CENTRO", "city": "Sao Luis", "state": "MA", "ibge_code": 9999999, "country": "Brasil", "_id": "65f29d5c48f9210b7040b59f" } ], "contacts": [], "aka_names": [ "LOURO" ], "parents": [ { "name": "USUÁRIO TESTE", "kinship": "father", "_id": "65f29d5c48f9210b7040b5a0" }, { "name": "MARIA SILVA", "kinship": "mother", "_id": "65f29d5c48f9210b7040b5a1" } ], "partners": [], "birth_date": "1995-07-17T03:00:00.000Z", "place_of_birth": "Cedral", "gender": "male", "created_at": "2024-03-14T06:46:24.996Z", "updated_at": "2024-03-14T07:03:00.407Z" } }, "user_id": "6dc91e78-400e-489c-b30c-61789e323d7c", "created_at": "2024-03-14T07:35:35.911Z", "request_created_at": "2024-03-14T07:35:14.272Z", "tags": { "dashboard_id": null } } ], "page_count": 1, "all_count": 1, "all_pages_count": 1 } ``` Agora na Judit você pode consultar mandados. Isso é mais uma melhoria que trazemos até aqui. Simplificamos o processo para partes interessadas, proporcionando uma maneira fácil e confiável de verificar a validade e os detalhes dos mandados emitidos pelo tribunal. Conte conosco para facilitar sua busca por informações legais essenciais. # Tratamento de Erros Source: https://docs.judit.io/essentialConcepts/errors A Judit API utiliza códigos de status HTTP padrão e retorna respostas estruturadas em JSON para facilitar o diagnóstico e a automação do tratamento de problemas. > 🤖 Respostas de erro da Judit API sempre retornam um objeto JSON contendo a chave raiz `error`. Dentro de `error`, as chaves padrão são `name` (o código interno do erro), `message` (o grupo do erro) e `data` (um array de strings com os detalhes ou mensagens de validação). ## Códigos de Status HTTP A API utiliza as convenções padrão do protocolo HTTP para indicar o sucesso ou a falha de uma requisição. ### Sucesso (2xx) * **200 OK**: Requisição processada e dados retornados com sucesso. * **201 Created**: Recurso (ex: novo monitoramento) criado com sucesso. * **202 Accepted**: Requisição aceita e enviada para a fila de processamento assíncrono. ### Erros do Cliente (4xx) * **400 Bad Request**: Faltam parâmetros obrigatórios ou eles estão malformados. * **401 Unauthorized**: O header `api-key` está ausente, incorreto ou a chave expirou. * **403 Forbidden**: Chave válida, mas sem permissão de acesso àquele recurso/endpoint. * **404 Not Found**: O recurso (ex: número do processo) não existe na base. * **422 Unprocessable Entity**: Dados no formato correto, mas não processáveis (ex: CNJ inválido matematicamente). * **429 Too Many Requests**: Limite de requisições por minuto excedido (Rate Limit). ### Erros do Servidor (5xx) * **500 Internal Server Error**: Falha interna na Judit API. * **502 Bad Gateway / 503 Service Unavailable**: Instabilidade temporária de infraestrutura ou nos tribunais. * **504 Gateway Timeout**: O tribunal demorou muito para responder à extração. *** ## Estrutura (Payload) de Erro Independentemente do status HTTP (seja 400 ou 500), o corpo da resposta de erro sempre seguirá este contrato JSON previsível: ```json theme={null} { "error": { "name": "HttpBadRequestError", "message": "BAD_REQUEST", "data": [ "CNJ is not valid", "Field 'area' is required" ] } } ``` ### Dicionário do Payload * `name`: Código interno da exceção. Use este campo no seu código (switch/case) para automação. * `message`: Categoria amigável do erro. * `data`: Array de strings contendo as falhas específicas (muito útil para exibir validações de formulário para o usuário final). *** ## Códigos Internos Comuns (`name`) Abaixo estão os principais valores que a chave `name` pode assumir, ajudando você a tratar o problema programaticamente: ### Autenticação e Permissões | Código (`name`) | Status HTTP | Causa Comum | | :------------------------- | :---------- | :---------------------------------------------------- | | `USER_NOT_FOUND` | 401 | API Key não enviada no header ou chave revogada. | | `INSUFFICIENT_PERMISSIONS` | 403 | Tentativa de uso de um módulo bloqueado no seu plano. | ### Processamento e Validação | Código (`name`) | Status HTTP | Causa Comum | | :-------------------- | :---------- | :----------------------------------------------------- | | `HttpBadRequestError` | 400 | Você enviou um JSON malformado ou campos faltando. | | `RESOURCE_NOT_FOUND` | 404 | Você tentou buscar um CNJ que ainda não foi capturado. | | `REQUEST_NOT_FOUND` | 404 | O `request_id` consultado não existe na base. | | `PROCESSING_ERROR` | 422 | O robô falhou ao tentar ler os dados no tribunal. | *** ## Estratégias de Tratamento no Código A melhor prática é criar um *handler* (interceptador) centralizado na sua aplicação para logar e tratar os erros da Judit API. ```python Python theme={null} import requests import os def handle_judit_error(response: requests.Response) -> None: """Decodifica e trata erros da Judit API.""" # Se for sucesso, não faz nada if response.status_code < 400: return try: payload = response.json() error_block = payload.get('error', {}) error_name = error_block.get('name', 'UNKNOWN_ERROR') error_details = error_block.get('data', []) print(f"❌ Falha HTTP {response.status_code}: {error_name}") # Iterando sobre os motivos do erro (Ex: validações de campos) if error_details: print("Detalhes do problema:") for detail in error_details: print(f" - {detail}") # Automação de decisão baseada no tipo do erro if error_name == 'USER_NOT_FOUND': raise PermissionError("Sua API Key está inválida. Verifique suas variáveis de ambiente.") elif response.status_code == 429: print("⚠️ Rate Limit excedido. Acione sua rotina de Backoff.") except ValueError: print(f"Erro Crítico {response.status_code}: O servidor não retornou um JSON válido.") print(response.text) # Exemplo de uso forçando um erro (endpoint inexistente ou sem API Key) response = requests.get( '[https://requests.prod.judit.io/requests](https://requests.prod.judit.io/requests)', headers={'api-key': 'chave_errada'} ) handle_judit_error(response) ``` ```javascript Node.js theme={null} async function handleJuditError(response) { // Decodifica e trata erros da Judit API. // Se for sucesso, não faz nada if (response.ok) { return; } try { const payload = await response.json(); const errorBlock = payload.error || {}; const errorName = errorBlock.name || 'UNKNOWN_ERROR'; const errorDetails = errorBlock.data || []; console.error(`❌ Falha HTTP ${response.status}: ${errorName}`); // Iterando sobre os motivos do erro (Ex: validações de campos) if (errorDetails.length > 0) { console.error("Detalhes do problema:"); errorDetails.forEach(detail => console.error(` - ${detail}`)); } // Automação de decisão baseada no tipo do erro if (errorName === 'USER_NOT_FOUND') { throw new Error("Sua API Key está inválida. Verifique o arquivo .env."); } if (response.status === 429) { console.warn("⚠️ Rate Limit excedido. Acione sua rotina de Backoff."); } } catch (e) { if (e.name !== 'SyntaxError') throw e; // Repassa erros que não são de JSON console.error(`Erro Crítico ${response.status}: O servidor não retornou JSON válido.`); } } // Exemplo de uso fetch('[https://requests.prod.judit.io/requests](https://requests.prod.judit.io/requests)', { headers: { 'api-key': 'chave_errada' } }).then(handleJuditError); ``` *** ## Próximos Passos * 👉 **[Rate Limits](/essentialConcepts/rate-limits):** Veja como construir a função de *Retry com Exponential Backoff* para tratar erros `429`. * 👉 **[Autenticação](/authentication):** Revise como enviar suas credenciais corretamente para evitar erros `401`. * 👉 **[FAQ](/resource/faq):** Veja as respostas para os problemas de integração mais comuns. # Paginação (Offset) Source: https://docs.judit.io/essentialConcepts/pagination A Judit API utiliza paginação baseada em página e tamanho (Offset) para permitir a navegação através de grandes conjuntos de dados de forma previsível e controlada. > 🤖 A paginação da Judit API não utiliza cursores. Ela é baseada no padrão *Offset*, utilizando exclusivamente os parâmetros de *query* `page` (número da página) e `page_size` (quantidade de itens). O limite máximo estrito para `page_size` é de 1000 itens. Os metadados de paginação são retornados na raiz do objeto de resposta. ## Como Funciona a Paginação ### Parâmetros de Query (Requisição) Ao realizar listagens (como buscar histórico de requisições ou monitoramentos), você pode enviar os seguintes parâmetros na URL: | Parâmetro | Tipo | Padrão | Descrição | | :---------- | :------ | :----- | :-------------------------------------------------------------------------------------------------------------------------------------------- | | `page` | integer | 1 | Número da página desejada (baseado em 1). | | `page_size` | integer | 20 | Quantidade de itens retornados por página. **Máximo permitido: 1000.** *Recomendação: Mantenha entre 10 e 100 para melhor tempo de resposta.* | ### Estrutura da Resposta (Payload) As respostas de endpoints paginados sempre retornam os metadados de navegação na raiz do JSON, e os itens propriamente ditos geralmente vêm no array `page_data`. ```json theme={null} { "page": 1, // Página atual que está sendo retornada "page_count": 20, // Quantidade de itens presentes nesta página específica "all_pages_count": 10, // Total de páginas disponíveis para esta consulta "all_count": 200, // Total absoluto de itens encontrados no banco "page_data": [ // Array contendo os objetos da consulta { ... }, { ... } ] } ``` *** ## Exemplos Práticos ### Consulta Básica com Paginação Abaixo, demonstramos como buscar a primeira página de requisições e iterar sobre os dados. ```bash cURL theme={null} # 1. Buscando a primeira página (10 itens) curl -X GET "[https://requests.prod.judit.io/requests?page=1&page_size=10](https://requests.prod.judit.io/requests?page=1&page_size=10)" \ -H "api-key: $JUDIT_API_KEY" # 2. Buscando uma página específica (ex: página 3, 25 itens) curl -X GET "[https://requests.prod.judit.io/requests?page=3&page_size=25](https://requests.prod.judit.io/requests?page=3&page_size=25)" \ -H "api-key: $JUDIT_API_KEY" ``` ```python Python theme={null} import requests import os api_key = os.getenv('JUDIT_API_KEY') base_url = "[https://requests.prod.judit.io](https://requests.prod.judit.io)" def get_requests_page(page=1, page_size=20): """Busca uma página específica do histórico de requisições""" headers = { 'api-key': api_key, 'Content-Type': 'application/json' } params = { 'page': page, 'page_size': page_size } response = requests.get(f"{base_url}/requests", headers=headers, params=params) if response.status_code == 200: return response.json() else: print(f"Erro: {response.status_code}") return None # Execução data = get_requests_page(page=1, page_size=10) if data: print(f"Página atual: {data.get('page')}") print(f"Total de itens no banco: {data.get('all_count')}") ``` ```javascript JavaScript theme={null} const apiKey = process.env.JUDIT_API_KEY; const baseUrl = "[https://requests.prod.judit.io](https://requests.prod.judit.io)"; async function getRequestsPage(page = 1, pageSize = 20) { const params = new URLSearchParams({ page: page.toString(), page_size: pageSize.toString() }); try { const response = await fetch(`${baseUrl}/requests?${params}`, { headers: { 'api-key': apiKey, 'Content-Type': 'application/json' } }); if (response.ok) { return await response.json(); } else { console.error(`Erro HTTP: ${response.status}`); return null; } } catch (error) { console.error('Erro na conexão:', error); return null; } } // Execução const data = await getRequestsPage(1, 10); if (data) { console.log(`Página atual: ${data.page}`); console.log(`Total de itens no banco: ${data.all_count}`); } ``` *** ## Otimizações e Boas Práticas Para lidar com grandes volumes de dados de forma eficiente e sem ser bloqueado pela API, siga as recomendações abaixo. ### 1. Adequação do `page_size` Adapte o tamanho da página de acordo com a necessidade da sua aplicação, lembrando sempre do limite de 1000 itens por requisição. ```python theme={null} # ✅ BOM: Para exibição em interface (tabelas, grids) small_page = get_requests_page(page=1, page_size=10) # ✅ BOM: Para processamento assíncrono em lote (ETL, migrações) large_page = get_requests_page(page=1, page_size=100) # ❌ ERRO: Excede o limite máximo permitido pela API # invalid_page = get_requests_page(page=1, page_size=1001) ``` ### 2. Controle de Rate Limit (Iteração Segura) A Judit API possui limites rigorosos de requisições por minuto. Ao construir *loops* para extrair todas as páginas, é **obrigatório** implementar um pequeno atraso (*delay*) entre as chamadas para evitar o erro `429 Too Many Requests`. ```python Python theme={null} import time def fetch_all_data_safely(delay_seconds=0.2): """Extrai todas as páginas respeitando o limite de requisições da API""" current_page = 1 all_extracted_items = [] while True: # Usando um page_size seguro (abaixo do limite de 1000) data = get_requests_page(page=current_page, page_size=50) # Interrompe se não houver dados ou a chave page_data não existir if not data or not data.get('page_data'): break all_extracted_items.extend(data['page_data']) print(f"Extraído: Página {current_page}/{data.get('all_pages_count')}. Total Acumulado: {len(all_extracted_items)}") # Verifica se chegamos na última página if current_page >= data.get('all_pages_count', 1): print("Extração concluída com sucesso.") break current_page += 1 # ⚠️ CRÍTICO: Pausa para não estourar o Rate Limit (ex: 180 req/min) time.sleep(delay_seconds) return all_extracted_items ``` ```javascript JavaScript theme={null} async function fetchAllDataSafely(delayMs = 200) { // Extrai todas as páginas respeitando o limite de requisições da API let currentPage = 1; const allExtractedItems = []; while (true) { // Usando um page_size seguro (abaixo do limite de 1000) const data = await getRequestsPage(currentPage, 50); // Interrompe se não houver dados if (!data || !data.page_data || data.page_data.length === 0) { break; } allExtractedItems.push(...data.page_data); console.log(`Extraído: Página ${currentPage}/${data.all_pages_count}. Total Acumulado: ${allExtractedItems.length}`); // Verifica se chegamos na última página if (currentPage >= (data.all_pages_count || 1)) { console.log("Extração concluída com sucesso."); break; } currentPage++; // ⚠️ CRÍTICO: Pausa para não estourar o Rate Limit await new Promise(resolve => setTimeout(resolve, delayMs)); } return allExtractedItems; } ``` > **Nota sobre Processamento Paralelo:** Removemos o exemplo de processamento concorrente (threads) porque disparar múltiplas páginas em paralelo quase certamente causará bloqueio por Rate Limit (Erro 429), a menos que sua aplicação tenha uma gestão de fila distribuída robusta. Recomendamos sempre o processamento sequencial com *delay* ou filas controladas. *** ## Próximos Passos * 👉 **[Rate Limits](/essentialConcepts/rate-limits)**: Entenda as quotas de requisições da sua conta. * 👉 **[Autenticação](/authentication)**: Revise como enviar suas credenciais. * 👉 **[Endpoints](/api-reference)**: Explore os recursos que suportam listagem. # Rate Limits (Limites de Requisição) Source: https://docs.judit.io/essentialConcepts/rate-limits A Judit API implementa rate limiting (limite de taxa) para garantir o uso justo dos recursos, evitar sobrecargas e manter a alta performance para todos os usuários. > 🤖 A Judit API possui um limite global estrito de 180 requisições por minuto por API Key. Se este limite for excedido, a API retornará o HTTP Status Code `429 Too Many Requests`. Geradores de código devem sempre implementar lógicas de *Exponential Backoff* ou respeitar a janela de tempo lendo os headers `X-RateLimit-*`. ## Regras de Limitação (Global) Para garantir a estabilidade do ecossistema, todas as requisições autenticadas estão sujeitas às seguintes regras globais: * **Limite de Consumo:** 180 requisições por minuto (por API Key). * **Mecanismo:** Janela Deslizante (*Sliding Window*) de 60 segundos. Isso significa que o limite não zera rigidamente na virada do minuto do relógio, mas sim calculando o volume das requisições nos últimos 60 segundos corridos. * **Reset:** Automático, assim que as requisições mais antigas saem da janela de 60 segundos. ### Limites por Endpoint O limite de 180 requisições por minuto é compartilhado entre os principais serviços de entrada e saída de dados. | Endpoint | Limite Específico | Finalidade da Rota | | :--------------- | :---------------- | :----------------------------------------------------- | | `POST /requests` | 180/min | Criação de novas consultas assíncronas no tribunal. | | `GET /requests` | 180/min | Listagem do histórico de requisições. | | `GET /responses` | 180/min | Captura/Consulta dos resultados (JSONs dos processos). | | `POST /tracking` | 180/min | Cadastro de novos monitoramentos processuais. | | `GET /tracking` | 180/min | Listagem dos monitoramentos ativos. | *** ## Monitorando seu Consumo (Headers HTTP) Você não precisa adivinhar quantas requisições ainda pode fazer. Toda resposta de sucesso (200 OK) da Judit API inclui cabeçalhos (*headers*) específicos que ajudam sua aplicação a monitorar o consumo em tempo real: | Header | Descrição Exemplo | | :---------------------- | :-------------------------------------------------------------------- | | `X-RateLimit-Limit` | O limite total permitido na sua janela de tempo (Ex: `180`). | | `X-RateLimit-Remaining` | Quantas requisições você ainda pode fazer na janela atual (Ex: `42`). | > **💡 Dica de Arquitetura:** Recomendamos que sua aplicação leia o header `X-RateLimit-Remaining`. Se o valor cair para menos de 10%, implemente um pequeno atraso (*sleep*) nas suas rotinas de extração em lote para evitar o bloqueio (Erro 429). *** ## Como Tratar o Erro 429 (Too Many Requests) Se você ultrapassar o limite de 180 requisições em 60 segundos, a Judit API bloqueará temporariamente as novas chamadas e retornará o erro `429`. ```json theme={null} { "error": "Too Many Requests", "message": "Rate limit exceeded. Try again in a few seconds.", "code": 429 } ``` Para sistemas robustos, a melhor prática é implementar um **Retry com Exponential Backoff** (Tentativa com atraso exponencial). Veja os exemplos abaixo prontos para produção: ```python Python theme={null} import time import requests def request_with_retry(url, headers, max_retries=3): """Executa uma requisição implementando espera inteligente se bater no limite.""" base_delay = 2 # Segundos iniciais de espera for attempt in range(max_retries): response = requests.get(url, headers=headers) # Sucesso if response.status_code == 200: return response.json() # Limite Excedido (Erro 429) if response.status_code == 429: # Atraso exponencial: 2s, 4s, 8s... sleep_time = base_delay * (2 ** attempt) print(f"⚠️ Limite excedido (429). Aguardando {sleep_time} segundos... (Tentativa {attempt + 1}/{max_retries})") time.sleep(sleep_time) continue # Outros erros param a execução imediatamente response.raise_for_status() raise Exception("Falha após todas as tentativas de retentativa (Rate Limit).") # Exemplo de uso # data = request_with_retry("[https://requests.prod.judit.io/requests](https://requests.prod.judit.io/requests)", headers={"api-key": "sua_chave"}) ``` ```javascript Node.js theme={null} async function requestWithRetry(url, headers, maxRetries = 3) { // Executa uma requisição implementando espera inteligente se bater no limite. let baseDelay = 2000; // Milissegundos iniciais de espera for (let attempt = 0; attempt < maxRetries; attempt++) { const response = await fetch(url, { headers }); // Sucesso if (response.ok) { return await response.json(); } // Limite Excedido (Erro 429) if (response.status === 429) { // Atraso exponencial: 2000ms, 4000ms, 8000ms... const sleepTime = baseDelay * Math.pow(2, attempt); console.warn(`⚠️ Limite excedido (429). Aguardando ${sleepTime}ms... (Tentativa ${attempt + 1}/${maxRetries})`); await new Promise(resolve => setTimeout(resolve, sleepTime)); continue; } // Outros erros throw new Error(`HTTP Error: ${response.status}`); } throw new Error("Falha após todas as tentativas de retentativa (Rate Limit)."); } ``` *** ## Próximos Passos Se a sua aplicação possui um volume massivo de dados (ETL contínuo, higienização de bases históricas com milhões de linhas) e o limite de 180 requisições por minuto for um gargalo, nós podemos ajudar. * 👉 **Fale Conosco:** Entre em [contato com nosso time de engenharia via WhatsApp](https://api.whatsapp.com/send/?phone=5511920501949) para discutirmos limites personalizados e rotas dedicadas para o seu volume. * 👉 **[Tratamento de Erros](/essentialConcepts/errors):** Veja a lista completa de erros que a API pode retornar além do 429. * 👉 **[Paginação](/essentialConcepts/pagination):** Revise como iterar por grandes listas com segurança. # Cofre de Credenciais Source: https://docs.judit.io/essentials/cofre-de-credenciais Acesse os Tribunais com Suas Próprias Credenciais A JUDIT permite adicionar as credenciais dos advogados de sua preferência, possibilitando o acesso, por meio dessas credenciais, a processos em segredo de justiça de autoria dos respectivos advogados. ## Rota para cadastrar suas chaves no cofre de credenciais Para começar a utilizar o cofre de credeniais, você deve realizar uma solicitação POST para a rota `crawler.prod.judit.io/credentials` e cadastrar as credenciais dos advogados nos respectivos tribunais disponibilizados. ### Payload da Solicitação A solicitação POST deve incluir um payload com as seguintes propriedades: * `system_name`: A sigla do [tribunal e sistema](/resource/glossary#lista-para-cofre-de-credenciais) que será cadastrado a nova credencial. * `Obs:` Poderá ser cadastrada uma credencial coringa `"system_name": "*"`. Se uma credencial for cadastrada nela, todos os tribunais que não tiverem outra credencial cadastrada utilizarão a credencial coringa. * `customer_key`: Identificador personalizado para associar a credencial a um cliente ou advogado. Pode ser qualquer nome ou rótulo definido pelo responsável pelo cadastro, facilitando a organização e o gerenciamento das credenciais. * `username`: CPF (Cadastro de Pessoas Físicas) ou número da OAB (Ordem dos Advogados do Brasil), conforme exigido pelo sistema do tribunal onde o login será realizado. * `password`: Senha cadastrada no respectivo tribunal. Propriedades necessárias apenas nos casos de tribunais que exigem autenticação de dois fatores: * `custom_data`: Objeto opcional destinado a armazenar informações adicionais específicas para o sistema ou contexto de uso. Pode incluir campos personalizados como, por exemplo, um secret necessário para autenticação ou outras configurações específicas. * `secret`: Token de autenticação de dois fatores do sistema a ser cadastrado. `Obs:` As credenciais cadastradas são criptografadas, garantindo a segurança dos dados, e não podem ser acessadas posteriormente. Para modificar informações já cadastradas, basta criar um novo registro utilizando o mesmo `customer_key` e o mesmo `system_name`. O novo cadastro substituirá automaticamente a credencial existente. Exemplo de payload para cadastro de credenciais sem autenticação de dois fatores: ```json theme={null} { "credentials": [ { "system_name": "PJE TJBA - 1º grau", "customer_key": "00000001", "username": "999.999.999-99", "password": "Senha123" }, { "system_name": "ESAJ - TJAC - 1º grau", "customer_key": "00000002", "username": "999.999.999-99", "password": "Senha123" } ] } ``` Exemplo de payload para cadastro de credenciais com autenticação de dois fatores: ```json theme={null} { "credentials": [ { "system_name": "PJE TJBA - 1º grau", "customer_key": "00000001", "username": "999.999.999-99", "password": "Senha123", "custom_data": { "secret": "" } } ] } ``` Exemplo de resposta a solicitação: ```json theme={null} [ { "system_name": "ESAJ - TJAC - 1º grau", "message": "CREDENTIAL_CREATED" }, { "system_name": "PJE TJBA - 1º grau", "message": "CREDENTIAL_CREATED" } ] ``` ## Rota de verificação de credenciais cadastradas Para verificar se uma credencial está cadastrada, envie uma solicitação GET para o endpoint `crawler.prod.judit.io/credentials`, incluindo o parâmetro `customer_key` correspondente à credencial que deseja consultar. A resposta retornará todas as credenciais disponíveis no cofre associadas à `customer_key` consultada. O campo `credential_status` indicará o status de cada credencial: * active: Credencial cadastrada e ativa. * not exists: Credencial não encontrada no sistema. Segue um exemplo de solicitação GET para verificar a existência de uma credencial: ```json theme={null} curl --location 'https://crawler.prod.judit.io/credentials?customer_key=teste_01' \ --header 'api-key: ' ``` Segue um exemplo de resposta para a solicitação GET realizada: ```json theme={null} { "systems": [ { "name": "*", "customer_key": "", "credential_status": "not exists" }, { "name": "ESAJ - TJAM - 1º grau", "customer_key": "teste_01", "credential_status": "active" }, { "name": "PROJUDI TJGO - 1º grau", "customer_key": "teste_01", "credential_status": "active" } ] } ``` ## Rota para deletar uma chave no cofre de Credenciais Para deletar um sistema no cofre de credenciais, você deve realizar uma solicitação DELETE para a rota `crawler.prod.judit.io/credentials`. ### Payload da Solicitação A solicitação DELETE deve incluir um payload com a seguinte propriedade: * `system_name`: A sigla do [tribunal e sistema](/resource/glossary#lista-para-cofre-de-credenciais) que será cadastrado a nova credencial. * `customer_key`: Identificador personalizado adicionado no momento do cadastro da credencial. Exemplo de payload para deletar credencial: ```json theme={null} { "system_name": "PROJUDI TJGO - 1º grau", "customer_key":"teste_01" } ``` * Caso a solicitação seja bem sucedida a resposta será um objeto vazio. A atualização das credenciais nos tribunais é de inteira responsabilidade do usuário. Portanto, cabe ao usuário realizar o cadastro da credencial no tribunal correspondente e acompanhar a validade e a situação da mesma para garantir que ela não seja suspensa ou invalidada. # API de Transferência de Arquivos Source: https://docs.judit.io/file-transfer/file-transfer Esta API permite que clientes da JUDIT listem, consultem e façam download de arquivos disponíveis para transferência, além de atualizarem o status de cada arquivo após o consumo. **Base URL:** `https://lawsuits.prod.judit.io/` *** ## 🔐 Autenticação Todas as requisições devem conter um cabeçalho com a chave de API da empresa: ```http theme={null} api-key: SUA_CHAVE_DE_API ``` ⚠️ Um usuário só pode acessar arquivos pertencentes ao tenant da sua própria empresa. *** ## 📂 Listar arquivos disponíveis ### `GET /transfer-file` Retorna uma lista paginada de arquivos disponíveis para a empresa do usuário autenticado. ### Query Params suportados: * `description`: string (filtra por descrição) * `file_type`: `csv`, `json`, `parquet` * `name`: string (filtra por nome do arquivo) * `status`: string ou array (ex: `status=completed` ou `status=["completed","error"]`) * Datas: filtros de intervalo para os campos abaixo: * `created_at`, `updated_at`, `completed_at`, `downloaded_at`, `error_at`, `failed_at`, `started_at` * Exemplo: `created_at_gte=2025-04-01T00:00:00.000Z` * Paginação e ordenação: * `page`: número da página (default: 1) * `page_size`: tamanho da página (máx: 100, default: 10) * `order_by`: campo de ordenação (default: `created_at`) * `order`: `asc` ou `desc` (default: `desc`) ### Exemplo de chamada com `curl`: ```bash theme={null} curl -H "api-key: SUA_CHAVE_DE_API" \ "https://lawsuits.prod.judit.io/transfer-file?page=1&page_size=20&status=[\"completed\"]" ``` ### Exemplo de resposta: ```json theme={null} { "page": 1, "page_data": [ { "transfer_file_id": "be4ed52a-a96b-4782-a181-b7ed75cb2f21", "description": "ARQUIVO INICIAL - CARGA 0", "file_type": "parquet", "name": "be4ed52a-a96b-4782-a181-b7ed75cb2f21-part-00001.parquet", "status": "downloaded", "created_at": "2025-04-22T11:50:00.000Z", "updated_at": "2025-04-22T09:21:06.343Z", "completed_at": "2025-04-22T11:51:00.000Z", "started_at": "2025-04-22T11:50:01.000Z", "downloaded_at": "2025-04-22T09:21:06.343Z", "error_at": "2025-04-22T09:20:31.460Z", "error_message": "teste de erro", "file_size": 0.038, "lawsuits_count": 19 } ], "page_count": 1, "all_count": 1, "all_pages_count": 1 } ``` #### Explicação dos campos de retorno: * `page`: número da página atual * `page_data`: lista de arquivos retornados nesta página * `page_count`: quantidade de registros nesta página * `all_count`: total de arquivos encontrados no filtro * `all_pages_count`: total de páginas disponíveis *** ## 📥 Obter URL para download ### `GET /transfer-file/:transfer_file_id` Retorna os metadados do arquivo e uma URL pré-assinada da AWS para download (válida por 5 minutos). ### Exemplo de chamada com `curl`: ```bash theme={null} curl -H "api-key: SUA_CHAVE_DE_API" \ "https://lawsuits.prod.judit.io/transfer-file/be4ed52a-a96b-4782-a181-b7ed75cb2f21" ``` ### Exemplo de resposta: ```json theme={null} { "transfer_file_id": "be4ed52a-a96b-4782-a181-b7ed75cb2f21", "description": "ARQUIVO INICIAL - CARGA 0", "file_type": "parquet", "name": "be4ed52a-a96b-4782-a181-b7ed75cb2f21-part-00001.parquet", "status": "completed", "created_at": "2025-04-22T11:50:00.000Z", "updated_at": "2025-04-22T09:21:06.343Z", "completed_at": "2025-04-22T11:51:00.000Z", "started_at": "2025-04-22T11:50:01.000Z", "file_size": 0.038, "lawsuits_count": 19, "pre_signed_url": "https://s3.amazonaws.com/..." } ``` *** ## 🛠 Atualizar status de um arquivo ### `PATCH /transfer-file/:transfer_file_id` Permite marcar o arquivo como `downloaded` ou `error` após a tentativa de uso. ### Exemplo de chamada com `curl`: ```bash theme={null} curl -X PATCH -H "api-key: SUA_CHAVE_DE_API" \ -H "Content-Type: application/json" \ -d '{"status": "downloaded"}' \ "https://lawsuits.prod.judit.io/transfer-file/be4ed52a-a96b-4782-a181-b7ed75cb2f21" ``` ### Corpo da requisição: Para marcar como baixado: ```json theme={null} { "status": "downloaded" } ``` Para reportar erro: ```json theme={null} { "status": "error", "error_message": "Descrição do erro, stack trace ou contexto do problema." } ``` ### Exemplo de resposta - status `downloaded`: ```json theme={null} { "transfer_file_id": "be4ed52a-a96b-4782-a181-b7ed75cb2f21", "description": "ARQUIVO INICIAL - CARGA 0", "file_type": "parquet", "name": "be4ed52a-a96b-4782-a181-b7ed75cb2f21-part-00001.parquet", "status": "downloaded", "created_at": "2025-04-22T11:50:00.000Z", "updated_at": "2025-04-22T11:55:00.000Z", "completed_at": "2025-04-22T11:51:00.000Z", "started_at": "2025-04-22T11:50:01.000Z", "downloaded_at": "2025-04-22T11:55:00.000Z", "file_size": 0.038, "lawsuits_count": 19 } ``` ### Exemplo de resposta - status `error`: ```json theme={null} { "transfer_file_id": "be4ed52a-a96b-4782-a181-b7ed75cb2f21", "description": "ARQUIVO INICIAL - CARGA 0", "file_type": "parquet", "name": "be4ed52a-a96b-4782-a181-b7ed75cb2f21-part-00001.parquet", "status": "error", "created_at": "2025-04-22T11:50:00.000Z", "updated_at": "2025-04-22T11:57:00.000Z", "completed_at": "2025-04-22T11:51:00.000Z", "started_at": "2025-04-22T11:50:01.000Z", "error_at": "2025-04-22T11:57:00.000Z", "error_message": "Descrição do erro, stack trace ou contexto do problema.", "file_size": 0.038, "lawsuits_count": 19 } ``` *** ## 🧠 Observações * A URL retornada pela rota `GET /transfer-file/:id` expira em **5 minutos**. * Arquivos com status `error` serão analisados pela equipe técnica da JUDIT. *** Para dúvidas, entre em contato com nosso suporte técnico. # Autenticação Source: https://docs.judit.io/introduction/authentication A Judit API usa autenticação baseada em API Key passada via Header para garantir acesso seguro aos recursos. Aprenda a configurar sua chave em diferentes ambientes. > 🤖 A Judit API **NÃO** utiliza o padrão `Authorization: Bearer `. A autenticação é feita **exclusivamente** através da passagem da chave no cabeçalho HTTP customizado chamado `api-key`. Isso se aplica a todos os endpoints e URLs Base da Judit. ## 1. Como Obter sua API Key Sua API Key é a credencial única que vincula suas requisições à sua conta e plano contratado. 1. **Entre em contato** com nossa equipe [comercial via WhatsApp](https://api.whatsapp.com/send/?phone=5521985284143). 2. **Forneça o contexto:** Explique seu caso de uso e volume esperado de requisições. 3. **Receba a Chave:** Sua API Key será enviada de forma segura para o e-mail cadastrado. > **⚠️ Segurança em 1º Lugar:** Considere sua API Key como uma senha em texto claro. Nunca a exponha em repositórios públicos (ex: GitHub), código *front-end* (navegador do cliente) ou aplicativos mobile sem ofuscação. *** ## 2. Padrão de Autenticação (Header `api-key`) Em todas as requisições feitas para a Judit API, independentemente do serviço ou módulo (Consultas, Monitoramento, etc.), você deve incluir o cabeçalho `api-key`. ### Exemplo de Requisição HTTP Básica ```http theme={null} GET /requests HTTP/1.1 Host: requests.prod.judit.io api-key: sua_api_key_aqui Content-Type: application/json ``` ### Exemplos Práticos de Implementação Abaixo, mostramos como realizar uma requisição autenticada utilizando a URL Base de Consultas Assíncronas ([https://requests.prod.judit.io](https://requests.prod.judit.io)), consumindo a chave a partir de variáveis de ambiente. ```python Python theme={null} import os import requests # Configurar API Key api_key = os.getenv('JUDIT_API_KEY') # Headers padrão headers = { 'api-key': api_key, 'Content-Type': 'application/json' } # Fazer requisição response = requests.get( 'https://requests.prod.judit.io/requests', headers=headers ) ``` ```javascript JavaScript theme={null} // Configurar API Key const apiKey = process.env.JUDIT_API_KEY; // Headers padrão const headers = { 'api-key': apiKey, 'Content-Type': 'application/json' }; // Fazer requisição const response = await fetch('https://requests.prod.judit.io/requests', { method: 'GET', headers: headers }); ``` ## 3. Gestão Segura e Boas Práticas Para evitar o vazamento da sua credencial, consolide a gestão da sua chave seguindo estas regras: ### 1. **Uso Exclusivo de Variáveis de Ambiente** **Nunca** hardcode sua API Key no código: ```python theme={null} # ❌ ERRADO - Nunca faça isso api_key = "sk_live_1234567890abcdef" # ✅ CORRETO - Use variáveis de ambiente api_key = os.getenv('JUDIT_API_KEY') ``` ### 2. **Configure Variáveis de Ambiente** **Linux/macOS:** ```bash theme={null} # No arquivo ~/.bashrc ou ~/.zshrc export JUDIT_API_KEY="sua-api-key-aqui" # Ou para sessão atual export JUDIT_API_KEY="sua-api-key-aqui" ``` **Windows:** ```cmd theme={null} # Command Prompt set JUDIT_API_KEY=sua-api-key-aqui # PowerShell $env:JUDIT_API_KEY="sua-api-key-aqui" ``` **Docker:** ```dockerfile theme={null} # Dockerfile ENV JUDIT_API_KEY="" # docker-compose.yml environment: - JUDIT_API_KEY=${JUDIT_API_KEY} ``` ### 3. **Arquivo .env (Desenvolvimento)** ```bash theme={null} # .env JUDIT_API_KEY=sua-api-key-aqui JUDIT_BASE_URL=https://requests.prod.judit.io ``` ```python theme={null} # Python com python-dotenv from dotenv import load_dotenv import os load_dotenv() api_key = os.getenv('JUDIT_API_KEY') ``` ### 4. **Rotação de Chaves** * **Monitore** o uso de sua API Key regularmente * **Solicite nova chave** se suspeitar de comprometimento * **Implemente rotação** implementação em ambientes críticos ## Tratamento de Erros de Autenticação ### Erro 401 - Unauthorized ```json theme={null} { "error": { "name": "HttpUnauthorizedError", "message": "UNAUTHORIZED", "data": "USER_NOT_FOUND" } } ``` **Possíveis causas:** * API Key não fornecida * API Key inválida ou expirada * Header `api-key` mal formatado ### Erro 403 - Forbidden ```json theme={null} { "error": "Forbidden", "message": "Acesso negado para este recurso", "code": "INSUFFICIENT_PERMISSIONS" } ``` **Possíveis causas:** * API Key válida mas sem permissão para o recurso * Limite de uso excedido * Recurso não disponível no seu plano ## Validação da API Key ### Teste de Conectividade ```python theme={null} import requests def test_api_key(api_key): """Testa se a API Key está válida""" headers = {'api-key': api_key} try: response = requests.get( 'https://requests.prod.judit.io/requests', headers=headers, params={'page': 1, 'page_size': 1} ) if response.status_code == 200: print("✅ API Key válida") return True elif response.status_code == 401: print("❌ API Key inválida") return False else: print(f"⚠️ Erro inesperado: {response.status_code}") return False except requests.RequestException as e: print(f"❌ Erro de conexão: {e}") return False # Usar a função api_key = os.getenv('JUDIT_API_KEY') test_api_key(api_key) ``` ### Monitoramento de Uso ```python theme={null} def check_api_usage(response): """ Monitora o uso da API através dos headers da resposta. Nota: A API possui um rate-limit estrito de 180 requisições por minuto. Esta função calcula o percentual de consumo na janela de tempo atual. """ # Captura as informações de limite nos headers (Esperado: 180 por minuto) limit = response.headers.get('X-RateLimit-Limit') remaining = response.headers.get('X-RateLimit-Remaining') reset = response.headers.get('X-RateLimit-Reset') if limit and remaining: # Calcula a porcentagem de uso baseada no limite retornado usage_percent = ((int(limit) - int(remaining)) / int(limit)) * 100 print(f"Limite da API: {limit} requisições/minuto") print(f"Uso da API: {usage_percent:.1f}%") print(f"Requisições restantes neste minuto: {remaining}") # Alerta se o consumo passar de 80% (aprox. 144 requisições) if usage_percent > 80: print("⚠️ Atenção: Próximo do limite de rate limit (180/min)!") ``` ## Configuração por Ambiente ```python theme={null} # config/production.py import os API_KEY = os.getenv('JUDIT_API_KEY') BASE_URL = 'https://requests.prod.judit.io' TIMEOUT = 10 RETRY_ATTEMPTS = 3 ``` ### Classe de Configuração ```python theme={null} class JuditConfig: def __init__(self, environment='production'): self.environment = environment self.api_key = self._get_api_key() self.base_url = 'https://requests.prod.judit.io' def _get_api_key(self): key_name = f'JUDIT_API_KEY_{self.environment.upper()}' api_key = os.getenv(key_name) if not api_key: raise ValueError(f"API Key não encontrada: {key_name}") return api_key @property def headers(self): return { 'api-key': self.api_key, 'Content-Type': 'application/json' } # Uso config = JuditConfig('production') response = requests.get(f"{config.base_url}/requests", headers=config.headers) ``` ## Próximos Passos * **[Rate Limits](/essentialConcepts/rate-limits)**: Entenda os limites de uso * **[Paginação](/essentialConcepts/pagination)**: Configure consultas paginadas * **[Endpoints](/api-reference)**: Explore os recursos disponíveis > **Suporte**: Em caso de problemas com autenticação, entre em contato com nosso [suporte técnico](https://api.whatsapp.com/send/?phone=5511920501949). # Judit API Source: https://docs.judit.io/introduction/introduction API completa para consultas judiciais automatizadas no Brasil title ## Visão Geral A **Judit API** é uma solução completa para automação de consultas judiciais no Brasil, oferecendo acesso programático a dados processuais, monitoramento de processos e gestão de credenciais de tribunais. ### O que é a Judit API? A Judit API permite que desenvolvedores integrem funcionalidades de consulta judicial em suas aplicações, oferecendo: * **Consultas por CPF, CNPJ, OAB, NOME ou CNJ**: Busque processos usando diferentes tipos de identificadores * **Monitoramento automatizado**: Acompanhe mudanças em processos específicos * **Acesso a anexos**: Baixe documentos e anexos processuais * **Dados cadastrais**: Obtenha informações de registro de pessoas e empresas * **Gestão de credenciais**: Armazene e gerencie credenciais de tribunais de forma segura * **Consulta por mandados de prisão**: Tenha acesso a mandados de prisão com precisão e relevância das informações. * **Consulta por execução penal:**: Obtenha dados precisos e relevantes sobre processos de execução penal, garantindo acesso rápido a informações essenciais. * **JUDIT IA:**: Recurso que gera automaticamente um resumo da capa do processo, destacando as principais informações de forma clara e rápida. ### Casos de Uso Principais #### 1. Escritórios de Advocacia * Monitoramento automático de processos * Consulta rápida de andamentos processuais * Download automatizado de documentos #### 2. Departamentos Jurídicos * Acompanhamento de processos corporativos * Relatórios automatizados de status processual * Integração com sistemas internos #### 3. Fintechs e Bureaus de Crédito * Verificação de processos judiciais para análise de risco * Consultas em massa para due diligence * Monitoramento contínuo de clientes ### Primeiros Passos Para começar a usar a Judit API: 1. **Obtenha sua API Key**: Entre em contato com nosso setor [comercial](https://api.whatsapp.com/send/?phone=5521985284143) para solicitar acesso 2. **Leia o [Guia Rápido](/introduction/quickstart)**: Aprenda o fluxo básico de consultas 3. **Configure a [Autenticação](/introduction/authentication)**: Implemente a autenticação correta 4. **Explore os [Endpoints](/api-reference/endpoint/requests/create)**: Conheça todas as funcionalidades disponíveis ### Vantagens da Judit API #### ⚡ **Performance Superior** * Cache inteligente com TTL configurável * Respostas otimizadas para diferentes casos de uso * Infraestrutura distribuída para alta disponibilidade #### 🔒 **Segurança Avançada** * Autenticação via API Key * Cofre seguro para credenciais de tribunais * Criptografia end-to-end para dados sensíveis #### 📊 **Dados Estruturados** * Respostas padronizadas em JSON * Filtros avançados para consultas específicas * Metadados ricos para cada processo #### 🔄 **Monitoramento Inteligente** * Notificações automáticas de mudanças * Configuração flexível de recorrência * Controle granular de pausar/reativar ### Arquitetura da API A Judit API é composta por diferentes serviços especializados: * **Requests Service** (`requests.prod.judit.io`): Criação e consulta de requisições * **Lawsuits Service** (`lawsuits.production.judit.io`): Acesso ao datalake de processos * **Tracking Service** (`tracking.prod.judit.io`): Monitoramento de processos ### Rate Limits * **Limite padrão**: 500 requisições por minuto * **Monitoramento**: Headers de rate limit em todas as respostas * **Upgrade**: Limites personalizados disponíveis mediante contrato ### Suporte e Documentação * **Documentação completa**: Explore todos os endpoints e exemplos * **SDK Python**: Biblioteca oficial para integração rápida * **Suporte técnico**: Equipe especializada para dúvidas e implementação *** **Pronto para começar?** Acesse o [Guia Rápido](/introduction/quickstart) e faça sua primeira consulta em minutos. # Guia Rápido Source: https://docs.judit.io/introduction/quickstart Tutorial completo para fazer sua primeira consulta na Judit API ## Fluxo Básico A Judit API funciona com um padrão síncrono e assíncrono: ### Requisições com padrão assíncrono: 1. **Criar requisição** (`POST /requests`) - Inicia a consulta 2. **Aguardar processamento** (`GET /requests`) - A API busca os dados nos tribunais(Acompanhar status) 3. **Consultar resultado** (`GET /responses`) - Obtém os dados processados ### Requisições com padrão síncrono: 1. **Criar requisição** (`POST /lawsuits`) - Inicia a consulta e já entrega a resposta ## Pré-requisitos * API Key válida [(solicite acesso conosco)](https://api.whatsapp.com/send/?phone=5521985284143) * Ferramenta para fazer requisições HTTP (cURL, Postman, ou código) ### Ambientes e URLs Base (Base URLs) A Judit API opera com uma arquitetura dividida por contextos para garantir melhor performance e organização. Antes de configurar suas variáveis de ambiente, identifique a **Base URL** correspondente ao módulo que você deseja integrar: | Base URL | Módulo / Contexto | Operações Suportadas | | :------------------------------------- | :------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------- | | `https://requests.prod.judit.io` | **Consultas Assíncronas** | Consulta processual, Consulta histórica, Mandados de prisão e Execução penal (fluxos de *request* e *response*). | | `https://tracking.prod.judit.io` | **Monitoramentos** | Criar, consultar, atualizar, pausar, deletar, reativar e buscar histórico de monitoramentos processuais. | | `https://lawsuits.production.judit.io` | **Consultas Síncronas** | Consulta ao Datalake (*Hot storage*), Quantidade de processos, Consulta histórica agrupada, Busca de anexos de bucket e Dados cadastrais. | | `https://crawler.prod.judit.io` | **Crawler & Infra** | Gerenciamento do Cofre de Credenciais. | *** ## Exemplo Completo ### 1. Configurar Variáveis de Ambiente **Nota:** No exemplo abaixo, utilizaremos a URL de **Consultas Assíncronas**, mas lembre-se de substituí-la pela URL adequada ao seu caso de uso, conforme a tabela acima. ```bash theme={null} export JUDIT_API_KEY="sua-api-key-aqui" export JUDIT_BASE_URL="https://requests.prod.judit.io" ``` ### 2. Criar uma Requisição ```bash cURL theme={null} curl -X POST "$JUDIT_BASE_URL/requests" \ -H "api-key: $JUDIT_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "search": { "search_type": "cpf", "search_key": "999.999.999-99" } }' ``` ```python Python theme={null} import requests import os import time api_key = os.getenv('JUDIT_API_KEY') base_url = os.getenv('JUDIT_BASE_URL') headers = { 'api-key': api_key, 'Content-Type': 'application/json' } # Criar requisição payload = { "search": { "search_type": "cpf", "search_key": "999.999.999-99" } } response = requests.post(f"{base_url}/requests", json=payload, headers=headers) request_data = response.json() request_id = request_data['request_id'] print(f"Requisição criada: {request_id}") ``` ```javascript JavaScript theme={null} const apiKey = process.env.JUDIT_API_KEY; const baseUrl = process.env.JUDIT_BASE_URL; const headers = { 'api-key': apiKey, 'Content-Type': 'application/json' }; // Criar requisição const payload = { search: { search_type: 'cpf', search_key: '999.999.999-99', cache_ttl_in_days: 7 } }; const response = await fetch(`${baseUrl}/requests`, { method: 'POST', headers: headers, body: JSON.stringify(payload) }); const requestData = await response.json(); const requestId = requestData.request_id; console.log(`Requisição criada: ${requestId}`); ``` ```php PHP theme={null} [ 'search_type' => 'cpf', 'search_key' => '999.999.999-99' 'cache_ttl_in_days' => 7 ] ]; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $baseUrl . '/requests'); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload)); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); $requestData = json_decode($response, true); $requestId = $requestData['request_id']; echo "Requisição criada: " . $requestId . "\n"; curl_close($ch); ?> ``` ```go Go theme={null} package main import ( "bytes" "encoding/json" "fmt" "io" "net/http" "os" ) type SearchRequest struct { Search struct { SearchType string `json:"search_type"` SearchKey string `json:"search_key"` ResponseType string `json:"response_type"` CacheTTLInDays int `json:"cache_ttl_in_days"` } `json:"search"` } type RequestResponse struct { RequestID string `json:"request_id"` } func main() { apiKey := os.Getenv("JUDIT_API_KEY") baseURL := os.Getenv("JUDIT_BASE_URL") // Criar requisição payload := SearchRequest{} payload.Search.SearchType = "cpf" payload.Search.SearchKey = "999.999.999-99" payload.Search.CacheTTLInDays = 7 jsonData, _ := json.Marshal(payload) req, _ := http.NewRequest("POST", baseURL+"/requests", bytes.NewBuffer(jsonData)) req.Header.Set("api-key", apiKey) req.Header.Set("Content-Type", "application/json") client := &http.Client{} resp, err := client.Do(req) if err != nil { panic(err) } defer resp.Body.Close() body, _ := io.ReadAll(resp.Body) var requestData RequestResponse json.Unmarshal(body, &requestData) fmt.Printf("Requisição criada: %s\n", requestData.RequestID) } ``` ### 3. Verificar Status da Requisição ```bash cURL theme={null} curl -X GET "$JUDIT_BASE_URL/requests/$REQUEST_ID" \ -H "api-key: $JUDIT_API_KEY" ``` ```python Python theme={null} # Verificar status status_response = requests.get(f"{base_url}/requests/{request_id}", headers=headers) status_data = status_response.json() print(f"Status: {status_data['status']}") # Aguardar conclusão while status_data['status'] in ['pending', 'processing']: time.sleep(5) # Aguardar 5 segundos status_response = requests.get(f"{base_url}/requests/{request_id}", headers=headers) status_data = status_response.json() print(f"Status: {status_data['status']}") ``` ```javascript JavaScript theme={null} // Verificar status let statusResponse = await fetch(`${baseUrl}/requests/${requestId}`, { headers: headers }); let statusData = await statusResponse.json(); console.log(`Status: ${statusData.status}`); // Aguardar conclusão while (['pending', 'processing'].includes(statusData.status)) { await new Promise(resolve => setTimeout(resolve, 5000)); // 5 segundos statusResponse = await fetch(`${baseUrl}/requests/${requestId}`, { headers: headers }); statusData = await statusResponse.json(); console.log(`Status: ${statusData.status}`); } ``` ```php PHP theme={null} ``` ```go Go theme={null} // Verificar status statusURL := baseURL + "/requests/" + requestData.RequestID statusReq, _ := http.NewRequest("GET", statusURL, nil) statusReq.Header.Set("api-key", apiKey) statusResp, err := client.Do(statusReq) if err != nil { panic(err) } defer statusResp.Body.Close() statusBody, _ := io.ReadAll(statusResp.Body) var statusData map[string]interface{} json.Unmarshal(statusBody, &statusData) fmt.Printf("Status: %s\n", statusData["status"]) // Aguardar conclusão for statusData["status"] == "pending" || statusData["status"] == "processing" { time.Sleep(5 * time.Second) // Aguardar 5 segundos statusResp, _ := client.Do(statusReq) statusBody, _ := io.ReadAll(statusResp.Body) json.Unmarshal(statusBody, &statusData) fmt.Printf("Status: %s\n", statusData["status"]) statusResp.Body.Close() } ``` ### 4. Obter Resultados Quando o status for `completed`, consulte os resultados: ```bash cURL theme={null} curl -X GET "$JUDIT_BASE_URL/responses?page=1" \ -H "api-key: $JUDIT_API_KEY" ``` ```python Python theme={null} # Obter resultados if status_data['status'] == 'completed': results_response = requests.get(f"{base_url}/responses", headers=headers, params={'page': 1}) results = results_response.json() print("Processos encontrados:") for item in results.get('page_data', []): print(f"- {item}") ``` ```javascript JavaScript theme={null} // Obter resultados if (statusData.status === 'completed') { const resultsResponse = await fetch(`${baseUrl}/responses?page=1`, { headers: headers }); const results = await resultsResponse.json(); console.log('Processos encontrados:'); results.page_data?.forEach(item => { console.log(`- ${JSON.stringify(item)}`); }); } ``` ```php PHP theme={null} ``` ```go Go theme={null} // Obter resultados if statusData["status"] == "completed" { resultsURL := baseURL + "/responses?page=1" resultsReq, _ := http.NewRequest("GET", resultsURL, nil) resultsReq.Header.Set("api-key", apiKey) resultsResp, err := client.Do(resultsReq) if err != nil { panic(err) } defer resultsResp.Body.Close() resultsBody, _ := io.ReadAll(resultsResp.Body) var results map[string]interface{} json.Unmarshal(resultsBody, &results) fmt.Println("Processos encontrados:") if pageData, ok := results["page_data"].([]interface{}); ok { for _, item := range pageData { itemJSON, _ := json.Marshal(item) fmt.Printf("- %s\n", string(itemJSON)) } } } ``` ## Tipos de Consulta Disponíveis ```json Por CPF theme={null} { "search": { "search_type": "cpf", "search_key": "999.999.999-99" } } ``` ```json Por CNPJ theme={null} { "search": { "search_type": "cnpj", "search_key": "999.999/99999-99" } } ``` ```json Por OAB theme={null} { "search": { "search_type": "oab", "search_key": "999999-SP } } ``` ```json Por CNJ theme={null} { "search": { "search_type": "lawsuit_cnj", "search_key": "9999999-99.9999.9.99.9999" } } ``` ```json Por NOME theme={null} { "search": { "search_type": "name", "search_key": "Nome teste" } } ``` ## Tipos de Resposta * **`parties`**: Apenas informações das partes * **`attachments`**: Lista de anexos disponíveis * **`step`**: Movimentações processuais ## Filtros Avançados Para consultas mais específicas por documento, é possivel utilizar [filtros](/requests/request-document#payload-da-solicitação): ```json theme={null} { "search": { "search_type": "cpf", "search_key": "999.999.999-99", "search_params": { "filter": { "side":"passive", "amount_gte": 10000, "distribution_date_gte": "2024-10-10T00:00:00.000Z", "tribunals": { "keys": ["TJSP", "TJRJ"], "not_equal": false } } } } } ``` ## Boas Práticas ### 1. **Use Cache Inteligente** > **💡 Boa Prática para Consultas Assíncronas:** Se você está realizando requisições assíncronas (via `https://requests.prod.judit.io`), a utilização do parâmetro de cache é altamente recomendada. Isso acelera drasticamente o tempo de resposta do Webhook e otimiza o consumo da API. Configure o parâmetro `cache_ttl_in_days` no corpo do seu *request* para evitar buscas redundantes nos tribunais. Esse campo define por exatos quantos dias um resultado já armazenado na base da Judit será considerado válido antes de forçar uma nova extração. ```json theme={null} { "cache_ttl_in_days": 7 // Usar cache por até 7 dias } ``` ### 2. **Implemente Retry com Backoff** ```javascript theme={null} function sleep(ms) { return new Promise((resolve) => setTimeout(resolve, ms)); } // Função setTimeout auxiliar de pausa baseada em setTimeout (nativa do JavaScript) async function retryWithBackoff(func, maxRetries = 3) { for (let attempt = 0; attempt < maxRetries; attempt++) { try { return await func(); } catch (error) { if (attempt === maxRetries - 1) { throw error; // Última tentativa falhou, propaga o erro } // Backoff exponencial + jitter aleatório const waitTime = (2 ** attempt) * 1000 + Math.random() * 1000; console.log( `Tentativa ${attempt + 1} falhou. Aguardando ${waitTime.toFixed(0)}ms antes de tentar novamente...` ); await sleep(waitTime); } } } ``` ## Próximos Passos * **[Autenticação](/introduction/authentication)**: Configure a autenticação adequada * **[Endpoints](/api-reference)**: Explore todos os endpoints disponíveis * **[Suporte](https://api.whatsapp.com/send/?phone=5511920501949)**: Entre em contato com nosso suporte técnico para mais informações. > **Dica**: Para desenvolvimento, use o [Postman Collection](https://drive.google.com/file/d/1PTNJjVzu65F-CGxFOXX82hwMctG1WxWU/view) com exemplos prontos da Judit API. # Busca por Dados Cadastrais Source: https://docs.judit.io/registration-data/registration-data Esta página tem como objetivo mostrar o fluxo de Consulta por dados cadastrais. Para consultar dados cadastrais via CPF, CNPJ ou Nome, a requisição deve ser realizada através do endpoint `/requests/create` da API de lawsuits. A consulta por dados cadastrais pode ser realizada diretamente em nosso datalake ou em tempo real na receita federal, para que sejam consultados os dados em tempo real, basta adicionar o parâmentro `on-demand` com o valor `true` no payload da requisção. Na consulta por dados cadastrais, o search\_type deve ser 'cpf', 'cnpj' ou 'name', já o campo response\_type deverá sempre ser 'entity'. **Exemplo de Consulta por CPF:** ```bash theme={null} curl --location 'https://lawsuits.prod.judit.io/requests/create' \ --header 'Content-Type: application/json' \ --header 'api-key: ' \ --data '{ "search": { "search_type": "cpf", "search_key": "999.999.999-99", "response_type": "entity" } }' ``` **Exemplo de Consulta por CNPJ:** ```bash theme={null} curl --location 'https://lawsuits.prod.judit.io/requests/create' \ --header 'Content-Type: application/json' \ --header 'api-key: ' \ --data '{ "search": { "search_type": "cnpj", "search_key": "99.999.999/9999-99", "response_type": "entity" } }' ``` **Exemplo de Consulta por Nome:** Ao realizar consultas por nome na busca de dados cadastrais, é possível que existam homônimos (pessoas ou empresas com o mesmo nome). Recomendamos que, sempre que possível, utilize identificadores únicos, como CPF ou CNPJ, para garantir maior precisão nos resultados. ```bash theme={null} curl --location 'https://lawsuits.prod.judit.io/requests/create' \ --header 'Content-Type: application/json' \ --header 'api-key: ' \ --data '{ "search": { "search_type": "name", "search_key": "Nome teste", "response_type": "entity" } }' ``` Ao realizar uma consulta por CNPJ, é possível obter informações detalhadas, incluindo dados não mascarados dos sócios associados ao CNPJ consultado. Para acessar essas informações, basta incluir a propriedade `reveal_partners_documents` e definir seu valor como `true`. ***Resposta por CPF*** ```json theme={null} { "has_lawsuits": false, "request_id": "5c618521-2ecc-4176-a573-431d2e0edeb2", "response_data": [ { "entity_id": "", "entity_type": "person", "main_document": "999.999.999-99", "name": "JOÃO TESTE", "addresses": [ { "street": "RUA RAMOS DE CARVALHO", "number": "999", "complement": "", "neighborhood": "CENTRO", "city": "RIO DE JANEIRO", "state": "RJ", "country": "Brasil", "zip_code": "99999999", "ibge_code": 9999999 } ], "aka_names": [], "contacts": [ { "description": "21999999999", "contact_type": "phone" } ], "documents": [], "parents": [ { "name": "JANAINA DA SILVA", "kinship": "mother" } ], "partners": [], "associated_people": [], "tags": { "revenue_update_date": "2022-05-30T00:00:00.000Z" }, "created_at": "2024-10-12T13:28:59.051Z", "updated_at": "2024-10-12T13:28:59.051Z", "nationality": "BRASILEIRA", "birth_date": "1981-08-07T00:00:00.000Z", "gender": "male", "revenue_service_active": true } ] } ``` ***Resposta por CNPJ*** ```json theme={null} { "has_lawsuits": false, "request_id": "6e5a24f7-f874-4234-8acc-419142e2b066", "response_data": [ { "entity_id": "", "entity_type": "company", "main_document": "99.999.999/0009-99", "name": "FINGI - EM RECUPERACAO JUDICIAL", "social_name": "FING", "addresses": [ { "street": "RUA DO JOÃO CIRILO", "number": "99", "complement": "ANDAR 9", "neighborhood": "CENTRO", "city": "RIO DE JANEIRO", "state": "RJ", "country": "BRASIL", "zip_code": "99999999", "ibge_code": 999999 } ], "aka_names": [], "contacts": [ { "description": "999999999", "contact_type": "phone" }, { "description": "999999999", "contact_type": "phone" }, { "description": "ouvidoria@fing.com.br", "contact_type": "email" } ], "documents": [], "parents": [], "partners": [ { "entity_id": "", "entity_type": "company", "main_document": "***999999**", "name": "JOÃO DE OLIVEIRA SOUZA", "position": "CONSELHEIRO DE ADMINISTRAÇÃO", "addresses": [], "aka_names": [], "contacts": [], "documents": [], "parents": [], "partners": [], "branch_activities": [], "associated_people": [], "tags": { "age_group": "Entre 61 a 70 anos", "start_date": "2018-09-25T00:00:00.000Z" }, "created_at": "2024-10-12T13:32:25.135Z", "updated_at": "2024-10-12T13:32:25.135Z" } ], "branch_activities": [ { "code": "9999999", "name": "SERVIÇOS DE ATENDIMENTO AO CLIENTE - SAC", "active": true, "main_activity": true, "tree_history": "" }, { "code": "9999999", "name": "CONSTRUÇÃO DE ESTAÇÕES E REDES", "active": true, "main_activity": false, "tree_history": "" } ], "associated_people": [], "tags": { "revenue_update_date": "2005-11-03T00:00:00.000Z" }, "created_at": "2024-10-12T13:32:25.134Z", "updated_at": "2024-10-12T13:32:25.134Z", "nationality": "BRASILEIRA", "birth_date": "1966-09-26T00:00:00.000Z", "size": "DEMAIS", "legal_nature": { "code": "2046", "name": "SOCIEDADE ANÔNIMA ABERTA", "active": true }, "head_office": true, "revenue_service_active": true, "special_status": "RECUPERACAO JUDICIAL", "special_status_date": "2016-06-29T00:00:00.000Z", "share_capital": 99999999999 } ] } ``` ***Resposta por Nome*** ```json theme={null} { "request_id": "223458ec-f3a1-4851-8d2b-19672066565c", "response_data": [ { "entity_id": "999.999.999-99", "entity_type": "person", "main_document": "999.999.999-99", "name": "Usuário Teste", "addresses": [], "aka_names": [], "contacts": [], "documents": [], "parents": [ { "name": "Usuário teste 1", "kinship": "mother" } ], "partners": [], "associated_people": [], "tags": {}, "created_at": "2025-04-19T00:14:56.561Z", "updated_at": "2025-04-19T00:14:56.561Z", "nationality": "BRASILEIRA", "birth_date": "1989-12-25T00:00:00.000Z", "gender": "male" } ] } ``` Ao realizar uma consulta por CNPJ, é possível obter informações detalhadas, incluindo dados não mascarados dos sócios associados ao CNPJ consultado. Para acessar essas informações, basta incluir a propriedade `reveal_partners_documents` e definir seu valor como `true`. O significado de cada campo pode ser encontrado no **[glossário](/resource/glossary)** # Consulta Customizada Source: https://docs.judit.io/requests/custom-search Esta página descreve o fluxo da Consulta Customizada. A **Consulta Customizada** permite realizar buscas com base em filtros específicos, sem a necessidade de informar CPF, CNPJ, OAB ou nome como ponto de partida. Retornamos processos de todos os tribunais que atendem aos critérios definidos. Essa modalidade é ideal para identificar processos com determinadas características em um amplo espectro de jurisdições. Esse tipo de consulta está disponível apenas por meio de **relatório sob demanda**. Caso tenha interesse nesse serviço, entre em contato com nosso time [comercial](https://api.whatsapp.com/send/?phone=5521985284143). A seguir, listamos os principais filtros que podem ser utilizados na consulta customizada: * **Tipo de participação**: permite filtrar por processos onde a parte principal seja autora, ré, interessada ou indefinida. * **Valor da causa**: é possível filtrar processos com valor da causa acima ou abaixo de um determinado valor. * **Tribunais**: permite incluir ou excluir tribunais específicos da consulta, com base na lista de tribunais atendidos. * **Assuntos processuais**: permite incluir ou excluir determinados assuntos jurídicos, com base em seus códigos oficiais. * **Classes processuais**: permite filtrar os processos por tipos específicos de classe (como ações civis públicas, mandados de segurança, entre outros). * **Data de distribuição**: permite definir uma data mínima de distribuição dos processos a serem retornados. * **Data da última movimentação**: permite filtrar os processos com base na data da última movimentação registrada. * **Nomes das partes**: restringe a busca a processos que contenham determinados nomes de pessoas ou empresas entre as partes. * **Documentos das partes**: restringe a busca a processos que contenham determinados CPFs ou CNPJs nas partes do processo. * **Uso de credenciais específicas**: permite associar a consulta a credenciais previamente cadastradas no [cofre de credenciais](/essentials/cofre-de-credenciais), garantindo acesso a processos que exigem autenticação. # Consulta Histórica (Por Documento) Source: https://docs.judit.io/requests/request-document Aprenda o fluxo assíncrono para buscar o histórico completo de processos vinculados a um CPF, CNPJ, OAB ou Nome. Entenda como criar a requisição, acompanhar o status e filtrar a resposta final. > Esta página documenta exclusivamente o fluxo **Assíncrono** de consulta histórica. O cliente deve fazer um `POST /requests`, aguardar o processamento (`GET /requests/{id}`) e resgatar os dados no `GET /responses`. A resposta da Consulta Histórica retorna um array paginado contendo exclusivamente a Capa e as Partes do processo (omitindo andamentos, anexos, fase e status). É possível filtrar os resultados tanto no payload do POST inicial quanto nas *query strings* do GET final. ## Síncrono vs. Assíncrono Antes de integrar, é fundamental entender a diferença de arquitetura que a Judit oferece para este endpoint: * **Consulta Síncrona (Datalake Hotstorage):** A resposta com todos os processos é devolvida instantaneamente no corpo (`body`) do próprio `POST`. Não exige checagem de status. Ideal para fluxos sensíveis à latência da resposta como onboardings. *[Veja a documentação Síncrona aqui](/cache-judit/hotstorage).* * **Consulta Assíncrona (Datalake / On-Demand):** É o fluxo que abordaremos nesta página. Busca em múltiplas fontes externas ou diretamente nos tribunais (On-Demand) em tempo real. Exige um fluxo de 3 etapas (Criar -> Checar -> Consumir). *** ## Passo 1: Criar a Requisição de Busca (POST) Para iniciar o fluxo assíncrono, faça uma requisição `POST` informando o documento desejado. `POST https://requests.prod.judit.io/requests` ### Exemplos de consultas históricas ```json Consulta por CPF theme={null} { "search": { "search_type": "cpf", "search_key": "999.999.999-99" } } ``` ```json Consulta por CNPJ theme={null} { "search": { "search_type": "cnpj", "search_key": "99.999.999/9999-99" } } ``` ```json Consulta por OAB theme={null} { "search": { "search_type": "oab", "search_key": "99999RJ" } } ``` ```json Consulta por Nome theme={null} { "search": { "search_type": "name", "search_key": "João Silva" } } ``` Ao realizar consultas por nome, é possível que existam homônimos (pessoas ou empresas com o mesmo nome). Recomendamos que, sempre que possível, utilize identificadores únicos, como CPF ou CNPJ, para garantir maior precisão nos resultados. ### Parâmetros Base do Payload | Parâmetro | Tipo | Obrigatório | Descrição | | :------------------- | :------ | :---------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `search.search_type` | string | **Sim** | tipo de entidade que será buscada: `"cpf"`, `"cnpj"`, `"oab"` ou `"name"`. | | `search.search_key` | string | **Sim** | O valor a ser buscado (ex: `"999.999.999-99"`, `João Silva`). | | `search.on_demand` | boolean | Não | Se `true`, força a busca em tempo real nos tribunais em vez do Datalake. | | `cache_ttl_in_days` | integer | Não | Considera o cache válido se a última extração ocorreu nos últimos X dias. | | `customer_key` | string | Não | Chave do usuário no Cofre de Credenciais (usado para acessar os tribunais com credenciais cadastrada no [cofre de credenciais](/essentials/cofre-de-credenciais)). | **Sobre o uso da `customer_key`:** Esta credencial só terá efeito se o parâmetro `on_demand` for igual a `true`. Ao informá-la, a Judit acessará os tribunais de forma autenticada, permitindo a captura de **processos em segredo de justiça** aos quais o dono da credencial (advogado) esteja previamente vinculado ao respectivo processo. ```json request assíncrona theme={null} { "search": { "search_type": "cpf", "search_key": "999.999.999-99", "cache_ttl_in_days": 7 } } ``` ```json request on-demand theme={null} { "search": { "search_type": "cpf", "search_key": "999.999.999-99", "on_demand": true } } ``` ```json request on-demand com customer_key theme={null} { "search": { "search_type": "cpf", "search_key": "999.999.999-99", "on_demand": true, "customer_key: "ADV01" } } ``` ### Filtros Prévios da Requisição (`search_params.filter`) Você pode restringir a busca inicial enviando o objeto `filter` dentro de `search_params` no corpo (body) do seu POST. Isso é altamente recomendado, pois evita que o robô perca tempo processando varas ou tribunais de estados ou anos que não importam para o seu negócio. Abaixo, detalhamos como construir cada filtro passo a passo. #### 1. Filtros de Polo e Valor da Causa Permite buscar processos onde a pessoa processou alguém, foi processada, ou filtrar por valores em reais. * `side` (string): De qual lado do processo o documento buscado está? * `"Active"` (Autor da ação) * `"Passive"` (Réu na ação) * `"Interested"` (Terceiro interessado) * `"Unknown"` (Polo não identificado) * `amount_gte` (number): Valor da causa **Maior ou Igual a** (GTE = *Greater Than or Equal*). * `amount_lte` (number): Valor da causa **Menor ou Igual a** (LTE = *Less Than or Equal*). ```json theme={null} // Quero achar processos onde o cliente é o Réu ("Passive") // E o valor da causa é entre R$ 10.000 e R$ 50.000 { "search": { "search_type": "cpf", "search_key": "999.999.999-99", "search_params": { "filter": { "side": "Passive", "amount_gte": 10000.00, "amount_lte": 50000.00 } } } } ``` #### 2. Filtros de Tribunal (A Regra de Inclusão e Exclusão) Para filtrar por estados ou tribunais específicos, usamos o objeto `tribunals`. Ele exige duas informações: a lista de siglas (`keys`) e uma regra de negação (`not_equal`). ## Lista de Tribunais Aceitos (Filtros) Utilize as siglas exatas da coluna **Sigla (Key)** abaixo quando for realizar filtros por tribunais (ex: no parâmetro `tribunals.keys`). | Sigla (Key) | Nome Oficial do Órgão | | :---------- | :--------------------------------------- | | `STF` | SUPREMO TRIBUNAL FEDERAL | | `STJ` | SUPERIOR TRIBUNAL DE JUSTIÇA | | `TST` | TRIBUNAL SUPERIOR DO TRABALHO | | `TSE` | TRIBUNAL SUPERIOR ELEITORAL | | `STM` | SUPERIOR TRIBUNAL MILITAR | | `CNJ` | CONSELHO NACIONAL DE JUSTIÇA | | `CJF` | CONSELHO DA JUSTIÇA FEDERAL | | `CSJT` | CONSELHO SUPERIOR DA JUSTIÇA DO TRABALHO | | Sigla (Key) | Nome Oficial do Órgão | | :---------- | :------------------------------------- | | `TRF1` | TRIBUNAL REGIONAL FEDERAL DA 1ª REGIÃO | | `TRF2` | TRIBUNAL REGIONAL FEDERAL DA 2ª REGIÃO | | `TRF3` | TRIBUNAL REGIONAL FEDERAL DA 3ª REGIÃO | | `TRF4` | TRIBUNAL REGIONAL FEDERAL DA 4ª REGIÃO | | `TRF5` | TRIBUNAL REGIONAL FEDERAL DA 5ª REGIÃO | | Sigla (Key) | Nome Oficial do Órgão | | :---------- | :-------------------------------- | | `TRT1` | TRT DA 1ª REGIÃO (RJ) | | `TRT2` | TRT DA 2ª REGIÃO (SP - Capital) | | `TRT3` | TRT DA 3ª REGIÃO (MG) | | `TRT4` | TRT DA 4ª REGIÃO (RS) | | `TRT5` | TRT DA 5ª REGIÃO (BA) | | `TRT6` | TRT DA 6ª REGIÃO (PE) | | `TRT7` | TRT DA 7ª REGIÃO (CE) | | `TRT8` | TRT DA 8ª REGIÃO (PA/AP) | | `TRT9` | TRT DA 9ª REGIÃO (PR) | | `TRT10` | TRT DA 10ª REGIÃO (DF/TO) | | `TRT11` | TRT DA 11ª REGIÃO (AM/RR) | | `TRT12` | TRT DA 12ª REGIÃO (SC) | | `TRT13` | TRT DA 13ª REGIÃO (PB) | | `TRT14` | TRT DA 14ª REGIÃO (RO/AC) | | `TRT15` | TRT DA 15ª REGIÃO (SP - Campinas) | | `TRT16` | TRT DA 16ª REGIÃO (MA) | | `TRT17` | TRT DA 17ª REGIÃO (ES) | | `TRT18` | TRT DA 18ª REGIÃO (GO) | | `TRT19` | TRT DA 19ª REGIÃO (AL) | | `TRT20` | TRT DA 20ª REGIÃO (SE) | | `TRT21` | TRT DA 21ª REGIÃO (RN) | | `TRT22` | TRT DA 22ª REGIÃO (PI) | | `TRT23` | TRT DA 23ª REGIÃO (MT) | | `TRT24` | TRT DA 24ª REGIÃO (MS) | | Sigla (Key) | Nome Oficial do Órgão | | :---------- | :---------------------------------------------------- | | `TJAC` | TRIBUNAL DE JUSTIÇA DO ACRE | | `TJAL` | TRIBUNAL DE JUSTIÇA DO ALAGOAS | | `TJAP` | TRIBUNAL DE JUSTIÇA DO AMAPÁ | | `TJAM` | TRIBUNAL DE JUSTIÇA DO AMAZONAS | | `TJBA` | TRIBUNAL DE JUSTIÇA DA BAHIA | | `TJCE` | TRIBUNAL DE JUSTIÇA DO CEARÁ | | `TJDF` | TRIBUNAL DE JUSTIÇA DO DISTRITO FEDERAL E TERRITÓRIOS | | `TJES` | TRIBUNAL DE JUSTIÇA DO ESPÍRITO SANTO | | `TJGO` | TRIBUNAL DE JUSTIÇA DE GOIÁS | | `TJMA` | TRIBUNAL DE JUSTIÇA DO MARANHÃO | | `TJMT` | TRIBUNAL DE JUSTIÇA DO MATO GROSSO | | `TJMS` | TRIBUNAL DE JUSTIÇA DO MATO GROSSO DO SUL | | `TJMG` | TRIBUNAL DE JUSTIÇA DE MINAS GERAIS | | `TJPA` | TRIBUNAL DE JUSTIÇA DO PARÁ | | `TJPB` | TRIBUNAL DE JUSTIÇA DA PARAÍBA | | `TJPR` | TRIBUNAL DE JUSTIÇA DO PARANÁ | | `TJPE` | TRIBUNAL DE JUSTIÇA DE PERNAMBUCO | | `TJPI` | TRIBUNAL DE JUSTIÇA DO PIAUÍ | | `TJRJ` | TRIBUNAL DE JUSTIÇA DO RIO DE JANEIRO | | `TJSP` | TRIBUNAL DE JUSTIÇA DE SÃO PAULO | | `TJRN` | TRIBUNAL DE JUSTIÇA DO RIO GRANDE DO NORTE | | `TJRS` | TRIBUNAL DE JUSTIÇA DO RIO GRANDE DO SUL | | `TJRO` | TRIBUNAL DE JUSTIÇA DE RONDÔNIA | | `TJRR` | TRIBUNAL DE JUSTIÇA DE RORAIMA | | `TJSC` | TRIBUNAL DE JUSTIÇA DE SANTA CATARINA | | `TJSE` | TRIBUNAL DE JUSTIÇA DE SERGIPE | | Sigla (Key) | Nome Oficial do Órgão | | :---------- | :------------------------------------------------- | | `TRE-AC` | TRIBUNAL REGIONAL ELEITORAL DO ACRE | | `TRE-AL` | TRIBUNAL REGIONAL ELEITORAL DO ALAGOAS | | `TRE-AP` | TRIBUNAL REGIONAL ELEITORAL DO AMAPÁ | | `TRE-AM` | TRIBUNAL REGIONAL ELEITORAL DO AMAZONAS | | `TRE-BA` | TRIBUNAL REGIONAL ELEITORAL DA BAHIA | | `TRE-CE` | TRIBUNAL REGIONAL ELEITORAL DO CEARÁ | | `TRE-DF` | TRIBUNAL REGIONAL ELEITORAL DO DISTRITO FEDERAL | | `TRE-ES` | TRIBUNAL REGIONAL ELEITORAL DO ESPÍRITO SANTO | | `TRE-GO` | TRIBUNAL REGIONAL ELEITORAL DE GOIÁS | | `TRE-MA` | TRIBUNAL REGIONAL ELEITORAL DO MARANHÃO | | `TRE-MT` | TRIBUNAL REGIONAL ELEITORAL DO MATO GROSSO | | `TRE-MS` | TRIBUNAL REGIONAL ELEITORAL DO MATO GROSSO DO SUL | | `TRE-MG` | TRIBUNAL REGIONAL ELEITORAL DE MINAS GERAIS | | `TRE-PA` | TRIBUNAL REGIONAL ELEITORAL DO PARÁ | | `TRE-PB` | TRIBUNAL REGIONAL ELEITORAL DA PARAÍBA | | `TRE-PR` | TRIBUNAL REGIONAL ELEITORAL DO PARANÁ | | `TRE-PE` | TRIBUNAL REGIONAL ELEITORAL DE PERNAMBUCO | | `TRE-PI` | TRIBUNAL REGIONAL ELEITORAL DO PIAUÍ | | `TRE-RJ` | TRIBUNAL REGIONAL ELEITORAL DO RIO DE JANEIRO | | `TRE-RN` | TRIBUNAL REGIONAL ELEITORAL DO RIO GRANDE DO NORTE | | `TRE-RS` | TRIBUNAL REGIONAL ELEITORAL DO RIO GRANDE DO SUL | | `TRE-RO` | TRIBUNAL REGIONAL ELEITORAL DE RONDÔNIA | | `TRE-RR` | TRIBUNAL REGIONAL ELEITORAL DE RORAIMA | | `TRE-SC` | TRIBUNAL REGIONAL ELEITORAL DE SANTA CATARINA | | `TRE-SE` | TRIBUNAL REGIONAL ELEITORAL DE SERGIPE | | `TRE-SP` | TRIBUNAL REGIONAL ELEITORAL DE SÃO PAULO | | `TRE-TO` | TRIBUNAL REGIONAL ELEITORAL DO TOCANTINS | | Sigla (Key) | Nome Oficial do Órgão | | :---------- | :--------------------------------------------------------- | | `CJM1` | PRIMEIRA CIRCUNSCRIÇÃO JUDICIÁRIA MILITAR | | `CJM2` | SEGUNDA CIRCUNSCRIÇÃO JUDICIÁRIA MILITAR | | `CJM3` | TERCEIRA CIRCUNSCRIÇÃO JUDICIÁRIA MILITAR | | `CJM4` | QUARTA CIRCUNSCRIÇÃO JUDICIÁRIA MILITAR | | `CJM5` | QUINTA CIRCUNSCRIÇÃO JUDICIÁRIA MILITAR | | `CJM6` | SEXTA CIRCUNSCRIÇÃO JUDICIÁRIA MILITAR | | `CJM7` | SÉTIMA CIRCUNSCRIÇÃO JUDICIÁRIA MILITAR | | `CJM8` | OITAVA CIRCUNSCRIÇÃO JUDICIÁRIA MILITAR | | `CJM9` | NONA CIRCUNSCRIÇÃO JUDICIÁRIA MILITAR | | `CJM10` | DÉCIMA CIRCUNSCRIÇÃO JUDICIÁRIA MILITAR | | `CJM11` | DÉCIMA PRIMEIRA CIRCUNSCRIÇÃO JUDICIÁRIA MILITAR | | `CJM12` | DÉCIMA SEGUNDA CIRCUNSCRIÇÃO JUDICIÁRIA MILITAR | | `TJM-MG` | TRIBUNAL DE JUSTIÇA MILITAR DO ESTADO DE MINAS GERAIS | | `TJM-RS` | TRIBUNAL DE JUSTIÇA MILITAR DO ESTADO DO RIO GRANDE DO SUL | | `TJM-SP` | TRIBUNAL DE JUSTIÇA MILITAR DO ESTADO DE SÃO PAULO | * **Inclusão:** Se `not_equal` for `false`, a API vai buscar **APENAS** nos tribunais da lista. * **Exclusão:** Se `not_equal` for `true`, a API vai buscar no Brasil inteiro, **EXCETO** nos tribunais da lista. ```json Buscar APENAS nestes theme={null} // Traz apenas processos de São Paulo e Bahia { "search": { "search_type": "cpf", "search_key": "999.999.999-99", "search_params": { "filter": { "tribunals": { "keys": [ "TJSP", "TJBA" ], "not_equal": false } } } } } ``` ```json Buscar em TODOS, MENOS nestes theme={null} // Traz do Brasil inteiro, mas ignora a Justiça Federal (TRFs) { "search": { "search_type": "cpf", "search_key": "999.999.999-99", "search_params": { "filter": { "tribunals": { "keys": [ "TRF1", "TRF2", "TRF3", "TRF4", "TRF5", "TRF6" ], "not_equal": true } } } } } ``` #### 3. Filtros de Assunto e Classe (Padrão CNJ) A Judit API utiliza as **Tabelas Processuais Unificadas (TPU)** oficiais do Conselho Nacional de Justiça (CNJ). Você pode filtrar processos inserindo os códigos numéricos exatos dessas tabelas. 👉 *Para descobrir os códigos oficiais de Classes e Assuntos, acesse a [Consulta Pública do SGT/CNJ](https://www.cnj.jus.br/sgt/consulta_publica_classes.php).* A mecânica de filtro funciona da seguinte forma: * **Assuntos (`subject_codes`):** Usa as listas `contains` (Quero processos que contenham estes códigos) e `not_contains` (Não quero processos que contenham estes códigos). * **Classes (`classification_codes`):** Usa a lista `keys` e a regra `not_equal` (a mesma lógica de inclusão/exclusão dos tribunais). ```json theme={null} { "search": { "search_type": "cpf", "search_key": "99999999999", "search_params": { "filter": { // Quero processos que tenham o assunto 10433, mas rejeito se tiver o 1120 "subject_codes": { "contains": [ "10433" ], "not_contains": [ "1120" ] }, // Quero EXATAMENTE a classe processual 985 (ex: Ação Trabalhista) "classification_codes": { "keys": [ "985" ], "not_equal": false } } } } } ``` #### 4. Filtros de Datas e Prazos Otimize a busca por recortes de tempo usando o formato universal de datas (ISO 8601: `AAAA-MM-DDTHH:mm:ss.sssZ`). * `distribution_date_gte` (string): Traz processos distribuídos (iniciados) **a partir de** uma data. * `last_step_date_gte` (string): Traz processos cuja **última movimentação** ocorreu **a partir de** uma data. * `last_step_date_lte` (string): Traz processos cuja **última movimentação** ocorreu **antes de** uma data. ```json theme={null} { "search": { "search_type": "cpf", "search_key": "99999999999", "search_params": { // Quero processos que tiveram alguma movimentação a partir de 10 de Outubro de 2024 "filter": { "last_step_date_gte": "2024-10-10T00:00:00.000Z" } } } } ``` #### 5. Filtros Restritivos de Outras Partes Quer saber se o João processou a Empresa X? Você pode usar os filtros de Nomes e Documentos de outras partes envolvidas no processo. * `party_names` (array de strings): Lista de nomes exatos que devem constar no processo. * `party_documents` (array de strings): Lista de CPFs/CNPJs que devem constar no processo. **Atenção ao usar junto com o filtro `side`:** Se você usar o filtro `party_names` ou `party_documents` junto com o filtro `side`, a regra de "Polo" (Autor/Réu) será aplicada apenas ao documento principal que você está pesquisando, e **não** aos nomes/documentos extras listados aqui. ```json theme={null} { "search": { "search_type": "cpf", "search_key": "99999999999", "search_params": { // Buscando o CPF principal (via search_key), mas exigindo que // a "Empresa Exemplo" ou o CNPJ "99.999.999/0001-99" também estejam no processo. "filter": { "party_names": [ "EMPRESA EXEMPLO LTDA" ], "party_documents": [ "99999999000199" ] } } } } ``` ### Exemplo de Requisição (POST) ```bash cURL (Passo 1) theme={null} curl --location 'https://requests.prod.judit.io/requests/' \ --header 'Content-Type: application/json' \ --header 'api-key: ' \ --data '{ "search": { "search_type": "cpf", "search_key": "999.999.999-99", "on_demand": true, "search_params": { "filter": { "side": "Passive", "tribunals": { "keys": ["TJBA"], "not_equal": false } } } } }' ``` Guarde o `request_id` (ex: `05ee9825...`) gerado na resposta desta chamada. Ele é o seu passaporte para os próximos passos. *** **🚀 Atalho: Automatize com Webhooks (Recomendado)** Se você possui uma URL de Webhook configurada, **os Passos 2 e 3 abaixo são totalmente opcionais**. Em vez de programar sua aplicação para ficar perguntando o status da requisição, a Judit API enviará os processos encontrados de forma **incremental** diretamente para o seu servidor assim que eles forem capturados, finalizando o fluxo com um evento de `request_completed`. 👉 *[Aprenda a configurar e receber Webhooks aqui](/webhook/callbacks)* *** ## Passo 2: Consultar o Status da Requisição Como um documento pode estar atrelado a centenas de processos no Brasil, a coleta leva tempo. Você deve consultar o status macro da requisição usando o ID do Passo 1. `GET https://requests.prod.judit.io/requests/` ```bash cURL (Passo 2) theme={null} curl --location 'https://requests.prod.judit.io/requests/' \ --header 'api-key: ' \ --header 'Content-Type: application/json' \ --data '' ``` Você deve realizar *polling* (consultas periódicas) nesta rota até que a propriedade `"status"` mude de `"pending"` para **`"completed"`**. *(Nota: O uso de Webhooks elimina a necessidade deste passo).* ### Verificação Granular (Apenas para On-Demand) Como a busca On-Demand consulta dezenas de sistemas simultaneamente, você pode acompanhar o status individual de cada tribunal acessado usando a rota de *Crawls*: ```bash cURL theme={null} curl --location 'https://crawler.prod.judit.io/crawls/request/?page=1&page_size=10' \ --header 'api-key: ' ``` ```json theme={null} { "page": 1, "page_data": [ { "source_name": "JPje - RO - Lawsuit - Auth - 2 instance", "tribunal_acronym": "TJRO", "status": "done", "updated_at": "2025-10-28T00:04:40.651Z" }, { "source_name": "JTJRJ - RJ - Lawsuit - Auth - 1 instance", "tribunal_acronym": "TJRJ", "status": "pending", "updated_at": "2025-10-28T00:04:53.157Z" } ] } ``` *** ## Passo 3: Consumir e Filtrar os Resultados (GET) Assim que o status no Passo 2 retornar `"completed"`, os dados estão prontos! É aqui, na rota `GET /responses`, que você puxa o JSON final. A grande sacada deste endpoint é que **ele permite aplicar filtros dinâmicos via URL (Query Params)**, permitindo que você fatie, ordene e pagine a resposta final do jeito que quiser, sem precisar gerar uma nova requisição (POST). `GET https://requests.prod.judit.io/responses/` ### Filtros Dinâmicos na URL (Query Params) Estes são os parâmetros que você pode concatenar na sua requisição final: | Query Param | Tipo / Formato | Descrição | | :----------------------- | :------------- | :----------------------------------------------------------------------------------------------- | | `request_id` | string (UUID) | **Obrigatório.** O ID gerado no Passo 1. | | `page` | integer | Número da página atual para navegação (Padrão: `1`). | | `page_size` | integer | Quantidade de resultados retornados por página. **Máximo permitido: 1000** (Recomendado: `100`). | | `response_type` | array JSON | Tipo de resposta desejada. Ex: `["lawsuit"]`. | | `code` | array JSON | Filtra por números de processo específicos. Ex: `["0601708-42..."]`. | | `instance` | array JSON | Filtra pelos graus de jurisdição. Ex: `[1, 2]`. | | `cached` | boolean | Retorna apenas processos cacheados (`true`) ou de captura nova (`false`). | | `classifications_code` | array JSON | Códigos de classe processual exatos (Ex: `["437"]`). | | `subjects_code` | array JSON | Códigos de assunto do CNJ exatos (Ex: `["6226"]`). | | `created_at_gte` / `lte` | string (Data) | Filtra pela data em que o processo entrou na base da Judit. | | `order` | objeto JSON | Ordena a listagem. Ex: `{"created_at": "desc"}`. | | `tags.criminal` | boolean | Retorna `true` apenas para processos da esfera criminal. | ```bash cURL (Busca Básica) theme={null} # Retorna os processos usando apenas o parâmetro obrigatório curl -X GET "[https://requests.prod.judit.io/responses?request_id=](https://requests.prod.judit.io/responses?request_id=)" \ -H "api-key: SUA_API_KEY" \ -H "Content-Type: application/json" ``` ```bash cURL (Busca Avançada com Filtros) theme={null} # O parâmetro -g (--globoff) permite o uso de colchetes [] na URL sem quebrar o terminal. # Nota: Na sua aplicação, lembre-se de aplicar URL Encoding nesses parâmetros. curl -g -X GET "[https://requests.prod.judit.io/responses](https://requests.prod.judit.io/responses)\ ?request_id=\ &response_type=[\"lawsuit\"]\ &code=[\"0601708-42.2025.8.04.4700\"]\ &instance=[1,2]\ &cached=false\ &classifications_code=[\"437\"]\ &classifications_name=[\"PROCEDIMENTO DO JUIZADO ESPECIAL CÍVEL\"]\ &subjects_code=[\"6226\"]\ &subjects_name=\"INCLUSÃO INDEVIDA EM CADASTRO DE INADIMPLENTES\"\ &created_at_gte=2026-03-01T00:00:00.000Z\ &created_at_lte=2026-03-05T00:00:00.000Z\ &request_created_at_gte=2026-03-02T00:00:00.000Z\ &request_created_at_lte=2026-03-05T00:00:00.000Z\ &page=1\ &page_size=1000\ &order={\"created_at\":\"desc\"}\ &tags.criminal=true" \ -H "api-key: SUA_API_KEY" \ -H "Content-Type: application/json" ``` ### O formato da Resposta O retorno traz as chaves de paginação e o array `page_data`, onde cada objeto contém a `response_data` (A Capa do Processo). Status final da resposta (Deve ser `completed`). Página atual da busca. Total de processos renderizados nesta página. Total absoluto de processos encontrados e vinculados ao documento. Quantidade total de páginas disponíveis. Array de objetos. Cada objeto contém a chave `response_data` que abriga a [Capa do Processo](/schemas/lawsuit-object). ```json theme={null} { "page": 1, "page_count": 1, "all_count": 1, "all_pages_count": 1, "request_status": "completed", "page_data": [ { "request_id": "05ee9825-b2b4-480b-b29e-f071ca7d9c72", "response_id": "e49d2e2c-92ed-4dad-8701-c53a569d675b", "response_type": "lawsuit", "response_data": { "code": "0000000-00.0000.0.00.0000", "instance": 1, "justice": "8", "tribunal": "19", "tribunal_acronym": "TJRJ", "classifications": [ { "code": "436", "name": "PROCEDIMENTO DO JUIZADO ESPECIAL CÍVEL" } ], "subjects": [ { "code": "6226", "name": "INCLUSÃO INDEVIDA EM CADASTRO DE INADIMPLENTES" } ], "amount": 28790, "parties": [ { "name": "NOME DO CLIENTE", "side": "Active", "person_type": "Autor", "document": "99999999999", "document_type": "CPF" } ] } } ] } ``` **Processo não encontrado:** Se o documento não possuir processos vinculados ou se os filtros forem muito restritivos, o `all_count` será `0` e o array `page_data` retornará vazio `[]`. # Busca Processual (Assíncrona) Source: https://docs.judit.io/requests/requests Aprenda a realizar buscas processuais nos tribunais em tempo real, acompanhar o status da extração e obter os resultados completos com ou sem inteligência artificial. > 🤖 A rota de busca processual opera de forma **assíncrona**. A aplicação cliente deve fazer um `POST /requests` para iniciar a busca, aguardar o processamento (via Webhook ou consultando via `GET /requests/{id}`) e, quando o status for `completed`, capturar os dados via `GET /responses`. ## Entendendo o Fluxo Assíncrono Como a extração de dados diretamente dos tribunais pode levar alguns segundos ou minutos (dependendo da instabilidade do tribunal), a Judit API utiliza um padrão assíncrono de requisições. O fluxo consiste em 3 passos simples: 1. **Criar a requisição:** Você envia o número do processo. 2. **Acompanhar o status:** Você verifica se o robô terminou a extração. 3. **Capturar o resultado:** Você consome o JSON com os dados do processo. *** ## Passo 1: Criando a Requisição de Busca Para iniciar uma busca processual, faça uma requisição `POST` para a rota base de requisições enviando os parâmetros desejados no corpo (body) da chamada. ### Parâmetros do Payload (Body) Consulte a tabela abaixo para configurar sua busca, habilitar anexos ou acionar a **Judit IA**: | Parâmetro | Tipo | Obrigatório | Descrição | | :------------------------------- | :------ | :---------- | :---------------------------------------------------------------------------------------------------------------------------- | | `search.search_type` | string | **Sim** | Define a entidade buscada. Para processos, use sempre `"lawsuit_cnj"`. | | `search.search_key` | string | **Sim** | O número do processo no padrão CNJ (ex: `"0009999-99.9999.8.26.9999"`). | | `cache_ttl_in_days` | integer | Não | Otimiza a busca retornando dados cacheados caso o processo já tenha sido consultado nos últimos X dias. | | `with_attachments` | boolean | Não | Se `true`, a Judit fará o download dos arquivos do processo. | | `judit_ia` | array | Não | Lista de *features* de IA aplicadas ao resultado. Envie `["summary"]` para receber um resumo humanizado da capa e andamentos. | | `search_params.lawsuit_instance` | integer | Não | Força a busca em uma instância específica (ex: `1` ou `2`). | **Judit IA (Beta):** A funcionalidade de inteligência artificial (`judit_ia`) está em versão Beta. O tempo de resposta pode variar e a estrutura do resumo está sujeita a melhorias. ### Exemplo de Requisição (POST) ```bash cURL (Sem Anexos) theme={null} curl --location 'https://requests.prod.judit.io/requests/' \ --header 'Content-Type: application/json' \ --header 'api-key: ' \ --data '{ "search": { "search_type": "lawsuit_cnj", "search_key": "0009999-99.9999.8.26.9999" }, "with_attachments": false }' ``` ```bash cURL (Com Anexos) theme={null} curl --location 'https://requests.prod.judit.io/requests/' \ --header 'Content-Type: application/json' \ --header 'api-key: ' \ --data '{ "search": { "search_type": "lawsuit_cnj", "search_key": "0009999-99.9999.8.26.9999" }, "with_attachments": true }' ``` ```bash cURL (Com Anexos e IA) theme={null} curl --location 'https://requests.prod.judit.io/requests/' \ --header 'Content-Type: application/json' \ --header 'api-key: ' \ --data '{ "search": { "search_type": "lawsuit_cnj", "search_key": "0009999-99.9999.8.26.9999" }, "with_attachments": true, "judit_ia": ["summary"] }' ``` ```json Exemplo de Resposta (Status 201) theme={null} { "request_id": "84b4d8f5-50f8-4c14-818f-912c722a6908", "search": { "search_type": "lawsuit_cnj", "search_key": "0009999-99.9999.8.26.9999", "response_type": "lawsuit" }, "with_attachments": true, "status": "pending", "created_at": "2024-06-18T22:03:35.560Z" } ``` Guarde o valor de `request_id`, pois você precisará dele para os próximos passos. *** **🚀 Atalho: Automatize com Webhooks (Recomendado)** Se você possui uma URL de Webhook configurada, **os Passos 2 e 3 abaixo são totalmente opcionais**. Em vez de programar sua aplicação para ficar perguntando o status da requisição, a Judit API enviará os processos encontrados de forma **incremental** diretamente para o seu servidor assim que eles forem capturados, finalizando o fluxo com um evento de `request_completed`. 👉 *[Aprenda a configurar e receber Webhooks aqui](/webhook/callbacks)* *** ## Passo 2: Consultar o Status da Requisição Esta etapa é crucial caso você não esteja utilizando **Webhooks**. As respostas são inseridas no banco de dados de forma incremental à medida que os robôs interagem com o tribunal. Para saber se a extração finalizou, consulte o endpoint de histórico de requisições passando o ID gerado no Passo 1: ```bash cURL theme={null} curl --location 'https://requests.prod.judit.io/requests/' \ --header 'api-key: ' \ --header 'Content-Type: application/json' \ --data '' ``` ```json Exemplo de resposta (200 OK) theme={null} { "request_id": "05ee9825-b2b4-480b-b29e-f071ca7d9c72", "search": { "search_type": "lawsuit", "search_key": "9999999-99.9999.9.99.9999", "response_type": "lawsuit", "search_params": { "filter": {}, "pagination": {} } }, "origin": "api", "origin_id": "46fac09a-b34f-4dfd-a24f-b358bf04dfd4", "user_id": "82082593-c664-4d7b-b174-2f0dc4791daf", "status": "completed", "created_at": "2024-02-21T17:33:22.876Z", "updated_at": "2024-02-21T17:33:26.316Z", "tags": { "dashboard_id": null } } ``` Aguarde até que a propriedade **`status`** mude para **`"completed"`**. *** ## Passo 3: Capturar o Resultado (O Processo) Assim que o status estiver `completed`, você pode resgatar os dados completos do processo judicial (e o resumo da IA, se solicitado). ```bash cURL theme={null} curl --location 'https://requests.prod.judit.io/responses?page_size=100&request_id=%3Crequest_id%3E' \ --header 'api-key: ' \ --header 'Content-Type: application/json' \ --data '' ``` ```json Exemplo de resposta simples (200 OK) theme={null} { "request_status": "completed", "page": 1, "page_count": 1, "all_pages_count": 1, "all_count": 1, "page_data": [ { "request_id": "03abbf28-822e-45a0-a22c-098fbe157aa4", "response_id": "061c60b2-7fa9-4d20-87bb-1bedd31d5572", "origin": "api", "origin_id": "03abbf28-822e-45a0-a22c-098fbe157aa4", "response_type": "lawsuit", "response_data": { "code": "9999999-99.9999.9.99.9999", "justice": "8", "tribunal": "26", "instance": 1, "distribution_date": "2019-02-15T16:00:00.000Z", "judge": "Usuário teste", "tribunal_acronym": "TJSP", "secrecy_level": 0, "tags": { "crawl_id": "a9b6820a-6c84-4db5-b4f4-2f1909aa3805", "dictionary_updated_at": "2025-08-13T18:43:48.143Z" }, "subjects": [ { "code": "", "name": "PAGAMENTO" } ], "classifications": [ { "code": "7", "name": "PROCEDIMENTO COMUM CÍVEL" } ], "courts": [ { "name": "1ª Vara Cível" } ], "parties": [ { "main_document": "99999999999", "name": "Usuário 2", "side": "Passive", "person_type": "Desconhecido", "documents": [ { "document": "99999999999", "document_type": "cpf" } ], "lawyers": [ { "name": "Usuário 3", "documents": [] } ] }, { "main_document": "99999999999", "name": "Usuário 4", "side": "Active", "person_type": "Desconhecido", "documents": [ { "document": "99999999999", "document_type": "cnpj" } ], "lawyers": [ { "name": "Usuário 5", "documents": [] } ] }, { "name": "Usuário 4", "side": "Active", "person_type": "Desconhecido", "documents": [], "lawyers": [ { "name": "Usuário 5", "documents": [] } ] }, { "name": "Usuário 2", "side": "Passive", "person_type": "Desconhecido", "documents": [], "lawyers": [ { "name": "Usuário 3", "documents": [] } ] }, { "name": "Usuário 5", "side": "Active", "person_type": "Advogado", "documents": [] }, { "name": "Usuário 3", "side": "Passive", "person_type": "Advogado", "documents": [] } ], "steps": [ { "lawsuit_cnj": "9999999-99.9999.9.99.9999", "lawsuit_instance": 1, "step_date": "2019-07-16T00:00:00.000Z", "private": false, "tags": { "crawl_id": "36fc0ffd-98fa-4990-bd6f-6a82e5565119" }, "step_id": "56174b2e", "content": "Início da Execução Juntado\n0003695-16.2019.8.26.0189 - Cumprimento de sentença", "steps_count": 32, "created_at": "2025-07-09T13:48:33.114Z", "updated_at": "2025-08-11T18:57:39.041Z" }, { "lawsuit_cnj": "9999999-99.9999.9.99.9999", "lawsuit_instance": 1, "step_date": "2019-06-06T00:00:00.000Z", "private": false, "tags": { "crawl_id": "36fc0ffd-98fa-4990-bd6f-6a82e5565119" }, "step_id": "939794b9", "content": "Arquivado Definitivamente", "created_at": "2025-07-09T13:48:33.114Z", "updated_at": "2025-08-11T18:57:39.041Z" }, { "lawsuit_cnj": "9999999-99.9999.9.99.9999", "lawsuit_instance": 1, "step_date": "2019-06-06T00:00:00.000Z", "private": false, "tags": { "crawl_id": "36fc0ffd-98fa-4990-bd6f-6a82e5565119" }, "step_id": "423978eb", "content": "Trânsito em Julgado às partes\nCertidão de trânsito em julgado e remessa ao arquivo geral", "created_at": "2025-07-09T13:48:33.114Z", "updated_at": "2025-08-11T18:57:39.041Z" } ], "attachments": [ { "attachment_id": "60153051-1-1", "attachment_date": "2019-02-15T16:00:41.000Z", "attachment_name": "Petição (Outras)", "extension": "pdf", "status": "pending", "tags": { "crawl_id": "424cd251-3d1f-407e-9d17-cb61219545aa" }, "user_data": null }, { "attachment_id": "60153057-5-1", "attachment_date": "2019-02-15T16:00:42.000Z", "attachment_name": "Instrumento de Procuração", "extension": "pdf", "status": "pending", "tags": { "crawl_id": "424cd251-3d1f-407e-9d17-cb61219545aa" }, "user_data": null }, { "attachment_id": "60153061-6-1", "attachment_date": "2019-02-15T16:00:43.000Z", "attachment_name": "Guia", "extension": "pdf", "status": "pending", "tags": { "crawl_id": "424cd251-3d1f-407e-9d17-cb61219545aa" }, "user_data": null }, { "attachment_id": "60153064-7-1", "attachment_date": "2019-02-15T16:00:44.000Z", "attachment_name": "Guia", "extension": "pdf", "status": "pending", "tags": { "crawl_id": "424cd251-3d1f-407e-9d17-cb61219545aa" }, "user_data": null } ], "related_lawsuits": [], "crawler": { "source_name": "JSaj - TJ - SP - Lawsuit - Auth - 1 instance", "crawl_id": "a9b6820a-6c84-4db5-b4f4-2f1909aa3805", "weight": 10, "updated_at": "2025-08-13T18:43:47.770Z" }, "metadata": {}, "county": "VARA JUIZADO ESP. CIVEL CRIM. DE FERNANDOPOLIS", "amount": 5798, "state": "SP", "city": "FERNANDOPOLIS", "justice_description": "JUSTIÇA ESTADUAL", "last_step": { "lawsuit_cnj": "9999999-99.9999.9.99.9999", "lawsuit_instance": 1, "step_date": "2019-07-16T00:00:00.000Z", "private": false, "tags": { "crawl_id": "a9b6820a-6c84-4db5-b4f4-2f1909aa3805" }, "step_id": "56174b2e", "content": "Início da Execução Juntado\n0003695-16.2019.8.26.0189 - Cumprimento de sentença", "steps_count": 32 }, "phase": "Execução ou cumprimento", "status": "Ativo", "name": "Usuário 4 X Usuário 2", "created_at": "2025-08-13T18:43:51.016Z", "updated_at": "2025-08-13T18:43:51.016Z", "free_justice": false }, "user_id": "7f8065a3-4891-428d-9456-dedfc12ff850", "created_at": "2025-08-13T18:40:54.982Z", "request_created_at": "2025-08-13T18:40:54.037Z", "tags": { "debug": true, "dashboard_id": null, "cached_response": false, "cached": false } } ] } ``` ```json Exemplo de resposta com anexo (200 OK) theme={null} { "request_status": "completed", "page": 1, "page_count": 1, "all_pages_count": 1, "all_count": 1, "page_data": [ { "request_id": "03abbf28-822e-45a0-a22c-098fbe157aa4", "response_id": "061c60b2-7fa9-4d20-87bb-1bedd31d5572", "origin": "api", "origin_id": "03abbf28-822e-45a0-a22c-098fbe157aa4", "response_type": "lawsuit", "response_data": { "code": "9999999-99.9999.9.99.9999", "justice": "8", "tribunal": "26", "instance": 1, "distribution_date": "2019-02-15T16:00:00.000Z", "judge": "Usuário teste", "tribunal_acronym": "TJSP", "secrecy_level": 0, "tags": { "crawl_id": "a9b6820a-6c84-4db5-b4f4-2f1909aa3805", "dictionary_updated_at": "2025-08-13T18:43:48.143Z" }, "subjects": [ { "code": "", "name": "PAGAMENTO" } ], "classifications": [ { "code": "7", "name": "PROCEDIMENTO COMUM CÍVEL" } ], "courts": [ { "name": "1ª Vara Cível" } ], "parties": [ { "main_document": "99999999999", "name": "Usuário 2", "side": "Passive", "person_type": "Desconhecido", "documents": [ { "document": "99999999999", "document_type": "cpf" } ], "lawyers": [ { "name": "Usuário 3", "documents": [] } ] }, { "main_document": "99999999999", "name": "Usuário 4", "side": "Active", "person_type": "Desconhecido", "documents": [ { "document": "99999999999", "document_type": "cnpj" } ], "lawyers": [ { "name": "Usuário 5", "documents": [] } ] }, { "name": "Usuário 4", "side": "Active", "person_type": "Desconhecido", "documents": [], "lawyers": [ { "name": "Usuário 5", "documents": [] } ] }, { "name": "Usuário 2", "side": "Passive", "person_type": "Desconhecido", "documents": [], "lawyers": [ { "name": "Usuário 3", "documents": [] } ] }, { "name": "Usuário 5", "side": "Active", "person_type": "Advogado", "documents": [] }, { "name": "Usuário 3", "side": "Passive", "person_type": "Advogado", "documents": [] } ], "steps": [ { "lawsuit_cnj": "9999999-99.9999.9.99.9999", "lawsuit_instance": 1, "step_date": "2019-07-16T00:00:00.000Z", "private": false, "tags": { "crawl_id": "36fc0ffd-98fa-4990-bd6f-6a82e5565119" }, "step_id": "56174b2e", "content": "Início da Execução Juntado\n0003695-16.2019.8.26.0189 - Cumprimento de sentença", "steps_count": 32, "created_at": "2025-07-09T13:48:33.114Z", "updated_at": "2025-08-11T18:57:39.041Z" }, { "lawsuit_cnj": "9999999-99.9999.9.99.9999", "lawsuit_instance": 1, "step_date": "2019-06-06T00:00:00.000Z", "private": false, "tags": { "crawl_id": "36fc0ffd-98fa-4990-bd6f-6a82e5565119" }, "step_id": "939794b9", "content": "Arquivado Definitivamente", "created_at": "2025-07-09T13:48:33.114Z", "updated_at": "2025-08-11T18:57:39.041Z" }, { "lawsuit_cnj": "9999999-99.9999.9.99.9999", "lawsuit_instance": 1, "step_date": "2019-06-06T00:00:00.000Z", "private": false, "tags": { "crawl_id": "36fc0ffd-98fa-4990-bd6f-6a82e5565119" }, "step_id": "423978eb", "content": "Trânsito em Julgado às partes\nCertidão de trânsito em julgado e remessa ao arquivo geral", "created_at": "2025-07-09T13:48:33.114Z", "updated_at": "2025-08-11T18:57:39.041Z" } ], "attachments": [ { "attachment_id": "60153051-1-1", "attachment_date": "2019-02-15T16:00:41.000Z", "attachment_name": "Petição (Outras)", "extension": "pdf", "status": "done", "tags": { "crawl_id": "424cd251-3d1f-407e-9d17-cb61219545aa" }, "user_data": null }, { "attachment_id": "60153057-5-1", "attachment_date": "2019-02-15T16:00:42.000Z", "attachment_name": "Instrumento de Procuração", "extension": "pdf", "status": "done", "tags": { "crawl_id": "424cd251-3d1f-407e-9d17-cb61219545aa" }, "user_data": null }, { "attachment_id": "60153061-6-1", "attachment_date": "2019-02-15T16:00:43.000Z", "attachment_name": "Guia", "extension": "pdf", "status": "done", "tags": { "crawl_id": "424cd251-3d1f-407e-9d17-cb61219545aa" }, "user_data": null }, { "attachment_id": "60153064-7-1", "attachment_date": "2019-02-15T16:00:44.000Z", "attachment_name": "Guia", "extension": "pdf", "status": "done", "tags": { "crawl_id": "424cd251-3d1f-407e-9d17-cb61219545aa" }, "user_data": null } ], "related_lawsuits": [], "crawler": { "source_name": "JSaj - TJ - SP - Lawsuit - Auth - 1 instance", "crawl_id": "a9b6820a-6c84-4db5-b4f4-2f1909aa3805", "weight": 10, "updated_at": "2025-08-13T18:43:47.770Z" }, "metadata": {}, "county": "VARA JUIZADO ESP. CIVEL CRIM. DE FERNANDOPOLIS", "amount": 5798, "state": "SP", "city": "FERNANDOPOLIS", "justice_description": "JUSTIÇA ESTADUAL", "last_step": { "lawsuit_cnj": "9999999-99.9999.9.99.9999", "lawsuit_instance": 1, "step_date": "2019-07-16T00:00:00.000Z", "private": false, "tags": { "crawl_id": "a9b6820a-6c84-4db5-b4f4-2f1909aa3805" }, "step_id": "56174b2e", "content": "Início da Execução Juntado\n0003695-16.2019.8.26.0189 - Cumprimento de sentença", "steps_count": 32 }, "phase": "Execução ou cumprimento", "status": "Ativo", "name": "Usuário 4 X Usuário 2", "created_at": "2025-08-13T18:43:51.016Z", "updated_at": "2025-08-13T18:43:51.016Z", "free_justice": false }, "user_id": "7f8065a3-4891-428d-9456-dedfc12ff850", "created_at": "2025-08-13T18:40:54.982Z", "request_created_at": "2025-08-13T18:40:54.037Z", "tags": { "debug": true, "dashboard_id": null, "cached_response": false, "cached": false } } ] } ``` ```json Exemplo de resposta com judit ia (200 OK) theme={null} { "request_status": "completed", "page": 1, "page_count": 1, "all_pages_count": 1, "all_count": 1, "page_data": [ { "request_id": "03abbf28-822e-45a0-a22c-098fbe157aa4", "response_id": "061c60b2-7fa9-4d20-87bb-1bedd31d5572", "origin": "api", "origin_id": "03abbf28-822e-45a0-a22c-098fbe157aa4", "response_type": "lawsuit", "response_data": { "code": "9999999-99.9999.9.99.9999", "justice": "8", "tribunal": "26", "instance": 1, "distribution_date": "2019-02-15T16:00:00.000Z", "judge": "Usuário teste", "tribunal_acronym": "TJSP", "secrecy_level": 0, "tags": { "crawl_id": "a9b6820a-6c84-4db5-b4f4-2f1909aa3805", "dictionary_updated_at": "2025-08-13T18:43:48.143Z" }, "subjects": [ { "code": "", "name": "PAGAMENTO" } ], "classifications": [ { "code": "7", "name": "PROCEDIMENTO COMUM CÍVEL" } ], "courts": [ { "name": "1ª Vara Cível" } ], "parties": [ { "main_document": "99999999999", "name": "Usuário 2", "side": "Passive", "person_type": "Desconhecido", "documents": [ { "document": "99999999999", "document_type": "cpf" } ], "lawyers": [ { "name": "Usuário 3", "documents": [] } ] }, { "main_document": "99999999999", "name": "Usuário 4", "side": "Active", "person_type": "Desconhecido", "documents": [ { "document": "99999999999", "document_type": "cnpj" } ], "lawyers": [ { "name": "Usuário 5", "documents": [] } ] }, { "name": "Usuário 4", "side": "Active", "person_type": "Desconhecido", "documents": [], "lawyers": [ { "name": "Usuário 5", "documents": [] } ] }, { "name": "Usuário 2", "side": "Passive", "person_type": "Desconhecido", "documents": [], "lawyers": [ { "name": "Usuário 3", "documents": [] } ] }, { "name": "Usuário 5", "side": "Active", "person_type": "Advogado", "documents": [] }, { "name": "Usuário 3", "side": "Passive", "person_type": "Advogado", "documents": [] } ], "steps": [ { "lawsuit_cnj": "9999999-99.9999.9.99.9999", "lawsuit_instance": 1, "step_date": "2019-07-16T00:00:00.000Z", "private": false, "tags": { "crawl_id": "36fc0ffd-98fa-4990-bd6f-6a82e5565119" }, "step_id": "56174b2e", "content": "Início da Execução Juntado\n0003695-16.2019.8.26.0189 - Cumprimento de sentença", "steps_count": 32, "created_at": "2025-07-09T13:48:33.114Z", "updated_at": "2025-08-11T18:57:39.041Z" }, { "lawsuit_cnj": "9999999-99.9999.9.99.9999", "lawsuit_instance": 1, "step_date": "2019-06-06T00:00:00.000Z", "private": false, "tags": { "crawl_id": "36fc0ffd-98fa-4990-bd6f-6a82e5565119" }, "step_id": "939794b9", "content": "Arquivado Definitivamente", "created_at": "2025-07-09T13:48:33.114Z", "updated_at": "2025-08-11T18:57:39.041Z" }, { "lawsuit_cnj": "9999999-99.9999.9.99.9999", "lawsuit_instance": 1, "step_date": "2019-06-06T00:00:00.000Z", "private": false, "tags": { "crawl_id": "36fc0ffd-98fa-4990-bd6f-6a82e5565119" }, "step_id": "423978eb", "content": "Trânsito em Julgado às partes\nCertidão de trânsito em julgado e remessa ao arquivo geral", "created_at": "2025-07-09T13:48:33.114Z", "updated_at": "2025-08-11T18:57:39.041Z" } ], "attachments": [ { "attachment_id": "60153051-1-1", "attachment_date": "2019-02-15T16:00:41.000Z", "attachment_name": "Petição (Outras)", "extension": "pdf", "status": "pending", "tags": { "crawl_id": "424cd251-3d1f-407e-9d17-cb61219545aa" }, "user_data": null }, { "attachment_id": "60153057-5-1", "attachment_date": "2019-02-15T16:00:42.000Z", "attachment_name": "Instrumento de Procuração", "extension": "pdf", "status": "pending", "tags": { "crawl_id": "424cd251-3d1f-407e-9d17-cb61219545aa" }, "user_data": null }, { "attachment_id": "60153061-6-1", "attachment_date": "2019-02-15T16:00:43.000Z", "attachment_name": "Guia", "extension": "pdf", "status": "pending", "tags": { "crawl_id": "424cd251-3d1f-407e-9d17-cb61219545aa" }, "user_data": null }, { "attachment_id": "60153064-7-1", "attachment_date": "2019-02-15T16:00:44.000Z", "attachment_name": "Guia", "extension": "pdf", "status": "pending", "tags": { "crawl_id": "424cd251-3d1f-407e-9d17-cb61219545aa" }, "user_data": null } ], "related_lawsuits": [], "crawler": { "source_name": "JSaj - TJ - SP - Lawsuit - Auth - 1 instance", "crawl_id": "a9b6820a-6c84-4db5-b4f4-2f1909aa3805", "weight": 10, "updated_at": "2025-08-13T18:43:47.770Z" }, "metadata": {}, "county": "VARA JUIZADO ESP. CIVEL CRIM. DE FERNANDOPOLIS", "amount": 5798, "state": "SP", "city": "FERNANDOPOLIS", "justice_description": "JUSTIÇA ESTADUAL", "last_step": { "lawsuit_cnj": "9999999-99.9999.9.99.9999", "lawsuit_instance": 1, "step_date": "2019-07-16T00:00:00.000Z", "private": false, "tags": { "crawl_id": "a9b6820a-6c84-4db5-b4f4-2f1909aa3805" }, "step_id": "56174b2e", "content": "Início da Execução Juntado\n0003695-16.2019.8.26.0189 - Cumprimento de sentença", "steps_count": 32 }, "phase": "Execução ou cumprimento", "status": "Ativo", "name": "Usuário 4 X Usuário 2", "created_at": "2025-08-13T18:43:51.016Z", "updated_at": "2025-08-13T18:43:51.016Z", "free_justice": false }, "user_id": "7f8065a3-4891-428d-9456-dedfc12ff850", "created_at": "2025-08-13T18:40:54.982Z", "request_created_at": "2025-08-13T18:40:54.037Z", "tags": { "debug": true, "dashboard_id": null, "cached_response": false, "cached": false } } ] }, { "request_id": "3c6614e3-25f1-4df4-9675-694c3ea01499", "response_id": "2dc884c1-e57b-47be-ba6c-568b3f066799", "origin": "api", "origin_id": "3c6614e3-25f1-4df4-9675-694c3ea014d9", "response_type": "summary", "response_data": { "data": [ "## Resumo\n\nO processo de número 0000000-00.0000.0.00.0000 trata-se de uma disputa judicial envolvendo direitos autorais, onde o requerente, Usuário 1, alega ter seus direitos violados pelo requerido, Usuário 2. A distribuição do processo ocorreu no dia 7 de agosto de 2015 e, após trâmites legais e recursos, o processo foi arquivado definitivamente em 22 de novembro de 2024. Durante todo esse tempo, houve várias movimentações, incluindo cumprimento e execução de sentença.\n\n## Partes\n\n
    \n
  • \n

    \n Usuário 1\n CPF: 000.000.000-00\n
    \n

    \n Requerente da ação, buscando a proteção de seus direitos autorais que alega terem sido violados.\n

    \n
    \n

    \n
  • \n
  • \n

    \n Usuário 2\n CNPJ: 00.000.000/0000-00\n
    \n

    \n Requerido na ação, acusado de violar direitos autorais do requerente.\n

    \n
    \n

    \n
  • \n
\n\n## Classe\n\n
    \n
  • \n

    \n Procedimento Comum Cível\n
    \n

    \n É uma classe processual genérica para ações que vão a julgamento com base no direito civil, não enquadrando-se em procedimentos especiais.\n

    \n

    \n
  • \n
\n\n## Assuntos\n\n
    \n
  • \n

    \n Direito Autoral\n
    \n

    \n O assunto do processo envolve disputas relacionadas à proteção da exclusividade de uso, gozo e disposição de uma obra intelectual criada.\n

    \n
    \n

    \n
  • \n
\n\n## Movimentações\n\nEm termos gerais, o processo foi marcado por uma longa tramitação. Inicialmente, o requerente Usuário 1 buscou judicialmente a defesa de seus direitos autorais, alegando violações por parte do requerido, Usuário 2. Durante o caso, houve apelação (tentativa de modificar uma decisão desfavorável) pelo requerente, além de embargos de declaração (pedidos de esclarecimento sobre a decisão), ambos não acolhidos, mantendo-se inalterada a decisão contestada. Em 23 de julho de 2023, houve o recebimento dos autos do Tribunal de Justiça com trânsito em julgado (quando não há mais possibilidade de recurso) da decisão que negou provimento ao recurso do requerente. Seguiu-se a execução da sentença, na qual se busca o cumprimento do que foi determinado pela Justiça, e finalmente, o processo foi arquivado definitivamente em 22 de novembro de 2024, sinalizando a conclusão do litígio." ], "origin_id": "0f5baa30-f681-47cd-a381-01d489f4d079", "origin": "response" }, "user_id": "7f8065a3-4891-9999-9456-dedfc12ff899", "created_at": "2026-03-18T17:18:18.156Z", "request_created_at": "2026-03-18T17:16:15.810Z" } ```
### O que você recebe de volta? O retorno é paginado e contém o [Objeto Lawsuit](/schemas/lawsuit-object) dentro do array `page_data`. Se você solicitou a **Judit IA**, o resumo virá como um objeto adicional dentro dessa mesma lista. **Disponibilidade dos Anexos:** Para garantir que um arquivo foi capturado com sucesso e está pronto para download, verifique a propriedade `status` dentro do objeto individual do anexo. O valor deve ser obrigatoriamente `"done"`. *** ## Acessando Anexos Capturados (Documentos em PDF/HTML) Se você enviou `"with_attachments": true` no Passo 1 da requisição, a Judit fará o download dos arquivos públicos diretamente do tribunal. Assim que a requisição principal for concluída, **estes arquivos já estarão capturados e armazenados de forma segura nos *buckets* da Judit**. Os metadados desses arquivos estarão listados dentro do array `attachments` no JSON do processo. **Fidelidade de Formato:** A Judit API não converte os arquivos. O anexo será retornado para você no **exato mesmo formato original** em que foi capturado e disponibilizado pelo tribunal. Prepare sua aplicação para receber documentos (PDF, HTML, DOCX), imagens (JPG, PNG) e até mídias de audiências (MP3, MP4). ```bash cURL theme={null} curl --location 'https://lawsuits.prod.judit.io/lawsuits///attachments/' \ --header 'api-key: ' \ --header 'Content-Type: application/json' \ --data '' ``` ### Propriedades do Anexo * `status`: Indica o estado do arquivo no nosso banco. `done` significa que está pronto para download. * `private`: Se `true`, significa que o documento está em segredo de justiça no tribunal. * `extension`: Formato do arquivo extraído (ex: `pdf`, `html`, `jpg`). *** **Atenção ao Faturamento:** Não nos responsabilizamos por consultas realizadas com números de CNJ/CPF ou processos judicialmente inválidos. Cobranças poderão ser efetuadas decorrentes de requisições com chaves malformadas enviadas à API. # Relatório de consumo Source: https://docs.judit.io/resource/consumption # 📘 Como consultar meu histórico de requisições realizadas pela API JUDIT Este passo a passo irá te mostrar como consultar o histórico de requisições realizadas por meio da API JUDIT. Com isso, você poderá visualizar detalhes como: * Tipo de busca realizada * Período * Presença de anexos * Origem da requisição (monitoramento ou API) * E inclusive inferir o custo de cada operação. *** ## 1. Como consultar o histórico via Postman (usando cURL) Para realizar a requisição: Copie o seguinte comando `cURL` e cole no **Postman** (modo *Raw* no Body e tipo `POST`): ```bash theme={null} curl --location 'https://requests.prod.judit.io/requests?page_size=1000&created_at_gte=&created_at_lte=' \ --header 'api-key: INSIRA_SUA_API_KEY_AQUI' \ --header 'Content-Type: application/json' \ --data '' ``` Substitua `` e `` no formato `YYYY-MM-DD`, por exemplo: ``` created_at_gte=2024-09-12&created_at_lte=2050-09-12 ``` *** ## 2. Como consultar o histórico via JavaScript (fetch) Exemplo de código: ```js theme={null} const url = 'https://requests.prod.judit.io/requests?page_size=1000&created_at_gte=2024-09-12&created_at_lte=2050-09-12'; const options = { method: 'GET', headers: { 'api-key': '' } }; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` *** ## 3. Exemplo de resposta da API Trecho de exemplo: ```json theme={null} { "page": 1, "page_data": [ { "request_id": "0dcd4c1f-c9bf-4327-899e-0550a627feca", "search": { "on_demand": false, "search_type": "lawsuit_cnj", "search_key": "0000999-99.9999.9.99.9999", "response_type": "lawsuit", "search_params": { "public_search": false, "filter": { "party_names": [], "party_documents": [] }, "pagination": {} } }, "with_attachments": true, "origin": "tracking", "status": "completed", "created_at": "2025-07-25T21:10:03.334Z", "updated_at": "2025-07-25T21:10:25.352Z" } ] } ``` *** ## 4. Explicação dos principais campos | Campo | Significado | | -------------------- | ---------------------------------------------------------------------------- | | `origin` | Pode ser `api` (requisição direta) ou `tracking` (monitoramento automático). | | `response_type` | Tipo de retorno: `lawsuit`, `entity`, `warrant`, `lawsuits`. | | `search.search_type` | Tipo de busca: `cpf`, `cnpj`, `oab`, `name`, `lawsuit_cnj`. | | `on_demand` | Se `true`, indica consulta em tempo real no tribunal. | | `with_attachments` | Se `true`, foram incluídos autos processuais (impacta no custo). | *** ## 🔍 Interpretação dos campos ### `origin` Esse campo indica a **origem** da requisição, podendo assumir os seguintes valores: * `api`: consulta realizada diretamente por meio da API. * `tracking`: consulta realizada via monitoramento (recorrente). ### `response_type` Define o tipo de documento que será retornado na busca. As possibilidades incluem: * `lawsuit`: utilizado em consultas por NUP (Número Único do Processo). * `lawsuits`: utilizado em buscas por CPF, CNPJ, OAB ou NAME, retornando uma lista de processos. * `entity`: utilizado em busca cadastral (por CPF, CNPJ, etc). * `warrant`: utilizado em busca por mandado de prisão. *** ## 🧪 Exemplo real e análise de precificação ```json theme={null} { "request_id": "c2af614a-8296-4060-bf9a-3b087679c472", "search": { "on_demand": true, "search_type": "lawsuit_cnj", "search_key": "0000999-99.9999.9.99.9999", "response_type": "lawsuit", "search_params": { "public_search": false, "filter": { "party_names": [], "party_documents": [] }, "pagination": {} } }, "with_attachments": true, "callback_url": "https://webhook.site/...", "origin": "tracking", "status": "completed", "created_at": "2025-07-25T21:10:03.334Z" } ``` ### 💰 Análise da precificação com base nos campos: * `origin: tracking` → é uma consulta através de monitoramento, portanto cobrança **mensal**. * `search_type: lawsuit_cnj` → o monitoramento é processual por número CNJ. * `on_demand: true` → como se trata de monitoramento, esse valor sempre será true já que todo monitoramento é on-demand. * `with_attachments: true` → autos processuais foram coletados, o que implica cobrança adicional. *** ## 🔸 Total estimado da requisição: Os valores apresentados são meramente ilustrativos. Para informações comerciais reais, consulte nossa tabela oficial. * **Monitoramento processual**: R\$ 0,69/mês * **Autos processuais**: R\$ 3,50 (cobrança única) ### ➡️ **Custo total estimado**: R\$ 4,19 *** ## ℹ️ Pontos importantes * A cobrança pode variar conforme o tipo de busca, tempo real (`on_demand`) e presença de anexos. * Requisições via `tracking` são renovadas mensalmente enquanto o monitoramento estiver ativo. * Requisições do tipo histórica (`cpf`, `cnpj`, etc.) têm cobrança única por consulta. *** # FAQ Source: https://docs.judit.io/resource/faq Respostas para as dúvidas mais comuns sobre a Judit API ## Geral ### O que é a Judit API? A Judit API é uma solução completa para automação de consultas judiciais no Brasil. Permite consultar processos por CPF, CNPJ, OAB, NOME ou CNJ, monitorar atualizações automaticamente, baixar anexos (públicos e privados) e gerenciar credenciais de tribunais com segurança. *** ### Quais tribunais são suportados? A Judit API suporta os principais tribunais brasileiros: * **Estaduais**: TJSP, TJRJ, TJMG, TJRS, TJPR, TJSC, entre outros * **Federais**: TRF1, TRF2, TRF3, TRF4, TRF5, TRF6 * **Superiores**: STF, STJ, TST * **Especializados**: Trabalhistas, Eleitorais, Militares [Veja a lista completa aqui.](https://judit.io/cobertura-dos-tribunais/) *** ### Como obter uma API Key? Solicite sua chave por meio do [WhatsApp comercial](https://api.whatsapp.com/send/?phone=5521985284143) ou envie e-mail para `atendimento@judit.io`. Você receberá: * API Key de desenvolvimento (gratuita e limitada) * Documentação de integração * Acesso ao painel e suporte técnico *** ## Autenticação ### Minha API Key não está funcionando Verifique os seguintes pontos: 1. Header `api-key` está presente 2. A chave está válida (não expirou) 3. A chave tem permissão para os endpoints usados *** ## Consultas (Requests) ### Como funciona a cobrança de anexos? * Requests de anexos usam `search_type = lawsuit_attachment` * Apenas requests com `search_type = lawsuit_cnj` são cobradas * PDFs individuais não geram cobrança separada *** ### A consulta histórica cobra por documento consultado ou por processo processo retornado? É cobrado por cada **1.000 processos retornados** a cada documento consultado. *** ### Processos em segredo de justiça são retornados? Depende. Para acessar, é necessário fornecer credenciais do advogado via [cofre de credenciais](/essentials/cofre-de-credenciais). *** ### Um processo pode ter duas instâncias? Sim. Serão retornados dois objetos, um para cada instância, dentro do mesmo array. O primeiro objeto, na posição zero, representará a instância mais recente. *** ### Posso cancelar uma consulta? Não, após iniciado o processamento não é possível cancelar a execução. *** ### Busquei um processo e ele não foi encontrado Nossa plataforma entrega exatamente as informações disponíveis nos tribunais. Caso um número de processo válido não seja encontrado, isso pode ocorrer por três motivos principais: * Número incorreto * Processo sob segredo de justiça * Processo baixado e indisponível no tribunal *** ### Busquei um processo e ele está desatualizado A atualização pode não ser instantânea, mas deve ocorrer em seguida. Se persistir, entre em contato com o suporte. *** ### Por quanto tempo posso acessar os dados da consulta? As respostas ficam armazenadas por **6 meses** a partir da data da request. *** ### Qual a diferença entre os campos `private` e `secrecy_level`? * `secrecy_level`: indica o nível de sigilo (0 a 5) do processo * `private`: indica se um andamento é restrito a partes/advogados *** ## Tracking (Monitoramento) ### Como funciona o monitoramento? Notifica automaticamente por webhook quando: #### Processual: * Novos andamentos * Alterações nas partes * Inclusão de anexos (quando cadastrado com with\_attachments: true) * Mudança de status #### Novas ações: * Novo processo é distribuido para o documento monitorado *** ### O que é o monitoramento de novas ações? Verifica se **novos processos** foram abertos contra o CPF/CNPJ/OAB/Nome. *** ### O monitoramento de novas ações retorna fase e status? Não. Para isso, use a consulta CNJ (`search_type = lawsuit_cnj`). *** ## Performance e Custos ### Como otimizar as consultas? * Use filtros por data e tribunal * Desative anexos se não forem necessários * Implemente cache local para evitar duplicidade *** ### Como reduzir custos? * Evite reconsultas desnecessárias * Use filtros e cache * Acompanhe consumo pela rota `/requests` *** ### Qual o limite de requisições (rate limit) e timeout? * Rate limit: 3 req/s * Timeout criação: 15 segundos * Timeout de finalização: até 1 hora (com retry automático) *** ## Integração ### Como integrar com meu sistema? 1. Use webhooks para receber os dados 2. Automatize requisições com base em eventos (ex: cadastro de cliente) 3. Implemente logging e alertas de erro *** ## Outras Funcionalidades ### Quais tipos de busca estão disponíveis? * CNJ (número do processo) * CPF/CNPJ/OAB/Nome * Consulta de histórico processual * Consulta de mandados de prisão * Contagem de processos * Verificação se existe processo (True/False) * Consulta de processos com resultado mascarado * Consulta quantidade de processos atrelados a um documento. * Consulta por dados agrupados de um documento. * Judit IA *** ### A API cobre processos extrajudiciais? Ainda não atuamos em processos administrativos. *** ## Suporte ### Como obter suporte técnico? * Documentação: [docs.judit.io](https://docs.judit.io) * E-mail: `atendimento@judit.io` * Status de serviço: [status.judit.io](https://status.judit.io) * [Whatsapp](https://api.whatsapp.com/send/?phone=55219852841438865) *** ### Como reportar um bug? Inclua: * `request_id` * Data/Hora do erro * Código de erro * Descrição do erro * Ambiente (prod/dev) *** ### A Judit possui SLA? | Plano | Uptime | Resposta | Suporte | | --------------- | ------ | -------------- | ------------- | | Desenvolvimento | 95% | Melhor esforço | Email | | Básico | 99% | \< 2s | Email | | Profissional | 99.5% | \< 1s | Email + Chat | | Enterprise | 99.9% | \< 500ms | Dedicado 24/7 | ## Próximos Passos * [Glossário de termos](/resource/glossary) * [Mapeamento de Váriaveis](/resource/flow-sheet) > **Ficou com dúvidas?** Envie um e-mail para `atendimento@judit.io` ou entre em contato pelo nosso [suporte](https://api.whatsapp.com/send/?phone=5511920501949). # Glossário Source: https://docs.judit.io/resource/glossary Entenda cada termo em inglês utilizado na nossa API Bem-vindo ao nosso glossário! Aqui, você encontrará a tradução e a explicação de cada termo em inglês usado em nossa API. Este recurso foi criado para ajudá-lo a entender melhor a nossa documentação e a usar a nossa API de forma mais eficaz. Cada termo está listado em inglês, seguido de sua tradução para o português e uma breve descrição do seu significado no contexto da nossa API. Esperamos que este glossário seja uma ferramenta útil para você. Se tiver alguma dúvida ou sugestão, não hesite em nos contatar. ## Termos * `Accept Cache`: Aceita cache - Esta propriedade permite que a API retorne dados armazenados em cache, acelerando a resposta. O período de armazenamento em cache é definido pela propriedade "Cache TTL in Days". Após esse período, os dados são atualizados. * `Addresses`: Indica o endereço encontrado para o CPF/CNPJ consultado. * `Aka_names`: No contexto da nossa API, este campo indica outros nomes associados ao CPF/CNPJ consultado. * `All Count`: Indica a quantidade total de processos que estão sendo exibidos na consulta atual. * `All Pages Count`: Indica a quantidade total de páginas encontradas na consulta atual. * `Amount`: Valor da Causa - É o valor monetário que está em disputa no processo. Este valor é geralmente definido pelo demandante no início do processo. * `Age_group`: No contexto da nossa API, "age\_group" indica a faixa etária dos indivíduos relacionados à consulta do CPF ou dos sócios da empresa no caso de CNPJ. * `Associated_people`: No contexto das consultas cadastrais em nossa API, "Associated\_people" indica as pessoas associadas encontradas para o CPF/CNPJ consultado. * `Attachments`: Anexos - São documentos associados a um processo judicial na nossa API. Incluem autos processuais, decisões, despachos, entre outros materiais relevantes. * `Attachment Id`: Refere-se a identificação do anexo encontrado no tribunal. * `Branch_activities`: No contexto de nossa API, "branch\_activities" indica as atividades exercidas pelo CNPJ consultado. * `Birth_date`: Indica a data de nascimmento do CPF/CNPJ consultado. * `Cache TTL in Days`: Tempo de Vida Útil do Cache em Dias - Este é o número de dias que a informação pode ser armazenada e recuperada do cache pela função "Accept Cache". Depois desse período, a informação é considerada desatualizada e uma nova solicitação é feita para obter dados atualizados. * `City`: Indica a cidade encontrada para o CPF/CNPJ consultado. * `Cached_response`: Indica se a resposta foi recuperada do cache ou gerada on-demand. * `Classification`: Classificação - Refere-se à categorização do processo segundo critérios do CNJ. * `Contacts`: Indicam os contatos telefônicos encontrados para o CPF/CNPJ consultado. * `Contact_type`: Indica o tipo e contato telefônico encontrado para o CPF/CNPJ consultado. * `Content`: No contexto de nossa API, "Content" representa o conteúdo relacionado à fase ou etapa específica daquele processo. * `Code`: Código - Código - No contexto de "Lawsuit", refere-se ao código CNJ. Em outros contextos, pode se referir ao código único de certas propriedades. * `Complement`: Indica o complemento do endereço encontrado para o CPF/CNPJ consultado. * `County`: Comarca - Uma divisão territorial do sistema judiciário, correspondendo à jurisdição de um juiz de primeira instância. * `Country`: Indica o país relacionado ao endereço encontrado para o CPF/CNPJ consultado. * `Court`: Órgão julgador - Refere-se ao órgão ou instituição responsável por administrar a justiça em um processo específico. * `Cover`: Capa - No contexto da nossa API, "Cover" refere-se à capa de um processo judicial, que é um resumo contendo os dados principais do processo. Esses dados podem incluir informações como o número do processo, o número do grau, o juiz responsável, entre outros. * `Covers`: Capas - No contexto da nossa API, "Covers" refere-se a uma lista de várias capas de processos. Cada "Cover" na lista representa um processo judicial individual e contém um resumo dos dados principais desse processo. * `Crawl Id`: Refere-se ao npumero de identificação do robô que realiza o processo de busca daquele resultado. * `Crawler`: Refere-se às informações sobre o robô responsável por realizar buscas nos tribunais. * `Deceased`: No contexto de nossa API, o termo "deceased" indica se o portador do CPF em questão é falecido. * `Description`: No contexto da consulta por dados cadastrais, indica o valor do contato telefônico encontrado para o CPF/CNPJ consultado. * `Deficiency`: No contexto da nossa API, o campo `deficiency` descreve o tipo de deficiência, se aplicável. * `Disabled_person`: No contexto da nossa API, o campo `disabled_person` indica se a pessoa possui alguma deficiência. * `Distribution Date`: Data de distribuícão - É a data em que um processo é oficialmente distribuído a um juiz ou tribunal para julgamento. * `Dictionary_updated_at`: Refere-se a data da última atualização dos dicionários(tags). * `Document`: Documento - No contexto da nossa API, "Document" refere-se ao documento de identificação de uma parte envolvida em um processo judicial. Este documento pode ser um CPF (Cadastro de Pessoas Físicas), no caso de indivíduos, um CNPJ (Cadastro Nacional da Pessoa Jurídica), no caso de empresas ou OAB (Ordem dos Advogados do Brasil), no caso de advogados. Este documento é usado para identificar de forma única cada parte em um processo. * `Documents`: Documentos - No contexto da nossa API, "Documents" refere-se aos documentos de identificação de uma parte envolvida em um processo judicial. Estes documentos podem conter CPF (Cadastro de Pessoas Físicas), no caso de indivíduos, CNPJ (Cadastro Nacional da Pessoa Jurídica), no caso de empresas ou OAB (Ordem dos Advogados do Brasil), no caso de advogados. Este documento é usado para identificar de forma única cada parte em um processo. * `Document Type`: Tipo do documento - Utilizado para informar se um documento é CPF, CNPJ ou OAB. * `Education`: No contexto de nossa API, o campo "education" indica o nível de escolaridade da pessoa. * `Ethnic_racial_identification`: No contexto da nossa API, o campo "Ethnic\_racial\_identification" Identifica a etnia ou raça da pessoa. * `Extension`: Representa o formato do arquivo anexado, indicado pela sua extensão, como .pdf ou .HTML. * `Foreigner`: No contexto da nossa API, o campo `foreigner` indica se a pessoa é estrangeira. * `Free Justice`: Justiça gratuita - Se um processo percorre através da justiça gratuita. * `ibge_code`: No contesto da nossa API, "ibge\_code" indica o código do município onde a empresa está registrada, conforme o cadastro oficial do IBGE. * `Id`: Código identificador único - Este é um identificador único que é atribuído a quase todas as classes. * `Gender`: No contexto de nossa API, "Gender" indica o sexo do CPF encontrado na consulta. * `Gender_identity`: No contexto de nossa API, "gender\_identity" indica a identidade de gênero da pessoa. * `Has_lawsuits`: Sempre terá o valor "false" e não será considerado para este tipo de consulta no contexto atual. * `head_office`: Indica se o CNPJ consultado pertence à matriz da empresa. Pode assumir valores como "true" (se for a matriz) ou "false" (se for uma filial). * `Instance`: Grau - Utilizado para se referir ao grau do processo. * `Interdicted`: No contexto da nossa API, o campo `interdicted` indica se a pessoa está legalmente interditada. * `Justice`: Justiça - No contexto da nossa API, "Justice" é o número que representa o ramo da justiça usado no código CNJ de um processo. * `Judge`: Juiz - No contexto da nossa API, "judge" refere-se a qualquer pessoa com autoridade legal para julgar e decidir uma causa. Isso pode incluir juízes, desembargadores, ministros, entre outros. * `Kinship`: No contexto das consultas cadastrais em nossa API, "Kinship" indica o grau de parentesco dentro do grupo familiar encontrado para o CPF/CNPJ consultado. * `Last Step`: Última movimentação - A movimentação mais recente ligada ao processo. * `Lawsuit`: Processo ou ação judicial - Este termo é usado em muitos contextos da nossa API para referir-se a um processo judicial. * `Lawsuit Cnj`: Processo ou ação judicial - Este termo é usado para refere-se ao processo judicial. * `Lawsuit Instance`: No contexto da nossa API, "lawsuit\_instance" refere-se ao grau específico da etapa daquele processo em questão. * `Lawyer`: Advogado - Representa uma parte em um processo judicial, defendendo seus interesses e apresentando argumentos legais em seu nome. * `Lawyers`: Advogados - Representantes de uma das partes em um processo judicial, defendendo seus interesses e apresentando argumentos legais em seu nome. * `legal_nature`: No contexto de nossa API, "legal\_nature" indica a natureza jurídica da empresa, ou seja, a forma legal sob a qual o CNPJ foi constituído, como sociedade limitada, sociedade anônima, ou outra estrutura legal * `Licence`:Documento - No contexto da nossa API, "Licence" refere-se ao documento de identificação do advogado representante da parte. Este documento é representado pela OAB (Ordem dos Advogados do Brasil). * `Main Lawsuit`: Processo Principal - Refere-se ao processo que deu origem ao processo atual. * `Main Document`: No contexto da nossa API, "main\_document" tem como valor o número que representa (Cadastro de Pessoas Físicas), no caso de indivíduos ou CNPJ (Cadastro Nacional da Pessoa Jurídica), no caso de empresas. * `Marital_status`: No contexto de nossa API, o campo "marital\_status" indica o estado civil da pessoa. * `Mei_option`: No contexto da nossa API, o campo `mei_option` indica se a empresa é optante pelo MEI (Microempreendedor Individual). * `Name`: Nome - Utilizado no contexto de "Lawsuit" trata-se de uma abreviação das partes do processo a fim de reconhecer mais fácil um processo, já em outros contextos, a descrição de algumas propriedades. * `Nationality`: Indica a nacionalidade do CPF/CNPJ encontrado para o documento consultado. * `Neighborhood`: Indica o bairro do endereço encontrado para o CPF/CNPJ consultado. * `Number`: Indica o número do endereço encontrado para o CPF/CNPJ consultado. * `Occupation_nature`: No contexto de nossa API, o campo "occupation\_nature" descreve a natureza da ocu * `Parents`: No contexto das consultas cadastrais em nossa API, "Parnts" Indica o aas pessoas que possuem vinculo familiar encontrado para o CPF/CNPJ consultado. * `partners`: Lista os sócios da empresa consultada, contendo informações como nome, CPF/CNPJ, participação societária e outros dados relevantes sobre cada sócio. * `Party`: Parte - No contexto de um processo judicial, "Party" refere-se a um indivíduo ou entidade envolvida no processo. Isso pode incluir o demandante (quem inicia o processo), o réu (quem está sendo processado), ou qualquer outra entidade que tenha um interesse direto no resultado do processo. * `Parties`: Partes - No contexto da nossa API, "Parties" refere-se ao conjunto de todas as partes envolvidas em um processo judicial. * `Page`: Referencia a página que está sendo exibida naquela consulta. * `Page Count`: Refere-se a página que está sendo exibida. * `Phase`: Indica a etapa atual do processo em questão. * `Position`: Indica o cargo ocupado na empresa epresentada pelo CNPJ consultado. * `Person Type`: Tipo de Pessoa - No contexto de um processo judicial, "Person Type" refere-se ao tipo de papel que uma parte exerce no processo. No polo ativo, podemos ter tipos como Autor, Embargante, Requerente, entre outros. No polo passivo, podemos ter tipos como Réu, Embargado, Requerido, entre outros. * `Private`: Indica se etapa do processo em questão está sob segredo de justiça. Este campo é representado pelo valor "true" quando o processo é sigiloso e "false" quando não está sob sigilo. * `Related Lawsuits`: Processos Relacionados - Estes são processos que têm uma conexão direta com o processo principal. Eles podem representar diferentes etapas ou aspectos do mesmo caso legal, como recursos, apelações, execuções, entre outros. * `Request`: "Request" na nossa API é uma solicitação feita pelo usuário contendo dados de Search para realizar uma operação, como uma pesquisa. * `Request Id`: É a identificação de uma solicitação feita pelo usuário contendo dados de Search para realizar uma operação, como uma pesquisa. * `Response Type`: Refere-se ao tipo de documentos que serão retornados na busca. Isso pode variar de "lawsuits" para buscas por CPF, CNPJ ou OAB, "lawsuit" para buscas por CNJ (Número do processo) ou "warrant" para buscas por mandado. * `Revenue_service_active`: No contexto da nossa API, "revenue\_service\_active" indica se a empresa consultada está ativa e regular perante a Receita Federal ou órgão equivalente. Pode assumir valores como "true" (ativa) ou "false" (inativa ou irregular). * `revenue_update_date`: No contexto da nossa API, "revenue\_update\_date" indica data da ultima atualizacao na receita. * `Search`: Pesquisa - No contexto da nossa API, "Search" refere-se a uma pesquisa que pode ser realizada. Os tipos de pesquisa são explicados em "Search Type". * `Search Key`: Chave de pesquisa - Dado utilizado para realizar um pesquisa. Essa informação varia de acordo com o "Search Type". * `Search Type`: Tipo de pesquisa - Os tipos de pesquisa podem incluir CPF, CNPJ, OAB, ID do processo (identificador único do processo na nossa API) e CNJ do processo (código único do processo no sistema judiciário brasileiro). Cada tipo de pesquisa retorna um conjunto específico de dados relacionados ao termo de pesquisa. * `Secrecy Level`: Nível de Sigilo - Há 6 níveis de sigilo, variando de 0 (processo público) a 5 (sigilo absoluto). * `Sexual_orientation`: No contexto de nossa API, o campo `sexual_orientation` informa a orientação sexual da pessoa. * `Share_capital`: No contexto de nossa API, "share\_capital" indica o valor do capital social da empresa, ou seja, o montante total investido pelos sócios ou acionistas no CNPJ consultado. * `size`: No contexto da nossa API, "size" indica o porte da empresa consultada, podendo assumir valores como "ME" (Microempresa), "EPP" (Empresa de Pequeno Porte) ou "DEMAIS", que representa empresas de maior porte ou fora dessas categorias. * `special_status_date`: No contexto de nossa API, este campo indica a data em que o status especial do CNPJ consultado foi atribuído ou atualizado. * `Side`: Polo - No contexto de um processo judicial, "Side" refere-se ao papel que uma parte desempenha no processo. Isso pode ser o polo ativo (quem inicia o processo, geralmente o demandante), o polo passivo (quem está sendo processado, geralmente o réu) ou o polo interessado (uma parte que tem um interesse direto no resultado do processo, mas que não é nem o demandante nem o réu). * `Simple_option`: No contexto da nossa API, o campo `simple_option` indica se a empresa é optante pelo Simples Nacional e pode ser encontrado dentro do campo tags. * `Situation`: Uma breve descrição sobre a etapa atual do processo em questão. * `Social_name`: Indica o nome fantasia do CNPJ consultado. * `Source Name`: "source\_name" é o termo usado referir-se a fonte em que a pesquisa foi conduzida. * `Special_status`: No contexto da nossa API, "special\_status" indica a classificaçao atual do CNPJ consultado na receita federal. * `State`: Indica o estado encontrado para o CPF/CNPJ consultado. * `Status`: Status do Processo - Refere-se ao estado atual de um processo judicial conforme definido pelo Conselho Nacional de Justiça (CNJ). Exemplos de status podem incluir "Em andamento", "Concluído", "Arquivado", entre outros. * `Step`: Movimentação - Refere-se a cada movimentação ou etapa que um processo judicial passa, incluindo ações como a apresentação de uma petição, a realização de uma audiência, a emissão de uma sentença, entre outros. * `Steps`: Movimentações - No contexto da nossa API, "Steps" refere-se ao conjunto de todas as movimentações ou etapas que um processo judicial passa. * `Steps Count`: Refere-se à quantidade de etapas que o processo possui. * `Step Id`: É a identificação única da etapa do processo atualmente exibida. Essa identificação pode ser útil para localizar um anexo específico relacionado à etapa atual. * `Street`: Indica o logradouro encontrado para o CPF/CNPJ consultado. * `Subjects`: Assuntos - No contexto da nossa API, "Subjects" refere-se aos assuntos de um processo conforme definido pelo Conselho Nacional de Justiça (CNJ). Os assuntos são uma forma de categorizar o conteúdo do processo, ajudando a identificar a natureza da disputa. * `Tags`: Etiquetas - As "tags" são usadas para classificar as entidades da nossa API, como por exemplo, classificar processos por áreas de atuação. * `Tracking`: Monitoramento - No contexto da nossa API, "Tracking" refere-se ao ato de monitorar uma consulta. * `tracked_items_count`: Representa o total de processos identificados desde o início do monitoramento. * `tracked_items_steps_count`: Indica o total de movimentações processuais registradas desde o início do monitoramento. * `Tribunal`: Tribunal - Refere-se ao tribunal onde um processo está sendo julgado. * `Tribunal Acronym`: Sigla do tribunal - Uma abreviação do nome do tribunal onde um processo está sendo julgado. * `twin_brother`: No contexto de nossa API, o campo "twin\_brother" indica se a pessoa possui irmão gêmeo. * `User Id`: Refere-se ao registro de identificação do usuário que está realizando a requisição. * `Zip_code`: Indica o CEP encontrado relacionado ao endereço encontrado para o CPF/CNPJ consultado. # Termos Mandados * `warrant_id`: uuid interno. * `entity_id`: id da entitade (pessoa). * `entity`: entitade (pessoa) - não grava no banco. * `tribunal_id`: id do bnmp. * `individual_id`: numero do indivíduo. * `warrant_type`: tipo da peça. * `arrest_type`: tipo da prisão. * `law_type`: LawType; * `number`: numero da peça - possui o cnj. * `previous_number`: número da peça anterior. * `issue_date`: data de expedição no bnmp. * `create_date`: data de criação no bnmp. * `expiration_date`?: data de validade. * `status`: status da prisão. * `code`: Código - Código - No contexto de "mandado", refere-se ao código warrant. Em outros contextos, pode se referir ao código único de certas propriedades. * `instance`: Grau - Utilizado para referir-se ao grau do processo. * `tribunal`: Tribunal - Refere-se ao tribunal onde um processo está sendo julgado. * `justice`: Justiça - No contexto da nossa API, "Justice" é o número que representa o ramo da justiça usado no código CNJ de um processo. * `tribunal_acronym`: Sigla do tribunal - Uma abreviação do nome do tribunal onde um processo está sendo julgado. * `court`: Órgão julgador - Refere-se ao órgão ou instituição responsável por administrar a justiça em um processo específico. * `judge`: Juiz - No contexto da nossa API, "judge" refere-se a qualquer pessoa com autoridade legal para julgar e decidir uma causa. Isso pode incluir juízes, desembargadores, ministros, entre outros. * `judgementSummary`: resumo da decisão judicial * `reason`: motivo da expedição * `duration`: tempo de pena * `duration_years`: Duração do mandado em anos * `duration_months`: duração do mandado em meses * `duration_days`: duração do mandado em dias * `observations`: observações do mandado * `regime`: regime prisional * `recapture`: recaptura sendo um booleano * `certificate_file`: Arquivo do certificado * `tags`: Etiquetas - As "tags" são usadas para classificar as entidades da nossa API, como por exemplo, classificar processos por áreas de atuação. # Possiveis tags para categorização de processo: * `Criminal`: Criminal. * `Pld`: Crimes ligados a lavagem de dinheiro. * `Bankruptcy`: Falência / Recuperação judicial. * `Electoral`: Eleitoral. * `Airlines`: Processo envolvendo companhias aéreas. * `Insurers`: Processo envolvendo seguradoras. * `Judgement_bond`: Precatório. * `Slavery`: Escravidão. * `Public_civil`: Ação civil pública. ## Lista de Tribunais Aceitos (Filtros) | Sigla (Key) | Nome Oficial do Órgão | | :---------- | :--------------------------------------- | | `STF` | SUPREMO TRIBUNAL FEDERAL | | `STJ` | SUPERIOR TRIBUNAL DE JUSTIÇA | | `TST` | TRIBUNAL SUPERIOR DO TRABALHO | | `TSE` | TRIBUNAL SUPERIOR ELEITORAL | | `STM` | SUPERIOR TRIBUNAL MILITAR | | `CNJ` | CONSELHO NACIONAL DE JUSTIÇA | | `CJF` | CONSELHO DA JUSTIÇA FEDERAL | | `CSJT` | CONSELHO SUPERIOR DA JUSTIÇA DO TRABALHO | | Sigla (Key) | Nome Oficial do Órgão | | :---------- | :------------------------------------- | | `TRF1` | TRIBUNAL REGIONAL FEDERAL DA 1ª REGIÃO | | `TRF2` | TRIBUNAL REGIONAL FEDERAL DA 2ª REGIÃO | | `TRF3` | TRIBUNAL REGIONAL FEDERAL DA 3ª REGIÃO | | `TRF4` | TRIBUNAL REGIONAL FEDERAL DA 4ª REGIÃO | | `TRF5` | TRIBUNAL REGIONAL FEDERAL DA 5ª REGIÃO | | Sigla (Key) | Nome Oficial do Órgão | | :---------- | :-------------------------------- | | `TRT1` | TRT DA 1ª REGIÃO (RJ) | | `TRT2` | TRT DA 2ª REGIÃO (SP - Capital) | | `TRT3` | TRT DA 3ª REGIÃO (MG) | | `TRT4` | TRT DA 4ª REGIÃO (RS) | | `TRT5` | TRT DA 5ª REGIÃO (BA) | | `TRT6` | TRT DA 6ª REGIÃO (PE) | | `TRT7` | TRT DA 7ª REGIÃO (CE) | | `TRT8` | TRT DA 8ª REGIÃO (PA/AP) | | `TRT9` | TRT DA 9ª REGIÃO (PR) | | `TRT10` | TRT DA 10ª REGIÃO (DF/TO) | | `TRT11` | TRT DA 11ª REGIÃO (AM/RR) | | `TRT12` | TRT DA 12ª REGIÃO (SC) | | `TRT13` | TRT DA 13ª REGIÃO (PB) | | `TRT14` | TRT DA 14ª REGIÃO (RO/AC) | | `TRT15` | TRT DA 15ª REGIÃO (SP - Campinas) | | `TRT16` | TRT DA 16ª REGIÃO (MA) | | `TRT17` | TRT DA 17ª REGIÃO (ES) | | `TRT18` | TRT DA 18ª REGIÃO (GO) | | `TRT19` | TRT DA 19ª REGIÃO (AL) | | `TRT20` | TRT DA 20ª REGIÃO (SE) | | `TRT21` | TRT DA 21ª REGIÃO (RN) | | `TRT22` | TRT DA 22ª REGIÃO (PI) | | `TRT23` | TRT DA 23ª REGIÃO (MT) | | `TRT24` | TRT DA 24ª REGIÃO (MS) | | Sigla (Key) | Nome Oficial do Órgão | | :---------- | :---------------------------------------------------- | | `TJAC` | TRIBUNAL DE JUSTIÇA DO ACRE | | `TJAL` | TRIBUNAL DE JUSTIÇA DO ALAGOAS | | `TJAP` | TRIBUNAL DE JUSTIÇA DO AMAPÁ | | `TJAM` | TRIBUNAL DE JUSTIÇA DO AMAZONAS | | `TJBA` | TRIBUNAL DE JUSTIÇA DA BAHIA | | `TJCE` | TRIBUNAL DE JUSTIÇA DO CEARÁ | | `TJDF` | TRIBUNAL DE JUSTIÇA DO DISTRITO FEDERAL E TERRITÓRIOS | | `TJES` | TRIBUNAL DE JUSTIÇA DO ESPÍRITO SANTO | | `TJGO` | TRIBUNAL DE JUSTIÇA DE GOIÁS | | `TJMA` | TRIBUNAL DE JUSTIÇA DO MARANHÃO | | `TJMT` | TRIBUNAL DE JUSTIÇA DO MATO GROSSO | | `TJMS` | TRIBUNAL DE JUSTIÇA DO MATO GROSSO DO SUL | | `TJMG` | TRIBUNAL DE JUSTIÇA DE MINAS GERAIS | | `TJPA` | TRIBUNAL DE JUSTIÇA DO PARÁ | | `TJPB` | TRIBUNAL DE JUSTIÇA DA PARAÍBA | | `TJPR` | TRIBUNAL DE JUSTIÇA DO PARANÁ | | `TJPE` | TRIBUNAL DE JUSTIÇA DE PERNAMBUCO | | `TJPI` | TRIBUNAL DE JUSTIÇA DO PIAUÍ | | `TJRJ` | TRIBUNAL DE JUSTIÇA DO RIO DE JANEIRO | | `TJSP` | TRIBUNAL DE JUSTIÇA DE SÃO PAULO | | `TJRN` | TRIBUNAL DE JUSTIÇA DO RIO GRANDE DO NORTE | | `TJRS` | TRIBUNAL DE JUSTIÇA DO RIO GRANDE DO SUL | | `TJRO` | TRIBUNAL DE JUSTIÇA DE RONDÔNIA | | `TJRR` | TRIBUNAL DE JUSTIÇA DE RORAIMA | | `TJSC` | TRIBUNAL DE JUSTIÇA DE SANTA CATARINA | | `TJSE` | TRIBUNAL DE JUSTIÇA DE SERGIPE | | Sigla (Key) | Nome Oficial do Órgão | | :---------- | :------------------------------------------------- | | `TRE-AC` | TRIBUNAL REGIONAL ELEITORAL DO ACRE | | `TRE-AL` | TRIBUNAL REGIONAL ELEITORAL DO ALAGOAS | | `TRE-AP` | TRIBUNAL REGIONAL ELEITORAL DO AMAPÁ | | `TRE-AM` | TRIBUNAL REGIONAL ELEITORAL DO AMAZONAS | | `TRE-BA` | TRIBUNAL REGIONAL ELEITORAL DA BAHIA | | `TRE-CE` | TRIBUNAL REGIONAL ELEITORAL DO CEARÁ | | `TRE-DF` | TRIBUNAL REGIONAL ELEITORAL DO DISTRITO FEDERAL | | `TRE-ES` | TRIBUNAL REGIONAL ELEITORAL DO ESPÍRITO SANTO | | `TRE-GO` | TRIBUNAL REGIONAL ELEITORAL DE GOIÁS | | `TRE-MA` | TRIBUNAL REGIONAL ELEITORAL DO MARANHÃO | | `TRE-MT` | TRIBUNAL REGIONAL ELEITORAL DO MATO GROSSO | | `TRE-MS` | TRIBUNAL REGIONAL ELEITORAL DO MATO GROSSO DO SUL | | `TRE-MG` | TRIBUNAL REGIONAL ELEITORAL DE MINAS GERAIS | | `TRE-PA` | TRIBUNAL REGIONAL ELEITORAL DO PARÁ | | `TRE-PB` | TRIBUNAL REGIONAL ELEITORAL DA PARAÍBA | | `TRE-PR` | TRIBUNAL REGIONAL ELEITORAL DO PARANÁ | | `TRE-PE` | TRIBUNAL REGIONAL ELEITORAL DE PERNAMBUCO | | `TRE-PI` | TRIBUNAL REGIONAL ELEITORAL DO PIAUÍ | | `TRE-RJ` | TRIBUNAL REGIONAL ELEITORAL DO RIO DE JANEIRO | | `TRE-RN` | TRIBUNAL REGIONAL ELEITORAL DO RIO GRANDE DO NORTE | | `TRE-RS` | TRIBUNAL REGIONAL ELEITORAL DO RIO GRANDE DO SUL | | `TRE-RO` | TRIBUNAL REGIONAL ELEITORAL DE RONDÔNIA | | `TRE-RR` | TRIBUNAL REGIONAL ELEITORAL DE RORAIMA | | `TRE-SC` | TRIBUNAL REGIONAL ELEITORAL DE SANTA CATARINA | | `TRE-SE` | TRIBUNAL REGIONAL ELEITORAL DE SERGIPE | | `TRE-SP` | TRIBUNAL REGIONAL ELEITORAL DE SÃO PAULO | | `TRE-TO` | TRIBUNAL REGIONAL ELEITORAL DO TOCANTINS | | Sigla (Key) | Nome Oficial do Órgão | | :---------- | :--------------------------------------------------------- | | `CJM1` | PRIMEIRA CIRCUNSCRIÇÃO JUDICIÁRIA MILITAR | | `CJM2` | SEGUNDA CIRCUNSCRIÇÃO JUDICIÁRIA MILITAR | | `CJM3` | TERCEIRA CIRCUNSCRIÇÃO JUDICIÁRIA MILITAR | | `CJM4` | QUARTA CIRCUNSCRIÇÃO JUDICIÁRIA MILITAR | | `CJM5` | QUINTA CIRCUNSCRIÇÃO JUDICIÁRIA MILITAR | | `CJM6` | SEXTA CIRCUNSCRIÇÃO JUDICIÁRIA MILITAR | | `CJM7` | SÉTIMA CIRCUNSCRIÇÃO JUDICIÁRIA MILITAR | | `CJM8` | OITAVA CIRCUNSCRIÇÃO JUDICIÁRIA MILITAR | | `CJM9` | NONA CIRCUNSCRIÇÃO JUDICIÁRIA MILITAR | | `CJM10` | DÉCIMA CIRCUNSCRIÇÃO JUDICIÁRIA MILITAR | | `CJM11` | DÉCIMA PRIMEIRA CIRCUNSCRIÇÃO JUDICIÁRIA MILITAR | | `CJM12` | DÉCIMA SEGUNDA CIRCUNSCRIÇÃO JUDICIÁRIA MILITAR | | `TJM-MG` | TRIBUNAL DE JUSTIÇA MILITAR DO ESTADO DE MINAS GERAIS | | `TJM-RS` | TRIBUNAL DE JUSTIÇA MILITAR DO ESTADO DO RIO GRANDE DO SUL | | `TJM-SP` | TRIBUNAL DE JUSTIÇA MILITAR DO ESTADO DE SÃO PAULO | ## Lista para cofre de credenciais * `PJE TST - 1º grau` // Tribunal Superior do Trabalho - 1ª Instância * `PJE TST - 2º grau` // Tribunal Superior do Trabalho - 2ª Instância * `PJE TST - 3º grau` // Tribunal Superior do Trabalho - 3ª Instância * `ESAJ - TJAC - 1º grau` // Tribunal de Justiça do Acre - 1ª Instância * `ESAJ - TJAC - 2º grau` // Tribunal de Justiça do Acre - 2ª Instância * `ESAJ - TJAL - 1º grau` // Tribunal de Justiça de Alagoas - 1ª Instância * `ESAJ - TJAL - 2º grau` // Tribunal de Justiça de Alagoas - 2ª Instância * `ESAJ - TJAM - 1º grau` // Tribunal de Justiça do Amazonas - 1ª Instância * `ESAJ - TJAM - 2º grau` // Tribunal de Justiça do Amazonas - 2ª Instância * `ESAJ - TJCE - 1º grau` // Tribunal de Justiça do Ceará - 1ª Instância * `ESAJ - TJCE - 2º grau` // Tribunal de Justiça do Ceará - 2ª Instância * `ESAJ - TJMS - 1º grau` // Tribunal de Justiça do Mato Grosso do Sul - 1ª Instância * `ESAJ - TJMS - 2º grau` // Tribunal de Justiça do Mato Grosso do Sul - 2ª Instância * `ESAJ - TJSP - 1º grau` // Tribunal de Justiça de São Paulo - 1ª Instância * `ESAJ - TJSP - 2º grau` // Tribunal de Justiça de São Paulo - 2ª Instância * `PJE TJAP - 1º grau` // Tribunal de Justiça do Amapá - 1ª Instância * `PJE TJAP - 2º grau` // Tribunal de Justiça do Amapá - 2ª Instância * `PJE TJBA - 1º grau` // Tribunal de Justiça da Bahia - 1ª Instância * `PJE TJBA - 2º grau` // Tribunal de Justiça da Bahia - 2ª Instância * `PJE TJCE - 1º grau` // Tribunal de Justiça do Ceará - 1ª Instância * `PJE TJCE - 2º grau` // Tribunal de Justiça do Ceará - 2ª Instância * `PJE TJDFT - 1º grau` // Tribunal de Justiça do Distrito Federal - 1ª Instância * `PJE TJDFT - 2º grau` // Tribunal de Justiça do Distrito Federal - 2ª Instância * `PJE TJES - 1º grau` // Tribunal de Justiça do Espírito Santo - 1ª Instância * `PJE TJES - 2º grau` // Tribunal de Justiça do Espírito Santo - 2ª Instância * `PJE TJMA - 1º grau` // Tribunal de Justiça do Maranhão - 1ª Instância * `PJE TJMA - 2º grau` // Tribunal de Justiça do Maranhão - 2ª Instância * `PJE TJMG - 1º grau` // Tribunal de Justiça de Minas Gerais - 1ª Instância * `PJE TJMG - 2º grau` // Tribunal de Justiça de Minas Gerais - 2ª Instância * `PJE TJMT - 1º grau` // Tribunal de Justiça do Mato Grosso - 1ª Instância * `PJE TJMT - 2º grau` // Tribunal de Justiça do Mato Grosso - 2ª Instância * `PJE TJPA - 1º grau` // Tribunal de Justiça do Pará - 1ª Instância * `PJE TJPA - 2º grau` // Tribunal de Justiça do Pará - 2ª Instância * `PJE TJPB - 1º grau` // Tribunal de Justiça da Paraíba - 1ª Instância * `PJE TJPB - 2º grau` // Tribunal de Justiça da Paraíba - 2ª Instância * `PJE TJPE - 1º grau` // Tribunal de Justiça de Pernambuco - 1ª Instância * `PJE TJPE - 2º grau` // Tribunal de Justiça de Pernambuco - 2ª Instância * `PJE TJPI - 1º grau` // Tribunal de Justiça do Piauí - 1ª Instância * `PJE TJPI - 2º grau` // Tribunal de Justiça do Piauí - 2ª Instância * `PJE TJRJ - 1º grau` // Tribunal de Justiça do Rio de Janeiro - 1ª Instância * `PJE TJRN - 1º grau` // Tribunal de Justiça do Rio Grande do Norte - 1ª Instância * `PJE TJRN - 2º grau` // Tribunal de Justiça do Rio Grande do Norte - 2ª Instância * `PJE TJRO - 1º grau` // Tribunal de Justiça de Rondônia - 1ª Instância * `PJE TJRO - 2º grau` // Tribunal de Justiça de Rondônia - 2ª Instância * `PJE TRF1 - 1º grau` // Tribunal Regional Federal da 1ª Região - 1ª Instância * `PJE TRF1 - 2º grau` // Tribunal Regional Federal da 1ª Região - 2ª Instância * `PJE TRF3 - 1º grau` // Tribunal Regional Federal da 3ª Região - 1ª Instância * `PJE TRF3 - 2º grau` // Tribunal Regional Federal da 3ª Região - 2ª Instância * `PJE TRT1 - 1º grau` // Tribunal Regional do Trabalho da 1ª Região - 1ª Instância * `PJE TRT1 - 2º grau` // Tribunal Regional do Trabalho da 1ª Região - 2ª Instância * `PJE TRT10 - 1º grau` // Tribunal Regional do Trabalho da 10ª Região - 1ª Instância * `PJE TRT10 - 2º grau` // Tribunal Regional do Trabalho da 10ª Região - 2ª Instância * `PJE TRT11 - 1º grau` // Tribunal Regional do Trabalho da 11ª Região - 1ª Instância * `PJE TRT11 - 2º grau` // Tribunal Regional do Trabalho da 11ª Região - 2ª Instância * `PJE TRT12 - 1º grau` // Tribunal Regional do Trabalho da 12ª Região - 1ª Instância * `PJE TRT12 - 2º grau` // Tribunal Regional do Trabalho da 12ª Região - 2ª Instância * `PJE TRT13 - 1º grau` // Tribunal Regional do Trabalho da 13ª Região - 1ª Instância * `PJE TRT13 - 2º grau` // Tribunal Regional do Trabalho da 13ª Região - 2ª Instância * `PJE TRT14 - 1º grau` // Tribunal Regional do Trabalho da 14ª Região - 1ª Instância * `PJE TRT14 - 2º grau` // Tribunal Regional do Trabalho da 14ª Região - 2ª Instância * `PJE TRT15 - 1º grau` // Tribunal Regional do Trabalho da 15ª Região - 1ª Instância * `PJE TRT15 - 2º grau` // Tribunal Regional do Trabalho da 15ª Região - 2ª Instância * `PJE TRT16 - 1º grau` // Tribunal Regional do Trabalho da 16ª Região - 1ª Instância * `PJE TRT16 - 2º grau` // Tribunal Regional do Trabalho da 16ª Região - 2ª Instância * `PJE TRT17 - 1º grau` // Tribunal Regional do Trabalho da 17ª Região - 1ª Instância * `PJE TRT17 - 2º grau` // Tribunal Regional do Trabalho da 17ª Região - 2ª Instância * `PJE TRT18 - 1º grau` // Tribunal Regional do Trabalho da 18ª Região - 1ª Instância * `PJE TRT18 - 2º grau` // Tribunal Regional do Trabalho da 18ª Região - 2ª Instância * `PJE TRT19 - 1º grau` // Tribunal Regional do Trabalho da 19ª Região - 1ª Instância * `PJE TRT19 - 2º grau` // Tribunal Regional do Trabalho da 19ª Região - 2ª Instância * `PJE TRT2 - 1º grau` // Tribunal Regional do Trabalho da 2ª Região - 1ª Instância * `PJE TRT2 - 2º grau` // Tribunal Regional do Trabalho da 2ª Região - 2ª Instância * `PJE TRT20 - 1º grau` // Tribunal Regional do Trabalho da 20ª Região - 1ª Instância * `PJE TRT20 - 2º grau` // Tribunal Regional do Trabalho da 20ª Região - 2ª Instância * `PJE TRT21 - 1º grau` // Tribunal Regional do Trabalho da 21ª Região - 1ª Instância * `PJE TRT21 - 2º grau` // Tribunal Regional do Trabalho da 21ª Região - 2ª Instância * `PJE TRT22 - 1º grau` // Tribunal Regional do Trabalho da 22ª Região - 1ª Instância * `PJE TRT22 - 2º grau` // Tribunal Regional do Trabalho da 22ª Região - 2ª Instância * `PJE TRT23 - 1º grau` // Tribunal Regional do Trabalho da 23ª Região - 1ª Instância * `PJE TRT23 - 2º grau` // Tribunal Regional do Trabalho da 23ª Região - 2ª Instância * `PJE TRT24 - 1º grau` // Tribunal Regional do Trabalho da 24ª Região - 1ª Instância * `PJE TRT24 - 2º grau` // Tribunal Regional do Trabalho da 24ª Região - 2ª Instância * `PJE TRT3 - 1º grau` // Tribunal Regional do Trabalho da 3ª Região - 1ª Instância * `PJE TRT3 - 2º grau` // Tribunal Regional do Trabalho da 3ª Região - 2ª Instância * `PJE TRT4 - 1º grau` // Tribunal Regional do Trabalho da 4ª Região - 1ª Instância * `PJE TRT4 - 2º grau` // Tribunal Regional do Trabalho da 4ª Região - 2ª Instância * `PJE TRT5 - 1º grau` // Tribunal Regional do Trabalho da 5ª Região - 1ª Instância * `PJE TRT5 - 2º grau` // Tribunal Regional do Trabalho da 5ª Região - 2ª Instância * `PJE TRT6 - 1º grau` // Tribunal Regional do Trabalho da 6ª Região - 1ª Instância * `PJE TRT6 - 2º grau` // Tribunal Regional do Trabalho da 6ª Região - 2ª Instância * `PJE TRT7 - 1º grau` // Tribunal Regional do Trabalho da 7ª Região - 1ª Instância * `PJE TRT7 - CE - 2º grau` // Tribunal Regional do Trabalho da 7ª Região - 2ª Instância * `PJE TRT8 - 1º grau` // Tribunal Regional do Trabalho da 8ª Região - 1ª Instância * `PJE TRT8 - 2º grau` // Tribunal Regional do Trabalho da 8ª Região - 2ª Instância * `PJE TRT9 - 1º grau` // Tribunal Regional do Trabalho da 9ª Região - 1ª Instância * `PJE TRT9 - 2º grau` // Tribunal Regional do Trabalho da 9ª Região - 2ª Instância * `PJEINTER TJAP - 1º grau` // PJINTER do Tribunal de Justiça do Amapá - 1ª Instância * `PJEINTER TJAP - 2º grau` // PJINTER do Tribunal de Justiça do Amapá - 2ª Instância * `PJEINTER TJES - 1º grau` // PJINTER do Tribunal de Justiça do Espírito Santo - 1ª Instância * `PJEINTER TJES - 2º grau` // PJINTER do Tribunal de Justiça do Espírito Santo - 2ª Instância * `PJEINTER TJMT - 1º grau` // PJINTER do Tribunal de Justiça do Mato Grosso - 1ª Instância * `PJEINTER TJPB - 1º grau` // PJINTER do Tribunal de Justiça da Paraíba - 1ª Instância * `PJEINTER TJPB - 2º grau` // PJINTER do Tribunal de Justiça da Paraíba - 2ª Instância * `PJEINTER TJRJ - 1º grau` // PJINTER do Tribunal de Justiça do Rio de Janeiro - 1ª Instância * `PJEINTER TJRO - 1º grau` // PJINTER do Tribunal de Justiça de Rondônia - 1ª Instância * `PJEINTER TJRR - 1º grau` // PJINTER do Tribunal de Justiça de Roraima - 1ª Instância * `PJEINTER TJRR - 2º grau` // PJINTER do Tribunal de Justiça de Roraima - 2ª Instância * `PJEINTER TJBA - 1º grau` // PJINTER do Tribunal de Justiça da Bahia - 1ª Instância * `PROJUDI TJBA - 1º grau` // PROJUD do Tribunal de Justiça da Bahia - 1ª Instância * `PROJUDI TJBA - 2º grau` // PROJUD do Tribunal de Justiça da Bahia - 2ª Instância * `PROJUDI TJGO - 1º grau` // PROJUD do Tribunal de Justiça de Goiás - 1ª Instância * `PROJUDI TJGO - 2º grau` // PROJUD do Tribunal de Justiça de Goiás - 2ª Instância * `PROJUDI TJRR - 1º grau` // PROJUD do Tribunal de Justiça de Roraima - 1ª Instância * `PROJUDI TJRR - 2º grau` // PROJUD do Tribunal de Justiça de Roraima - 1ª Instância * `PROJUDI TJPR - 1º grau` // PROJUD do Tribunal de Justiça do Paraná - 1ª Instância * `PROJUDI TJAM - 1º grau` // PROJUD do Tribunal de Justiça do Amazonas - 1ª Instância * `TJRJ - 1º grau` // TJ do Rio de Janeiro - 1ª Instância * `TJRJ - 2º grau` // TJ do Rio de Janeiro - 2ª Instância * `EPROC - TJRS - 1º grau` // TJ do Rio grande do sul - 1ª Instância * `EPROC - TJRS - 1º grau` // TJ do Rio grande do sul - 2ª Instância * `EPROC - TRF6 - 1º grau` // EPROC do tribunal TRF6 - 1ª Instância * `EPROC - TRF6 - 2º grau` // EPROC do tribunal TRF6 - 2ª Instância ## Serviços JUDIT. * `Lawsuit`: Serviço responsável pela regra de negócio envolvida no contexto de processos, além de realizar o cache das informações. * `Request`: Serviço que recebe as solicitações dos usuários, bilheta e as encaminha para os serviços apropriados. * `Scrapper`: Serviço responsável por mapear os dados dos tribunais e transformá-los no padrão JUDIT. * `Tracking`: Serviço responsável pelo monitoramento de documentos e processos. * `User`: Serviço responsável por autenticação e controle dos callbacks. # MCP Server Source: https://docs.judit.io/resource/mcp Pergunte sobre a Judit API em linguagem natural — converse com Claude ou ChatGPT na hora, ou instale nosso servidor MCP no cliente da sua preferência. A documentação da Judit já vem com um servidor Model Context Protocol (MCP). Conecte qualquer cliente de IA e pergunte sobre a API em linguagem natural — o assistente pesquisa a doc, cita a página exata e te ajuda a integrar com a Judit mais rápido, sem precisar copiar e colar do navegador. ## Conversar agora (sem instalar) Clique abaixo para abrir o Claude ou o ChatGPT já com a documentação completa da Judit pré-carregada como contexto. Ideal para perguntas pontuais ou exploração rápida. Abre o Claude.ai com a doc inteira pré-carregada. Sem instalação. Abre o ChatGPT com a doc inteira pré-carregada. Sem instalação. Os dois botões referenciam [`https://docs.judit.io/llms-full.txt`](https://docs.judit.io/llms-full.txt), um arquivo único autogerado com toda a documentação concatenada, otimizado para que IAs ingiram tudo em uma única chamada. ## Instalar o servidor MCP Para uso recorrente no Claude Desktop, Cursor, Claude Code, ChatGPT ou qualquer outro cliente compatível com MCP, instale o servidor uma vez e as tools ficam disponíveis nativamente no seu chat: `https://docs.judit.io/mcp` Abra o Claude Desktop, vá em **Settings → Developer → Edit Config** e adicione: ```json theme={null} { "mcpServers": { "judit": { "url": "https://docs.judit.io/mcp" } } } ``` Reinicie o Claude Desktop. As tools **judit** aparecem no input de chat. Abra **Settings → MCP** na IDE (ou edite `~/.cursor/mcp.json`) e adicione: ```json theme={null} { "mcpServers": { "judit": { "url": "https://docs.judit.io/mcp" } } } ``` No terminal: ```bash theme={null} claude mcp add --transport http judit https://docs.judit.io/mcp ``` No ChatGPT, abra **Settings → Connectors → Add custom connector** e cole: ``` https://docs.judit.io/mcp ``` Disponível nos planos que suportam conectores MCP (Plus, Pro, Team, Enterprise). Qualquer cliente MCP que fale transporte HTTP funciona — aponte para `https://docs.judit.io/mcp`. Para clientes que só falam stdio (configs antigas), encapsule a URL com `mcp-remote`: ```json theme={null} { "mcpServers": { "judit": { "command": "npx", "args": ["-y", "mcp-remote", "https://docs.judit.io/mcp"] } } } ``` ## O que faz Uma vez conectado (por qualquer um dos caminhos acima), a IA ganha duas tools que usa automaticamente sempre que você pergunta algo relacionado à Judit: | Tool | Função | | :--------------------------------- | :------------------------------------------------------------------------------------------------------- | | `search_judit_docs` | Busca textual em toda a documentação, retornando os trechos mais relevantes com os caminhos das páginas. | | `query_docs_filesystem_judit_docs` | Lê uma página específica por path (`cat`, `head`, `rg`, etc.) quando a IA precisa do contexto completo. | Você não precisa chamar essas tools manualmente — basta conversar normalmente, e o modelo decide quando usá-las. ## Exemplos de prompts * *"Como crio um monitoramento por CNJ? Me mostra o body exato da requisição."* * *"Qual a diferença entre Hot Storage e uma requisição comum?"* * *"Escreve um snippet Python que cria uma requisição, faz polling até concluir e imprime os processos."* * *"Quais filtros posso passar em `subject_codes`? Cita a página."* * *"Me explica o fluxo de execução penal de ponta a ponta."* O modelo cita a página exata da doc que usou, então dá pra conferir a resposta. ## O que ele não faz Este MCP **lê apenas a documentação**. Ele não chama a Judit API por você — nenhum processo real é consultado, nenhuma requisição é criada, nenhum custo é gerado. Para realmente chamar a API, use um destes: Execute requisições reais com bodies pré-preenchidos e captura automática do `request_id`. Chame os endpoints direto do seu código usando sua `api-key`. O servidor MCP é hospedado pela nossa plataforma de documentação e fica em sincronia com este site automaticamente. Cada atualização da doc reflete nas respostas do MCP na próxima chamada — sem version pinning, sem redeploy do seu lado. # Postman Collection Source: https://docs.judit.io/resource/postman-collection Explore e teste todos os endpoints da Judit API direto no Postman — sem precisar baixar nada. A coleção completa da Judit API está no nosso workspace público no Postman. Clique abaixo para abrir: você pode navegar pelas requisições com descrições e exemplos, rodar tudo direto no Postman web ou fazer um fork para o seu próprio workspace com um clique. Abre o workspace público. Use **Fork** para copiar a coleção para o seu workspace, ou **Run in Postman** para importar no app desktop. ## Início rápido Clique no card acima. A coleção **Judit API** aparece na sidebar, com todos os endpoints organizados por pasta. No header da coleção, clique em **Fork** para copiar para o seu workspace pessoal, ou em **Run in Postman** para enviar ao app desktop. As duas opções preservam a estrutura, variáveis e scripts de teste. Abra a coleção que você fez fork, clique no nome dela na sidebar e vá na aba **Variables**. Cole sua chave de API na coluna *Current value* da variável `api_key` e clique em **Save**. A coleção envia automaticamente como header `api-key` em todas as requisições. Abra **Consulta processual e por documento › 1 - Criar requisição por CNJ**, preencha a variável `cnj_code` com um CNJ real e clique em **Send**. Você deve receber um `request_id` — ele é capturado automaticamente na variável `request_id`, então o próximo passo (**2 - Consultar status da requisição**) funciona sem copiar e colar. ## O que tem dentro Fluxo ponta a ponta: cria uma requisição por CNJ ou por documento (CPF, CNPJ, OAB, nome), consulta o status, lista as respostas e baixa anexos do processo. O primeiro passo já captura o `request_id` em uma variável da coleção, então as chamadas encadeadas funcionam sem copiar e colar. Cria, lista, pausa, retoma, atualiza e deleta monitoramentos de processos. Inclui o conjunto completo de filtros (tribunais, assuntos, classificações, nomes e documentos de parte) e o endpoint de histórico de respostas. Consulta de mandados de prisão por CPF, nome ou RJI, incluindo o download do anexo do mandado. Consulta de execução penal por CPF, CNPJ, nome ou CNJ. Consultas síncronas no datalake da Judit: Hot Storage (lista completa de processos), Contagem (total de processos), True / false e Histórica agrupada (contagens agregadas por classificação, assunto, área, tribunal, etc.). Consulta do objeto `entity` (dados cadastrais de CPF ou CNPJ), com opção de consultar a Receita Federal em tempo real. Lista as requisições criadas em um determinado período, útil para cobrança e análise de consumo. Cadastrar, listar e deletar credenciais para tribunais que exigem autenticação para crawl. A coleção usa variáveis do Postman para as URLs base e sua chave de API, então você só configura uma vez. Se precisar de uma chave de sandbox, fale com a gente em [contato@judit.io](mailto:contato@judit.io). # Objeto Entity (Dados Cadastrais) Source: https://docs.judit.io/schemas/entity O objeto `entity` é a estrutura de dados retornada nas consultas de CPF (Pessoa Física) e CNPJ (Pessoa Jurídica). Ele consolida informações cadastrais, de contato, endereços e vínculos. > 🤖 As consultas de Dados Cadastrais retornam um objeto base comum chamado `entity`. Dependendo se a consulta foi feita por um CPF ou CNPJ, a propriedade `entity_type` retornará `"person"` ou `"company"`, respectivamente. Alguns campos, como `parents` (filiação) ou `share_capital` (capital social), são exclusivos do seu respectivo tipo de entidade. ## Estrutura Base (Comum a CPF e CNPJ) Sempre que você consultar um documento válido, a Judit API retornará o bloco `entity` contendo as seguintes propriedades universais: ### Identificação Principal | Propriedade | Tipo | Descrição | | :-------------------------- | :------ | :---------------------------------------------------------------------------- | | `entity_id` | string | Identificador único interno da entidade no sistema da Judit. | | `entity_type` | string | Tipo da entidade: `"person"` (Pessoa Física) ou `"company"` (Empresa). | | `main_document` | string | Documento principal (CPF ou CNPJ). *Retornado apenas com números.* | | `name` | string | Nome civil completo da pessoa ou Razão Social oficial da empresa. | | `aka_names` | array | Lista de nomes alternativos (apelidos, nomes de solteiro ou Nomes Fantasia). | | `nationality` | string | Nacionalidade da pessoa ou país de registro da empresa. | | `revenue_service_active` | boolean | Indica se o documento está regular e ativo na base da Receita Federal. | | `created_at` / `updated_at` | string | Datas (ISO 8601) de criação e última atualização do registro no sistema. | | `tags` | object | Metadados extras ou de controle do Crawler (ex: data da extração na Receita). | *** ### Arrays de Contato e Localização Todas as entidades (Pessoas ou Empresas) possuem arrays padronizados para contato e endereços. #### Endereços (`addresses`) Lista de endereços residenciais ou comerciais vinculados ao documento. | Propriedade | Tipo | Descrição | | :------------- | :----- | :-------------------------------------------------------- | | `street` | string | Logradouro principal (Rua, Avenida, etc.). | | `number` | string | Número do imóvel predial. | | `complement` | string | Complemento (apto, bloco, sala, andar). | | `neighborhood` | string | Bairro de localização. | | `city` | string | Cidade do endereço. | | `state` | string | Unidade Federativa (UF) do endereço (ex: `"SP"`, `"RJ"`). | | `country` | string | País de localização. | | `zip_code` | string | Código Postal / CEP. *Retornado apenas com números.* | | `ibge_code` | number | Código oficial do município na tabela do IBGE. | #### Contatos (`contacts`) Lista de meios de comunicação extraídos das bases de dados. | Propriedade | Tipo | Descrição | | :------------- | :----- | :----------------------------------------------------------------------- | | `contact_type` | string | Categoria do contato (ex: `"phone"`, `"email"`). | | `description` | string | O valor do contato em si (o número de telefone ou o endereço de e-mail). | #### Outros Documentos (`documents`) Lista de documentos de identificação secundários (como RG, CNH, Inscrição Estadual). | Propriedade | Tipo | Descrição | | :-------------- | :----- | :------------------------------------------------- | | `document_type` | string | Tipo do documento secundário (ex: `"RG"`, `"IE"`). | | `document` | string | O número do documento sem formatação. | *** ## 👤 Propriedades Exclusivas: Pessoa Física (`person`) Se a consulta for de um **CPF** (`entity_type: "person"`), o objeto poderá conter as seguintes propriedades e arrays adicionais: | Propriedade | Tipo | Descrição | | :------------------ | :----- | :----------------------------------------------------------------------------------------------------------------------- | | `birth_date` | string | Data de nascimento. Formato ISO 8601. | | `gender` | string | Gênero/sexo cadastrado (ex: `"M"`, `"F"`). | | `parents` | array | Array de filiação. Cada item contém `name` (nome completo) e `kinship` (grau de parentesco, ex: `"mother"`, `"father"`). | | `partners` | array | Lista de cônjuges ou companheiros identificados. | | `associated_people` | array | Lista de outras pessoas físicas com vínculos identificáveis (sociedade, residência conjunta). | *** ## 🏢 Propriedades Exclusivas: Empresa (`company`) Se a consulta for de um **CNPJ** (`entity_type: "company"`), o objeto poderá conter os seguintes campos societários e de operação adicionais: ### Dados Operacionais | Propriedade | Tipo | Descrição | | :--------------- | :------ | :------------------------------------------------------------------------------------ | | `social_name` | string | Nome Fantasia (nome de mercado da empresa). | | `birth_date` | string | Data oficial de abertura/fundação da empresa na Receita Federal. | | `size` | string | Porte cadastral oficial (ex: `"ME"`, `"EPP"`, `"DEMAIS"`). | | `head_office` | boolean | Indica se o CNPJ em questão é a Matriz (`true`) ou uma Filial (`false`). | | `special_status` | string | Situação especial perante o fisco (ex: Recuperação Judicial, Concordata). | | `share_capital` | number | Valor do capital social declarado em formato numérico. | | `parents` | array | Lista de empresas que atuam como matriz, controladoras ou holdings (Grupo Econômico). | ### Estrutura Societária e Econômica #### Natureza Jurídica (`legal_nature`) | Propriedade | Tipo | Descrição | | :---------- | :------ | :------------------------------------------------------------- | | `code` | string | Código numérico oficial da natureza (ex: `"206-2"`). | | `name` | string | Descrição por extenso (ex: `"Sociedade Empresária Limitada"`). | | `active` | boolean | Indica se este é o enquadramento atual vigente. | #### Quadro de Sócios e Administradores - QSA (`partners`) | Propriedade | Tipo | Descrição | | :-------------- | :----- | :--------------------------------------------------------------------- | | `name` | string | Nome do sócio ou administrador. | | `main_document` | string | CPF ou CNPJ do participante societário. | | `position` | string | Qualificação/Cargo ocupado (ex: `"SÓCIO-ADMINISTRADOR"`, `"DIRETOR"`). | | `entity_type` | string | Tipo da entidade sócia (`"person"` ou `"company"`). | #### Atividades Econômicas - CNAE (`branch_activities`) | Propriedade | Tipo | Descrição | | :-------------- | :------ | :------------------------------------------------------------------ | | `code` | string | Código CNAE da atividade. | | `name` | string | Título ou descrição por extenso da atividade. | | `main_activity` | boolean | Indica se é o CNAE Principal (`true`) ou CNAE Secundário (`false`). | *** ## Exemplo de Payload (Pessoa Jurídica) ```json Resposta (CNPJ) theme={null} { "has_lawsuits": false, "request_id": "5c618521-2ecc-4176-a573-431d2e0edeb2", "response_data": [ { "entity_id": "", "entity_type": "person", "main_document": "999.999.999-99", "name": "JOÃO TESTE", "addresses": [ { "street": "RUA RAMOS DE CARVALHO", "number": "999", "complement": "", "neighborhood": "CENTRO", "city": "RIO DE JANEIRO", "state": "RJ", "country": "Brasil", "zip_code": "99999999", "ibge_code": 9999999 } ], "aka_names": [], "contacts": [ { "description": "21999999999", "contact_type": "phone" } ], "documents": [], "parents": [ { "name": "JANAINA DA SILVA", "kinship": "mother" } ], "partners": [], "associated_people": [], "tags": { "revenue_update_date": "2022-05-30T00:00:00.000Z" }, "created_at": "2024-10-12T13:28:59.051Z", "updated_at": "2024-10-12T13:28:59.051Z", "nationality": "BRASILEIRA", "birth_date": "1981-08-07T00:00:00.000Z", "gender": "male", "revenue_service_active": true } ] } ``` *** ## Próximos Passos Agora que você entende o dicionário de dados cadastrais, veja como consultar essas informações: * 👉 **[Consultas Cadastrais](/requests/cadastral):** Veja a documentação da rota de requisição para buscar e enriquecer CPFs e CNPJs em tempo real. # Enumerações e Domínios (Enums) Source: https://docs.judit.io/schemas/lawsuit-enums Esta página contém as enumerações (Enums) e domínios de valores para as propriedades dos objetos retornados pela Judit API (Processos, Mandados, Execuções, etc.). > 🤖 Este documento lista os valores literais aceitos e retornados pelas propriedades da Judit API em seus diversos Schemas. Lembre-se que no objeto `lawsuit`, as propriedades de capa (como `area`, `status`, `situation`, `secrecy_level`) ficam aninhadas dentro do objeto raiz `response_data`, enquanto `side` e `person_type` ficam dentro dos objetos do array `parties`. ## Áreas do Processo (`area`) Lista das áreas jurídicas (Ramos do Direito) que um processo ou execução pode ter: * `DIREITO À EDUCAÇÃO` * `DIREITO DA CRIANÇA E DO ADOLESCENTE` * `DIREITO DA SAÚDE` * `DIREITO DO CONSUMIDOR` * `DIREITO DO TRABALHO` * `DIREITO ASSISTENCIAL` * `DIREITO ADMINISTRATIVO E OUTRAS MATÉRIAS DE DIREITO PÚBLICO` * `DIREITO AMBIENTAL` * `DIREITO ELEITORAL` * `DIREITO INTERNACIONAL` * `DIREITO MARÍTIMO` * `DIREITO TRIBUTÁRIO` * `DIREITO PENAL` * `DIREITO PENAL MILITAR` * `DIREITO PREVIDENCIÁRIO` * `DIREITO PROCESSUAL CIVIL E DO TRABALHO` * `QUESTÕES DE ALTA COMPLEXIDADE, GRANDE IMPACTO E REPERCUSSÃO` * `REGISTROS PÚBLICOS` *** ## Níveis de Sigilo (`secrecy_level`) Sistema de classificação de sigilo processual (inteiro de 0 a 5): | Nível | Descrição | Acesso Permitido | | :---- | :---------------------------------- | :--------------------------------------------- | | `0` | **Público** | Acesso público geral. | | `1` | **Segredo de justiça** | Partes e advogados vinculados. | | `2` | **Restrito (Servidores)** | Servidores da unidade judicial e partes. | | `3` | **Sigiloso (Gabinete)** | Magistrados, chefes de cartórios e assessores. | | `4` | **Sigiloso (Magistrados e Chefes)** | Apenas magistrados e chefes de cartório. | | `5` | **Sigilo absoluto** | Exclusivo do magistrado do processo. | Processos com nível de sigilo `> 0` podem retornar *payloads* limitados ou com dados ofuscados, dependendo do tribunal de origem e das credenciais (Cofre) utilizadas na busca. *** ## Tipos de Justiça (`justice_description`) Classificação dos órgãos do Poder Judiciário brasileiro: * `SUPREMO TRIBUNAL FEDERAL` * `CONSELHO NACIONAL DE JUSTIÇA` * `SUPERIOR TRIBUNAL DE JUSTIÇA` * `TRIBUNAL REGIONAL FEDERAL` * `JUSTIÇA DO TRABALHO` * `JUSTIÇA ELEITORAL` * `JUSTIÇA MILITAR DA UNIÃO` * `JUSTIÇA MILITAR ESTADUAL` * `JUSTIÇA ESTADUAL` *** ## Ciclo de Vida: Status vs. Situação A API retorna dois campos semelhantes, mas com propósitos distintos para indicar a saúde do processo. ### 1. Status Global (`status`) Visão macro e padronizada do processo, ideal para filtros e dashboards: | Valor | Descrição | | :----------- | :----------------------------- | | `ATIVO` | Processo em andamento normal. | | `FINALIZADO` | Processo concluído ou baixado. | ### 2. Situação Granular (`situation`) Status mais específico e variável, capturado diretamente da capa do tribunal: | Valor | Descrição | | :------------------------------ | :------------------------------------------- | | `INICIAL` | Processo recém-distribuído. | | `SENTENÇA` | Processo com sentença proferida. | | `EXECUÇÃO OU CUMPRIMENTO` | Processo em fase de execução/cobrança. | | `TRÂNSITO JULGADO OU EM ACORDO` | Decisão definitiva sem cabimento de recurso. | | `RECURSO` | Processo aguardando julgamento de recurso. | | `ARQUIVADO` | Processo guardado definitivamente. | | `SUSPENSO` | Tramitação paralisada temporariamente. | | `SOBRESTADO` | Aguardando decisão de tribunal superior. | | `CANCELADO` | Distribuição cancelada. | *** ## Polos e Tipos de Pessoa (`side` e `person_type`) Ao iterar sobre os arrays de partes (seja em Processos, Mandados ou Execuções), você encontrará estas classificações: ### Polo Processual (`side`) De qual lado da disputa a pessoa está. * `ACTIVE`: Polo Ativo (quem move a ação). * `PASSIVE`: Polo Passivo (contra quem a ação é movida). * `INTERESTED`: Terceiros ou interessados. * `UNKNOWN`: Não especificado pelo tribunal. ### Papel Específico (`person_type`) A qualificação jurídica exata da parte. Exemplos comuns: * `AUTOR` / `REQUERENTE` / `EXEQUENTE` * `RÉU` / `REQUERIDO` / `EXECUTADO` / `REEDUCANDO` * `ADVOGADO` / `DEFENSOR PÚBLICO` * `TESTEMUNHA` / `PERITO` *** ## Fases e Andamentos ### Fases do Processo (`phase`) * `CONHECIMENTO` * `EXECUÇÃO` * `RECURSO` * `FASE` *(Valor genérico usado quando o tribunal não especifica a fase exata)* ### Códigos de Andamento (`step_type`) Os códigos mapeiam a **Tabela Processual Unificada (TPU) do CNJ**. Exemplos: * `DISTRIBUIÇÃO` * `CITAÇÃO` * `CONTESTAÇÃO` * `SENTENÇA` * `RECURSO` * `ARQUIVAMENTO` *** ## Outras Enumerações Úteis ### Estados Brasileiros (`state`) A API utiliza o padrão de siglas (UF) com 2 letras maiúsculas: `AC`, `AL`, `AP`, `AM`, `BA`, `CE`, `DF`, `ES`, `GO`, `MA`, `MT`, `MS`, `MG`, `PA`, `PB`, `PR`, `PE`, `PI`, `RJ`, `RN`, `RS`, `RO`, `RR`, `SC`, `SP`, `SE`, `TO`. ### Tipos de Documento (`documents`) Tipos de identificadores presentes nos arrays de documentos das partes ou entidades: * `CPF`: Pessoa Física. * `CNPJ`: Pessoa Jurídica. * `RG`: Registro Geral. * `OAB`: Inscrição na Ordem dos Advogados (geralmente acompanhada da UF, ex: OAB/SP). *** ## Exemplos Práticos de Uso Abaixo, veja a forma correta de validar dados acessando o objeto `response_data` de um processo. ### 1. Validação de Tipos ```javascript JavaScript theme={null} // Exemplo: Validando o status recebido da API const lawsuit = response.json(); // Objeto raiz const validStatuses = ['ATIVO', 'FINALIZADO']; const currentStatus = lawsuit.response_data.status; // ✅ Acesso correto if (validStatuses.includes(currentStatus)) { console.log("Status reconhecido:", currentStatus); } ``` ```python Python theme={null} # Exemplo: Validando o nível de sigilo valid_secrecy_levels = [0, 1, 2, 3, 4, 5] # ✅ Acesso correto através do dict response_data current_level = lawsuit.get('response_data', {}).get('secrecy_level') is_valid = current_level in valid_secrecy_levels print(f"Sigilo válido? {is_valid}") ``` ### 2. Filtragem de Arrays ```javascript JavaScript theme={null} // Exemplo: Filtrar processos de uma lista que sejam apenas Públicos const publicLawsuits = lawsuitsArray.filter( lawsuit => lawsuit.response_data.secrecy_level === 0 ); // Exemplo: Filtrar apenas processos do Estado de SP const spLawsuits = lawsuitsArray.filter( lawsuit => lawsuit.response_data.state === 'SP' ); ``` ```python Python theme={null} # Exemplo: Filtrar processos de uma lista que sejam apenas Públicos public_lawsuits = [ lawsuit for lawsuit in lawsuits_array if lawsuit.get('response_data', {}).get('secrecy_level') == 0 ] # Exemplo: Filtrar apenas processos do Estado de SP sp_lawsuits = [ lawsuit for lawsuit in lawsuits_array if lawsuit.get('response_data', {}).get('state') == 'SP' ] ``` *** ## Próximos Passos * 👉 **[Buscar Processos](/requests/requests):** Utilize estas enumerações como parâmetros de filtro em suas buscas. * 👉 **[Mandado de prisão](/schemas/warrant):** Veja os códigos retornados caso você envie um Enum inválido. # Objeto Lawsuit (Processo Judicial) Source: https://docs.judit.io/schemas/lawsuit-object O objeto `lawsuit` é a estrutura de dados central que representa um processo judicial completo na Judit API. Ele contém desde a capa do processo até andamentos e anexos. > 🤖 O objeto `lawsuit` é retornado no formato JSON. A propriedade raiz que contém os metadados do processo chama-se `response_data`. O histórico é retornado no array `steps` e os envolvidos no array `parties`. Lembre-se que a autenticação para consultar este objeto é feita via header `api-key`, e não Bearer Token. **⚠️ Atenção: Consulta por Documento (Consulta Histórica)** Se você obteve este objeto através do endpoint de Consulta Histórica (Busca por Documento), as propriedades **`phase`** (Fase) e **`status`** da Capa não serão preenchidas. Além disso, os arrays **`steps`** (Movimentações) e **`attachments`** (Anexos) não são retornados. ## Estrutura Geral O JSON do processo judicial é organizado em 5 blocos principais: * **Capa (response\_data):** Metadados, juiz, comarca, valor da causa e status. * **Partes (parties):** Array contendo os pólos (ativo/passivo), documentos e advogados. * **Andamentos (steps):** Array com o histórico cronológico de movimentações. * **Anexos (attachments):** Array de documentos (PDFs, HTML) vinculados aos andamentos. * **Relacionados (related\_lawsuits):** Array de processos apensos ou vinculados. *** ## Dicionário de Dados ### 1. Capa Processual (`response_data`) | Propriedade | Tipo | Descrição | | :--------------------- | :------ | :------------------------------------------------------------------------------------------------------ | | `code` | string | Número único do processo no padrão CNJ. | | `name` | string | Descrição/Nome do processo (ex: "PARTE ATIVA X PARTE PASSIVA"). | | `area` | string | Área do direito (ex: "DIREITO CIVIL", "DIREITO ADMINISTRATIVO"). | | `subject` / `subjects` | array | Assuntos da causa, baseados na tabela unificada do CNJ. | | `classifications` | array | Classes processuais (ex: "PROCEDIMENTO COMUM"), baseadas no CNJ. | | `distribution_date` | string | Data em que o processo foi distribuído/iniciado no tribunal. | | `instance` | string | Grau de jurisdição (ex: "1ª INSTÂNCIA", "2ª INSTÂNCIA"). | | `judge` | string | Nome do magistrado ou relator responsável. | | `justice_description` | string | Tipo do órgão (ex: "JUSTIÇA ESTADUAL", "JUSTIÇA FEDERAL", "STJ"). | | `tribunal_acronym` | string | Sigla oficial do tribunal de origem (ex: "TJSP", "TRF4"). | | `county` | string | Comarca onde a ação está correndo. | | `city` / `state` | string | Cidade e UF (Unidade Federativa) da comarca. | | `amount` | number | Valor atribuído à causa. | | `phase` | string | Fase processual (ex: "CONHECIMENTO").
**(Não retornado na Consulta por Documento)** | | `status` | string | Macro-status do processo ("ATIVO" ou "FINALIZADO").
**(Não retornado na Consulta por Documento)** | | `situation` | string | Status granular capturado direto no sistema do tribunal. | | `secrecy_level` | integer | Nível de sigilo (0 = Público. Níveis 1 a 5 indicam graus de restrição). | ### 2. Envolvidos (`parties`) Array de objetos representando as partes. | Propriedade | Tipo | Descrição | | :-------------- | :----- | :-------------------------------------------------------------------------------- | | `name` | string | Nome completo ou Razão Social da parte. | | `main_document` | string | CPF ou CNPJ principal vinculado à parte. | | `side` | string | Pólo no processo: `ACTIVE` (Autor), `PASSIVE` (Réu), `INTERESTED` ou `UNKNOWN`. | | `person_type` | string | Papel processual (ex: "AUTOR", "RÉU", "TESTEMUNHA", "TERCEIRO"). | | `documents` | array | Lista de objetos com `document_type` (ex: "CPF", "CNPJ") e `document` (o número). | | `lawyers` | array | Lista de advogados associados à parte (contém `name` e `oab`). | **Atenção aos Advogados:** Se o tribunal não especificar claramente a qual parte o advogado pertence, o objeto do advogado será listado diretamente no array principal de `parties`, com um papel/side genérico. ### 3. Histórico de Movimentações (`steps`) **(Array ausente nas respostas de Consulta por Documento)** | Propriedade | Tipo | Descrição | | :---------- | :------ | :--------------------------------------------------------------------------- | | `step_id` | string | Identificador único interno do andamento. | | `step_date` | string | Data da movimentação processual. | | `step_type` | string | Código/Tipo do andamento mapeado na tabela do CNJ. | | `content` | string | Texto descritivo integral do andamento (ex: "Ato ordinatório praticado..."). | | `private` | boolean | Indica `true` se este andamento específico corre sob sigilo. | ### 4. Documentos Anexos (`attachments`) **(Array ausente nas respostas de Consulta por Documento)** | Propriedade | Tipo | Descrição | | :---------------- | :----- | :---------------------------------------------------------------- | | `step_id` | string | ID do andamento (step) que gerou este anexo. | | `attachment_date` | string | Data da inserção do documento. | | `attachment_name` | string | Título ou nome do arquivo (ex: "Petição Inicial", "Contestação"). | | `extension` | string | Formato do arquivo extraído (ex: "PDF", "HTML"). | *** ## Exemplo Completo do JSON (Consulta Padrão) Abaixo está a representação estrutural típica retornada pela Judit API ao consultar um processo judicial completo: ```json theme={null} { "response_data": { "code": "9999999-99.9999.9.99.9999", "name": "Ação de Cobrança Cível", "area": "DIREITO CIVIL", "distribution_date": "2024-01-15", "instance": "1ª INSTÂNCIA", "courts": "1ª VARA CÍVEL", "secrecy_level": 0, "subjects": ["COBRANÇA"], "classifications": ["PROCEDIMENTO COMUM CÍVEL"], "judge": "João Silva Santos", "justice_description": "JUSTIÇA ESTADUAL", "county": "SÃO PAULO", "tribunal_acronym": "TJSP", "city": "SÃO PAULO", "state": "SP", "situation": "ATIVA", "phase": "CONHECIMENTO", "status": "ATIVO", "amount": 50000.00 }, "parties": [ { "name": "EMPRESA XYZ LTDA", "main_document": "12345678000190", "side": "ACTIVE", "person_type": "AUTOR", "documents": [ { "document_type": "CNPJ", "document": "12345678000190" } ], "lawyers": [ { "name": "Maria Advogada", "oab": "OAB/SP 123456" } ] } ], "steps": [ { "step_id": "step_001_abc", "step_date": "2024-01-15", "step_type": "DISTRIBUIÇÃO", "content": "Processo distribuído por sorteio para a 1ª Vara Cível", "private": false } ], "attachments": [ { "step_id": "step_001_abc", "attachment_date": "2024-01-15", "attachment_name": "Petição Inicial Cópia Autenticada", "extension": "PDF" } ], "related_lawsuits": [] } ``` *** ## Exemplos de Integração (Buscando um Processo) > **Importante:** Nos exemplos abaixo, estamos utilizando a URL Base de Consultas Síncronas do nosso Datalake para recuperar o objeto `lawsuit` instantaneamente. Lembre-se de passar o header `api-key`. ```bash cURL theme={null} # Buscar processo específico por CNJ export JUDIT_API_KEY="sua_chave_aqui" curl -X GET "[https://lawsuits.production.judit.io/lawsuits/9999999-99.9999.9.99.9999](https://lawsuits.production.judit.io/lawsuits/9999999-99.9999.9.99.9999)" \ -H "api-key: $JUDIT_API_KEY" \ -H "Content-Type: application/json" ``` ```python Python theme={null} import os import requests api_key = os.getenv('JUDIT_API_KEY') cnj = "9999999-99.9999.9.99.9999" url = f"[https://lawsuits.production.judit.io/lawsuits/](https://lawsuits.production.judit.io/lawsuits/){cnj}" headers = { "api-key": api_key, "Content-Type": "application/json" } try: response = requests.get(url, headers=headers) response.raise_for_status() # Dispara erro se não for 200 OK lawsuit = response.json() print(f"Processo: {lawsuit['response_data']['code']}") # Tratando de forma segura (usando o método .get) propriedades que podem não existir na Consulta por Documento status = lawsuit['response_data'].get('status', 'Status não retornado (Consulta Histórica)') print(f"Status: {status}") qtd_andamentos = len(lawsuit.get('steps', [])) print(f"Qtd de Andamentos: {qtd_andamentos}") except requests.exceptions.RequestException as e: print(f"Erro ao buscar processo: {e}") ``` ```javascript Node.js theme={null} const apiKey = process.env.JUDIT_API_KEY; const cnj = "9999999-99.9999.9.99.9999"; const url = `https://lawsuits.production.judit.io/lawsuits/${cnj}`; const headers = { "api-key": apiKey, "Content-Type": "application/json" }; async function getLawsuit() { try { const response = await fetch(url, { headers }); if (!response.ok) { throw new Error(`HTTP Error: ${response.status}`); } const lawsuit = await response.json(); console.log(`Processo: ${lawsuit.response_data.code}`); // Tratamento seguro para propriedades que podem estar undefined const status = lawsuit.response_data.status || 'Status não retornado'; console.log(`Status: ${status}`); } catch (error) { console.error("Erro na integração:", error); } } getLawsuit(); ``` *** ## Próximos Passos Agora que você conhece a anatomia de um processo, veja como capturá-los: * 👉 **[Enumerações e Domínios](/schemas/lawsuit-enums):** Veja a lista completa de status, instâncias e níveis de sigilo. * 👉 **[Busca Assíncrona](/requests/requests):** Aprenda a solicitar que nossos robôs busquem processos novos nos tribunais. # Objeto Penal Execution (Execução Penal) Source: https://docs.judit.io/schemas/penal-execution O objeto `penal_execution` representa um processo de Execução Penal (fase de cumprimento de pena). Ele detalha o andamento do cumprimento da sentença de um reeducando nos tribunais. > **🤖 Contexto para IAs e Assistentes de Código:** A estrutura do objeto de Execução Penal é semelhante à do [Objeto Lawsuit](/pt/schemas/lawsuit), mas contém campos específicos como `free_justice` e um objeto dedicado para a `last_step` (última movimentação). Os papéis das partes (`person_type`) também diferem, assumindo valores como `EXECUTADO` ou `REEDUCANDO`. ## Estrutura Geral O JSON de Execução Penal é organizado nos seguintes blocos: * **Capa (Metadados):** Dados do juízo de execução, comarca, datas e status. * **Partes (parties):** Array contendo o Estado (Autoridade) e o Reeducando. * **Última Movimentação (last\_step):** Objeto com o andamento mais recente em destaque. * **Andamentos (steps):** Array completo com o histórico de movimentações. * **Anexos (attachments):** Array de documentos vinculados. * **Relacionados (related\_lawsuits):** Array de processos de origem (ação penal que gerou a condenação). *** ## Dicionário de Dados ### 1. Capa Processual (Raiz do Objeto) | Propriedade | Tipo | Descrição | | :-------------------------- | :------ | :-------------------------------------------------------------------- | | `code` | string | Número único do processo de execução no padrão CNJ. | | `name` | string | Descrição do processo (ex: "JUSTIÇA PÚBLICA X NOME DO EXECUTADO"). | | `area` | string | Área do direito (geralmente `"DIREITO PENAL"` ou `"EXECUÇÃO PENAL"`). | | `subject` / `subjects` | array | Assuntos do processo (ex: `"Pena Privativa de Liberdade"`). | | `classifications` | array | Classes processuais (ex: `"Execução da Pena"`). | | `distribution_date` | string | Data em que o processo de execução foi autuado. | | `instance` | number | Grau de jurisdição (ex: `1` para Vara de Execuções Penais). | | `judge` | string | Nome do juiz ou magistrado responsável pela execução. | | `justice_description` | string | Tipo do órgão (ex: `"Justiça Estadual"`, `"Justiça Federal"`). | | `tribunal_acronym` | string | Sigla oficial do tribunal de execução (ex: `"TJSP"`). | | `courts` | string | Órgão julgador exato (ex: `"Vara de Execuções Criminais"`). | | `county` / `city` / `state` | string | Localização da comarca responsável pela execução. | | `free_justice` | boolean | Indica `true` se o reeducando é beneficiário da justiça gratuita. | | `secrecy_level` | integer | Nível de sigilo (0 = Público. Níveis > 0 indicam restrição). | **Metadados Internos:** O objeto também pode retornar as chaves `created_at`, `updated_at` e `crawler` (contendo `source_name` e `crawl_id`), que são metadados técnicos sobre quando a Judit realizou a extração dos dados. ### 2. Envolvidos (`parties`) Array de objetos representando as partes da execução. | Propriedade | Tipo | Descrição | | :-------------- | :----- | :----------------------------------------------------------------------------------------------------------- | | `name` | string | Nome do executado ou do órgão público. | | `main_document` | string | CPF ou CNPJ vinculado à parte. | | `side` | string | Pólo no processo: `ACTIVE` (Estado/MP), `PASSIVE` (Condenado), ou `INTERESTED`. | | `person_type` | string | Papel na execução penal (ex: `"EXECUTADO"`, `"REEDUCANDO"`, `"MINISTÉRIO PÚBLICO"`, `"DEFENSORIA PÚBLICA"`). | | `entity_type` | string | Categoria da entidade (`"person"` ou `"company"`). | | `documents` | array | Lista de documentos secundários da parte (RG, OAB, etc.). | | `lawyers` | array | Lista de advogados ou defensores públicos associados à parte. | ### 3. Histórico de Movimentações (`last_step` e `steps`) A API de Execução Penal facilita o acompanhamento retornando o andamento mais recente em destaque (`last_step`), além do histórico completo (`steps`). #### Objeto Destaque: `last_step` | Propriedade | Tipo | Descrição | | :------------ | :------ | :----------------------------------------------------------------------------------------- | | `step_id` | string | Identificador único da movimentação mais recente. | | `step_date` | string | Data e horário da última movimentação (ISO 8601). | | `content` | string | Texto descritivo da movimentação (ex: `"Ato ordinatório: Remessa ao Ministério Público"`). | | `private` | boolean | Indica se a movimentação corre sob sigilo. | | `steps_count` | number | Quantidade total de movimentações registradas no processo. | #### Array Completo: `steps` Array de objetos idênticos à estrutura de `last_step`, ordenados cronologicamente, contendo todo o histórico da pena. ### 4. Documentos Anexos (`attachments`) | Propriedade | Tipo | Descrição | | :---------------- | :----- | :---------------------------------------------------------- | | `attachment_id` | string | Identificador único interno do anexo. | | `attachment_name` | string | Título do arquivo (ex: `"Cálculo de Liquidação de Penas"`). | | `attachment_date` | string | Data da inserção do documento no processo. | | `step_id` | string | ID da movimentação (`steps`) à qual o anexo pertence. | | `extension` | string | Formato do arquivo (ex: `"PDF"`). | *** ## Exemplo de Payload (Execução Penal) ```json Resposta theme={null} Exemplo de retorno da resposta: { "page": 1, "page_data": [ { "request_id": "1d3d84d9-2edb-4952-83dc-70a7d81487hj", "response_id": "9a4c8dee-e0d1-4cc5-8abb-bd5616265yu6", "origin": "api", "origin_id": "1d3d84d9-2edb-4952-83dc-70a7d81485ol", "response_type": "lawsuit", "response_data": { "amount": 0, "attachments": [], "classifications": [ { "code": "386", "name": "EXECUÇÃO DA PENA" } ], "code": "99999999-99.9999.9.99.9999", "county": "MARINGÁ - 2ª VARA DA FAZENDA PÚBLICA", "courts": [ { "name": "TJPR - Vara de Execução em Meio Aberto de Curitiba" } ], "crawler": { "source_name": "JSeeu - BR - Lawsuit - Auth - 1 instance", "crawl_id": "a7fe1da7-6d2e-452f-9d36-115d80e9601a", "weight": 10, "updated_at": "2024-11-13T12:55:43.488Z" }, "distribution_date": "2020-07-09T04:00:48.207Z", "free_justice": true, "instance": 1, "judge": "Usuário teste", "justice": "8", "last_step": { "lawsuit_cnj": "99999999-99.9999.8.16.9999", "lawsuit_instance": 1, "content": "EXPEDIÇÃO DE CERTIDÃO GERAL Referente ao evento (seq. 417) RECEBIDOS OS AUTOS(13/08/2024 16:02:19). Identificador do Cumprimento: 9999.", "tags": { "crawl_id": "a7fe1da7-6d2e-452f-9d36-115d80e9601a" }, "private": false, "step_date": "2024-08-15T00:00:00.000Z", "step_id": "2b837df6", "steps_count": 418 }, "name": "ESTADO DO PARANÁ X USUÁRIO TESTE", "parties": [ { "side": "Active", "person_type": "AUTORIDADE", "name": "ESTADO DO PARANÁ", "main_document": "99999999999", "tags": { "crawl_id": "a7fe1da7-6d2e-452f-9d36-115d80e9601a" }, "entity_type": "company", "documents": [], "lawyers": [] }, { "side": "Passive", "person_type": "EXECUTADO", "name": "USUÁRIO TESTE", "main_document": "99999999999", "tags": { "crawl_id": "a7fe1da7-6d2e-452f-9d36-115d80e9601a" }, "entity_type": "person", "documents": [], "lawyers": [] } ], "related_lawsuits": [], "secrecy_level": 0, "steps": [], "subjects": [ { "code": "7791", "name": "PENA PRIVATIVA DE LIBERDADE" } ], "tags": { "datalake_id": "99999999999999999999", "datalake_segment": "JUSTICA_ESTADUAL", "crawl_id": "a7fe1da7-6d2e-452f-9d36-115d80e9601a", "criminal": true, "dictionary_updated_at": "2024-11-13T12:55:47.284Z" }, "tribunal": "16", "tribunal_acronym": "TJPR" }, "user_id": "7f8065a3-4891-428d-9456-dedfc12ff850", "created_at": "2024-11-13T12:55:47.885Z", "tags": { "dashboard_id": null } } ], "page_count": 1, "all_count": 1, "all_pages_count": 1 } ``` *** ## Próximos Passos Agora que você entende o dicionário de dados da Execução Penal, avance para a integração: * 👉 **[Consultas Penais](/requests/penal):** Veja a documentação do endpoint para iniciar uma extração em varas criminais e de execução. * 👉 **[Objeto Dados Cadastrais](/schemas/entity):** Veja como interpretar o modelo de dados de dados cadastrais. # Objeto Warrant (Mandado de Prisão) Source: https://docs.judit.io/schemas/warrant O objeto `warrant` representa uma ordem de prisão ou recaptura extraída do Banco Nacional de Mandados de Prisão (BNMP) e dos tribunais. Ele contém os dados da ordem, da pena e do indivíduo procurado. > 🤖 As consultas por mandados de prisão retornam o objeto `warrant`. A raiz contém os dados da ordem judicial e da pena. As informações sobre as leis infringidas ficam no array `law_type`, e os dados detalhados do indivíduo procurado ficam aninhados no objeto `entity` (que segue a estrutura padrão de Pessoa Física da Judit API). ## Estrutura Geral O JSON do mandado é organizado em 4 blocos principais: * **Capa do Mandado:** Dados da ordem, tribunal emissor, status e cálculo da pena. * **Enquadramento Legal (law\_type):** Array com as leis e artigos infringidos. * **Indivíduo (entity):** Objeto detalhado da pessoa procurada (CPF, nome, filiação). * **Anexos (attachments):** Array de documentos do mandado (PDFs oficiais). *** ## Dicionário de Dados ### 1. Capa do Mandado (Raiz do Objeto) Estas propriedades vêm diretamente na raiz do objeto retornado. | Propriedade | Tipo | Descrição | | :----------------- | :------ | :-------------------------------------------------------------------------------------------- | | `number` | string | Número interno do mandado no sistema emissor (geralmente contém o CNJ do processo de origem). | | `code` | string | Número único do processo judicial (padrão CNJ) vinculado ao mandado. | | `warrant_type` | string | Tipo do mandado emitido (ex: `"Mandado de Prisão"`, `"Mandado de Recaptura"`). | | `arrest_type` | string | Natureza da prisão (ex: `"definitive"`, `"temporary"`, `"preventive"`). | | `status` | string | Situação atual do mandado (ex: `"Aguardando Cumprimento"`, `"Cumprido"`, `"Revogado"`). | | `issue_date` | string | Data (ISO 8601) em que o mandado foi oficialmente expedido. | | `expiration_date` | string | Data (ISO 8601) em que o mandado perde sua validade prescricional. | | `recapture` | boolean | Indica `true` se o mandado é para recaptura de indivíduo evadido do sistema prisional. | | `judgementSummary` | string | Resumo textual da decisão judicial que embasou o mandado. | | `individual_id` | string | Identificador único interno da pessoa relacionada. | #### Órgão Emissor | Propriedade | Tipo | Descrição | | :----------------- | :----- | :----------------------------------------------------------- | | `tribunal_id` | string | Identificador numérico do tribunal responsável (ID do BNMP). | | `tribunal` | string | Código numérico oficial do tribunal no padrão CNJ. | | `tribunal_acronym` | string | Sigla oficial do tribunal (ex: `"TJSP"`, `"TJRJ"`). | | `justice` | string | Código identificador do ramo da justiça. | | `instance` | number | Grau/Instância judicial emissora (ex: `1`). | | `court` | string | Órgão julgador exato (Nome da vara ou juízo de origem). | #### Cálculo da Pena | Propriedade | Tipo | Descrição | | :---------------- | :----- | :------------------------------------------------------------------------------------------ | | `duration` | string | Representação textual da duração total da pena (ex: `"5 anos, 2 meses e 10 dias"`). | | `duration_years` | number | Quantidade exata de anos da pena. | | `duration_months` | number | Quantidade exata de meses da pena. | | `duration_days` | number | Quantidade exata de dias da pena. | | `regime` | string | Regime inicial estipulado para o cumprimento (ex: `"FECHADO"`, `"SEMIABERTO"`, `"ABERTO"`). | ### 2. Enquadramento Legal (`law_type`) Array de objetos detalhando os crimes cometidos que motivaram o mandado. | Propriedade | Tipo | Descrição | | :------------ | :----- | :--------------------------------------------------------------------------------- | | `number` | string | Título ou código identificador da lei (ex: `"Código Penal"`, `"Lei de Drogas"`). | | `description` | string | Texto com o artigo, parágrafo ou inciso exato infringido (ex: `"Art. 157, § 2º"`). | ### 3. Indivíduo Procurado (`entity`) Objeto que contém a qualificação completa da pessoa. Segue a estrutura do [Objeto Entity](/schemas/entity) para Pessoas Físicas. | Propriedade Principal | Tipo | Descrição | | :---------------------------- | :----- | :-------------------------------------------------------------------------------------------------- | | `name` | string | Nome completo da pessoa procurada. | | `main_document` | string | CPF da pessoa (apenas números). | | `aka_names` | array | Nomes falsos, apelidos conhecidos ou alcunhas utilizadas pelo indivíduo. | | `parents` | array | Filiação (nome da mãe e do pai). Muito usado por autoridades para desambiguação de homônimos. | | `birth_date` | string | Data de nascimento. | | `gender` | string | Gênero ou sexo registrado. | | `addresses` | array | Lista de últimos endereços conhecidos ou registrados da pessoa. | | `warnings_and_determinations` | string | Alertas críticos para autoridades (ex: `"Indivíduo de alta periculosidade"`, `"Membro de facção"`). | | `observations` | string | Notas extras ou características físicas cadastradas. | ### 4. Anexos (`attachments`) Documentos oficiais da ordem judicial. | Propriedade | Tipo | Descrição | | :-------------- | :----- | :--------------------------------------------------------------------------- | | `attachment_id` | string | Identificador único interno do anexo. | | `extension` | string | Formato do arquivo extraído (geralmente `"PDF"` da ordem original assinada). | | `status` | string | Status do download do arquivo do tribunal (`"done"` ou `"pending"`). | *** ## Exemplo de Payload (Mandado de Prisão) ```json Resposta theme={null} Exemplo de retorno da resposta: { "page": 1, "page_data": [ { "request_id": "87d9f7bf-0071-41ee-a721-e6e1b4082bc9", "response_id": "c7ae682c-3d7c-4634-a0b1-e414ae38fdeb", "origin": "api", "origin_id": "33fad316-cd98-40b9-bcd4-70e3c74ff947", "response_type": "warrant", "response_data": { "_id": "65f29d5c48f9210b7040b5a3", "warrant_id": "eb532bb3-2f0e-41c9-a80d-50f17258126f", "entity_id": "09c91d1b-fba7-4b0e-bfc3-e87a8b092802", "tribunal_id": "33123363_1", "individual_id": "18155647970", "warrant_type": "warrant_of_arrest", "arrest_type": "definitive", "law_type": { "number": "2848", "description": "2848, 157, § 2º, I;II;" }, "number": "0007826652016810000101000112", "previous_number": "", "issue_date": "2018-05-28T11:52:37.716Z", "create_date": "2018-05-28T12:05:09.040Z", "expiration_date": "2028-11-27T00:00:00.000Z", "status": "Pendente de Cumprimento", "code": "99999999-99.9999.9.99.9999", "instance": 1, "tribunal": "10", "justice": "8", "tribunal_acronym": "TJMA", "court": "Tribunal de Justiça do Estado do Maranhão", "judge": "USUÁRIO TESTE", "judgementSummary": "O MINISTÉRIO PÚBLICO ESTADUAL, através da douta Promotora de Justiça com exercício nesta Unidade Jurisdicional, lastreada em Inquérito Policial ofereceu denúncia contra LUÍS SOUZA, brasileiro, solteiro, natural de Cedral/MA, nascido em 17/07/1995, RG n.º 999999999999-9 SSPMA, filho de Eduardo Silva Trindade e Maria da Conceição Silva, residente na Rua centro, n.º 99, bairro Centro, São Luís/MA, incursando-o no crime tipificado no art. 157, § 2º, I e II, do Código Penal.Ante o exposto, julgo procedente a denúncia e CONDENO o acusado LUÍS SOUZA, supraqualificado, nas penas do artigo 157, § 2º, I e II, do Código Penal. Não ocorre causa de diminuição de pena. Por outro lado, presente a causa de aumento de pena pelo emprego de arma e concurso de pessoas, pelo que elevo a reprimenda no patamar mínimo de 1/3 (um terço), ou seja, 01 ano e 04 (quatro) meses de reclusão e 03 (três) dias multa, resultando na reprimenda definitiva de 05 (CINCO) ANOS E 04 (QUATRO) MESES DE RECLUSÃO E 13 (TREZE) DIAS MULTA, a qual deverá ser cumprida em regime inicialmente semiaberto, na Penitenciária Agrícola de Pedrinhas. Com o trânsito em julgado desta, o nome do condenado deverá ser inscrito no Livro Rol dos Culpados, calculada a pena de multa e intimado para pagamento, oficiando-se ao TRE para as providências quanto a sua situação eleitoral, bem como expedida carta de guia definitiva e mandado de prisão.", "duration": "5 ano(s) 4 mês(es) 0 dia(s).", "duration_years": 5, "duration_months": 4, "duration_days": 0, "observations": "DEFINITIVA", "regime": "Semiaberto", "recapture": false, "crawler": { "source_name": "JBnmp - BR - Warrant - No Auth", "crawl_id": "eb9c2c3a-1893-4ace-a98f-6210f8e78f72", "updated_at": "2024-03-14T06:46:24.996Z", "weight": 10, "_id": "65f29d5c48f9210b7040b5a4" }, "created_at": "2024-03-14T06:46:24.996Z", "updated_at": "2024-03-14T06:46:24.996Z", "entity": { "_id": "65f29d5c48f9210b7040b59b", "entity_id": "09c91d1b-fba7-4b0e-bfc3-e87a8b092802", "entity_type": "person", "name": "JOÃO SILVA", "main_document": "99999999999", "documents": [ { "document": "99999999999", "document_type": "cpf", "_id": "65f29d5c48f9210b7040b59c" }, { "document": "99999999999-9", "document_type": "rg", "_id": "65f29d5c48f9210b7040b59d" }, { "document": "99999999999-9", "document_type": "rji", "_id": "65f29d5c48f9210b7040b59e" } ], "addresses": [ { "street": "RUA CENTRO", "number": "99", "neighborhood": "CENTRO", "city": "Sao Luis", "state": "MA", "ibge_code": 9999999, "country": "Brasil", "_id": "65f29d5c48f9210b7040b59f" } ], "contacts": [], "aka_names": [ "LOURO" ], "parents": [ { "name": "USUÁRIO TESTE", "kinship": "father", "_id": "65f29d5c48f9210b7040b5a0" }, { "name": "MARIA SILVA", "kinship": "mother", "_id": "65f29d5c48f9210b7040b5a1" } ], "partners": [], "birth_date": "1995-07-17T03:00:00.000Z", "place_of_birth": "Cedral", "gender": "male", "created_at": "2024-03-14T06:46:24.996Z", "updated_at": "2024-03-14T07:03:00.407Z" } }, "user_id": "6dc91e78-400e-489c-b30c-61789e323d7c", "created_at": "2024-03-14T07:35:35.911Z", "request_created_at": "2024-03-14T07:35:14.272Z", "tags": { "dashboard_id": null } } ], "page_count": 1, "all_count": 1, "all_pages_count": 1 } ``` *** ## Próximos Passos * 👉 **[Consultas Penais](/requests/penal):** Veja a documentação do endpoint específico para disparar buscas por mandados de prisão. * 👉 **[Objeto Entity](/schemas/entity):** Revise todas as propriedades possíveis do objeto `entity` retornado dentro do mandado. # Monitoramento Processual Source: https://docs.judit.io/tracking/tracking Monitore documentos ou processos e se mantenha atualizado sobre todos os seus processos A JUDIT permite que você monitore processos, CPFs, CNPJs, OAB ou Código(CNJ), mantendo-o atualizado sobre qualquer nova movimentação. O monitoramento é a automatização das consultas processuais do item anterior. Diariamente, nossa API busca em todos os tribunais do Brasil processos relacionados ao CPF, CNPJ, OAB ou Código(CNJ) que você está monitorando. ## Rota de Monitoramento Para começar a monitorar um processo, você deve realizar uma solicitação POST para a rota `/tracking`. ## Payload da Solicitação A solicitação POST deve incluir um payload com as seguintes propriedades: * `recurrence`: A recorrência em dias de atualização dos processos. * `search`: Objeto que vai para a busca. * `search_type`: No contexto de monitoramento processual, o valor desse campo sempre será `lawsuit_cnj`. * `search_key`: O número do processo (Código CNJ), CPF, CNPJ, OAB ou NAME que você deseja buscar; * `with_attachments` (opcional): Esse campo define se você quer trazer anexos referente ao processo buscado podendo ser **true** ou **false** * `Obs:` Os anexos só serão retornados caso o search\_type for **lawsuit\_cnj**. * `search_params`: Um objeto que contém alguns parâmetros da busca como: * `lawsuit_instance` (opcional): Este parâmetro permite definir a instância em que deseja buscar o processo; `*Obs`: Caso o parâmetro lawsuit\_instance não seja especificado, a busca retornará automaticamente a instância mais recente do processo. Por exemplo, se o processo estiver tramitando tanto na primeira quanto na segunda instância, a busca considerará a segunda instância, por ser a mais atualizada. * `credential` (opcional): Objeto para o uso do cofre de credenciais. * `customer_key` (opcional): Permite passar a chave do usuário que você cadastrou no cofre de credenciais,caso não seja informado, a API tentará encontrar uma credencial cadastrada para a `customer_key` vazia. * `notification_emails` (opcional): Array de strings fora do `search` que podem ser adicionados emails para os quais deseja receber notificação a cada atualização do monitoramento cadastrado. * `step_terms`: Esta propriedade é um array de strings que permite filtrar as movimentações processuais com base em termos específicos. Quando utilizada em conjunto com o monitoramento via webhook, o usuário receberá notificações apenas se algum dos termos especificados for encontrado em uma nova movimentação processual. Este parâmetro deve ser incluído dentro do objeto chamado notification\_filters. Exemplo de payload com alguns filtros opcionais: ```json theme={null} { "recurrence": 1, "search": { "search_type": "lawsuit_cnj", "search_key": "1111111-04.1111.1.11.1111" }, "notification_emails": ["teste@teste.com"] "notification_filters": { "step_terms": [ 'petição', 'acordo' ] } } ``` Exemplo de payload sem filtros: ```json theme={null} { "recurrence": 1, "search": { "search_type": "lawsuit_cnj", "search_key": "1111111-04.1111.1.11.1111" } } ``` Aqui está um exemplo de retorno esperado ao criar um monitoramento: ```json theme={null} { "tracking_id": "d923253e-45c1-46e5-ac70-164839d9851c", "user_id": "7f8065a3-4891-428d-9456-dedfc12ff850", "status": "created", "recurrence": 1, "notification_emails": [ "teste@teste.com" ], "notification_filters": { "step_terms": [], "_id": "67ffb7a1062277871357743f" }, "with_attachments": false, "plan_config_type": "simple_lawsuit_tracking", "fixed_time": false, "hour_range": 21, "search": { "search_type": "lawsuit_cnj", "search_key": "1111111-04.1111.1.11.1111", "response_type": "lawsuit", "search_params": { "filter": {}, "pagination": {} } }, "tags": {}, "created_at": "2025-04-16T13:58:56.352Z", "updated_at": "2025-04-16T13:58:56.352Z" } ``` Na resposta da criação do monitoramento, é retornado o campo `hour_range`, que indica o horário em que a consulta ao tribunal será realizada pela primeira vez. No exemplo acima, a primeira consulta está programada para ocorrer às 21 horas. Aqui está um exemplo de como usar esses parâmetros de consulta com curl: ```bash theme={null} curl --location 'https://tracking.prod.judit.io/tracking' \ --header 'api-key: >' \ --header 'Content-Type: application/json' \ --data '{ "recurrence": 1, "search": { "search_type": "lawsuit_cnj", "search_key": "1111111-04.1111.1.11.1111" } }' ``` O monitoramento irá ser iniciado a primeira vez, na melhor janela de concorrência de requisição ao tribunal, dentro das próximas 24 horas da data de criação. ## Atualizando um Monitoramento Para atualizar um monitoramento, você pode fazer uma solicitação PATCH para a rota `/tracking/{monitoramento}`, substituindo `{monitoramento}` pelo ID do monitoramento que você deseja atualizar. Esta rota campos opcionais para atualização do tracking: `recurrence`, `tags` e o objeto de `search` para a busca com exceção de alguns campos. Aqui está um exemplo de como fazer isso usando curl: ```bash theme={null} curl -X PATCH "https://tracking.prod.judit.io/tracking/{monitoramento}" \ -H "api-key: YOUR_API_KEY" -d '{ "recurrence": 5, "search": { "search_type": "lawsuit_cnj", "search_key": "1111111-04.1111.1.11.1111" } }' ``` ## Consultando Seus Monitoramentos Para consultar todos os seus monitoramentos, você pode fazer uma solicitação GET para a rota `/tracking`. Esta rota aceita alguns parâmetros de consulta opcionais para paginar e filtrar os resultados: `page`: Define a página dos resultados que você deseja consultar. `page_size`: Define o número máximo de resultados que você deseja receber por página; `search_type`: retorna monitoramentos do tipo de referência especificado **"cpf"**, **"cnpj"**, **"oab"**, **"lawsuit\_cnj"**, **name** ou **rji**; `search_key`: retorna monitoramentos com a buscar relacionadas ao número do CPF, CNPJ, OAB ou processo informado; `status`: retorna monitoramentos cujo status podem ser 'created', 'updating', 'updated', 'paused' ou 'deleted' ou mais de um de status \['updating', 'paused']; Aqui está um exemplo de como consultar seus monitoramentos usando curl: ```bash theme={null} curl -X GET "https://tracking.prod.judit.io/tracking?page=1&page_size=10" \ -H "api-key: YOUR_API_KEY" ``` ## Exemplo de notificação de webhook para monitoramento **Obs**: Toda movimentação serão notificadas via webhook contendo o processo por completo, incrementando as últimas movimentações. ```json theme={null} { "_id": { "$oid": "65f0efe046ad3bda5b27be2d" }, "callback_id": "be1406d9-d62d-402d-8e0e-8684044645de", "event_type": "response_created", "reference_type": "tracking", "reference_id": "8744cfea-f9d4-4e83-801e-bc05003ebf6b", "user_id": "ac98336e-c493-4609-a058-cf7114f7a2ed", "webhook_id": "2f82201d-1439-436d-8c6a-2e6b3e36a54f", "payload": { "request_id": "7d50b66c-3e86-4d0b-95af-5ff7561d18ff", "response_id": "12576767-d3ea-4ea2-8805-6f2a73ef3439", "response_type": "lawsuit", "response_data": { "code": "9999999-99.9999.9.99.9999", "justice": "8", "tribunal": "05", "instance": 1, "distribution_date": "2024-01-17T15:43:39.000Z", "judge": "AUGUSTO YUZO JOUTI", "tribunal_acronym": "TJBA", "secrecy_level": 0, "tags": { "crawl_id": "f9b29daf-4cd4-48e9-97cd-0cee91400765" }, "subjects": [ { "code": "7779", "name": "INDENIZAÇÃO POR DANO MORAL" }, { "code": "6220", "name": "RESPONSABILIDADE DO FORNECEDOR" }, { "code": "1156", "name": "DIREITO DO CONSUMIDOR" } ], } ``` Para cadastrar seu webhook, entre em contato com a equipe de [suporte](https://api.whatsapp.com/send/?phone=5521976748865) e solicite a criação. Alternativamente, o webhook também pode ser especificado adicionando o parâmetro callback\_url no payload da requisição, conforme o exemplo abaixo: ```json theme={null} { "recurrence": 1, "search": { "search_type": "lawsuit_cnj", "search_key": "1111111-04.1111.1.11.1111" }, "callback_url": "https://webhook.site/b0ac6522-5bfc-42fa-bebf-a8c2b5ec0999", "notification_emails": ["teste@teste.com"], "with_attachments": true } ``` ## Consultando Informações de um Monitoramento Para consultar todas as informações sobre um monitoramento específico, você pode fazer uma solicitação GET para a rota `/tracking/{monitoramento}`, substituindo `{monitoramento}` pelo ID do monitoramento que você deseja consultar. Aqui está um exemplo de como fazer isso usando curl: ```bash theme={null} curl -X GET "https://tracking.prod.judit.io/tracking?tracking_id=15d632c6-a2ab-40c1-bfc5-d8f7bf8d8dd9" \ -H "api-key: YOUR_API_KEY" ``` Aqui está o retorno esperado: ```json theme={null} { "tracking_id": "15d632c6-a2ab-40c1-bfc5-d8f7bf8d8dd9", "user_id": "82082593-c664-4d7b-b174-2f0dc4791daf", "status": "updated", "recurrence": 1, "search": { "search_type": "lawsuit_cnj", "search_key": "9999999-99.9999.9.99.9999", "response_type": "lawsuit", "search_params": { "filter": {}, "pagination": {} } }, "tracked_items_count": 0, "tracked_items_steps_count": 0, "tags": {}, "created_at": "2024-02-21T18:26:38.499Z", "updated_at": "2024-02-21T18:26:38.499Z" } ``` ## Consultando histórico de um monitoramento Para consultar o histórico de respostas geradas por um monitoramento específico, faça uma solicitação GET para a rota /tracking/, substituindo pelo ID do monitoramento desejado. Você pode filtrar os resultados usando os parâmetros `created_at_gte` e `created_at_lte`, onde: `created_at_gte`: define a data inicial da consulta. `created_at_lte`: define a data final da consulta. Aqui está um exemplo de como fazer isso usando curl: ```bash theme={null} curl --location 'https://requests.prod.judit.io/responses/tracking/?order=asc&page=1&page_size=50&created_at_gte=2024-03-05T00%3A00%3A00&created_at_lte=2025-03-11T00%3A00%3A00' \ --header 'api-key: ' ``` Aqui está o retorno esperado: ```json theme={null} { "request_status": "completed", "page": 1, "page_count": 2, "all_pages_count": 1, "all_count": 2, "page_data": [ { "request_id": "644a4759-1ae2-48a4-8b09-76afffc75849393", "response_id": "a37ca823-e1d2-4de4-a973-ec9e859d21ed", "origin": "tracking", "origin_id": "cfb61e6e-f2bd-4375-8c87-373405cac6db", "response_type": "lawsuit", "response_data": { "amount": 13687.36, "attachments": [ { "attachment_id": "f2f14dca-5b3f-aba2-a9bd95bd367f", "attachment_date": "2025-01-22T15:19:46.000Z", "attachment_name": "id_externo_3", "content": "CÁLCULOS", "extension": "octet-stream", "status": "done", "tags": { "crawl_id": "bf565435-68c6-4b6b-8004-6533cbd0fb8e" }, "user_data": null }, { "attachment_id": "e26be17f-06ba-9f0c-7fc840e092b1", "attachment_date": "2025-01-22T15:19:46.000Z", "attachment_name": "id_externo_2", "content": "CERTIDÃO DE DÍVIDA ATIVA", "extension": "octet-stream", "status": "done", "tags": { "crawl_id": "bf565435-68c6-4b6b-8004-6533cbd0fb8e" }, "user_data": null }, { "attachment_id": "54e833a9-58a3-9484-0e6e1cb6c457", "attachment_date": "2025-01-22T15:19:46.000Z", "attachment_name": "id_externo_1", "content": "PETIÇÃO INICIAL", "step_id": "ac8ea79b", "extension": "octet-stream", "status": "done", "tags": { "crawl_id": "bf565435-68c6-4b6b-8004-6533cbd0fb8e" }, "user_data": null } ], "classifications": [ { "code": "1116", "name": "EXECUÇÃO FISCAL" } ], "code": "3000133-12.2025.8.19.0001", "county": "TESTE TRIBUNAL", "city": "RIO DE JANEIRO", "state": "RJ", "area": "NÃO INFORMADO", "justice_description": "JUSTIÇA ESTADUAL", "created_at": "2025-01-23T16:09:20.134Z", "updated_at": "2025-01-24T16:10:56.948Z", "metadata": {}, "courts": [ { "code": "7798", "name": "TESTE RETORNO TRIUNAL" } ], "crawler": { "source_name": "JTJ - BR - Document / Lawsuit - Auth", "crawl_id": "8b485368-4315-4247-8314-a6169aa46e0b", "weight": 0, "updated_at": "2025-01-24T16:10:50.024Z" }, "distribution_date": "2025-01-22T15:19:46.000Z", "free_justice": false, "instance": 1, "justice": "8", "last_step": { "lawsuit_cnj": "9999999-99.9999.9.99.9999", "lawsuit_instance": 1, "private": false, "step_id": "91dc5544", "step_date": "2025-01-22T18:40:18.000Z", "content": "Conclusos para decisão/despacho", "step_type": "51", "tags": { "crawl_id": "8b485368-4315-4247-8314-a6169aa46e0b" }, "steps_count": 1 }, "name": "USUÁRIO EXEMPLO 1 X USUÁRIO EXEMPLO 2", "parties": [ { "side": "Active", "name": "USUÁRIO EXEMPLO 1", "main_document": "99999999999", "person_type": "EXEQUENTE", "entity_type": "company", "documents": [ { "document": "99999999999999", "document_type": "CNPJ" } ], "lawyers": [ { "name": "USUÁRIO EXEMPLO 3", "main_document": "99999999999", "documents": [ { "document": "99999999999", "document_type": "cpf" } ] } ], "tags": { "crawl_id": "8b485368-4315-4247-8314-a6169aa46e0b" } }, { "side": "Passive", "name": "USUÁRIO EXEMPLO 2", "main_document": "99999999999", "person_type": "EXECUTADO", "entity_type": "company", "documents": [ { "document": "99999999999999", "document_type": "CNPJ" } ], "tags": { "crawl_id": "8b485368-4315-4247-8314-a6169aa46e0b" }, "lawyers": [] } ], "related_lawsuits": [], "secrecy_level": 0, "status": "Ativo", "phase": "Inicial", "steps": [], "subjects": [ { "code": "6017", "name": "DÍVIDA ATIVA (EXECUÇÃO FISCAL)" }, { "code": "5953", "name": "IPVA - IMPOSTO SOBRE PROPRIEDADE DE VEÍCULOS AUTOMOTORES" } ], "tags": { "crawl_id": "8b485368-4315-4247-8314-a6169aa46e0b", "dictionary_updated_at": "2025-01-24T16:10:50.384Z" }, "tribunal": "19", "tribunal_acronym": "TJRJ" }, "user_id": "98c1d8e0-94bf-43ab-b298-a7158a9efbc9", "created_at": "2025-01-24T16:10:53.278Z", "tags": { "dashboard_id": null } }, { "request_id": "32e0cbb6-71ed-4165-81d5-08ef4dcf80c6", "response_id": "a6690acb-0856-4e4d-ae69-c8d808ce7d9e", "origin": "tracking", "origin_id": "cfb61e6e-f2bd-4375-8c87-373405cac6db", "response_type": "lawsuit", "response_data": { "amount": 17456.15, "attachments": [], "classifications": [ { "code": "1116", "name": "EXECUÇÃO FISCAL" } ], "code": "3000233-64.2025.8.19.0001", "county": "CAPITAL 12 VARA FAZ PUBLICA", "city": "RIO DE JANEIRO", "state": "RJ", "area": "NÃO INFORMADO", "justice_description": "JUSTIÇA ESTADUAL", "created_at": "2025-01-27T16:09:19.112Z", "updated_at": "2025-01-27T16:09:19.112Z", "metadata": {}, "courts": [ { "code": "79705", "name": " CAPITAL 17 FAZ PUBLICA" } ], "crawler": { "source_name": "JTJ - BR - Document / Lawsuit - Auth", "crawl_id": "f9efa845-8501-4804-9595-f01c25fd7ba1", "weight": 0, "updated_at": "2025-01-27T16:09:18.570Z" }, "distribution_date": "2025-01-24T17:08:03.000Z", "free_justice": false, "instance": 1, "justice": "8", "last_step": { "lawsuit_cnj": "9999999-99.9999.9.99.9999", "lawsuit_instance": 1, "private": false, "step_id": "5d93c333", "step_date": "2025-01-27T10:30:20.000Z", "content": "Expedição de Carta pelo Correio - 1 carta", "step_type": "60", "tags": { "crawl_id": "f9efa845-8501-4804-9595-f01c25fd7ba1" }, "steps_count": 1 }, "name": "usuário teste 1 X usuário teste 2", "parties": [ { "side": "Active", "name": "USUÁRIO 1", "main_document": "99999999999999", "person_type": "EXEQUENTE", "entity_type": "company", "documents": [ { "document": "99999999999999", "document_type": "CNPJ" } ], "lawyers": [ { "name": "USUÁRIO 2", "main_document": "99999999999", "documents": [ { "document": "99999999999", "document_type": "cpf" } ] } ], "tags": { "crawl_id": "f9efa845-8501-4804-9595-f01c25fd7ba1" } }, { "side": "Passive", "name": "USUÁRIO 2", "main_document": "99999999999999", "person_type": "EXECUTADO", "entity_type": "company", "documents": [ { "document": "99999999999999", "document_type": "CNPJ" } ], "tags": { "crawl_id": "f9efa845-8501-4804-9595-f01c25fd7ba1" }, "lawyers": [] } ], "related_lawsuits": [], "secrecy_level": 0, "status": "Ativo", "phase": "Inicial", "steps": [], "subjects": [ { "code": "6017", "name": "DÍVIDA ATIVA (EXECUÇÃO FISCAL)" }, { "code": "5953", "name": "IPVA - IMPOSTO SOBRE PROPRIEDADE DE VEÍCULOS AUTOMOTORES" } ], "tags": { "crawl_id": "f9efa845-8501-4804-9595-f01c25fd7ba1", "dictionary_updated_at": "2025-01-27T16:09:19.635Z" }, "tribunal": "19", "tribunal_acronym": "TJRJ" }, "user_id": "98c1d8e0-94bf-43ab-b298-a7158a9efbc9", "created_at": "2025-01-27T16:09:18.752Z", "tags": { "dashboard_id": null } } ] } ``` ## Pausando um Monitoramento Para pausar um monitoramento, você pode fazer uma solicitação POST para a rota `/tracking/{monitoramento}/pause`, substituindo `{monitoramento}` pelo ID do monitoramento que você deseja pausar. Aqui está um exemplo de como pausar o monitoramento usando o curl: ```bash theme={null} curl -X POST "https://tracking.prod.judit.io/tracking/15d632c6-a2ab-40c1-bfc5-d8f7bf8d8dd9/pause" \ -H "api-key: YOUR_API_KEY" ``` Aqui está um exemplo de retorno do monitoramento pausado: ```json theme={null} { "tracking_id": "15d632c6-a2ab-40c1-bfc5-d8f7bf8d8dd9", "user_id": "82082593-c664-4d7b-b174-2f0dc4791daf", "status": "paused", "recurrence": 1, "search": { "search_type": "lawsuit_cnj", "search_key": "9999999-99.9999.9.99.9999", "response_type": "lawsuit", "search_params": { "filter": {}, "pagination": {} } }, "tracked_items_count": 0, "tracked_items_steps_count": 0, "tags": {}, "created_at": "2024-02-21T18:26:38.499Z", "updated_at": "2024-02-21T18:26:38.499Z" } ``` ## Reativando um Monitoramento Para reativar um monitoramento pausado, você pode fazer uma solicitação POST para a rota `/tracking/{monitoramento}/resume`, substituindo `{monitoramento}` pelo ID do monitoramento que você deseja reativar. Aqui está um exemplo de como reativar um monitoramento usando curl: ```bash theme={null} curl -X POST "https://tracking.prod.judit.io/tracking/15d632c6-a2ab-40c1-bfc5-d8f7bf8d8dd9/resume" \ -H "api-key: YOUR_API_KEY" ``` Aqui está um exemplo de retorno do monitoramento **ativo** ```json theme={null} { "tracking_id": "15d632c6-a2ab-40c1-bfc5-d8f7bf8d8dd9", "user_id": "82082593-c664-4d7b-b174-2f0dc4791daf", "status": "updated", "recurrence": 1, "search": { "search_type": "lawsuit_cnj", "search_key": "9999999-99.9999.9.99.9999", "response_type": "lawsuit", "search_params": { "filter": {}, "pagination": {} } }, "tracked_items_count": 0, "tracked_items_steps_count": 0, "tags": {}, "created_at": "2024-02-21T18:26:38.499Z", "updated_at": "2024-02-21T18:26:38.499Z" } ``` ## Deletando um Monitoramento Para deletar um monitoramento, você pode fazer uma solicitação DELETE para a rota `/tracking/{monitoramento}`, substituindo `{monitoramento}` pelo ID do monitoramento que você deseja deletar. Aqui está um exemplo de como deletar um monitoramento usando curl: ```bash theme={null} curl -X DELETE "https://tracking.prod.judit.io/tracking/15d632c6-a2ab-40c1-bfc5-d8f7bf8d8dd9" \ -H "api-key: YOUR_API_KEY" ``` Aqui está um exemplo do retorno do monitoramento deletado: ```json theme={null} { "tracking_id": "15d632c6-a2ab-40c1-bfc5-d8f7bf8d8dd9", "user_id": "82082593-c664-4d7b-b174-2f0dc4791daf", "status": "deleted", "recurrence": 1, "search": { "search_type": "lawsuit_cnj", "search_key": "9999999-99.9999.9.99.9999", "response_type": "lawsuit", "search_params": { "filter": {}, "pagination": {} } }, "tracked_items_count": 0, "tracked_items_steps_count": 0, "tags": {}, "created_at": "2024-02-21T18:26:38.499Z", "updated_at": "2024-02-21T18:26:38.499Z" } ``` E é isso! Com esses recursos, você pode manter-se atualizado sobre qualquer movimentação em processos judiciais de seu interesse. Se você tiver alguma dúvida ou encontrar algum problema, nossa equipe de suporte está à disposição para ajudá-lo. Entre em contato conosco através do nosso portal de suporte. *Não nos responsabilizamos por consulta por documento inválido, cobranças poderão ser efetuadas decorrente de uso indevido*. # Monitoramento customizado Source: https://docs.judit.io/tracking/tracking-custom Essa página tem como objetivo mostrar o fluxo de Monitoramento cutomizado O monitoramento customizado permite monitorar processos utilizando filtros específicos, retornando processos de todos os tribunais que correspondem aos critérios definidos. Essa consulta é ideal para identificar processos com características específicas em um amplo espectro de jurisdições. Para utilizá-la, é necessário enviar uma requisição ao endpoint correspondente. Para este tipo de consulta, certifique-se sobre a precificação, pois não é a mesma da consulta histórica. ## Payload da Solicitação A solicitação POST deve incluir um payload com as seguintes propriedades: search\_type: Este campo define o tipo de entidade que será buscada, para monitoramento customizado, terá sempre o valor `custom`; * `search_key`: Este campo define o valor da entidade que será buscada, para monitoramento customizado, terá sempre o valor `custom`; * `cache_ttl_in_days` (opcional): Número inteiro que define até quantos dias o resultado da busca pode considerar um cache válido; * `search_params`: Um objeto que contém alguns parâmetros da busca como: - `lawsuit_instance` (opcional): Este parâmetro permite definir a instância em que deseja buscar o processo; - `masked_response` Define se a resposta virá minificada. Este parâmetro é aplicável apenas a consultas (simples ou completas) no contexto de busca processual. - masked\_response = `true`: retornará uma consulta completa - masked\_response = `false`: retornará uma consulta simples `*Obs` Consulte as condições comerciais desses diferentes tipos de monitoramento customizado. Filtros poderão ser adicionados à requisição, permitindo um retorno mais assertivo com base nos valores desejados. Para isso, o parâmetro `filter` deve ser incluído dentro de `search_params`, com os seguintes filtros disponíveis: * `filter` (opcional): Um objeto que contém os filtros para a busca, como: * `side` (opcional): Permite buscar por tipos de participantes do processo, podendo ser: 'Passive', 'Active', 'Interested', 'Unknown'; * `amount_gte` (opcional): Filtra processos com valor da causa maior ou igual ao especificado em `amount_gte`; * `amount_lte` (opcional): Filtra processos com valor da causa menor ou igual ao especificado em `amount_lte`; * `tribunals` (opcional): Um objeto que contém os filtros de tribunais: * `keys` (opcional): Lista de códigos de tribunais disponíveis na [lista de tribunais](/resource/glossary#lista-de-tribunais). Este filtro permite restringir a busca a processos que tenham ou não esses códigos específicos; * `not_equal` (opcional): Valor booleano que define se o filtro incluirá ou excluirá os valores especificados em `keys`. * `subject_codes` (opcional): Um objeto que contém os filtros de assuntos: * `contains` (opcional): Lista de códigos de assuntos. Restringe a busca a processos que incluam os códigos especificados. * `not_contains` (opcional): Lista de códigos de assuntos. Exclui processos que contenham os códigos especificados. * `classification_codes` (opcional): Um objeto que contém os filtros de classes processuais: * `keys` (opcional): Lista de códigos de classes processuais. Este filtro permite restringir a busca a processos que tenham ou não esses códigos específicos; * `not_equal` (opcional): Valor booleano que define se o filtro incluirá ou excluirá os valores especificados em `keys`. * `credential` (opcional): Objeto para o uso do cofre de credenciais: * `customer_key` (opcional): Permite passar a chave do usuário cadastrada no cofre de credenciais. Caso não seja informada, a API tentará encontrar uma credencial cadastrada para uma `customer_key` vazia. * `last_step_date_gte` (opcional): Restringe a busca a processos cuja data da última movimentação seja maior que à data fornecida. * `last_step_date_lte` (opcional): Restringe a busca a processos cuja data da última movimentação seja menor que à data fornecida. * `party_names` (opcional): Lista de nomes que restringe a busca a processos que os contenham em alguma das partes. `Obs` Ao utilizar esse filtro em conjunto com o filtro de `Side`, o filtro de `Side` não será considerado para a restrição dessas partes, já que o filtro de `Side` é utilizado para filtrar processos onde a parte principal buscada esteja no lado especificado. * `party_documents` (opcional): Lista de documentos que restringe a busca a processos que os contenham em alguma das partes. `Obs` Ao utilizar esse filtro em conjunto com o filtro de `Side`, o filtro de `Side` não será considerado para a restrição desses documentos, já que o filtro de `Side` é utilizado para filtrar processos onde a parte principal buscada esteja no lado especificado. Todos os monitoramentos customizados cadastradas são realizadas ***on-demand***. Recomendamos verificar as condições de custo associadas a este serviço antes de sua utilização. ```bash theme={null} curl --location 'https://tracking.prod.judit.io/tracking' \ --header 'api-key: ' \ --header 'Content-Type: application/json' \ --data '{ "recurrence": 2, "search": { "search_type": "custom", "search_key": "", "search_params": { "filter": { "subject_codes": { "contains": [ "5953", "6017", "10394", "12989", "5953", "5951", "5971", "14", "030213" ] }, "classification_codes": { "keys": [ "1116", "12785" ], "not_equal": false }, "party_documents": [ "99.999.999/0009-99", "88.888.888/0008-88" ] } } } }' ``` Na resposta da criação do monitoramento, é retornado o campo `hour_range`, que indica o horário em que a consulta ao tribunal será realizada pela primeira vez. No exemplo acima, a primeira consulta está programada para ocorrer às 21 horas. Retorno: ```json theme={null} { "tracking_id": "72084866-499f-4aff-b28a-14d43b8b7d70", "user_id": "7f8065a3-4891-428d-9456-dedfc12ff850", "status": "created", "recurrence": 2, "search": { "search_type": "custom", "search_key": "custom", "response_type": "lawsuit", "search_params": { "filter": { "distribution_date_gte": "2025-02-04T16:56:39.158Z", "subject_codes": { "contains": [ "5953", "6017", "10394", "12989", "5953", "5951", "5971", "14", "030213" ], "not_contains": [], "_id": "67a246c76efb879208114303" }, "classification_codes": { "keys": [ "1116", "12785" ], "not_equal": false, "_id": "67a246c76efb879208114302" }, "party_names": [], "party_documents": [ "99.999.999/0009-99", "88.888.888/0008-88" ] }, "pagination": {} } }, "tracked_items_count": 0, "tracked_items_steps_count": 0, "tags": {}, "created_at": "2025-02-04T16:56:39.158Z", "updated_at": "2025-02-04T16:56:39.158Z" } ``` O monitoramento irá ser iniciado a primeira vez, na melhor janela de concorrência de requisição ao tribunal, dentro das próximas 24 horas da data de criação. Depois ocorrerá de acordo com a frequeência cadastrada no campo ***recurrence***. Na URL vai o tracking\_id retornado na primeira requisição: ```bash theme={null} curl --request GET --url "https://tracking.prod.judit.io/tracking/15d632c6-a2ab-40c1-bfc5-d8f7bf8d8dd9" --header "api-key: SUA-API-KEY" --header "Content-Type: application/json" ``` Retorno: ```json theme={null} { "tracking_id": "72866-499f-4aff-b28a-14d43b8b7d70", "user_id": "7999999995a3-4891-428d-9456-dedfc12ff850", "status": "created", "recurrence": 2, "search": { "search_type": "custom", "search_key": "custom", "response_type": "lawsuit", "search_params": { "filter": { "distribution_date_gte": "2025-02-04T16:56:39.158Z", "subject_codes": { "contains": [ "5953", "6017", "10394", "12989", "5953", "5951", "5971", "14", "030213" ], "not_contains": [], "_id": "67a246c76efb879208114303" }, "classification_codes": { "keys": [ "1116", "12785" ], "not_equal": false, "_id": "67a246c76efb879208114302" }, "party_names": [], "party_documents": [ "99.999.999/0009-99", "88.888.888/0008-88" ] }, "pagination": {} } }, "tracked_items_count": 0, "tracked_items_steps_count": 0, "tags": { "dashboard_id": null }, "created_at": "2025-02-04T16:56:39.158Z", "updated_at": "2025-02-04T16:56:39.158Z" } ``` A propriedade status informa a situação atual do monitoramento, podendo ser:
  1. created: Monitoramento criado, porém nunca executado.
  2. updating: Está com uma requisição em processamento.
  3. updated: Monitoramento atualizado já com alguma resposta disponível. O campo updated\_at pode informar a data de última atualização do monitoramento e a propriedade request\_id o id da última request feita pelo monitoramento.
  4. paused: Monitoramento pausado, podendo ainda ser reativado.
  5. deleted: Monitoramento cancelado e não pode mais ser reativado.
A propriedade request\_id só é criada a partir da primeira vez que o monitoramento executou, ou seja, chegou ao status updated.
Na URL vai o request\_id retornado na primeira requisição: ```bash theme={null} curl --request GET --url "https://requests.prod.judit.io/responses/?request_id=15d632c6-a2ab-40c1-bfc5-d8f7bf8d8dd9" --header "api-key: SUA-API-KEY" --header "Content-Type: application/json" ``` ```json theme={null} { "request_status": "completed", "page": 1, "page_count": 1, "all_pages_count": 1, "all_count": 2, "page_data": [ { "request_id": "8534hyt6ujk-71d5-48a7-a8f1-ad61b02ff461", "response_id": "26098ui81f-e0ed-4d41-8f43-4c548d8799bb", "origin": "api", "origin_id": "8534oiklj89-71d5-48a7-a8f1-ad61b02ff461", "response_type": "lawsuit", "response_data": { "amount": 17456.15, "attachments": [], "classifications": [ { "code": "1116", "name": "EXECUÇÃO FISCAL" } ], "code": "6666666-66.2025.6.66.6666", "county": "CAPITAL 12 VARA FAZ PUBLICA", "city": "RIO DE JANEIRO", "state": "RJ", "area": "NÃO INFORMADO", "justice_description": "JUSTIÇA ESTADUAL", "created_at": "2025-01-27T16:09:19.112Z", "updated_at": "2025-02-04T13:41:08.013Z", "metadata": {}, "courts": [ { "code": "79705", "name": " CAPITAL 17 FAZ PUBLICA" } ], "crawler": { "source_name": "JTJ - BR - Document / Lawsuit - Auth", "crawl_id": "e602ad2b-ce2a-4c70-804d-df2febbb935a", "weight": 0, "updated_at": "2025-02-04T13:40:48.782Z" }, "distribution_date": "2025-01-24T17:08:03.000Z", "free_justice": false, "instance": 1, "justice": "8", "last_step": { "lawsuit_cnj": "6666666-66.2025.8.19.66666", "lawsuit_instance": 1, "private": false, "step_id": "5d93c333", "step_date": "2025-01-27T10:30:20.000Z", "content": "Expedição de Carta pelo Correio - 1 carta", "step_type": "60", "tags": { "crawl_id": "e602ad2b-ce2a-4c70-804d-df2febbb935a" }, "steps_count": 1 }, "name": "ESTADO DO RIO DE JANEIRO X BANCO BV S A", "parties": [ { "side": "Active", "name": "USUARIO TESTE", "main_document": "99999999999", "person_type": "EXEQUENTE", "entity_type": "company", "documents": [ { "document": "99999999999", "document_type": "CNPJ" } ], "lawyers": [ { "name": "USER ONE", "main_document": "99999999999", "documents": [ { "document": "99999999999", "document_type": "cpf" } ] } ], "tags": { "crawl_id": "e602ad2b-ce2a-4c70-804d-df2febbb935a" } }, { "side": "Passive", "name": "BANCO TESTE S A", "main_document": "99999999999", "person_type": "EXECUTADO", "entity_type": "company", "documents": [ { "document": "99999999999", "document_type": "CNPJ" } ], "tags": { "crawl_id": "e602ad2b-ce2a-4c70-804d-df2febbb935a" }, "lawyers": [] } ], "related_lawsuits": [], "secrecy_level": 0, "status": "Ativo", "phase": "Inicial", "steps": [], "subjects": [ { "code": "6017", "name": "DÍVIDA ATIVA (EXECUÇÃO FISCAL)" }, { "code": "5953", "name": "IPVA - IMPOSTO SOBRE PROPRIEDADE DE VEÍCULOS AUTOMOTORES" } ], "tags": { "crawl_id": "e602ad2b-ce2a-4c70-804d-df2febbb935a", "dictionary_updated_at": "2025-02-04T13:41:02.586Z" }, "tribunal": "19", "tribunal_acronym": "TJRJ" }, "user_id": "7f8065a3-4891-428d-9456-dedfc12ff850", "created_at": "2025-02-04T13:41:01.175Z", "tags": { "dashboard_id": null } }, { "request_id": "85347a1e-71d5-48a7-a8f1-ad61b02ff461", "response_id": "2ddaf881-d0be-42bb-9ae9-74d76447e1b2", "origin": "api", "origin_id": "85347a1e-71d5-48a7-a8f1-ad61b02ff461", "response_type": "lawsuit", "response_data": { "amount": 13687.36, "attachments": [ { "attachment_id": "191737998765785327022384570650", "attachment_date": "2025-01-27T14:26:56.000Z", "attachment_name": "DESPACHO/DECISÃO 1 - Sem Sigilo (Nível 0) - 62.30KB", "step_id": "a1369a99", "extension": "html", "status": "done", "tags": { "crawl_id": "69a142ed-12ea-42bd-b467-5bdbfc43cc7d" }, "user_data": null } ], "classifications": [ { "code": "1116", "name": "EXECUÇÃO FISCAL" } ], "code": "3000133-12.2025.8.19.0001", "county": "CAPITAL 12 VARA FAZ PUBLICA", "city": "RIO DE JANEIRO", "state": "RJ", "area": "NÃO INFORMADO", "justice_description": "JUSTIÇA ESTADUAL", "created_at": "2025-01-23T16:09:20.134Z", "updated_at": "2025-02-04T13:41:06.691Z", "metadata": {}, "courts": [ { "code": "7798", "name": "CAPITAL 11 VARA FAZ PUBLICA" }, { "name": "Juízo da 11ª Vara da Fazenda Pública da Comarca da Capital" } ], "crawler": { "source_name": "JEproc - TJRJ - RJ - Lawsuit - Auth - 1 instance", "crawl_id": "69a142ed-12ea-42bd-b467-5bdbfc43cc7d", "updated_at": "2025-01-31T19:53:08.995Z", "weight": 10 }, "distribution_date": "2025-01-22T15:19:46.000Z", "free_justice": false, "instance": 1, "judge": "Alexandre Oliveira Camacho de Franca", "justice": "8", "last_step": { "step_id": "7db05f9a", "step_date": "2025-01-29T03:48:25.000Z", "content": "7 - Confirmada a intimação eletrônica - Refer. ao Evento: 6", "steps_count": 7 }, "name": "ESTADO DO RIO DE JANEIRO X BANCO BV S A", "parties": [ { "name": "Estado do Rio de Janeiro", "main_document": "99999999999", "documents": [ { "document": "99999999999", "document_type": "CNPJ" } ], "person_type": "Exequente", "side": "Active", "lawyers": [ { "name": "Gustavo Areal Pires", "documents": [] } ] }, { "name": "Banco Bv S a", "main_document": "99999999999", "documents": [ { "document": "99999999999", "document_type": "CNPJ" } ], "person_type": "Executado", "side": "Passive", "lawyers": [] } ], "related_lawsuits": [], "secrecy_level": 0, "status": "Ativo", "phase": "Inicial", "steps": [], "subjects": [ { "code": "6017", "name": "DÍVIDA ATIVA (EXECUÇÃO FISCAL)" } ], "tags": { "crawl_id": "69a142ed-12ea-42bd-b467-5bdbfc43cc7d", "dictionary_updated_at": "2025-01-31T19:53:09.783Z" }, "tribunal": "19", "tribunal_acronym": "TJRJ" }, "user_id": "7f8065a3-4891-428d-9456-dedfc12ff850", "created_at": "2025-02-04T13:41:01.175Z", "tags": { "dashboard_id": null } } ] } ``` O parâmetro page e page\_size são opcionais, porém necessários para percorrer as páginas com os processos, caso venham mais de uma, o que é comum no caso de consulta por documento. Define a página atual da busca. Total de processos na página. Total de processos encontrados Quantidade de páginas de processos Array com as respostas e dentro da propriedade response\_data o conteúdo do processo. No caso de monitoramento customizadoo, ele sempre será de novas ações, ou seja, as requisições só gerarão respostas caso um novo processo seja distribuído a partir da data em que foi cadastrado. O significado de cada campo pode ser encontrado no **[glossário](/resource/glossary)** Para consultar o histórico de respostas geradas por um monitoramento específico, faça uma solicitação GET para a rota /tracking/, substituindo pelo ID do monitoramento desejado. Você pode filtrar os resultados usando os parâmetros `created_at_gte` e `created_at_lte`, onde: `created_at_gte`: define a data inicial da consulta. `created_at_lte`: define a data final da consulta. Aqui está um exemplo de como fazer isso usando curl: ```bash theme={null} curl --location 'https://requests.prod.judit.io/responses/tracking/?order=asc&page=1&page_size=50&created_at_gte=2024-03-05T00%3A00%3A00&created_at_lte=2025-03-11T00%3A00%3A00' \ --header 'api-key: ' ``` Aqui está o retorno esperado: ```json theme={null} { "request_status": "completed", "page": 1, "page_count": 2, "all_pages_count": 1, "all_count": 2, "page_data": [ { "request_id": "644a4759-1ae2-48a4-8b09-76afffc75849393", "response_id": "a37ca823-e1d2-4de4-a973-ec9e859d21ed", "origin": "tracking", "origin_id": "cfb61e6e-f2bd-4375-8c87-373405cac6db", "response_type": "lawsuit", "response_data": { "amount": 13687.36, "attachments": [ { "attachment_id": "f2f14dca-5b3f-aba2-a9bd95bd367f", "attachment_date": "2025-01-22T15:19:46.000Z", "attachment_name": "id_externo_3", "content": "CÁLCULOS", "extension": "octet-stream", "status": "done", "tags": { "crawl_id": "bf565435-68c6-4b6b-8004-6533cbd0fb8e" }, "user_data": null }, { "attachment_id": "e26be17f-06ba-9f0c-7fc840e092b1", "attachment_date": "2025-01-22T15:19:46.000Z", "attachment_name": "id_externo_2", "content": "CERTIDÃO DE DÍVIDA ATIVA", "extension": "octet-stream", "status": "done", "tags": { "crawl_id": "bf565435-68c6-4b6b-8004-6533cbd0fb8e" }, "user_data": null }, { "attachment_id": "54e833a9-58a3-9484-0e6e1cb6c457", "attachment_date": "2025-01-22T15:19:46.000Z", "attachment_name": "id_externo_1", "content": "PETIÇÃO INICIAL", "step_id": "ac8ea79b", "extension": "octet-stream", "status": "done", "tags": { "crawl_id": "bf565435-68c6-4b6b-8004-6533cbd0fb8e" }, "user_data": null } ], "classifications": [ { "code": "1116", "name": "EXECUÇÃO FISCAL" } ], "code": "3000133-12.2025.8.19.0001", "county": "TESTE TRIBUNAL", "city": "RIO DE JANEIRO", "state": "RJ", "area": "NÃO INFORMADO", "justice_description": "JUSTIÇA ESTADUAL", "created_at": "2025-01-23T16:09:20.134Z", "updated_at": "2025-01-24T16:10:56.948Z", "metadata": {}, "courts": [ { "code": "7798", "name": "TESTE RETORNO TRIUNAL" } ], "crawler": { "source_name": "JTJ - BR - Document / Lawsuit - Auth", "crawl_id": "8b485368-4315-4247-8314-a6169aa46e0b", "weight": 0, "updated_at": "2025-01-24T16:10:50.024Z" }, "distribution_date": "2025-01-22T15:19:46.000Z", "free_justice": false, "instance": 1, "justice": "8", "last_step": { "lawsuit_cnj": "9999999-99.9999.9.99.9999", "lawsuit_instance": 1, "private": false, "step_id": "91dc5544", "step_date": "2025-01-22T18:40:18.000Z", "content": "Conclusos para decisão/despacho", "step_type": "51", "tags": { "crawl_id": "8b485368-4315-4247-8314-a6169aa46e0b" }, "steps_count": 1 }, "name": "USUÁRIO EXEMPLO 1 X USUÁRIO EXEMPLO 2", "parties": [ { "side": "Active", "name": "USUÁRIO EXEMPLO 1", "main_document": "99999999999", "person_type": "EXEQUENTE", "entity_type": "company", "documents": [ { "document": "99999999999999", "document_type": "CNPJ" } ], "lawyers": [ { "name": "USUÁRIO EXEMPLO 3", "main_document": "99999999999", "documents": [ { "document": "99999999999", "document_type": "cpf" } ] } ], "tags": { "crawl_id": "8b485368-4315-4247-8314-a6169aa46e0b" } }, { "side": "Passive", "name": "USUÁRIO EXEMPLO 2", "main_document": "99999999999", "person_type": "EXECUTADO", "entity_type": "company", "documents": [ { "document": "99999999999999", "document_type": "CNPJ" } ], "tags": { "crawl_id": "8b485368-4315-4247-8314-a6169aa46e0b" }, "lawyers": [] } ], "related_lawsuits": [], "secrecy_level": 0, "status": "Ativo", "phase": "Inicial", "steps": [], "subjects": [ { "code": "6017", "name": "DÍVIDA ATIVA (EXECUÇÃO FISCAL)" }, { "code": "5953", "name": "IPVA - IMPOSTO SOBRE PROPRIEDADE DE VEÍCULOS AUTOMOTORES" } ], "tags": { "crawl_id": "8b485368-4315-4247-8314-a6169aa46e0b", "dictionary_updated_at": "2025-01-24T16:10:50.384Z" }, "tribunal": "19", "tribunal_acronym": "TJRJ" }, "user_id": "98c1d8e0-94bf-43ab-b298-a7158a9efbc9", "created_at": "2025-01-24T16:10:53.278Z", "tags": { "dashboard_id": null } }, { "request_id": "32e0cbb6-71ed-4165-81d5-08ef4dcf80c6", "response_id": "a6690acb-0856-4e4d-ae69-c8d808ce7d9e", "origin": "tracking", "origin_id": "cfb61e6e-f2bd-4375-8c87-373405cac6db", "response_type": "lawsuit", "response_data": { "amount": 17456.15, "attachments": [], "classifications": [ { "code": "1116", "name": "EXECUÇÃO FISCAL" } ], "code": "3000233-64.2025.8.19.0001", "county": "CAPITAL 12 VARA FAZ PUBLICA", "city": "RIO DE JANEIRO", "state": "RJ", "area": "NÃO INFORMADO", "justice_description": "JUSTIÇA ESTADUAL", "created_at": "2025-01-27T16:09:19.112Z", "updated_at": "2025-01-27T16:09:19.112Z", "metadata": {}, "courts": [ { "code": "79705", "name": " CAPITAL 17 FAZ PUBLICA" } ], "crawler": { "source_name": "JTJ - BR - Document / Lawsuit - Auth", "crawl_id": "f9efa845-8501-4804-9595-f01c25fd7ba1", "weight": 0, "updated_at": "2025-01-27T16:09:18.570Z" }, "distribution_date": "2025-01-24T17:08:03.000Z", "free_justice": false, "instance": 1, "justice": "8", "last_step": { "lawsuit_cnj": "9999999-99.9999.9.99.9999", "lawsuit_instance": 1, "private": false, "step_id": "5d93c333", "step_date": "2025-01-27T10:30:20.000Z", "content": "Expedição de Carta pelo Correio - 1 carta", "step_type": "60", "tags": { "crawl_id": "f9efa845-8501-4804-9595-f01c25fd7ba1" }, "steps_count": 1 }, "name": "usuário teste 1 X usuário teste 2", "parties": [ { "side": "Active", "name": "USUÁRIO 1", "main_document": "99999999999999", "person_type": "EXEQUENTE", "entity_type": "company", "documents": [ { "document": "99999999999999", "document_type": "CNPJ" } ], "lawyers": [ { "name": "USUÁRIO 2", "main_document": "99999999999", "documents": [ { "document": "99999999999", "document_type": "cpf" } ] } ], "tags": { "crawl_id": "f9efa845-8501-4804-9595-f01c25fd7ba1" } }, { "side": "Passive", "name": "USUÁRIO 2", "main_document": "99999999999999", "person_type": "EXECUTADO", "entity_type": "company", "documents": [ { "document": "99999999999999", "document_type": "CNPJ" } ], "tags": { "crawl_id": "f9efa845-8501-4804-9595-f01c25fd7ba1" }, "lawyers": [] } ], "related_lawsuits": [], "secrecy_level": 0, "status": "Ativo", "phase": "Inicial", "steps": [], "subjects": [ { "code": "6017", "name": "DÍVIDA ATIVA (EXECUÇÃO FISCAL)" }, { "code": "5953", "name": "IPVA - IMPOSTO SOBRE PROPRIEDADE DE VEÍCULOS AUTOMOTORES" } ], "tags": { "crawl_id": "f9efa845-8501-4804-9595-f01c25fd7ba1", "dictionary_updated_at": "2025-01-27T16:09:19.635Z" }, "tribunal": "19", "tribunal_acronym": "TJRJ" }, "user_id": "98c1d8e0-94bf-43ab-b298-a7158a9efbc9", "created_at": "2025-01-27T16:09:18.752Z", "tags": { "dashboard_id": null } } ] } ``` Para pausar um monitoramento, você pode fazer uma solicitação POST para a rota `/tracking/{monitoramento}/pause`, substituindo `{monitoramento}` pelo ID do monitoramento que você deseja pausar. Aqui está um exemplo de como pausar o monitoramento usando o curl: ```bash theme={null} curl -X POST "https://tracking.prod.judit.io/tracking/15d632c6-a2ab-40c1-bfc5-d8f7bf8d8dd9/pause" \ -H "api-key: YOUR-API_KEY" ``` Aqui está um exemplo de retorno do monitoramento pausado: ```json theme={null} { "tracking_id": "15d632c6-a2ab-40c1-bfc5-d8f7bf8d8dd9", "user_id": "82082593-c664-4d7b-b174-2f0dc4791daf", "status": "paused", "recurrence": 1, "search": { "search_type": "custom", "search_key": "custom", "response_type": "lawsuit", "search_params": { "filter": { "distribution_date_gte": "2025-02-04T16:56:39.158Z", "subject_codes": { "contains": [ "5953", "6017", "10394", "12989", "5953", "5951", "5971", "14", "030213" ], "not_contains": [], "_id": "67a246c76efb879208114303" }, "classification_codes": { "keys": [ "1116", "12785" ], "not_equal": false, "_id": "67a246c76efb879208114302" }, "party_names": [], "party_documents": [ "99.999.999/0009-99", "88.888.888/0008-88" ] }, "pagination": {} } }, "tracked_items_count": 0, "tracked_items_steps_count": 0, "tags": {}, "created_at": "2024-02-21T18:26:38.499Z", "updated_at": "2024-02-21T18:26:38.499Z" } ``` Para reativar um monitoramento pausado, você pode fazer uma solicitação POST para a rota `/tracking/{monitoramento}/resume`, substituindo `{monitoramento}` pelo ID do monitoramento que você deseja reativar. Aqui está um exemplo de como reativar um monitoramento usando curl: ```bash theme={null} curl -X POST "https://tracking.prod.judit.io/tracking/15d632c6-a2ab-40c1-bfc5-d8f7bf8d8dd9/resume" \ -H "api-key: YOUR_API_KEY" ``` Aqui está um exemplo de retorno do monitoramento **ativo** ```json theme={null} { "tracking_id": "15d632c6-a2ab-40c1-bfc5-d8f7bf8d8dd9", "user_id": "82082593-c664-4d7b-b174-2f0dc4791daf", "status": "updated", "recurrence": 1, "search": { "search_type": "custom", "search_key": "custom", "response_type": "lawsuit", "search_params": { "filter": { "distribution_date_gte": "2025-02-04T16:56:39.158Z", "subject_codes": { "contains": [ "5953", "6017", "10394", "12989", "5953", "5951", "5971", "14", "030213" ], "not_contains": [], "_id": "67a246c76efb879208114303" }, "classification_codes": { "keys": [ "1116", "12785" ], "not_equal": false, "_id": "67a246c76efb879208114302" }, "party_names": [], "party_documents": [ "99.999.999/0009-99", "88.888.888/0008-88" ] }, "pagination": {} } }, "tracked_items_count": 0, "tracked_items_steps_count": 0, "tags": {}, "created_at": "2024-02-21T18:26:38.499Z", "updated_at": "2024-02-21T18:26:38.499Z" } ``` Para deletar um monitoramento, você pode fazer uma solicitação DELETE para a rota `/tracking/{monitoramento}`, substituindo `{monitoramento}` pelo ID do monitoramento que você deseja deletar. Aqui está um exemplo de como deletar um monitoramento usando curl: ```bash theme={null} curl -X DELETE "https://tracking.prod.judit.io/tracking/15d632c6-a2ab-40c1-bfc5-d8f7bf8d8dd9" \ -H "api-key: YOUR_API_KEY" ``` Aqui está um exemplo do retorno do monitoramento deletado: ```json theme={null} { "tracking_id": "15d632c6-a2ab-40c1-bfc5-d8f7bf8d8dd9", "user_id": "82082593-c664-4d7b-b174-2f0dc4791daf", "status": "deleted", "recurrence": 1, "search": { "search_type": "custom", "search_key": "custom", "response_type": "lawsuit", "search_params": { "filter": { "distribution_date_gte": "2025-02-04T16:56:39.158Z", "subject_codes": { "contains": [ "5953", "6017", "10394", "12989", "5953", "5951", "5971", "14", "030213" ], "not_contains": [], "_id": "67a246c76efb879208114303" }, "classification_codes": { "keys": [ "1116", "12785" ], "not_equal": false, "_id": "67a246c76efb879208114302" }, "party_names": [], "party_documents": [ "99.999.999/0009-99", "88.888.888/0008-88" ] }, "pagination": {} } }, "tracked_items_count": 0, "tracked_items_steps_count": 0, "tags": {}, "created_at": "2024-02-21T18:26:38.499Z", "updated_at": "2024-02-21T18:26:38.499Z" } ```
# Monitoramento de Novas Ações Source: https://docs.judit.io/tracking/tracking-document Essa página tem como objetivo mostrar o fluxo de Monitoramento de novas ações por documento. ## Payload da Solicitação A solicitação POST deve incluir um payload com as seguintes propriedades: search\_type: Este campo define o tipo de entidade que será buscada. Os valores possíveis são: `cpf`, `cnpj`, `oab`, `name`, `lawsuit_cnj` ou `lawsuit_id`. Para buscas processuais, utilizaremos especificamente `cpf`, `cnpj` ou `oab`, que correspondem ao número do processo. * `search_key`: O número do processo (Código CNJ), CPF, CNPJ, OAB ou Name que você deseja buscar; * `cache_ttl_in_days` (opcional): Número inteiro que define até quantos dias o resultado da busca pode considerar um cache válido; * `search_params`: Um objeto que contém alguns parâmetros da busca como: - `lawsuit_instance` (opcional): Este parâmetro permite definir a instância em que deseja buscar o processo; - `masked_response` Define se a resposta virá minificada. Este parâmetro é aplicável apenas a consultas (simples ou completas) por documento no contexto de busca processual. - masked\_response = `true`: retornará uma consulta completa - masked\_response = `false`: retornará uma consulta simples `*Obs` Consulte as condições comerciais desses diferentes tipos de consultas por documento. Filtros poderão ser adicionados à requisição, permitindo um retorno mais assertivo com base nos valores desejados. Para isso, o parâmetro `filter` deve ser incluído dentro de `search_params`, com os seguintes filtros disponíveis: * `filter` (opcional): Um objeto que contém os filtros para a busca, como: * `side` (opcional): Permite buscar por tipos de participantes do processo, podendo ser: 'Passive', 'Active', 'Interested', 'Unknown'; * `amount_gte` (opcional): Filtra processos com valor da causa maior ou igual ao especificado em `amount_gte`; * `amount_lte` (opcional): Filtra processos com valor da causa menor ou igual ao especificado em `amount_lte`; * `tribunals` (opcional): Um objeto que contém os filtros de tribunais: * `keys` (opcional): Lista de códigos de tribunais disponíveis na [lista de tribunais](/resource/glossary#lista-de-tribunais). Este filtro permite restringir a busca a processos que tenham ou não esses códigos específicos; * `not_equal` (opcional): Valor booleano que define se o filtro incluirá ou excluirá os valores especificados em `keys`. * `subject_codes` (opcional): Um objeto que contém os filtros de assuntos: * `contains` (opcional): Lista de códigos de assuntos. Restringe a busca a processos que incluam os códigos especificados. * `not_contains` (opcional): Lista de códigos de assuntos. Exclui processos que contenham os códigos especificados. * `classification_codes` (opcional): Um objeto que contém os filtros de classes processuais: * `keys` (opcional): Lista de códigos de classes processuais. Este filtro permite restringir a busca a processos que tenham ou não esses códigos específicos; * `not_equal` (opcional): Valor booleano que define se o filtro incluirá ou excluirá os valores especificados em `keys`. * `credential` (opcional): Objeto para o uso do cofre de credenciais: * `customer_key` (opcional): Permite passar a chave do usuário cadastrada no cofre de credenciais. Caso não seja informada, a API tentará encontrar uma credencial cadastrada para uma `customer_key` vazia. * `last_step_date_gte` (opcional): Restringe a busca a processos cuja data da última movimentação seja maior que à data fornecida. * `last_step_date_lte` (opcional): Restringe a busca a processos cuja data da última movimentação seja menor que à data fornecida. * `party_names` (opcional): Lista de nomes que restringe a busca a processos que os contenham em alguma das partes. `Obs` Ao utilizar esse filtro em conjunto com o filtro de `Side`, o filtro de `Side` não será considerado para a restrição dessas partes, já que o filtro de `Side` é utilizado para filtrar processos onde a parte principal buscada esteja no lado especificado. * `party_documents` (opcional): Lista de documentos que restringe a busca a processos que os contenham em alguma das partes. `Obs` Ao utilizar esse filtro em conjunto com o filtro de `Side`, o filtro de `Side` não será considerado para a restrição desses documentos, já que o filtro de `Side` é utilizado para filtrar processos onde a parte principal buscada esteja no lado especificado. * `notification_emails` (opcional): Array de strings fora do `search` que podem ser adicionados emails para os quais deseja receber notificação a cada atualização do monitoramento cadastrado. Exemplo de payload sem filtros: ```bash theme={null} curl --location 'https://tracking.prod.judit.io/tracking' \ --header 'api-key: ' \ --header 'Content-Type: application/json' \ --data '{ "recurrence": 1, "search": { "search_type": "cpf", "search_key": "999.999.999-99" } }' ``` O monitoramento irá ser iniciado a primeira vez, na melhor janela de concorrência de requisição ao tribunal, dentro das próximas 24 horas da data de criação. Depois ocorrerá de acordo com a frequeência cadastrada no campo ***recurrence***. Exemplo de payload com alguns filtros opcionais: ```bash theme={null} curl --location 'https://tracking.prod.judit.io/tracking' \ --header 'api-key: e8f62c5c-7465-426c-abc5-9735c67f25b1' \ --header 'Content-Type: application/json' \ --data '{ "recurrence": 1, "search": { "search_type": "cnpj", "search_key": "00.000.000/0001-00", "search_params": { "filter": { "subject_codes": { "keys": ["10433"], "not_equal": false }, "classification_codes": { "keys": ["985"], "not_equal": false } } } } }' ``` Todas os monitoramentos de novas ações processuais cadastradas são realizadas ***on-demand***. Recomendamos verificar as condições de custo associadas a este serviço antes de sua utilização. Retorno: ```json theme={null} { "tracking_id": "15d632c6-a2ab-40c1-bfc5-d8f7bf8d8dd9", "user_id": "82082593-c664-4d7b-b174-2f0dc4791daf", "status": "created", "recurrence": 1, "search": { "search_type": "cnpj", "search_key": "00.000.000/0001-00", "response_type": "lawsuit", "search_params": { "filter": {}, "pagination": {} } }, "hour_range": 21, "tracked_items_count": 0, "tracked_items_steps_count": 0, "tags": {}, "created_at": "2024-02-21T18:26:38.499Z", "updated_at": "2024-02-21T18:26:38.499Z" } ``` Na resposta da criação do monitoramento, é retornado o campo `hour_range`, que indica o horário em que a consulta aos tribunais serão realizada pela primeira vez. No exemplo acima, a primeira consulta está programada para ocorrer às 21 horas. Na URL vai o tracking\_id retornado na primeira requisição: ```bash theme={null} curl --request GET --url "https://tracking.prod.judit.io/tracking/15d632c6-a2ab-40c1-bfc5-d8f7bf8d8dd9" --header "api-key: SUA-API-KEY" --header "Content-Type: application/json" ``` Retorno: ```json theme={null} { "tracking_id": "15d632c6-a2ab-40c1-bfc5-d8f7bf8d8dd9", "user_id": "82082593-c664-4d7b-b174-2f0dc4791daf", "status": "created", "recurrence": 1, "search": { "search_type": "cnpj", "search_key": "00.000.000/0001-00", "response_type": "lawsuit", "search_params": { "filter": {}, "pagination": {} } }, "tracked_items_count": 0, "tracked_items_steps_count": 0, "tags": { "dashboard_id": null }, "request_id": "05ee9825-b2b4-480b-b29e-f071ca7d9c72", "created_at": "2024-02-21T18:26:38.499Z", "updated_at": "2024-02-21T18:26:38.499Z" } ``` A propriedade status informa a situação atual do monitoramento, podendo ser:
  1. created: Monitoramento criado, porém nunca executado.
  2. updating: Está com uma requisição em processamento.
  3. updated: Monitoramento atualizado já com alguma resposta disponível. O campo updated\_at pode informar a data de última atualização do monitoramento e a propriedade request\_id o id da última request feita pelo monitoramento.
  4. paused: Monitoramento pausado, podendo ainda ser reativado.
  5. deleted: Monitoramento cancelado e não pode mais ser reativado.
A propriedade request\_id só é criada a partir da primeira vez que o monitoramento executou, ou seja, chegou ao status updated.
Na URL vai o request\_id retornado na primeira requisição: ```bash theme={null} curl --request GET --url "https://requests.prod.judit.io/responses/?request_id=15d632c6-a2ab-40c1-bfc5-d8f7bf8d8dd9" --header "api-key: SUA-API-KEY" --header "Content-Type: application/json" ``` ```json theme={null} { "page": 1, "page_data": [ { "request_id": "05ee9825-b2b4-480b-b29e-f071ca7d9c72", "response_id": "e49d2e2c-92ed-4dad-8701-c53a569d675b", "response_type": "lawsuit", "response_data": { "code": "0817064-37.2023.8.19.0209", "justice": "8", "tribunal": "19", "tribunal_acronym": "TJRJ", "secrecy_level": 0, "tags": { "is_fallback_source": true, "crawl_id": "bd5ca800-9351-4d6e-a238-4690face8a5e" }, "instance": 1, "crawler": { "source_name": "JTJ - BR - Document / Lawsuit - Auth", "crawl_id": "bd5ca800-9351-4d6e-a238-4690face8a5e", "weight": 10, "updated_at": "2024-02-21T17:33:24.063Z" }, "classifications": [ { "code": "436", "name": "PROCEDIMENTO DO JUIZADO ESPECIAL CÍVEL" } ], "subjects": [ { "code": "7769", "name": "ABATIMENTO PROPORCIONAL DO PREÇO" }, { "code": "7748", "name": "ACIDENTE AÉREO" }, { "code": "10435", "name": "ACIDENTE DE TRÂNSITO" } ], "courts": [ { "code": "13805", "name": "BARRA DA TIJUCA REGIONAL II JUI ESP CIV" } ], "amount": 28790, "parties": [ { "name": "DAVID WILLIAM CONCEICAO DE OLIVEIRA", "side": "Active", "person_type": "Autor", "document": "14224726718", "document_type": "CPF", "lawyers": [] }, { "name": "GABRIELLA OLIVEIRA DA MATA", "side": "Active", "person_type": "Autor", "document": "16663398733", "document_type": "CPF", "lawyers": [] }, { "name": "JULIANA OLIVEIRA CARVALHO", "side": "Active", "person_type": "Autor", "document": "18250433700", "document_type": "CPF", "lawyers": [] }, { "name": "LEONARDO MENDES LIMA", "side": "Active", "person_type": "Autor", "document": "14904631781", "document_type": "CPF", "lawyers": [] }, { "name": "LEONARDO OLIVEIRA DE LIMA", "side": "Active", "person_type": "Autor", "document": "13726926739", "document_type": "CPF", "lawyers": [] }, { "name": "LIVIA BEATRIZ LIMA DA COSTA DA SILVA", "side": "Active", "person_type": "Autor", "document": "13482560790", "document_type": "CPF", "lawyers": [] }, { "name": "LUCAS OLIVEIRA DE LIMA", "side": "Active", "person_type": "Autor", "document": "13726925767", "document_type": "CPF", "lawyers": [] }, { "name": "MARCO ANTONIO DE OLIVEIRA RODRIGUES", "side": "Active", "person_type": "Autor", "document": "09206529722", "document_type": "CPF", "lawyers": [] }, { "name": "MARIA DE FATIMA GABRIELA PIVA", "side": "Active", "person_type": "Autor", "document": "50559689829", "document_type": "CPF", "lawyers": [] }, { "name": "SUELEN CLARINDO DOS SANTOS", "side": "Active", "person_type": "Autor", "document": "13565811706", "document_type": "CPF", "lawyers": [] }, { "name": "GRUPO HURB VIAGENS E TURISMO S/A", "side": "Passive", "person_type": "Réu", "lawyers": [] }, { "name": "HOTEL URBANO VIAGENS E TURISMO S.A.", "side": "Passive", "person_type": "Réu", "lawyers": [] }, { "name": "HURB TECHNOLIGIES S.A.", "side": "Passive", "person_type": "Réu", "lawyers": [] }, { "name": "HURB TECHNOLOGIES S.A.", "side": "Passive", "person_type": "Réu", "lawyers": [] } ], "attachments": [], "steps": [], "related_lawsuits": [], "last_step": { "lawsuit_cnj": "0817064-37.2023.8.19.0209", "lawsuit_instance": 1, "step_id": "nU9IcVb9NLoHrJeUXt+Hay139dqHAVbfxk7f0D77aRQ=", "step_date": "2024-02-21T17:33:24.064Z", "private": false, "steps_count": 1 }, "name": "DAVID WILLIAM CONCEICAO DE OLIVEIRA X GRUPO HURB VIAGENS E TURISMO S/A", "distribution_date": "2023-06-06T17:35:50.000Z", "phase": "Inicial", "status": "Ativo" }, "user_id": "82082593-c664-4d7b-b174-2f0dc4791daf", "created_at": "2024-02-21T17:33:24.490Z", "request_status": "completed", "tags": { "dashboard_id": null } }, { "request_id": "05ee9825-b2b4-480b-b29e-f071ca7d9c72", "response_id": "66da2fca-6f5d-4664-9e46-0d34f80746c2", "response_type": "lawsuit", "response_data": { "code": "1111111-04.1111.1.11.1111", "justice": "5", "tribunal": "01", "tribunal_acronym": "TRT1", "secrecy_level": 0, "tags": { "is_fallback_source": true, "crawl_id": "bd5ca800-9351-4d6e-a238-4690face8a5e" }, "instance": 1, "crawler": { "source_name": "JTJ - BR - Document / Lawsuit - Auth", "crawl_id": "bd5ca800-9351-4d6e-a238-4690face8a5e", "weight": 10, "updated_at": "2024-02-21T17:33:24.063Z" }, "classifications": [ { "code": "985", "name": "AÇÃO TRABALHISTA - RITO ORDINÁRIO" } ], "subjects": [ { "code": "13656", "name": "DOMÉSTICOS" } ], "courts": [ { "code": "33782", "name": "RIO DE JANEIRO - 37ª VARA DO TRABALHO" } ], "amount": 7685.82, "parties": [ { "name": "USUÁRIO 1", "side": "Active", "person_type": "Autor", "document": "000.000.000-00", "document_type": "CPF", "lawyers": [ { "name": "USUÁRIO 2", "side": "Active", "person_type": "Advogado" } ] }, { "name": "USUÁRIO 3", "side": "Passive", "person_type": "Réu", "document": "000.000.000-00", "document_type": "CPF", "lawyers": [ { "name": "ADVOGADO 2", "side": "Passive", "person_type": "Advogado" } ] }, { "person_type": "Advogado", "side": "Active", "name": "ADVOGADO 1" }, { "person_type": "Advogado", "side": "Passive", "name": "ADVOGADO 2" } ], "attachments": [], "steps": [], "related_lawsuits": [], "last_step": { "lawsuit_cnj": "0100248-39.2022.5.01.0037", "lawsuit_instance": 1, "step_id": "u2r/3iZieAWrkFjxBZC/r4bMlFAvRO1IWvaOD8xdGl8=", "step_date": "2024-02-21T17:33:24.063Z", "private": false, "steps_count": 1 }, "name": "USUÁRIO 4", "distribution_date": "2022-03-30T16:41:24.000Z", "phase": "Inicial", "status": "Ativo" }, "user_id": "82082593-c664-4d7b-b174-2f0dc4791daf", "created_at": "2024-02-21T17:33:24.490Z", "request_status": "completed", "tags": { "dashboard_id": null } }, { "request_id": "05ee9825-b2b4-480b-b29e-f071ca7d9c72", "response_id": "5f83741e-97f4-4c3b-84fb-6c49e4cfe494", "response_type": "lawsuit", "response_data": { "code": "1111111-04.1111.1.11.1111", "justice": "8", "tribunal": "19", "tribunal_acronym": "TJRJ", "secrecy_level": 0, "tags": { "is_fallback_source": true, "crawl_id": "bd5ca800-9351-4d6e-a238-4690face8a5e" }, "instance": 1, "crawler": { "source_name": "JTJ - BR - Document / Lawsuit - Auth", "crawl_id": "bd5ca800-9351-4d6e-a238-4690face8a5e", "weight": 10, "updated_at": "2024-02-21T17:33:24.063Z" }, "classifications": [ { "code": "436", "name": "PROCEDIMENTO DO JUIZADO ESPECIAL CÍVEL" } ], "subjects": [ { "code": "7780", "name": "INDENIZAÇÃO POR DANO MATERIAL" }, { "code": "7779", "name": "INDENIZAÇÃO POR DANO MORAL" } ], "courts": [ { "code": "7869", "name": "BANGU REGIONAL XVII JUI ESP CIV" } ], "amount": 46831, "parties": [ { "name": "USUÁRIO 1", "side": "Active", "person_type": "Autor", "document": "000.000.000-00", "document_type": "CPF", "lawyers": [] }, { "name": "USUÁRIO 2", "side": "Active", "person_type": "Autor", "document": "000.000.000-00", "document_type": "CPF", "lawyers": [] }, { "name": "USUÁRIO 4", "side": "Passive", "person_type": "Réu", "lawyers": [] }, { "name": "USUÁRIO 5", "side": "Passive", "person_type": "Réu", "lawyers": [] } ], "attachments": [], "steps": [], "related_lawsuits": [], "last_step": { "lawsuit_cnj": "1111111-04.1111.1.11.1111", "lawsuit_instance": 1, "step_id": "YpIR5rAfSprFSseqRe9oVUPtkKcgQI0Na8RIv1djKZI=", "step_date": "2024-02-21T17:33:24.063Z", "private": false, "steps_count": 1 }, "name": "USUÁRIO 1", "phase": "Inicial", "status": "Ativo" }, "user_id": "82082593-c664-4d7b-b174-2f0dc4791daf", "created_at": "2024-02-21T17:33:24.490Z", "request_status": "completed", "tags": { "dashboard_id": null } } ], "page_count": 3, "all_count": 3, "all_pages_count": 1 } ``` O parâmetro page e page\_size são opcionais, porém necessários para percorrer as páginas com os processos, caso venham mais de uma, o que é comum no caso de consulta por documento. Define a página atual da busca. Total de processos na página. Total de processos encontrados Quantidade de páginas de processos Array com as respostas e dentro da propriedade response\_data o conteúdo do processo. No caso de monitoramento de documento, ele sempre será de novas ações, ou seja, as requisições só gerarão respostas caso um novo processo seja distribuído. O significado de cada campo pode ser encontrado no **[glossário](/resource/glossary)** Para consultar o histórico de respostas geradas por um monitoramento específico, faça uma solicitação GET para a rota /tracking/, substituindo pelo ID do monitoramento desejado. Você pode filtrar os resultados usando os parâmetros `created_at_gte` e `created_at_lte`, onde: `created_at_gte`: define a data inicial da consulta. `created_at_lte`: define a data final da consulta. Aqui está um exemplo de como fazer isso usando curl: ```bash theme={null} curl --location 'https://requests.prod.judit.io/responses/tracking/?order=asc&page=1&page_size=50&created_at_gte=2024-03-05T00%3A00%3A00&created_at_lte=2025-03-11T00%3A00%3A00' \ --header 'api-key: ' ``` Aqui está o retorno esperado: ```json theme={null} { "request_status": "completed", "page": 1, "page_count": 2, "all_pages_count": 1, "all_count": 2, "page_data": [ { "request_id": "644a4759-1ae2-48a4-8b09-76afffc75849393", "response_id": "a37ca823-e1d2-4de4-a973-ec9e859d21ed", "origin": "tracking", "origin_id": "cfb61e6e-f2bd-4375-8c87-373405cac6db", "response_type": "lawsuit", "response_data": { "amount": 13687.36, "attachments": [ { "attachment_id": "f2f14dca-5b3f-aba2-a9bd95bd367f", "attachment_date": "2025-01-22T15:19:46.000Z", "attachment_name": "id_externo_3", "content": "CÁLCULOS", "extension": "octet-stream", "status": "done", "tags": { "crawl_id": "bf565435-68c6-4b6b-8004-6533cbd0fb8e" }, "user_data": null }, { "attachment_id": "e26be17f-06ba-9f0c-7fc840e092b1", "attachment_date": "2025-01-22T15:19:46.000Z", "attachment_name": "id_externo_2", "content": "CERTIDÃO DE DÍVIDA ATIVA", "extension": "octet-stream", "status": "done", "tags": { "crawl_id": "bf565435-68c6-4b6b-8004-6533cbd0fb8e" }, "user_data": null }, { "attachment_id": "54e833a9-58a3-9484-0e6e1cb6c457", "attachment_date": "2025-01-22T15:19:46.000Z", "attachment_name": "id_externo_1", "content": "PETIÇÃO INICIAL", "step_id": "ac8ea79b", "extension": "octet-stream", "status": "done", "tags": { "crawl_id": "bf565435-68c6-4b6b-8004-6533cbd0fb8e" }, "user_data": null } ], "classifications": [ { "code": "1116", "name": "EXECUÇÃO FISCAL" } ], "code": "3000133-12.2025.8.19.0001", "county": "TESTE TRIBUNAL", "city": "RIO DE JANEIRO", "state": "RJ", "area": "NÃO INFORMADO", "justice_description": "JUSTIÇA ESTADUAL", "created_at": "2025-01-23T16:09:20.134Z", "updated_at": "2025-01-24T16:10:56.948Z", "metadata": {}, "courts": [ { "code": "7798", "name": "TESTE RETORNO TRIUNAL" } ], "crawler": { "source_name": "JTJ - BR - Document / Lawsuit - Auth", "crawl_id": "8b485368-4315-4247-8314-a6169aa46e0b", "weight": 0, "updated_at": "2025-01-24T16:10:50.024Z" }, "distribution_date": "2025-01-22T15:19:46.000Z", "free_justice": false, "instance": 1, "justice": "8", "last_step": { "lawsuit_cnj": "9999999-99.9999.9.99.9999", "lawsuit_instance": 1, "private": false, "step_id": "91dc5544", "step_date": "2025-01-22T18:40:18.000Z", "content": "Conclusos para decisão/despacho", "step_type": "51", "tags": { "crawl_id": "8b485368-4315-4247-8314-a6169aa46e0b" }, "steps_count": 1 }, "name": "USUÁRIO EXEMPLO 1 X USUÁRIO EXEMPLO 2", "parties": [ { "side": "Active", "name": "USUÁRIO EXEMPLO 1", "main_document": "99999999999", "person_type": "EXEQUENTE", "entity_type": "company", "documents": [ { "document": "99999999999999", "document_type": "CNPJ" } ], "lawyers": [ { "name": "USUÁRIO EXEMPLO 3", "main_document": "99999999999", "documents": [ { "document": "99999999999", "document_type": "cpf" } ] } ], "tags": { "crawl_id": "8b485368-4315-4247-8314-a6169aa46e0b" } }, { "side": "Passive", "name": "USUÁRIO EXEMPLO 2", "main_document": "99999999999", "person_type": "EXECUTADO", "entity_type": "company", "documents": [ { "document": "99999999999999", "document_type": "CNPJ" } ], "tags": { "crawl_id": "8b485368-4315-4247-8314-a6169aa46e0b" }, "lawyers": [] } ], "related_lawsuits": [], "secrecy_level": 0, "status": "Ativo", "phase": "Inicial", "steps": [], "subjects": [ { "code": "6017", "name": "DÍVIDA ATIVA (EXECUÇÃO FISCAL)" }, { "code": "5953", "name": "IPVA - IMPOSTO SOBRE PROPRIEDADE DE VEÍCULOS AUTOMOTORES" } ], "tags": { "crawl_id": "8b485368-4315-4247-8314-a6169aa46e0b", "dictionary_updated_at": "2025-01-24T16:10:50.384Z" }, "tribunal": "19", "tribunal_acronym": "TJRJ" }, "user_id": "98c1d8e0-94bf-43ab-b298-a7158a9efbc9", "created_at": "2025-01-24T16:10:53.278Z", "tags": { "dashboard_id": null } }, { "request_id": "32e0cbb6-71ed-4165-81d5-08ef4dcf80c6", "response_id": "a6690acb-0856-4e4d-ae69-c8d808ce7d9e", "origin": "tracking", "origin_id": "cfb61e6e-f2bd-4375-8c87-373405cac6db", "response_type": "lawsuit", "response_data": { "amount": 17456.15, "attachments": [], "classifications": [ { "code": "1116", "name": "EXECUÇÃO FISCAL" } ], "code": "3000233-64.2025.8.19.0001", "county": "CAPITAL 12 VARA FAZ PUBLICA", "city": "RIO DE JANEIRO", "state": "RJ", "area": "NÃO INFORMADO", "justice_description": "JUSTIÇA ESTADUAL", "created_at": "2025-01-27T16:09:19.112Z", "updated_at": "2025-01-27T16:09:19.112Z", "metadata": {}, "courts": [ { "code": "79705", "name": " CAPITAL 17 FAZ PUBLICA" } ], "crawler": { "source_name": "JTJ - BR - Document / Lawsuit - Auth", "crawl_id": "f9efa845-8501-4804-9595-f01c25fd7ba1", "weight": 0, "updated_at": "2025-01-27T16:09:18.570Z" }, "distribution_date": "2025-01-24T17:08:03.000Z", "free_justice": false, "instance": 1, "justice": "8", "last_step": { "lawsuit_cnj": "9999999-99.9999.9.99.9999", "lawsuit_instance": 1, "private": false, "step_id": "5d93c333", "step_date": "2025-01-27T10:30:20.000Z", "content": "Expedição de Carta pelo Correio - 1 carta", "step_type": "60", "tags": { "crawl_id": "f9efa845-8501-4804-9595-f01c25fd7ba1" }, "steps_count": 1 }, "name": "usuário teste 1 X usuário teste 2", "parties": [ { "side": "Active", "name": "USUÁRIO 1", "main_document": "99999999999999", "person_type": "EXEQUENTE", "entity_type": "company", "documents": [ { "document": "99999999999999", "document_type": "CNPJ" } ], "lawyers": [ { "name": "USUÁRIO 2", "main_document": "99999999999", "documents": [ { "document": "99999999999", "document_type": "cpf" } ] } ], "tags": { "crawl_id": "f9efa845-8501-4804-9595-f01c25fd7ba1" } }, { "side": "Passive", "name": "USUÁRIO 2", "main_document": "99999999999999", "person_type": "EXECUTADO", "entity_type": "company", "documents": [ { "document": "99999999999999", "document_type": "CNPJ" } ], "tags": { "crawl_id": "f9efa845-8501-4804-9595-f01c25fd7ba1" }, "lawyers": [] } ], "related_lawsuits": [], "secrecy_level": 0, "status": "Ativo", "phase": "Inicial", "steps": [], "subjects": [ { "code": "6017", "name": "DÍVIDA ATIVA (EXECUÇÃO FISCAL)" }, { "code": "5953", "name": "IPVA - IMPOSTO SOBRE PROPRIEDADE DE VEÍCULOS AUTOMOTORES" } ], "tags": { "crawl_id": "f9efa845-8501-4804-9595-f01c25fd7ba1", "dictionary_updated_at": "2025-01-27T16:09:19.635Z" }, "tribunal": "19", "tribunal_acronym": "TJRJ" }, "user_id": "98c1d8e0-94bf-43ab-b298-a7158a9efbc9", "created_at": "2025-01-27T16:09:18.752Z", "tags": { "dashboard_id": null } } ] } ``` Para pausar um monitoramento, você pode fazer uma solicitação POST para a rota `/tracking/{monitoramento}/pause`, substituindo `{monitoramento}` pelo ID do monitoramento que você deseja pausar. Aqui está um exemplo de como pausar o monitoramento usando o curl: ```bash theme={null} curl -X POST "https://tracking.prod.judit.io/tracking/15d632c6-a2ab-40c1-bfc5-d8f7bf8d8dd9/pause" \ -H "api-key: YOUR-API_KEY" ``` Aqui está um exemplo de retorno do monitoramento pausado: ```json theme={null} { "tracking_id": "15d632c6-a2ab-40c1-bfc5-d8f7bf8d8dd9", "user_id": "82082593-c664-4d7b-b174-2f0dc4791daf", "status": "paused", "recurrence": 1, "search": { "search_type": "cpf", "search_key": "999.999.999-99", "response_type": "lawsuit", "search_params": { "filter": {}, "pagination": {} } }, "tracked_items_count": 0, "tracked_items_steps_count": 0, "tags": {}, "created_at": "2024-02-21T18:26:38.499Z", "updated_at": "2024-02-21T18:26:38.499Z" } ``` Para reativar um monitoramento pausado, você pode fazer uma solicitação POST para a rota `/tracking/{monitoramento}/resume`, substituindo `{monitoramento}` pelo ID do monitoramento que você deseja reativar. Aqui está um exemplo de como reativar um monitoramento usando curl: ```bash theme={null} curl -X POST "https://tracking.prod.judit.io/tracking/15d632c6-a2ab-40c1-bfc5-d8f7bf8d8dd9/resume" \ -H "api-key: YOUR_API_KEY" ``` Aqui está um exemplo de retorno do monitoramento **ativo** ```json theme={null} { "tracking_id": "15d632c6-a2ab-40c1-bfc5-d8f7bf8d8dd9", "user_id": "82082593-c664-4d7b-b174-2f0dc4791daf", "status": "updated", "recurrence": 1, "search": { "search_type": "cpf", "search_key": "999.999.999-99", "response_type": "lawsuit", "search_params": { "filter": {}, "pagination": {} } }, "tracked_items_count": 0, "tracked_items_steps_count": 0, "tags": {}, "created_at": "2024-02-21T18:26:38.499Z", "updated_at": "2024-02-21T18:26:38.499Z" } ``` Para deletar um monitoramento, você pode fazer uma solicitação DELETE para a rota `/tracking/{monitoramento}`, substituindo `{monitoramento}` pelo ID do monitoramento que você deseja deletar. Aqui está um exemplo de como deletar um monitoramento usando curl: ```bash theme={null} curl -X DELETE "https://tracking.prod.judit.io/tracking/15d632c6-a2ab-40c1-bfc5-d8f7bf8d8dd9" \ -H "api-key: YOUR_API_KEY" ``` Aqui está um exemplo do retorno do monitoramento deletado: ```json theme={null} { "tracking_id": "15d632c6-a2ab-40c1-bfc5-d8f7bf8d8dd9", "user_id": "82082593-c664-4d7b-b174-2f0dc4791daf", "status": "deleted", "recurrence": 1, "search": { "search_type": "cpf", "search_key": "999.999.999-99", "response_type": "lawsuit", "search_params": { "filter": {}, "pagination": {} } }, "tracked_items_count": 0, "tracked_items_steps_count": 0, "tags": {}, "created_at": "2024-02-21T18:26:38.499Z", "updated_at": "2024-02-21T18:26:38.499Z" } ```
# Callback / Webhook Source: https://docs.judit.io/webhook/callbacks callbacks ## Solicitação para envio via webhook Quando uma busca ou um monitoramento e feito pela API da JUDIT enviamos um retorno com as informações encontradas. Para que todas as respostas das solicitações sejam enviadas a um único webhook, o cadastro deve ser realizado entrando em contato com nosso [Suporte](https://api.whatsapp.com/send/?phone=5511920501949). Alternativamente, o webhook também pode ser especificado adicionando o parâmetro callback\_url no payload da requisição, conforme o exemplo abaixo: ```json theme={null} { "search": { "search_type": "lawsuit_cnj", "search_key": "9999999-99.9999.9.99.9999" }, "callback_url": "https://webhook.site/b0ac6522-5bfc-42fa-bebf-a8c2b5ec0999", "with_attachments": true } ``` O parâmetro "with\_attachments" deve ser aplicado apenas para consultas processuais, ou seja, quando o campo "search\_type" for definido como "lawsuit\_cnj". ## Envio da resposta Realizamos uma solicitação POST para o webhook, enviando as respostas conforme os resultados da sua busca. O envio ocorre de forma incremental, à medida que as respostas são geradas, e é concluído quando o status da requisição é atualizado para **"completed"**. É possível que o webhook receba duas respostas com conteúdos semelhantes. Isso ocorre porque, inicialmente, pode ser enviada uma resposta cacheada `cached_response: true`. Posteriormente, uma nova resposta completa é gerada e enviada com `cached_response: false`, contendo todas as informações disponíveis. Essa diferença é indicada pelo campo `cached_response`: * `true` → a resposta veio de nossa base de dados. * `false` → a resposta foi obtida pelo crawler diretamente do tribunal. ⚠️ Em alguns casos, o campo cached\_response pode estar como true e ainda assim ser a única resposta enviada. Isso acontece quando a consulta processual foi feita recentemente, tornando desnecessária uma nova captura no tribunal. ### Resposta para consulta histórica: Exemplo de reposta com `cached_response: true`: ```json theme={null} { "user_id": "ab829a35-894b-4fbd-9168-2398fd69cecc", "callback_id": "d5dcbbd6-a9cc-4eef-b1d1-d58a59c4631b", "event_type": "response_created", "reference_type": "request", "reference_id": "ec545a1e-c0ac-47cf-a3df-3668f1bdde11", "payload": { "request_id": "ec545a1e-c0ac-47cf-a3df-3668f1bdde11", "response_id": "2db448e0-7b9d-4e6b-a2d7-9c0adcff9b77", "response_type": "lawsuit", "response_data": { "code": "9999999-99.9999.9.99.9999", "instance": 1, "name": "Usuário teste 1 X Usuário teste 2", "free_justice": true, "secrecy_level": 0, "courts": [ { "code": "7846", "name": "BANGU REGIONAL 2 VARA CIVEL" } ], "tribunal_acronym": "TJRJ", "county": "CAPITAL CENTRAL DE ARQUIVAMENTO DO NUR 1", "state": "RJ", "city": "RIO DE JANEIRO", "distribution_date": "2022-01-13T13:06:46.799Z", "last_step": { "step_id": "27572cb5", "step_date": "2025-06-29T20:07:53.000Z", "content": "Remetidos os Autos (cumpridos) para 2ª Vara Cível da Regional de Bangu", "steps_count": 19 }, "tags": { "crawl_id": "eb2d2f65-69c0-43bd-b75a-ad9d9a787447", "dictionary_updated_at": "2025-08-06T13:48:47.823Z", "possible_homonym": true, "datalake_id": "08004925520228190204", "datalake_segment": "JUSTICA_ESTADUAL" }, "justice": "8", "tribunal": "19", "crawler": { "source_name": "JPje - RJ - Lawsuit - Auth - 1 instance", "crawl_id": "eb2d2f65-69c0-43bd-b75a-ad9d9a787447", "updated_at": "2025-07-01T15:42:55.700Z", "weight": 10 }, "area": "DIREITO CIVIL", "justice_description": "JUSTIÇA ESTADUAL", "created_at": "2024-09-25T04:13:06.923Z", "updated_at": "2025-08-04T15:27:19.032Z", "amount": 11617.01, "classifications": [ { "code": "7", "name": "PROCEDIMENTO COMUM CÍVEL" } ], "subjects": [ { "code": "10671", "name": "OBRIGAÇÃO DE FAZER / NÃO FAZER" }, { "code": "6007", "name": "REPETIÇÃO DE INDÉBITO" }, { "code": "10441", "name": "ACIDENTE DE TRÂNSITO" }, { "code": "14", "name": "DIREITO TRIBUTÁRIO" }, { "code": "5986", "name": "CRÉDITO TRIBUTÁRIO" }, { "code": "899", "name": "DIREITO CIVIL" }, { "code": "10431", "name": "RESPONSABILIDADE CIVIL" }, { "code": "10439", "name": "INDENIZAÇÃO POR DANO MATERIAL" }, { "code": "8826", "name": "DIREITO PROCESSUAL CIVIL E DO TRABALHO" }, { "code": "9148", "name": "LIQUIDAÇÃO / CUMPRIMENTO / EXECUÇÃO" }, { "code": "", "name": "INDENIZAÇÃO POR DANO MORAL" } ], "parties": [ { "main_document": "99999999999", "name": "Usuário teste 1", "side": "Active", "person_type": "Autor", "documents": [ { "document": "99999999999", "document_type": "cpf" } ], "lawyers": [ { "name": "Usuário teste 2", "documents": [] } ] }, { "main_document": "99999999999", "name": "Usuário teste 2", "side": "Passive", "person_type": "RÉU", "documents": [ { "document": "99999999999", "document_type": "cnpj" } ], "lawyers": [ { "name": "Usuário teste 3 - (99999999999)", "documents": [] } ] }, { "name": "Usuário teste 2", "side": "Active", "person_type": "Advogado", "documents": [], "lawyers": [] }, { "name": "Usuário teste 3 - (99999999999)", "side": "Passive", "person_type": "Advogado", "documents": [], "lawyers": [] } ], "attachments": [], "related_lawsuits": [], "steps": [] }, "user_id": "ab829a35-894b-4fbd-9168-2398fd69cecc", "created_at": "2025-08-06T13:48:47.824Z", "request_created_at": "2025-08-06T13:48:46.910Z", "is_scrapper_info": false, "tags": { "dashboard_id": null, "cached_response": true }, "origin": "api", "origin_id": "ec545a1e-c0ac-47cf-a3df-3668f1bdde11" } } ``` Exemplo de reposta com `cached_response: false`: ```json theme={null} { "user_id": "ab829a35-894b-4fbd-9168-2398fd69cecc", "callback_id": "3be957e0-876f-4d36-b98b-d60ad63a0e1c", "event_type": "response_created", "reference_type": "request", "reference_id": "ec545a1e-c0ac-47cf-a3df-3668f1bdde11", "payload": { "request_id": "ec545a1e-c0ac-47cf-a3df-3668f1bdde11", "response_id": "aab3ba92-da01-461b-9d88-b3fc610b8b99", "response_type": "lawsuit", "response_data": { "code": "9999999-99.9999.9.99", "instance": 1, "name": "Uusuário teste 1 X Usuário teste 2", "free_justice": false, "secrecy_level": 0, "courts": [ { "code": "7838", "name": "BANGU REGIONAL 1 VARA CIVEL" }, { "name": "1ª Vara Cível da Regional de Bangu", "date": "2022-11-14T00:00:00.000Z" } ], "tribunal_acronym": "TJRJ", "county": "CAPITAL CENTRAL DE ARQUIVAMENTO DO NUR 1", "state": "RJ", "city": "RIO DE JANEIRO", "judge": "Juiz de Direito", "distribution_date": "2022-11-14T20:58:19.530Z", "last_step": { "step_id": "5d89299a", "step_date": "2023-07-04T09:44:00.000Z", "content": "Baixa Definitiva", "steps_count": 26 }, "tags": { "crawl_id": "f8639963-31af-4d0c-be0d-502db2d222cc", "dictionary_updated_at": "2025-08-06T13:48:47.822Z", "possible_homonym": true, "datalake_id": "08246793020228190204", "datalake_segment": "JUSTICA_ESTADUAL" }, "justice": "8", "tribunal": "19", "crawler": { "source_name": "JPje - RJ - Lawsuit - Auth - 1 instance", "crawl_id": "f8639963-31af-4d0c-be0d-502db2d222cc", "updated_at": "2025-07-29T18:36:21.461Z", "weight": 10 }, "area": "DIREITO DO CONSUMIDOR", "justice_description": "JUSTIÇA ESTADUAL", "created_at": "2024-09-25T05:29:22.270Z", "updated_at": "2025-08-04T15:27:19.298Z", "amount": 9614.9, "classifications": [ { "code": "7", "name": "PROCEDIMENTO COMUM CÍVEL" } ], "subjects": [ { "code": "7760", "name": "FORNECIMENTO DE ENERGIA ELÉTRICA" }, { "code": "7780", "name": "INDENIZAÇÃO POR DANO MATERIAL" }, { "code": "6226", "name": "INCLUSÃO INDEVIDA EM CADASTRO DE INADIMPLENTES" }, { "code": "1156", "name": "DIREITO DO CONSUMIDOR" }, { "code": "6220", "name": "RESPONSABILIDADE DO FORNECEDOR" }, { "code": "7779", "name": "INDENIZAÇÃO POR DANO MORAL" }, { "code": "7771", "name": "CONTRATOS DE CONSUMO" } ], "parties": [ { "main_document": "99999999999", "name": "Usuário teste 2", "side": "Passive", "person_type": "RÉU", "documents": [ { "document": "99999999999", "document_type": "cnpj" } ], "lawyers": [ { "main_document": "99999999999", "name": "Usuário teste 2", "documents": [ { "document": "99999999999", "document_type": "cpf" }, { "document": "999999", "document_type": "oab" } ] }, { "main_document": "99999999999", "name": "Usuário teste 3", "documents": [ { "document": "99999999999", "document_type": "cpf" }, { "document": "9999999", "document_type": "oab" } ] }, { "main_document": "99999999999", "name": "usuário teste 4", "documents": [ { "document": "99999999999", "document_type": "cpf" }, { "document": "9999999", "document_type": "oab" } ] } ] }, { "main_document": "99999999999", "name": "Usuário teste 2", "side": "Passive", "person_type": "Advogado", "documents": [ { "document": "99999999999", "document_type": "cpf" }, { "document": "99999999", "document_type": "oab" }, { "document": "9999999", "document_type": "oab" } ], "lawyers": [] }, { "main_document": "99999999999", "name": "Usuário teste 3", "side": "Passive", "person_type": "Advogado", "documents": [ { "document": "99999999999", "document_type": "cpf" }, { "document": "RJ0145264", "document_type": "oab" }, { "document": "99999999", "document_type": "oab" } ], "lawyers": [] }, { "main_document": "99999999999", "name": "usuário teste 4", "side": "Passive", "person_type": "Advogado", "documents": [ { "document": "99999999999", "document_type": "cpf" }, { "document": "RJ000000", "document_type": "oab" }, { "document": "99999999", "document_type": "oab" } ], "lawyers": [] }, { "main_document": "99999999999", "name": "Uusuário teste 1", "side": "Active", "person_type": "Autor", "documents": [ { "document": "99999999999", "document_type": "cpf" } ], "lawyers": [ { "main_document": "99999999999", "name": "Usuário teste5", "documents": [ { "document": "99999999999", "document_type": "cpf" }, { "document": "999999RJ", "document_type": "oab" } ] } ] } ], "attachments": [], "related_lawsuits": [], "steps": [] }, "user_id": "ab829a35-894b-4fbd-9168-2398fd69cecc", "created_at": "2025-08-06T13:48:47.824Z", "request_created_at": "2025-08-06T13:48:46.910Z", "is_scrapper_info": false, "tags": { "dashboard_id": null, "cached_response": false }, "origin": "api", "origin_id": "ec545a1e-c0ac-47cf-a3df-3668f1bdde11" } } ``` ### Resposta para consulta processual: Exemplo de reposta com `cached_response: true`: ```json theme={null} { "user_id": "7f8065a3-4891-428d-9456-dedfc12ff850", "callback_id": "1a1700da-531b-4b50-ab38-2855a2525929", "event_type": "response_created", "reference_type": "request", "reference_id": "949f0d48-022b-496c-a9a9-97a80c3f8044", "payload": { "request_id": "949f0d48-022b-496c-a9a9-97a80c3f8044", "response_id": "752c4e7d-b0b0-435f-a27f-56bed8e559c7", "response_type": "lawsuit", "response_data": { "code": "9999999-99.9999.9.99.9999", "instance": 1, "name": "Usuário teste 1 X Usuário teste 2", "free_justice": true, "secrecy_level": 0, "courts": [ { "code": "7846", "name": "BANGU REGIONAL 2 VARA CIVEL" } ], "tribunal_acronym": "TJRJ", "county": "CAPITAL CENTRAL DE ARQUIVAMENTO DO NUR 1", "state": "RJ", "city": "RIO DE JANEIRO", "distribution_date": "2022-01-13T00:00:00.000Z", "last_step": { "step_id": "27572cb5", "step_date": "2025-06-29T20:07:53.000Z", "content": "Remetidos os Autos (cumpridos) para 2ª Vara Cível da Regional de Bangu", "steps_count": 19 }, "tags": { "crawl_id": "5bfc2f70-3142-4b79-b306-f4d9a70cc88e", "dictionary_updated_at": "2025-08-13T13:27:19.460Z", "possible_homonym": true, "datalake_id": "08004925520228190204", "datalake_segment": "JUSTICA_ESTADUAL" }, "justice": "8", "tribunal": "19", "crawler": { "source_name": "JPje - RJ - Lawsuit - Auth - 1 instance", "crawl_id": "5bfc2f70-3142-4b79-b306-f4d9a70cc88e", "updated_at": "2025-08-13T13:26:20.073Z", "weight": 10 }, "status": "Finalizado", "phase": "Arquivado", "area": "DIREITO CIVIL", "justice_description": "JUSTIÇA ESTADUAL", "created_at": "2024-09-25T04:13:06.923Z", "updated_at": "2025-08-13T13:26:23.583Z", "amount": 11617.01, "classifications": [ { "code": "7", "name": "PROCEDIMENTO COMUM CÍVEL" } ], "subjects": [ { "code": "14", "name": "DIREITO TRIBUTÁRIO" }, { "code": "5986", "name": "CRÉDITO TRIBUTÁRIO" }, { "code": "899", "name": "DIREITO CIVIL" }, { "code": "10431", "name": "RESPONSABILIDADE CIVIL" }, { "code": "10439", "name": "INDENIZAÇÃO POR DANO MATERIAL" }, { "code": "8826", "name": "DIREITO PROCESSUAL CIVIL E DO TRABALHO" }, { "code": "9148", "name": "LIQUIDAÇÃO / CUMPRIMENTO / EXECUÇÃO" }, { "code": "10671", "name": "OBRIGAÇÃO DE FAZER / NÃO FAZER" }, { "code": "6007", "name": "REPETIÇÃO DE INDÉBITO" }, { "code": "10441", "name": "ACIDENTE DE TRÂNSITO" }, { "code": "", "name": "INDENIZAÇÃO POR DANO MORAL" } ], "parties": [ { "main_document": "99999999999", "name": "Usuário teste 1", "side": "Active", "person_type": "Autor", "documents": [ { "document": "99999999999", "document_type": "cpf" } ], "lawyers": [ { "name": "Usuário teste 3", "documents": [] } ] }, { "main_document": "99999999999", "name": "Usuário teste 2", "side": "Passive", "person_type": "RÉU", "documents": [ { "document": "99999999999", "document_type": "cnpj" } ], "lawyers": [ { "name": "Usuário teste 2 - (99999999999)", "documents": [] } ] }, { "name": "Usuário teste 3", "side": "Active", "person_type": "Advogado", "documents": [], "lawyers": [] }, { "name": "Usuário teste 2 - (99999999999)", "side": "Passive", "person_type": "Advogado", "documents": [], "lawyers": [] } ], "attachments": [ { "attachment_id": "201273181", "attachment_name": "Certidão de Débito (Certidão de Débito)", "extension": "html", "tags": { "crawl_id": "7ce9007d-98d2-4ea6-b729-ca1f3bc77d2f" }, "status": "done", "attachment_date": null }, { "attachment_id": "16345831", "attachment_name": "Sentença (Sentença)", "extension": "html", "tags": { "crawl_id": "c53921e7-7c6e-4bbc-b816-64aee561cf8c" }, "status": "done", "attachment_date": "2022-04-08T14:04:57.000Z" }, { "attachment_id": "13084368", "attachment_name": "Contestação (Contestação)", "extension": "html", "tags": { "crawl_id": "c53921e7-7c6e-4bbc-b816-64aee561cf8c" }, "status": "done", "attachment_date": "2022-02-15T15:52:41.000Z" }, { "attachment_id": "11529202", "attachment_name": "Decisão (Decisão)", "extension": "html", "tags": { "crawl_id": "c53921e7-7c6e-4bbc-b816-64aee561cf8c" }, "status": "done", "attachment_date": "2022-01-19T19:17:51.000Z" } ], "related_lawsuits": [], "steps": [ { "lawsuit_cnj": "9999999-99.9999.9.99.9999", "lawsuit_instance": 1, "step_id": "27572cb5", "step_date": "2025-06-29T20:07:53.000Z", "content": "Remetidos os Autos (cumpridos) para 2ª Vara Cível da Regional de Bangu", "private": false, "created_at": "2025-08-13T13:26:23.096Z", "updated_at": "2025-08-13T13:26:23.096Z", "tags": { "crawl_id": "5bfc2f70-3142-4b79-b306-f4d9a70cc88e" } }, { "lawsuit_cnj": "9999999-99.9999.9.99.9999", "lawsuit_instance": 1, "step_id": "a9d74d34", "step_date": "2025-06-29T20:07:53.000Z", "step_type": "123", "private": false, "created_at": "2025-08-11T18:00:08.187Z", "updated_at": "2025-08-11T18:00:08.187Z", "tags": { "crawl_id": "b5fc9f65-f071-48a0-a760-5a3a69e6ae6d" } }, { "lawsuit_cnj": "9999999-99.9999.9.99.9999", "lawsuit_instance": 1, "step_id": "7136b764", "step_date": "2025-06-16T20:24:29.000Z", "content": "Juntada de Petição de certidão de débito\n\t\t\t\t\t\n\t\t16/06/2025 20:24:28", "private": false, "created_at": "2025-08-13T13:26:23.096Z", "updated_at": "2025-08-13T13:26:23.096Z", "tags": { "crawl_id": "5bfc2f70-3142-4b79-b306-f4d9a70cc88e" } }, { "lawsuit_cnj": "9999999-99.9999.9.99.9999", "lawsuit_instance": 1, "step_id": "c92f8e31", "step_date": "2025-06-15T13:42:16.000Z", "content": "Expedição de Certidão.", "private": false, "created_at": "2025-08-13T13:26:23.096Z", "updated_at": "2025-08-13T13:26:23.096Z", "tags": { "crawl_id": "5bfc2f70-3142-4b79-b306-f4d9a70cc88e" } } ] }, "user_id": "7f8065a3-4891-428d-9456-dedfc12ff850", "created_at": "2025-08-13T13:27:19.462Z", "request_created_at": "2025-08-13T13:27:18.416Z", "is_scrapper_info": false, "tags": { "debug": true, "dashboard_id": null, "cached_response": true }, "origin": "api", "origin_id": "949f0d48-022b-496c-a9a9-97a80c3f8044" } } ``` Exemplo de reposta com `cached_response: false`: ```json theme={null} { "user_id": "7f8065a3-4891-428d-9456-dedfc12ff850", "callback_id": "10e9c234-4f10-4882-a296-53389060b32c", "event_type": "response_created", "reference_type": "request", "reference_id": "949f0d48-022b-496c-a9a9-97a80c3f8044", "payload": { "_id": "689c92bae1249918bf8266cb", "response_id": "752c4e7d-b0b0-435f-a27f-56bed8e559c7", "origin": "api", "origin_id": "949f0d48-022b-496c-a9a9-97a80c3f8044", "request_id": "949f0d48-022b-496c-a9a9-97a80c3f8044", "user_id": "7f8065a3-4891-428d-9456-dedfc12ff850", "response_type": "lawsuit", "response_data": { "code": "9999999-99.9999.9.99.9999", "instance": 1, "name": "Usuário 1 X Usuário 2", "free_justice": false, "secrecy_level": 0, "classifications": [ { "code": "7", "name": "PROCEDIMENTO COMUM CÍVEL", "date": "2022-01-13T00:00:00.000Z" } ], "courts": [ { "code": "7846", "name": "BANGU REGIONAL 2 VARA CIVEL" }, { "name": "2ª Vara Cível da Regional de Bangu", "date": "2022-01-13T00:00:00.000Z" } ], "tribunal_acronym": "TJRJ", "county": "CAPITAL CENTRAL DE ARQUIVAMENTO DO NUR 1", "state": "RJ", "city": "RIO DE JANEIRO", "distribution_date": "2022-01-13T00:00:00.000Z", "amount": 11617.01, "attachments": [ { "attachment_id": "201273181", "attachment_date": "2025-06-16T20:24:00.000Z", "attachment_name": "Certidão de Débito (Certidão de Débito)", "step_id": "50bb801c", "extension": "html", "status": "done", "tags": { "crawl_id": "7ce9007d-98d2-4ea6-b729-ca1f3bc77d2f" }, "user_data": null }, { "attachment_id": "200884452", "attachment_date": "2025-06-15T13:42:00.000Z", "attachment_name": "Certidão", "step_id": "3ff7cb6f", "extension": "html", "status": "done", "tags": { "crawl_id": "e3da89f2-8951-4061-98da-356e070301e1" }, "user_data": null }, { "attachment_id": "39678201", "attachment_date": "2022-12-14T17:31:00.000Z", "attachment_name": "Certidão", "step_id": "a9e15505", "extension": "html", "status": "done", "tags": { "crawl_id": "e3da89f2-8951-4061-98da-356e070301e1" }, "user_data": null }, { "attachment_id": "25650248", "attachment_date": "2022-08-04T14:10:00.000Z", "attachment_name": "Certidão", "step_id": "98b9142a", "extension": "html", "status": "done", "tags": { "crawl_id": "e3da89f2-8951-4061-98da-356e070301e1" }, "user_data": null }, { "attachment_id": "16345831", "attachment_date": "2022-04-08T14:04:57.000Z", "attachment_name": "Sentença (Sentença)", "step_id": "1909bb45", "extension": "html", "status": "done", "tags": { "crawl_id": "c53921e7-7c6e-4bbc-b816-64aee561cf8c" }, "user_data": null }, { "attachment_id": "16327314", "attachment_date": "2022-04-07T17:33:00.000Z", "attachment_name": "Ato Ordinatório", "step_id": "739c98d1", "extension": "html", "status": "done", "tags": { "crawl_id": "e3da89f2-8951-4061-98da-356e070301e1" }, "user_data": null }, { "attachment_id": "15939964", "attachment_date": "2022-04-01T18:29:00.000Z", "attachment_name": "Petição", "step_id": "c8ce483d", "extension": "html", "status": "done", "tags": { "crawl_id": "e3da89f2-8951-4061-98da-356e070301e1" }, "user_data": null }, { "attachment_id": "15939965", "attachment_date": "2022-04-01T18:29:00.000Z", "attachment_name": "Petição (COMPROVA DEPOSITO 0800492 55.2022.8.19.0204)", "step_id": "c8ce483d", "extension": "pdf", "status": "done", "tags": { "crawl_id": "e3da89f2-8951-4061-98da-356e070301e1" }, "user_data": null }, { "attachment_id": "15939966", "attachment_date": "2022-04-01T18:29:00.000Z", "attachment_name": "Procuração (SUBSTABELECIMENTO GOES)", "step_id": "c8ce483d", "extension": "pdf", "status": "done", "tags": { "crawl_id": "e3da89f2-8951-4061-98da-356e070301e1" }, "user_data": null } ], "parties": [ { "main_document": "99999999999", "name": "Usuário 1", "side": "Active", "person_type": "Autor", "documents": [ { "document": "99999999999", "document_type": "cpf" } ], "lawyers": [ { "name": "Usuário teste 4", "documents": [] } ] }, { "main_document": "99999999999", "name": "Usuário 2", "side": "Passive", "person_type": "RÉU", "documents": [ { "document": "99999999999", "document_type": "cnpj" } ], "lawyers": [ { "name": "Usuário teste 2 - (99999999999)", "documents": [] } ] }, { "name": "Usuário teste 4", "side": "Active", "person_type": "Advogado", "documents": [] }, { "name": "Usuário teste 2 - (99999999999)", "side": "Passive", "person_type": "Advogado", "documents": [] } ], "subjects": [ { "code": "6007", "name": "REPETIÇÃO DE INDÉBITO", "date": "2022-01-13T00:00:00.000Z" }, { "code": "10441", "name": "ACIDENTE DE TRÂNSITO", "date": "2022-01-13T00:00:00.000Z" }, { "code": "10671", "name": "OBRIGAÇÃO DE FAZER / NÃO FAZER", "date": "2022-01-13T00:00:00.000Z" }, { "code": "14", "name": "DIREITO TRIBUTÁRIO" }, { "code": "5986", "name": "CRÉDITO TRIBUTÁRIO" }, { "code": "899", "name": "DIREITO CIVIL" }, { "code": "10431", "name": "RESPONSABILIDADE CIVIL" }, { "code": "10439", "name": "INDENIZAÇÃO POR DANO MATERIAL" }, { "code": "8826", "name": "DIREITO PROCESSUAL CIVIL E DO TRABALHO" }, { "code": "9148", "name": "LIQUIDAÇÃO / CUMPRIMENTO / EXECUÇÃO" }, { "code": "", "name": "INDENIZAÇÃO POR DANO MORAL" } ], "related_lawsuits": [], "last_step": { "step_id": "0b602661", "step_date": "2025-06-29T20:07:00.000Z", "content": "Remetidos os Autos (cumpridos) para 2ª Vara Cível da Regional de Bangu", "steps_count": 30 }, "tags": { "crawl_id": "e3da89f2-8951-4061-98da-356e070301e1", "dictionary_updated_at": "2025-08-13T13:27:33.509Z", "possible_homonym": true, "datalake_id": "08004925520228190204", "datalake_segment": "JUSTICA_ESTADUAL" }, "metadata": {}, "justice": "8", "tribunal": "19", "status": "Finalizado", "phase": "Arquivado", "crawler": { "source_name": "JPje - RJ - Lawsuit - Auth - 1 instance", "crawl_id": "e3da89f2-8951-4061-98da-356e070301e1", "updated_at": "2025-08-13T13:27:40.457Z", "weight": 10 }, "created_at": "2024-09-25T04:13:06.923Z", "updated_at": "2025-08-13T13:27:42.343Z", "area": "DIREITO CIVIL", "justice_description": "JUSTIÇA ESTADUAL", "judge": "Juiz de Direito", "steps": [ { "lawsuit_cnj": "9999999-99.9999.9.99.9999", "lawsuit_instance": 1, "private": false, "step_id": "0b602661", "step_date": "2025-06-29T20:07:00.000Z", "content": "Remetidos os Autos (cumpridos) para 2ª Vara Cível da Regional de Bangu", "tags": { "crawl_id": "e3da89f2-8951-4061-98da-356e070301e1" }, "steps_count": 30 }, { "lawsuit_cnj": "9999999-99.9999.9.99.9999", "lawsuit_instance": 1, "private": false, "step_id": "50bb801c", "step_date": "2025-06-16T20:24:00.000Z", "content": "Juntada de Petição de certidão de débito", "tags": { "crawl_id": "e3da89f2-8951-4061-98da-356e070301e1" } }, { "lawsuit_cnj": "9999999-99.9999.9.99.9999", "lawsuit_instance": 1, "private": false, "step_id": "3ff7cb6f", "step_date": "2025-06-15T13:42:00.000Z", "content": "Expedição de Certidão.", "tags": { "crawl_id": "e3da89f2-8951-4061-98da-356e070301e1" } }, { "lawsuit_cnj": "9999999-99.9999.9.99.9999", "lawsuit_instance": 1, "private": false, "step_id": "8055d7d9", "step_date": "2022-12-14T17:31:00.000Z", "content": "Arquivado Definitivamente", "tags": { "crawl_id": "e3da89f2-8951-4061-98da-356e070301e1" } }, { "lawsuit_cnj": "9999999-99.9999.9.99.9999", "lawsuit_instance": 1, "private": false, "step_id": "7002b6bd", "step_date": "2022-12-14T17:31:00.000Z", "content": "Remetidos os Autos (outros motivos) para Central de Arquivamento do NUR 1 Comarca da Capital", "tags": { "crawl_id": "e3da89f2-8951-4061-98da-356e070301e1" } } ] }, "request_created_at": "2025-08-13T13:27:18.416Z", "created_at": "2025-08-13T13:27:19.462Z", "tags": { "debug": true, "dashboard_id": null, "cached_response": false, "cached": false }, "updatedAt": "2025-08-13T13:27:50.145Z" } } ``` O campo `reference_type` pode variar entre `request` ou `tracking`. ### Resposta enviada para monitoramento De acordo com a recorrência configurada no monitoramento, o crawler é executado para: * Realizar a busca do processo no tribunal, no caso de monitoramento processual. * Buscar novas ações vinculadas ao documento, no caso de monitoramento de novas ações. Quando o crawler encontra novas informações, é enviada uma mensagem com o conteúdo atualizado via webhook para: * O webhook registrado na conta, ou * O webhook informado como parâmetro no payload da requisição. Caso não haja atualizações para o processo ou novas ações no momento da execução do crawler, é enviada apenas a mensagem request\_completed. Quando o monitoramento envia sua resposta para o webhook, o campo `origin_id` terá o mesmo valor de `tracking_id`, que é o identificador único do monitoramento. ### Request\_completed Aqui está um exemplo de resposta enviada ao término do envio completo, com a mensagem de confirmação indicando que todas as respostas foram entregues. Essa mensagem final inclui o statusCode "600" e a mensagem "request\_completed", conforme ilustrado abaixo: ```json theme={null} { "user_id": "7f8065a3-4891-428d-9456-dedfc12ff850", "callback_id": "c2c79ac8-8ac7-41fd-a3d5-a4dddb013cfb", "event_type": "response_created", "reference_type": "request", "reference_id": "8ac8f0d0-1372-4281-993b-8b08a521a28a", "payload": { "request_id": "8ac8f0d0-1372-4281-993b-8b08a521a28a", "response_id": "5084577b-075c-48ea-b772-934032a9a7af", "origin": "api", "origin_id": "8ac8f0d0-1372-4281-993b-8b08a521a28a", "request_created_at": "2024-11-14T13:11:22.578Z", "response_type": "application_info", "response_data": { "code": 600, "message": "REQUEST_COMPLETED" }, "user_id": "7f8065a3-4891-428d-9456-dedfc12ff850", "created_at": "2024-11-14T13:11:57.234Z", "tags": { "dashboard_id": null } } } ``` ### Apllication\_error Eventualmente, pode ser enviada uma mensagem `application_error` caso o processo ou alguma instância específica não seja encontrado. ```json theme={null} { "user_id": "7f8065a3-4891-428d-9456-dedfc12ff850", "callback_id": "5e204503-b012-4ba4-a8b4-1b43b199837a", "event_type": "response_created", "reference_type": "request", "reference_id": "949f0d48-022b-496c-a9a9-97a80c3f8044", "payload": { "request_id": "949f0d48-022b-496c-a9a9-97a80c3f8044", "response_id": "d37eb759-7346-495b-ae6f-6da51c3e8dca", "response_type": "application_error", "response_data": { "code": 2, "message": "LAWSUIT_NOT_FOUND" }, "user_id": "7f8065a3-4891-428d-9456-dedfc12ff850", "created_at": "2025-08-13T13:30:06.625Z", "is_scrapper_info": false, "origin": "api", "origin_id": "949f0d48-022b-496c-a9a9-97a80c3f8044", "tags": { "debug": true, "dashboard_id": null } } } ```