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

1

Consulta datalake Hot Storage

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.

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.

curl --request POST \
--url https://lawsuits.prod.judit.io/lawsuits \
--header 'Content-Type: application/json' \
--header 'api-key: <api-key>' \
--data '{
"search": {
  "search_type": "cpf",
  "search_key": "999.999.999-99"
}
}'

Segue um exemplo de request utilizando filtro para TJRJ:

curl --request POST \
--url https://lawsuits.prod.judit.io/lawsuits \
--header 'Content-Type: application/json' \
--header 'api-key: <api-key>' \
--data '{
"search": {
  "search_type": "cpf",
  "search_key": "999.999.999-99",
  "search_params": {
    "filter": {
      "tribunals": {
            "keys": ["TJRJ"],
          "not_equal": false
        }
    },
    "pagination": {
      "page": 1,
      "page_size": 50
    }
  }
}
}'

A resposta da requisição deverá ter um tamanho máximo de 50 itens por página (page_size).

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

{
"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"
}
]
}
2

Consultando a Existência de Processos para o Documento

Para esse endpoint o retorno é um booleano informando se existem processos atrelados ao documento consultado. Essa abordagem é ideal para cenários que exigem tempos de resposta rápidos, como em rotinas de onboarding. No entanto, se além da resposta imediata indicando a existência de processos for necessário acionar, em paralelo, uma consulta histórica em segundo plano, basta incluir a propriedade create_complete_request com o valor true.

Para esse tipo de consulta é necessário realizar uma requisição para o endpoint /requests/create. Abaixo, segue um exemplo de como fazer essa requisição utilizando o cURL.

Exemplo de payload:

  curl --location 'https://lawsuits.prod.judit.io/requests/create' \
--header 'Content-Type: application/json' \
--header 'api-key: <API-KEY>' \
--data '{
"search": {
  "search_type": "cpf",
  "search_key": "999.999.999-99"
}
}'

Resposta esperada:

{
  "has_lawsuits": true,
  "request_id": "bd2be78e-2d04-4fad-ad85-b6058e7cc4f4",
  "response_data": []
}
3

Consultando a quantidade de processos no datalake

É possivel consultar a quantidade de processos atrelados a um documento salvos em nosso datalake, para isso, basta realizar um requisição POST para o endpojnt https://lawsuits.prod.judit.io/requests/count adicionando search_type e search_key no payload.

curl --location 'https://lawsuits.prod.judit.io/requests/count' \
--header 'Content-Type: application/json' \
--header 'User-Agent: insomnia/8.5.1' \
--header 'api-key: <API-KEY>' \
--data '{
    "search": {
        "search_type": "cpf",
        "search_key": "999.999.999-99"
    }
}
'

Resposta esperada:

  {
  "total": 2
  }
4

Consulta histórica agrupada

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.prod.judit.io/requests/create/grouped adicionando search_type e search_key no payload.

  curl --location 'https://lawsuits.prod.judit.io/requests/create/grouped' \
--header 'api-key: <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
}

Lembrando que com o request_id você pode consultar a resposta vinda dos tribunais da mesma forma que é feito na criação de requests padrão: https://docs.judit.io/api-reference/endpoint/requests/create