Improved

Otimização de performance: Implementação de paginação baseada em Cursor


A API de Produtos da Wake agora suporta paginação baseada em cursor através do parâmetro produtoVarianteIdDe. Esta é a abordagem recomendada para consultas de grandes volumes de dados, oferecendo maior performance e estabilidade em comparação ao modelo tradicional de page e pageSize.

Visão Geral Em catálogos extensos, a paginação por offset (tradicional) torna-se progressivamente lenta à medida que a profundidade da página aumenta. A paginação por cursor resolve este gargalo ao utilizar um identificador único como ponto de referência, permitindo que o banco de dados realize saltos diretos para os registros subsequentes.

CaracterísticaPaginação Tradicional (Offset)Paginação por Cursor
Parâmetrospage, pageSizeprodutoVarianteIdDe, pageSize
PerformanceDegradada em páginas altasConstante (alta Performance)
EstabilidadeRisco de timeout em grandes volumesAlta estabilidade e baixo consumo de CPU
Uso idealListagens pequenas e navegação UISincronização de catálogos e integrações pesadas

Como Implementar

  1. A primeira chamada Para iniciar a leitura do catálogo, realize a chamada sem o parâmetro produtoVarianteIdDe ou defina-o como 0.

  2. Chamadas subsequentes Para obter o próximo lote de produtos, identifique o último produtoVarianteId retornado no lote anterior e envie-o no parâmetro produtoVarianteIdDe.

Exemplo de fluxo:

Request: GET /api/v1/produtos?pageSize=50

Resposta: Retorna itens com IDs de 1 a 50.

Próximo Request: GET /api/v1/produtos?pageSize=50&produtoVarianteIdDe=50

Resposta: Retorna itens a partir do ID 51.

Documentação:

https://wakecommerce.readme.io/reference/retorna-todos-os-produtos https://wakecommerce.readme.io/docs/consultando-todos-os-produtos