Search in documentation
ctrl+4K
Modules
Authentication
Merchant
Catalog
Order
Events
Logistics
Shipping
Review
Financial
Solutions

Shipping module

The Shipping module allows merchants to request iFood's delivery service for orders placed both on and off the platform. This functionality is ideal for merchants with their own fleet who need logistical support during peak demand periods.
  • Request delivery drivers for iFood platform orders or external channel orders
  • Check delivery availability before requesting
  • Track deliveries in real-time
  • Receive notifications about delivery status
Orders that already have an orderId and contain all necessary information (merchant and customer) for quotation and driver request.Use cases:
  • Merchant with own fleet needs support during peak hours
  • Temporary shortage of own delivery drivers
  • Operational cost optimization
Orders placed through other channels (phone, WhatsApp, own app) that don't have an orderId. Require additional information for quotation and request.
On DemandFor external orders, use the On Demand service. Learn more at: https://news.ifood.com.br/entrega-facil-o-delivery-do-ifood-fora-do-app/
The service must be subscribed through the Partner Portal (Services menu). Without subscription, it won't be possible to:
  • Register orders
  • Check delivery availability
  • Request delivery drivers
Not all orders are eligible for the service. Criteria include:
  • Business model: Fullservice merchants already have logistics included
  • Order type: Delivery only (not available for pickup)
  • Coverage: Delivery area must be served by partner drivers
Always check order eligibility before requesting a driver to avoid integration errors.
Driver information is sent through the ASSIGN_DRIVER event.Use the GET /tracking endpoint to follow the delivery.

Returned fields

FieldTypeDescription
latitudedecimalCurrent driver latitude (can be null)
longitudedecimalCurrent driver longitude (can be null)
expectedDeliverydatetimeEstimated delivery time (can be null)
pickupEtaStartintegerEstimated time (seconds) until pickup. Negative indicates delay
deliveryEtaEndintegerEstimated time (seconds) until delivery
trackDatedatetimeQuery date/time (can be null)
  • When to use: Only after receiving the ASSIGN_DRIVER event
  • Interval: Query every 30 seconds
  • 404 Error: Wait 30 seconds and try again
  • Rate limit: Respect limits to avoid blocking
Tracking is only available for orders delivered by iFood logistics.
Was this page helpful?
Rate your experience in the new Developer portal: