Como faço para paginar solicitações de API?
Last updated: June 19, 2026
A API de DESPACHO do L2L limita as solicitações GET de Áreas de Registros a 2000 registros, salvo indicação em contrário. E se você precisar obter mais do que isso? Este artigo mostrará como usar os argumentos de consulta de paginação integrados para recuperar registros além do limite imposto.
Argumentos de Consulta de Paginação
Há dois argumentos de consulta que você usará para a paginação: limit e offset.
O argumento limit limita o número de registros retornados pela API. Se você não especificar um argumento limit, a API usará como padrão 100 registros.
O argumento offset informa à API com qual registro começar. Essa é uma contagem baseada em zero, portanto, a primeira página teria offset=0, e a API retornaria os registros 0-99. Se você estiver limitando seus resultados a 100 registros por página, o offset da segunda página seria 100.
Exemplo
Aqui está um exemplo de script para recuperar vários registros usando Python 2.7. Preste bastante atenção ao loop while.
import requests
finished = False
machines = []
url = 'https://example.leading2lean.com/api/1.0/machines/'
apikey = 'fakeapikey'
limit = 2000
site = 1
while not finished:
resp = requests.get(url, {'auth': apikey, 'site': site, 'limit': limit, 'offset': len(machines)}, timeout=60)
if resp.ok:
resp_js = resp.json()
if not resp_js['success']:
raise Exception("api call failed with error: %s" % resp_js['error'])
machines.extend(resp_js['data'])
if len(resp_js['data']) < limit:
finished = True
else:
raise Exception("Failed request, error: %d" % resp.status_code)Método alternativo de paginação de solicitações da API
Frequentemente, você pode precisar extrair dados do L2L onde novos dados são adicionados regularmente. Por exemplo, Despachos são adicionados muitas vezes por hora. Você pode usar o processo a seguir para extrair dados de áreas que mudam com frequência:
Etapa 1: Crie sua URL. Esta URL deve usar um dos parâmetros mágicos de ordenação para limitar a quantidade de dados que você está retornando. Neste exemplo, quero obter uma lista de Despachos que foram criados na última semana:
https://[customer].leading2lean.com/api/1.0/dispatches?auth=[auth]&site=1&created__gt=[one week ago]&order_by=-idComo você pode ver, os resultados são ordenados pelo id, em ordem decrescente.
Etapa 2: Adicione um novo parâmetro mágico de ordenação. Como eu estava ordenando pelo id, vou pegar o id do último resultado e anexá-lo à URL, desta forma:
https://[customer].leading2lean.com/api/1.0/dispatches?auth=[auth]&site=1&created__gt=[one week ago]&order_by=-id&id__gt=[last id]Etapa 3: Continue até obter 0 resultados. Quando o resultado do L2L estiver vazio, você terá recuperado todos os registros, sem lacunas.
Dicas
- Recomendamos escrever seu código para recuperar da API apenas os registros de que você precisa. Isso pode ser feito usando filtros adicionais nas solicitações à API e limitando o número total de registros a uma quantidade razoável. Se você não filtrar e limitar suas consultas à API, seus servidores web poderão ficar mais lentos durante a execução da sua aplicação. Tenha cuidado.
- Ao chegar ao final de um conjunto de dados, você receberá uma resposta com um objeto
datavazio, como este:
Quando você obtiver um objeto data vazio, deverá encerrar seu loop.{ limit: 100, data: [], success: true, offset: 1000 }