Em uma consulta por nome, podem ocorrer homônimos.

1

Criação de Request

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

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": "MARCO ANTONIO DE OLIVEIRA RODRIGUES"
      }
     }
   '

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": "MARCO ANTONIO DE OLIVEIRA RODRIGUES",
    "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:

    • keys (opcional): Lista de códigos de assuntos. 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.
  • 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.

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
                 }
             }
         }
     }    
 }
 '
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.

page
integer

Define a página atual da busca.

page_count
integer

Total de processos na página.

all_count
integer

Total de processos encontrados

all_pages_count
integer

Quantidade de páginas de processos

page_data
array

Array com as respostas e dentro da propriedade response_data o conteúdo do processo.

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

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