Exclusive module
This module is exclusively for partners operating with marketplace channels and is not available to all developers.
If you are interested in using functions from this API, contact the support team.
Overview
Use the Item API to send and manage products. iFood processes the data based on availability rules before displaying them in the app.
Integration strategy (POST vs PATCH)
WARNING: Use POST only to create items. Incorrect use for updates degrades integration performance.
To optimize performance, use the HTTP methods as described below:POST method (Creation):
Use ONLY to register new items or reactivate inactive items
Do not resend the complete catalog if there are no new products
PATCH method (Update):
Use to update existing items (price, inventory, details)
Send only the fields that have changed
Processing and volumetry limits
To ensure fast data ingestion and avoid processing queues, strictly follow the rule below:Golden rule: Plan the orchestration of shipments to not exceed 25% of the total catalog items in a 35-minute window.Impact: Compliance with this metric is essential to ensure performance stability and agility in data updates.Example: If the catalog has 10,000 items, send a maximum of 2,500 items every 35 minutes.Blocking: The API returns the 429 Too Many Requests status if the limit is exceeded. If you receive this error, wait for the next time window to begin.
barcode: EAN (European Article Number) or internal scale code
name: Product name
Behavior:
null values overwrite existing data
The reset=true parameter deactivates products absent from the payload (destructive action)
Fields not sent will receive default values (null, empty string, 0, etc.)
NOTE: If the active and prices.price fields are not sent, they will receive the default values false and 0, respectively. This will cause the item to not be available in the catalog.
1.1. Reset parameter
When you send reset=true, iFood automatically deactivates all products absent from the payload.
WARNING: This action is destructive.
When to use:
Clean test products from the database
Remove improperly integrated items
Behavior:
If no product is identified for deactivation, the process will not be executed.Payload example:
Product details (categorization, brand, volume, unit, image, description)
prices
object
No
Object containing price and promotionPrice
scalePrices
array
No
Array with tiered pricing rules by quantity
inventory
object
No
Object containing stock (quantity in stock)
multiple
object
No
Object for configuring multiples (iFood Shop exclusive) with originalEan and quantity
channels
array
No
Sales channels: ifood-app, ifood-shop
PATCH Item Integration
Description: Partial update recommended if the product has been sent previously and not all fields require changes. Allows sending only the fields you want to update.cURL example:
Immediate application: Promotions in this module do not use scheduling (start/end dates). The discount takes effect immediately after submission.Update: To change a promotional value, resend the item via PATCH with the new price.Removal: To end a promotion, send the promotional value fields as null.
Validation and impact
Verification: Confirm the discount application in the Catalog section of the Partner Portal.Order module: Received orders will automatically contain the final price with the applied discount (promotional or wholesale price).
'FROM-TO' mechanics
Configure promotional prices by sending the original value and the discounted value.How to configure:
prices.price: Original value ("FROM" price)
prices.promotionPrice: Promotional value ("TO" price)
Rules:
The discount must be greater than 5%
To remove the promotion, send prices.promotionPrice: null
For partners who already integrate their items through the SiteMercado Service API, the migration to the Merchant API brings many similarities that facilitate the integration change.