Usando webhooks para reduzir requisições
Em vez de consultar a API repetidamente, você pode utilizar webhooks para receber notificações em tempo real sempre que um evento ocorrer na plataforma. Isso reduz significativamente o volume de requisições e o risco de atingir o rate limit. Eventos recomendados para substituir consultas recorrentes:| Caso de uso | Evento do webhook |
|---|---|
| Monitorar novos pedidos | order.created |
| Acompanhar pagamentos aprovados | order.paid |
| Atualização de status de pedidos | order.status.updated |
| Notificação de carrinho abandonado | cart.reminder |
| Atualização de estoque | product.inventory.updated |
| Novo cliente criado | customer.created |
Boas práticas
Implemente um retry after
Implemente um retry after
Ao receber um
HTTP 429, aguarde antes de reenviar a requisição. Utilize uma política de retry que se adapte as regras da rota.Evite consultas desnecessárias
Evite consultas desnecessárias
Não consulte a API em intervalos fixos e curtos apenas para verificar se houve alterações. Prefira webhooks para ser notificado proativamente sobre eventos relevantes.
Centralize e reutilize respostas
Centralize e reutilize respostas
Implemente cache local para respostas GET que não precisam ser atualizadas a cada requisição. Utilize o parâmetro
skipCache=true somente quando realmente necessário.Processe em lote quando possível
Processe em lote quando possível
Prefira endpoints que suportam operações em massa (batch) em vez de fazer chamadas individuais para cada item. Exemplo: use o endpoint de atualização em lote de SKUs.
Monitore os headers de rate limit
Monitore os headers de rate limit
Verifique sempre os headers
X-RateLimit-Remaining nas respostas. Ao detectar que a cota está próxima de zero, reduza proativamente a frequência das requisições.Distribua requisições ao longo do tempo
Distribua requisições ao longo do tempo
Evite realizar muitas requisições simultaneamente. Use filas e distribua as chamadas ao longo do tempo, especialmente em integrações de sincronização de dados.
Como evitar que o limite seja atingido
- Utilize webhooks no lugar de consultas para eventos assíncronos.
- Implemente cache para dados que mudam com pouca frequência (ex.: categorias, variações).
- Use includes para reduzir chamadas encadeadas:
?include=skus,imagesretorna tudo em uma única requisição. - Processe em fila: enfileire requisições e controle a taxa de envio pela sua aplicação.
- Monitore ativamente os headers de rate limit e ajuste a frequência de chamadas antes de atingir o limite.
- Evite sincronizações completas em horários de pico — prefira sincronizações incrementais baseadas em eventos.