Listando recursos#
Todos os recursos disponibilizados pela API podem ser listados de forma idêntica, descrita a seguir.
Filtrando#
Filtros podem ser fornecidos diretamente na URL do GET realizado.
O argumento mais usado é o where
, e pode ser usado conforme os exemplos abaixo:
where={"title": "The Double Helix"} # O título seria "The Double Helix"
where={"year_published": {"$gt": 1900}} # O ano de publicação maior que 1900
where={"first_name": {"$startswith": "C"}} # O primeiro nome começa com 'C'
where={"first_name": {"$in": ["Charles", "James"]}} # O primeiro nome seria ou 'Charles' ou 'James'
where={"title": "The Double Helix", "year_published": {"$lt": 2000}}
Nota
Veja a seção Filtros disponíveis para ver todos os operadores disponíveis.
Exemplo de chamada com filtros em pessoas monitoradas:
curl -X GET \
'https://op.digesto.com.br/api/monitoramento/monitored_person?where={"name":{"$contains":"João"}}' \
-H 'Content-Type: application/json' \
-H 'Host: op.digesto.com.br' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <token>'
Exemplo de chamada com filtros em processos monitorados:
curl -X GET \
'https://op.digesto.com.br/api/monitoramento/proc?where={"numero_normalizado":"10001962220195020481"}' \
-H 'Content-Type: application/json' \
-H 'Host: op.digesto.com.br' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <token>'
Exemplos de chamadas com filtros em eventos monitorados:
curl -X GET \
'https://op.digesto.com.br/api/monitoramento/monitored_event?where={"target_number":"0026481-97.2015.8.07.0003"}' \
-H 'Content-Type: application/json' \
-H 'Host: op.digesto.com.br' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <token>'
curl -X GET \
'https://op.digesto.com.br/api/monitoramento/monitored_event?where={"evt_type":4,"created_at":{"$between":[{"$date":1468897200000},{"$date":1468983600000}]}}' \
-H 'Content-Type: application/json' \
-H 'Host: op.digesto.com.br' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <token>'
Para listar por exemplo os eventos de andamentos, teria que trocar na URL o
"evt_type":4
por"evt_type":1
. O número na data é o unix time (milisegundos desde epoch).
curl -X GET \
'https://op.digesto.com.br/api/monitoramento/monitored_event?where={"source_url":{"$contains":"{\"https://op.digesto.com.br/api/monitoramento/monitored_person/5\"}"}}' \
-H 'Content-Type: application/json' \
-H 'Host: op.digesto.com.br' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <token>'
Para retornar todos os eventos monitorados registrados para pessoa monitorada id 5.
Paginando#
A paginação ao listar entidades na API segue o padrão da GitHub API, onde o corpo da resposta é uma lista em formato JSON contendo os elementos encontrados. As páginas são solicitadas por meio dos parâmetros page e per_page na query string (URL).
A primeira página (page) é numerada como 1.
O valor máximo para o parâmetro per_page é 2048, e o valor padrão é 30.
Na resposta HTTP, o header Link lista links para: current, first, previous, next, e last page.
Além disso, o header de resposta X-Total-Count contém o total de resultados.
Por padrão, todas as listagens de entidades são paginadas com page=1 e per_page=30, para evitar que consultas com muitos resultados causem lentidão na serialização dos dados e impactem o desempenho da API para outros usuários.
Ordenando#
A ordenação dos resultados ao listar entidades na API é feita utilizando o parâmetro sort na chamada HTTP GET
curl -X GET \
'https://op.digesto.com.br/api/monitoramento/monitored_event?sort={"created_at":false}' \
-H 'Content-Type: application/json' \
-H 'Host: op.digesto.com.br' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <token>'
curl -X GET \
'https://op.digesto.com.br/api/monitoramento/proc?sort={"created_at":false,"numero":true}' \
-H 'Content-Type: application/json' \
-H 'Host: op.digesto.com.br' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <token>'
O parâmetro sort
deve ser um JSON válido, então use aspas duplas (”) ao invés de aspas simples (‘). Por exemplo:
created_at
: false significa que a ordenação será crescente.numero
: true indica que a ordenação será decrescente.