Skip to main content
Os rate limits protegem a estabilidade da plataforma e garantem uma experiência consistente para todos os integradores.

O que é rate limit?

Rate limit é um mecanismo de controle que define o número máximo de requisições que uma integração pode realizar à API dentro de um determinado intervalo de tempo. Quando esse limite é atingido, a API retorna o status HTTP 429 Too Many Requests e bloqueia novas requisições até que a janela de tempo seja reiniciada.

Limites por módulo

A tabela abaixo apresenta os limites de requisições agrupados por módulo funcional da API Yampi. Para a lista completa por rota e verbo HTTP, consulte a página Limites.
MóduloLimite por minutoLimite por horaObservações
Geral (todos os endpoints)60 req/minLimite padrão para rotas sem configuração específica
Autenticação10 req/minProteção contra força bruta
Busca60 req/min
Catálogo - Produtos30 req/minImport/Export: 5 req/min por usuário autenticado
Catálogo - SKUs30 req/minImport/Export: 5 req/min por usuário autenticado
Catálogo - Atualização em massa60 req/minEndpoint de lote de SKUs
Checkout - Carrinhos60 req/minExport: 5 req/min por usuário autenticado
Checkout - Links de Pagamento30 req/minAplicado em operações de escrita
Clientes60 req/minExport: 5 req/min por usuário autenticado; Exclusão: 1 req/min
Configurações30 req/minAplicado em operações de escrita
Conteúdo60 req/min
Descontos60 req / 30 segCriação: 30 req / 30 seg; Edição/Exclusão: 15 req / 30 seg
Leads60 req/minExport: 5 req/min por usuário autenticado
Logística - Cálculo de frete60 req/min
Marketing60 req/min
Pedidos120 req/minEscrita: 30 req/min; Importação/Exportação: 5 req/min por usuário
Pedidos - Rastreamento3 req/hCriação de rastreamentos (POST)
Promoções - Cupons120 req/minEscrita: 30 req/min
Promoções - Cashback30 req/minRegras de cashback: 10 req/min por usuário autenticado
Promoções - Order Bumps30 req/minEscrita: 10 req / 30 seg
Público60 req/minInformações públicas da loja
Usuários10 req/minLimitado a 10 tentativas de redefinição de senha por minuto
Os valores marcados como X req/min e Y req/h são placeholders e devem ser validados com o time de engenharia antes da publicação.

Como funciona

A Yampi aplica rate limits principalmente por rota e por IP de origem, monitorando o volume de requisições em janelas de tempo fixas, geralmente de 1 minuto. Cada requisição consome uma unidade da cota disponível. Ao esgotá-la, as requisições seguintes são rejeitadas com HTTP 429 até o início da próxima janela.

Headers de controle

A API retorna os seguintes headers em todas as respostas, permitindo monitorar o estado do rate limit em tempo real:
HeaderDescrição
X-RateLimit-LimitNúmero máximo de requisições permitidas na janela atual
X-RateLimit-RemainingQuantas requisições ainda estão disponíveis na janela atual

Resposta de erro

Ao ultrapassar o limite, você receberá:
HTTP/1.1 429 Too Many Requests
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 0
{
  "message": "Too Many Requests",
  "status_code": 429
}

Exemplos

Exemplo 1 — Requisição dentro do limite

curl --request GET \
  --url "https://api.dooki.com.br/v2/{alias}/catalog/products" \
  --header "User-Token: seu-token" \
  --header "User-Secret-Key: sua-secret-key"
Resposta (200 OK):
HTTP/1.1 200 OK
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 59

Exemplo 2 — Limite atingido

curl --request GET \
  --url "https://api.dooki.com.br/v2/{alias}/catalog/products" \
  --header "User-Token: seu-token" \
  --header "User-Secret-Key: sua-secret-key"
Resposta (429 Too Many Requests):
HTTP/1.1 429 Too Many Requests
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 0