Filtros e paginação
Uso de filtros e paginação nas APIs de Vnda
Ao fazer uma requisição nas APIs, alguns endpoints podem retornar um volume considerável de dados. Nesses casos é recomendado o uso de filtros e paginação para limitar as informações retornadas e para que a consulta na API não fique sobrecarregada.
Veja abaixo os exemplos de utilização desses recursos para suas requisições nas nossas APIs.
Paginação
A paginação permite uma navegação entre as listas de resposta de uma requisição de API. No entanto, para utilizar a paginação primeiro você deve conferir se na resposta da API desejada há paginação.
Há duas formas de você conferir se um endpoint possui paginação:
- No Headers do response:
Uma API possui paginação se no Headers do response há o campo KEYX-Pagination
. Esse campo indica o total de páginas (total_pages
), o número total de itens retornados (total_count
), o número da página atual (current_page
), e se há pagina anterior (prev_page
) ou posterior (next_page
) a página atual. Os camposprev_page
enext_page
são do tipo booleano, e podem recebertrue
oufalse
para indicar que há ou não uma página próxima.
Veja na imagem a seguir uma Header com paginação:
- No query params:
Os endpoints que permitem paginação possuem o parâmetropage
emQUERY PARAMS
, como o endpoint mapeamentos.
Depois de conferir se a resposta da API possui paginação, você pode utilizar o parâmetro page
para acessar uma página específica.
Filtros
Os filtros disponíveis dependem dos endpoint que deseja filtrar. Cada _endpoint _possui filtros próprios que podem ser consultados nos QUERY PARAMS
das referências de API. Vamos exemplificar um uso de filtros com a API de pedidos, para filtrar pedidos com filtro de data.
Por exemplo, para filtrar os pedidos pedidos que tiveram alteração de status no ano de 2021. Nesse caso precisamos filtrar as respostas das requisições da chamada /get/api -v2-orders
utilizando os parâmetros start
(para delimitar a data de início) e finish
(para delimitar o data final). Note que os parâmetros star
e finish
seguem o modelo YYYY-MM-DD
, em que YYYY
deve ser preenchido por ano, MM
pelo mês, e DD
pelo dia. Nesse exemplo a requisição na API será:
<http://www.lojateste.com.br/api/v2/orders/?start=2022-01-01&finish=2022-12-31
>
Note que o filtro é feito na URL em ?start=2021-01-01&finish=2021-12-31
.
Confira mais filtros e _endpoints _na nossa Referência de API.
Updated about 1 year ago