Endpoints Navigate all Order API endpoints organized by functionality. For post-delivery negotiation operations, see the Negotiation Platform .
Order management Get order details Retrieve complete information for a specific order. GET https://merchant-api.ifood.com.br/order/v1.0/orders/{id}Path parameters Parameter Type Description iduuid Order ID
Response (200 OK)
{
"id" : "123e4567-e89b-12d3-a456-426614174000" ,
"status" : "CONFIRMED" ,
"orderType" : "DELIVERY" ,
"category" : "FOOD" ,
"items" : [ ... ],
"scheduling" : { ... },
"total" : { ... }
} Read more: Complete order structure
Confirm order Confirm receipt within 8 minutes. See confirmation deadline . POST https://merchant-api.ifood.com.br/order/v1.0/orders/{id}/confirmPath parameters Parameter Type Description iduuid Order ID
Response (202 Accepted) Result arrives in next polling: CONFIRMED event or CANCELLATION_REQUEST_FAILED. Read more: Confirmation flow
Start preparation Begin order preparation after confirmation. POST https://merchant-api.ifood.com.br/order/v1.0/orders/{id}/startPreparationPath parameters Parameter Type Description iduuid Order ID
Response (202 Accepted) Important notes: For scheduled orders, respect preparationStartDateTime Stores with "Smart Preparation" receive RECOMMENDED_PREPARATION_START Read more: Preparation flow
Notify order ready Notify that the order is ready for pickup or delivery. POST https://merchant-api.ifood.com.br/order/v1.0/orders/{id}/readyToPickupPath parameters Parameter Type Description iduuid Order ID
Response (202 Accepted) Requirement: TAKEOUT and DINE_IN: RequiredDELIVERY: OptionalRead more: Ready notification flow
Dispatch order Notify that the order is out for merchant delivery. POST https://merchant-api.ifood.com.br/order/v1.0/orders/{id}/dispatchPath parameters Parameter Type Description iduuid Order ID
Body
{
"deliveredBy" : "MERCHANT"
} Response (202 Accepted) When to use: Only for merchant delivery (DELIVERY with deliveredBy = MERCHANT)Read more: Dispatch flow
Order cancellation Get valid cancellation reasons Retrieve accepted cancellation reasons for a specific order. GET https://merchant-api.ifood.com.br/order/v1.0/orders/{id}/cancellationReasonsPath parameters Parameter Type Description iduuid Order ID
Response (200 OK)
{
"reasons" : [
{
"code" : "501" ,
"description" : "System error"
},
{
"code" : "502" ,
"description" : "Duplicate order"
}
]
} Common codes: 501 — System502 — Duplicate503 — Unavailable504 — No driver505 — Menu506 — Out of area507 — Fraudulent508 — Outside hours509 — Internal error511 — Risk512 — Opens laterRead more: Cancellation flow
Request cancellation Request order cancellation with a valid reason. POST https://merchant-api.ifood.com.br/order/v1.0/orders/{id}/requestCancellationPath parameters Parameter Type Description iduuid Order ID
Body Response (202 Accepted) Validation: Check the result in next polling:CANCELLED — Cancellation acceptedCANCELLATION_REQUEST_FAILED — Cancellation rejectedWarning: Excessive cancellations incur penalties and may result in temporary store closure.Read more: Complete cancellation rules and flow
Tracking and validation Track driver Get real-time driver location (iFood delivery only). GET https://merchant-api.ifood.com.br/order/v1.0/orders/{id}/trackingPath parameters Parameter Type Description iduuid Order ID
Response (200 OK)
{
"latitude" : -23.5505 ,
"longitude" : -46.6333 ,
"expectedDelivery" : "2024-04-25T18:30:00Z" ,
"pickupEtaStart" : 120 ,
"deliveryEtaEnd" : 600 ,
"trackDate" : "2024-04-25T18:15:00Z"
} Constraints: Only available after ASSIGN_DRIVER event Maximum one request every 30 seconds May return 404 before driver assigned Read more: Delivery tracking
Validate pickup code Validate the pickup code provided by driver. POST https://merchant-api.ifood.com.br/order/v1.0/orders/{id}/validatePickupCodePath parameters Parameter Type Description iduuid Order ID
Body Response (200 OK) Validation: Compare code against pickupCode in order details.Availability: Only when enabled and for deliveredBy = "IFOOD".Read more: Pickup validation
Confirm delivery or pickup Validate and confirm order delivery or pickup. POST https://merchant-api.ifood.com.br/order/v1.0/orders/{id}/verifyDeliveryCodePath parameters Parameter Type Description iduuid Order ID
Body Response (200 OK) Use cases: iFood delivery: Driver confirms via app (automatic)Merchant delivery: Use localizer (phone.localizer) from receiptRead more: Delivery confirmation
Event management Consume events (Polling) Check for new events. Recommended every 30 seconds. GET https://merchant-api.ifood.com.br/order/v1.0/orders:pollingQuery parameters Parameter Type Description limitint Maximum events (default: 100)
Response (200 OK)
{
"events" : [
{
"id" : "evt_123" ,
"code" : "CONFIRMED" ,
"fullCode" : "ORDER_CONFIRMED" ,
"orderId" : "ord_456" ,
"createdAt" : "2024-04-25T18:00:00Z" ,
"metadata" : { ... }
}
]
} Next steps: Process each event and confirm reading with /orders:acknowledgment.Read more: Event consumption
Acknowledge event consumption Confirm that you successfully processed events. POST https://merchant-api.ifood.com.br/order/v1.0/orders:acknowledgmentBody
{
"acknowledgedEventIds" : [
"evt_123" ,
"evt_124"
]
} Response (202 Accepted) Important: Only acknowledge successfully processed events. Unacknowledged events will be returned in next polling.Read more: Event acknowledgment
Search by use case Not sure where to start? Use this index:
Previous Errors and troubleshooting
Next Homologation criteria
Was this page helpful? Yes No
Rate your experience in the new Developer portal: Rate now