Python

Paginação

Todo método list() devolve um paginador — SyncPager no cliente síncrono, AsyncPager no assíncrono — que busca as próximas páginas automaticamente. Você nunca gerencia offset na mão.

Todo método list() devolve um paginador — SyncPager no cliente síncrono, AsyncPager no assíncrono — que busca as próximas páginas automaticamente. Você nunca gerencia offset na mão.

Síncrono

# iterar todos os itens de todas as páginas
for tx in sw.transactions.list(limit=100):
    print(tx.id, tx.status)

# só a primeira página
page = sw.transactions.list(limit=20).first()
print(len(page.data), page.has_more)

# página a página
for page in sw.customers.list(limit=100).pages():
    process_batch(page.data)

# coletar em lista, com teto de segurança
primeiros500 = sw.customers.list().to_list(max=500)

O limit padrão é 20 quando não informado.

Assíncrono

O AsyncPager espelha a API com await / async for:

from selectwin import AsyncSelectwin

async with AsyncSelectwin(api_key=key) as sw:
    # iterar todos os itens
    async for tx in sw.transactions.list(limit=100):
        print(tx.id)

    # primeira página
    page = await sw.transactions.list(limit=20).first()

    # coletar em lista
    alguns = await sw.customers.list().to_list(max=500)

Próximos passos

How is this guide?

On this page