Rate Limit é o número máximo de requisições que um único aplicativo pode fazer em um determinado período de tempo. Quando o aplicativo excede esse limite, a solicitação da API falhará e retornará um código de status HTTP 429.
Esses limites nos ajudam a fornecer a API confiável e escalável.
Em caso de erro 429 revise o comportamento do seu aplicativo Em muitos casos, um aplicativo acaba sendo bloqueado quando entra em algum estado de looping por uma falha ou comportamento inesperado. Caso receba esse erro, verifique se o aplicativo realmente deveria estar fazendo tantas requisições nesse endpoint. Nesse artigo, você encontra algumas recomendações e boas práticas de uso das nossas APIs.
Cada módulo/endpoint pode ter uma política específica de rate limit:
Endpoint | Limite |
---|---|
POST /oauth/token | 20 req/min |
POST /oauth/userCode | 20 req/min |
Endpoint | Limite |
---|---|
GET /events:polling | 6000 req/min |
POST /events/acknowledgment | 6000 req/min |
GET /orders/{id} | 3000 req/min |
GET /orders/{id}/virtual-bag | 1000 req/s |
POST /orders/{id}/confirm | 3000 req/min |
POST /orders/{id}/startPreparation | 3000 req/min |
POST /orders/{id}/readyToPickup | 3000 req/min |
POST /orders/{id}/dispatch | 3000 req/min |
POST /orders/{id}/requestCancellation | 300 req/min |
POST /orders/{id}/tracking | 5000 req/min |
POST /order/v1.0/disputes/{disputeId}/accept | 1000 req/min |
POST /order/v1.0/disputes/{disputeId}/reject | 1000 req/min |
POST /order/v1.0/disputes/{disputeId}/alternatives/{alternativeId} | 1000 req/min |
Endpoint | Limite |
---|---|
GET /merchants/{merchantId}/deliveryAvailabilities | 4000 req/min |
GET /orders/{orderId}/deliveryAvailabilities | 4000 req/min |
POST /merchants/{merchantId}/order | 4000 req/min |
POST /orders/{orderId}/requestDriver | 4000 req/min |
POST /orders/{orderId}/cancel | 600 req/min |
POST /orders/{orderId}/cancelRequestDriver | 600 req/min |
POST /orders/{orderId}/userConfirmAddress | 500 req/min |
POST /orders/{orderId}/deliveryAddressChangeRequest | 500 req/min |
POST /orders/{orderId}/acceptDeliveryAddressChange | 500 req/min |
POST /orders/{orderId}/denyDeliveryAddressChange | 500 req/min |
GET /orders/{orderId}/safeDelivery | 500 req/min |
Endpoint | Limite |
---|---|
GET /merchants | 100 req/min |
GET /merchants/{merchantId} | 300 req/min |
GET /merchants/{merchantId}/status | 20000 req/min |
GET /merchants/{merchantId}/interruptions | 100 req/min |
POST /merchants/{merchantId}/interruptions | 200 req/min |
DELETE /merchants/{merchantId}/interruptions/{interruptionId} | 100 req/min |
GET /merchants/{merchantId}/opening-hours | 100 req/min |
PUT /merchants/{merchantId}/opening-hours | 100 req/min |
Endpoint | Limite |
---|---|
GET /merchants/{merchantId}/reviews | 2000 req/min |
GET /merchants/{merchantId}/reviews/{reviewId} | 2000 req/min |
POST /merchants/{merchantId}/reviews/{reviewId}/answers | 2000 req/min |
GET /merchants/{merchantId}/summary | 2000 req/min |
Endpoint | Limite |
---|---|
GET /merchants/{merchantId}/sales | 1000 req/min |
GET /merchants/{merchantId}/payments | 1000 req/min |
GET /merchants/{merchantId}/paymentDetails | 1000 req/min |
GET /merchants/{merchantId}/occurrences | 1000 req/min |
GET /merchants/{merchantId}/maintenanceFees | 1000 req/min |
GET /merchants/{merchantId}/incomeTaxes | 1000 req/min |
GET /merchants/{merchantId}/periods?competence={competence} | 1000 req/min |
GET /merchants/{merchantId}/chargeCancellations | 1000 req/min |
GET /merchants/{merchantId}/cancellations | 1000 req/min |
GET /merchants/{merchantId}/receivableRecords | 1000 req/min |
GET /merchants/{merchantId}/salesAdjustments | 1000 req/min |
GET /merchants/{merchantId}/salesBenefits | 1000 req/min |
GET /merchants/{merchantId}/adjustmentsBenefits | 1000 req/min |
Endpoint | Limite |
---|---|
Todos os endpoints do módulo Catalog | 15000 req/min |
Endpoint | Limite |
---|---|
GET /merchants/{merchantId}/catalogs/{catalogId}/categories | 3000 req/min |
POST /merchants/{merchantId}/catalogs/{catalogId}/categories | 3000 req/min |
GET /merchants/{merchantId}/catalogs/{catalogId}/categories/{categoryId} | 3000 req/min |
PATCH /merchants/{merchantId}/catalogs/{catalogId}/categories/{categoryId} | 3000 req/min |
GET /merchants/{merchantId}/categories/{categoryId}/items | 3000 req/min |
DELETE /merchants/{merchantId}/categories/{categoryId} | 3000 req/min |
GET /merchants/{merchantId}/catalogs | 3000 req/min |
GET /merchants/{merchantId}/catalogs/{catalogId}/unsellableItems | 3000 req/min |
GET /merchants/{merchantId}/catalogs/{groupId}/sellableItems | 3000 req/min |
GET /merchants/{merchantId}/catalogs/{catalogId}/changelog | 3000 req/min |
GET /merchants/{merchantId}/catalog/version | 3000 req/min |
GET /merchants/{merchantId}/products | 3000 req/min |
POST /merchants/{merchantId}/products | 3000 req/min |
PUT /merchants/{merchantId}/products/{productId} | 3000 req/min |
DELETE /merchants/{merchantId}/products/{productId} | 3000 req/min |
PATCH /merchants/{merchantId}/products/status | 5000 req/min |
PATCH /merchants/{merchantId}/products/price | 5000 req/min |
GET /merchants/{merchantId}/product/{productId} | 3000 req/min |
GET /merchants/{merchantId}/products/externalCode/{externalCode} | 3000 req/min |
DELETE /merchants/{merchantId}/categories/{categoryId}/products/{productId} | 3000 req/min |
GET /merchants/{merchantId}/items/{itemId}/flat | 3000 req/min |
PATCH /merchants/{merchantId}/item/price | 5000 req/min |
PATCH /merchants/{merchantId}/item/status | 5000 req/min |
PATCH /merchants/{merchantId}/item/externalCode | 3000 req/min |
PUT /merchants/{merchantId}/items | 3000 req/min |
GET /merchants/{merchantId}/optionGroups | 5000 req/min |
DELETE /merchants/{merchantId}/optionGroups/{optionGroupId} | 3000 req/min |
PATCH /merchants/{merchantId}/optionGroups/{optionGroupId} | 5000 req/min |
DELETE /merchants/{merchantId}/optionGroups/{optionGroupId}/products/{productId} | 5000 req/min |
PATCH /merchants/{merchantId}/optionGroups/{optionGroupId}/status | 5000 req/min |
DELETE /merchants/{merchantId}/optionGroups/{optionGroupId}/products/{productId}/option | 5000 req/min |
PATCH /merchants/{merchantId}/options/price | 5000 req/min |
PATCH /merchants/{merchantId}/options/status | 5000 req/min |
PATCH /merchants/{merchantId}/options/externalCode | 5000 req/min |
GET /merchants/{merchantId}/batch/{batchId} | 5000 req/min |
POST /merchants/{merchantId}/inventory | 5000 req/min |
GET /merchants/{merchantId}/inventory/{productId} | 5000 req/min |
POST /merchants/{merchantId}/inventory/batchDelete | 5000 req/min |
POST /merchants/{merchantId}/version/upgrade | 3000 req/min |
POST /merchants/{merchantId}/version/downgrade | 3000 req/min |
Endpoint | Limite |
---|---|
POST /merchants/{merchantId}/promotions | 1000 req/min |
Endpoint | Limite |
---|---|
POST /ingestion/{merchantId} | 1000 req/s |
PATCH /ingestion/{merchantId} | 1000 req/s |
Endpoint | Limit |
---|---|
POST /orders/{id}/startSeparation | 1000 req/s |
POST /orders/{id}/endSeparation | 1000 req/s |
POST /orders/{id}/items | 1000 req/s |
PATCH /orders/{id}/items/{uniqueId} | 1000 req/s |
DELETE /orders/{id}/items/{uniqueId} | 1000 req/s |