Para realizar a consulta por nome, é necessário criar uma requisição ao endpoint de consulta correspondente. Essa consulta pode ser realizada em nossa base de dados ou diretamente no tribunal. Vale destacar que os dados disponíveis em nossa base podem estar sujeitos a um atraso de atualização de até 30 dias.

Diferença entre Consulta On-Demand e Consulta Direto na Base de Dados

Para realizar a consulta por nome, é necessário criar uma requisição ao endpoint correspondente. Há duas opções disponíveis para a origem dos dados:

Consulta na Base de Dados:

  • Os dados são recuperados diretamente de nossa base de dados. Esta opção oferece respostas mais rápidas, pois não depende de uma nova consulta ao tribunal.

Consulta On Demand:

  • A consulta é feita diretamente no tribunal no momento da solicitação. Para utilizar esta opção, o parâmetro on_demand deve ser incluído no payload da solicitação com o valor true. Esta abordagem garante acesso aos dados mais atualizados, realizando comunicação direto com o tribunal.

As consultas On-Demand podem ter valores diferentes em relação às consultas realizadas na base de dados. Consulte nossa tabela de preços ou entre em contato com o suporte para mais detalhes.

1

Criação de Request

Para realizar a consulta por nome, é necessário primeiramente criar uma requisição para o endpoint de consulta nome.

Exemplo da criação da request por nome em nossa base de dados:

curl --request POST
  --url 'https://requests.prod.judit.io/requests'
  --header 'Content-Type: application/json'
  --header 'api-key: SUA-API-KEY'
  --data '{
    "search": {
       "search_type": "name",
       "search_key": "USUÁRIO TESTE"
      }
     }
   '

Exemplo de criação da request por documento diretamente no tribunal, adicionando o parâmetro on_demand:

curl --request POST
  --url 'https://requests.prod.judit.io/requests'
  --header 'Content-Type: application/json'
  --header 'api-key: <API-KEY>'
  --data '{
      "search": {
          "search_type": "name",
          "search_key": "USUÁRIO TESTE",
          "on_demand": true
      }
  }
  '

A resposta dessa requisição será um objeto JSON com os dados de criação da Request:

{
  "request_id": "05ee9825-b2b4-480b-b29e-f071ca7d9c72",
  "search": {
    "search_type": "name",
    "search_key": "USUÁRIO TESTE",
    "response_type": "lawsuits",
    "search_params": {
      "filter": {},
      "pagination": {}
    }
  },
  "origin": "api",
  "origin_id": "8c8bc14b-9f46-4e52-bc05-25a8af855690",
  "user_id": "6dc91e78-400e-489c-b30c-61789e323d7c",
  "status": "pending",
  "created_at": "2024-02-16T13:14:09.645Z",
  "updated_at": "2024-02-16T13:14:09.645Z",
  "tags": {}
 }

Na consulta por nome o search_type deve ser “name”.

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. 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.
  • distribution_date_gte (opcional): Permite especificar uma data mínima de distribuição. Este filtro localiza processos distribuídos após a data informada.

  • 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.

Exemplo de consulta por documento com filtros:

 curl --location 'https://requests.prod.judit.io/requests' \
 --header 'api-key: <API-KEY>' \
 --header 'Content-Type: application/json' \
 --data '{
     "search": {
         "search_type": "name",
         "search_key": "usuário teste",
         "search_params": {
             "filter": {
                 "side": "Passive",
                 "tribunals": {
                     "keys": ["TJBA"],
                     "not_equal": false
                 },
                 "subject_codes": {
                     "keys": ["10433"],
                     "not_equal": false
                 },
                 "classification_codes": {
                     "keys": ["985"],
                     "not_equal": false
                 },
                 "last_step_date_gte": "2024-10-10T00:00:00.000Z",
                 "party_names": ["USUÁRIO TESTE"],
                 "party_documents": ["999.999.999.-99"]
             }
         }
     }    
 }
 '
2

Consultar o status da request

Esta é uma etapa importante para saber quando a consulta terminou, já que as respostas serão adicionadas de forma incremental por tribunal.

 curl --request GET
   --url 'https://requests.prod.judit.io/requests/05ee9825-b2b4-480b-b29e-f071ca7d9c72'
   --header 'api-key: SUA-API-KEY'
   --header 'Content-Type: application/json'

Retorno:

{
  "request_id": "05ee9825-b2b4-480b-b29e-f071ca7d9c72",
  "search": {
     "search_type": "cpf",
     "search_key": "09206529722",
     "response_type": "lawsuits",
     "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
  }
}

Através da propriedade status é possível saber se a requisição está completa.

3

Consultar o conteúdo da resposta

Na URL vai o request_id retornado na primeira requisição.

curl --request GET \
  --url 'https://requests.prod.judit.io/responses/?request_id=cb97f8ba-7736-43c7-a961-436b151cd65c&page=1&page_size=10'
  --header 'api-key: SUA-API-KEY'
  --header 'Content-Type: application/json'
1

Processo encontrado

2

Processo não encontrado

Exemplo de retorno quando o processo não foi encontrado no tribunal:

{
    "page": 1,
    "page_data": [
        {
            "request_id": "ef1ea0fb-cac8-4901-8415-2af08822765b",
            "response_id": "4ecdf43c-4a21-4138-969b-5f7e6b21654d",
            "response_type": "application_error",
            "response_data": {
                "code": 2,
                "message": "LAWSUIT_NOT_FOUND"
            },
            "user_id": "82082593-c664-4d7b-b174-2f0dc4791daf",
            "created_at": "2024-02-21T17:28:05.659Z",
            "request_status": "completed",
            "tags": {
                "dashboard_id": null
            }
        }
    ],
    "page_count": 1,
    "all_count": 1,
    "all_pages_count": 1
}

Os 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 nome.

O significado de cada campo pode ser encontrado no glossário:

https://docs.judit.io/essentials/glossary