Limites de Uso (Rate Limiting)
Esta documentação descreve os limites de taxa de requisição implementados para garantir a estabilidade e disponibilidade da API OpenDelivery.
Aplicação dos Limites
É importante ressaltar que os limites de requisição são aplicados por loja integrada e não por integrador. Isso significa que:
- O
client_idgerado para cada integração é usado como chave para o controle de rate limit - Cada loja integrada possui sua própria cota de requisições, independente do integrador
- Integradores que gerenciam múltiplas lojas devem estar cientes de que cada loja possui seu próprio limite
Esta abordagem garante que o tráfego seja distribuído de forma justa entre todas as lojas, independentemente do tamanho do integrador.
Limites para Autenticação
| Endpoint | Limite | Janela de Tempo |
|---|---|---|
POST /opendelivery/oauth/token | 10 requisições | 1 hora |
Limites para Operações de Pedidos
| Endpoint | Limite | Janela de Tempo |
|---|---|---|
GET /opendelivery/v1/orders/{orderId} | 100 requisições | 1 minuto |
POST /opendelivery/v1/orders/{orderId}/{status} | 100 requisições | 1 minuto |
GET /opendelivery/v1/events:polling | 2 requisições | 1 minuto |
POST /opendelivery/v1/events/acknowledgment | 100 requisições | 1 minuto |
Limites para Informações do Merchant
| Endpoint | Limite | Janela de Tempo |
|---|---|---|
GET /opendelivery/v1/merchant | 10 requisições | 1 minuto |
Cabeçalhos de Resposta
As respostas incluem cabeçalhos para monitorar seu consumo de API:
| Cabeçalho | Descrição |
|---|---|
X-RateLimit-Limit | Número máximo de requisições permitidas |
X-RateLimit-Remaining | Número de requisições restantes |
X-RateLimit-Reset | Tempo (em segundos) até a redefinição |
Tratamento de Excesso de Requisições
Quando os limites são excedidos, a API retorna:
- Status HTTP:
429 Too Many Requests - Cabeçalho
Retry-After: tempo recomendado (em segundos) para aguardar
Boas Práticas
- Cache de token: Armazene e reutilize o token até sua expiração
- Backoff exponencial: Implemente espera progressiva após erros 429
- Monitoramento: Acompanhe o consumo da API para evitar bloqueios
- Otimização de consultas: Agrupe operações quando possível
- Polling adequado: Para o endpoint de eventos, respeite o limite de 2 requisições a cada 1 minuto
- Gerenciamento de múltiplas lojas: Se você é um integrador com várias lojas, implemente filas e controles para garantir que cada loja respeite seus próprios limites
Documentação Completa
Para informações detalhadas sobre tratamento de erros e exemplos, consulte: