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

Merchant

Manages stores (merchants) on the iFood platform: restaurants, markets, pharmacies, pet shops, and other establishments.

Store queries

Use GET /merchants to list all stores linked to the access token.Returns: ID, name, and corporate name of stores.
Use GET /merchants/{id} to get details of a specific store.Returns: Name, address, and available operations.

Store status

To appear on the platform, the store must:
  1. Be within opening hours
  2. Have a catalog with at least one menu enabled
  3. Have a delivery area configured
  4. Have no active interruptions
  5. Do polling every 30 seconds
Use the Status API to check if a store can receive orders.
StateColorDescriptionRequired action
OKGreenStore onlineNone
WARNINGYellowOnline with restrictions (e.g., reduced area)None
CLOSEDGrayClosed as expected (outside opening hours)None
ERRORRedClosed unexpectedlyCheck
Always returned validations:
  • is-connected: Polling every 30 seconds
  • opening-hours: Within opening hours
Validations returned in ERROR or WARNING:
ValidationDescription
unavailabilitiesActive interruption
radius-restrictionNo delivery drivers available in the area
payout-blockedFinancial pending issues
logistics-blockedLogistics problems (festivals, traffic)
terms-service-violationTerms of Service violation
status-availabilityStore disabled or in testing
Questions? Open a ticket on the Partner Portal.
Applied when the store violates the Terms of Service.Automatic: Do not allow immediate reopening (e.g., many cancellations in a short time). It is necessary to wait for the end of the penalty.Manual: Can be removed by the store (e.g., interruptions created by the store itself).The reopenable object indicates if reopening is possible:
FieldDescription
reopenabletrue or false
typeType of closure (e.g., UNAVAILABILITY)
identifierID for reopening (when applicable)
Response example:
{
  "reopenable": {
    "identifier": "cca57aab-5ac0-4af4-a04d-48261350bebc",
    "type": "UNAVAILABILITY",
    "reopenable": true
  }
}
When reopenable: true, use the Interruptions API to remove the pause.When reopenable: false, check the message field in the Status API for more details.

Interruptions

Temporarily close a store to stop receiving orders.
Use GET /interruptions to list active and future interruptions.
Use POST /interruptions to create an interruption.Date format: ISO 8601Response: Object with ID, description, start, and end in extended ISO 8601 format.
Time zoneInterruptions follow the store's time zone. The timezone sent in the payload will be discarded.
Interruption processingThe closure may take a few seconds to be effective. Continue polling for a few minutes to avoid losing orders placed during this interval.
Use DELETE /interruptions/{id} with the merchant and interruption ID.

Opening hours

Configure store opening hours via Opening Hours API.
API scopeThis API manages only the standard iFood Marketplace hours. For new businesses or digital catalogs, use the Partner Portal.
Use GET /opening-hours to query configured hours.
Use PUT /opening-hours to set hours.
Temporary closuresFor temporary actions, use the Interruptions API instead of changing opening hours.
Bulk change behaviorThis endpoint replaces all hours. Understand the impact:
  • Days not sent: Will be removed (store closed on those days)
  • Example: Sending only Monday removes hours for all other days
  • Multiple hours: Allowed on the same day, but cannot overlap
  • Valid interval: 00:00 to 23:59
  • Windows until 23:59: System automatically adds 59 seconds to avoid 1-minute gap between days
Partner Portal view:Corresponding payload:
{
  "storeId": "09e9a8c8-fda3-4991-acfc-43b15397caf6",
  "shifts": [
    {
      "dayOfWeek": "MONDAY",
      "start": "09:00:00",
      "duration": 360
    },
    {
      "dayOfWeek": "TUESDAY",
      "start": "09:00:00",
      "duration": 360
    },
    {
      "dayOfWeek": "WEDNESDAY",
      "start": "09:00:00",
      "duration": 360
    },
    {
      "dayOfWeek": "THURSDAY",
      "start": "09:00:00",
      "duration": 360
    },
    {
      "dayOfWeek": "FRIDAY",
      "start": "05:00:00",
      "duration": 420
    },
    {
      "dayOfWeek": "FRIDAY",
      "start": "13:00:00",
      "duration": 300
    },
    {
      "dayOfWeek": "FRIDAY",
      "start": "19:00:00",
      "duration": 210
    }
  ]
}

Driver check-in

Drivers check in via QR code to collect orders.
Use POST /merchants/checkin-qrcode to generate PDF with QR code.Limits:
  • Maximum: 20 stores per request
  • All stores must be linked to the access token
Result: PDF file ready for printing.
AvailabilityFeature available only for Groceries type stores.
Was this page helpful?
Rate your experience in the new Developer portal: