Skip to content
Proud to collaborate with Microsoft for Startups

ifood.create-item ​

Add one product to a menu category, with its price

Overview ​

PropertyValue
Workflow typeLinear
LibraryApp-ifood
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
organization_uuiduuidYes—Authenticated organization UUID injected by the workflow boundary
connection_uuiduuidYes—Organization-scoped iFood CloudConnection UUID
workflow_run_idstringNo—Engine-stamped parent DAG run id
merchant_refstringYes—Provider merchant reference.
namestringYes—Product name as the customer sees it, e.g. 'X-Bacon'.
price_valuefloatYes—Selling price in BRL, e.g. 45.00.
category_refstringNo—Category to place the item in (from ifood.list-categories).
descriptionstringNo—Product description shown under the name.
price_originalfloatNo—Price before discount — set only for a promotion.
statusstringNoAVAILABLEWhether the item is on sale as soon as it is created.
item_typestringNoDEFAULTDEFAULT for a normal item; PIZZA and COMBO_V2 are special layouts.
servingstringNoNOT_APPLICABLEHow many people the product serves.
indexintegerNo—Position of the item inside its category.
external_codestringNo—The merchant's own code for this product. iFood requires one; a stable code is generated when the merchant has none.
ifood_product_refstringNo—Reuse an existing iFood product instead of creating one. Omit for a new product — the id is generated and the product is created in the same call.
industrializedbooleanNoFalseTrue for a packaged industrial product, false for food the store prepares.
imagestringNo—Product photo as a base64 data URI, e.g. 'data:image/png;base64,<bytes>'. jpg, jpeg or png, up to 5 MB. It is uploaded to iFood in the same run and the resulting path is attached to the product — send this when the merchant hands over a photo. To reuse a photo already on the menu, send image_path instead.
image_pathstringNo—An iFood image path minted by a previous upload (ifood.upload-image or an earlier item). Reuses that photo without sending the bytes again. Ignored when 'image' is supplied.
eanstringNo—Barcode, for industrialized products.
dietary_restrictionslistNo—Dietary tags, e.g. ['VEGETARIAN'] or ['ORGANIC'].

Output Schema ​

FieldTypeRequiredDefaultDescription
organization_uuiduuidYes—Authenticated organization UUID injected by the workflow boundary
connection_uuiduuidYes—Organization-scoped iFood CloudConnection UUID
workflow_run_idstringNo—Engine-stamped parent DAG run id
merchant_refstringYes—Provider merchant reference.
namestringYes—Product name as the customer sees it, e.g. 'X-Bacon'.
price_valuefloatYes—Selling price in BRL, e.g. 45.00.
category_refstringNo—Category to place the item in (from ifood.list-categories).
descriptionstringNo—Product description shown under the name.
price_originalfloatNo—Price before discount — set only for a promotion.
statusstringNoAVAILABLEWhether the item is on sale as soon as it is created.
item_typestringNoDEFAULTDEFAULT for a normal item; PIZZA and COMBO_V2 are special layouts.
servingstringNoNOT_APPLICABLEHow many people the product serves.
indexintegerNo—Position of the item inside its category.
external_codestringNo—The merchant's own code for this product. iFood requires one; a stable code is generated when the merchant has none.
ifood_product_refstringNo—Reuse an existing iFood product instead of creating one. Omit for a new product — the id is generated and the product is created in the same call.
industrializedbooleanNoFalseTrue for a packaged industrial product, false for food the store prepares.
imagestringNo—Product photo as a base64 data URI, e.g. 'data:image/png;base64,<bytes>'. jpg, jpeg or png, up to 5 MB. It is uploaded to iFood in the same run and the resulting path is attached to the product — send this when the merchant hands over a photo. To reuse a photo already on the menu, send image_path instead.
image_pathstringNo—An iFood image path minted by a previous upload (ifood.upload-image or an earlier item). Reuses that photo without sending the bytes again. Ignored when 'image' is supplied.
eanstringNo—Barcode, for industrialized products.
dietary_restrictionslistNo—Dietary tags, e.g. ['VEGETARIAN'] or ['ORGANIC'].
itemjsonYes——
item_bodyjsonNo——
acceptedbooleanYes——
applied_atstringYes——
failure_reasonstringNo——
failure_typestringNo——
failed_actionstringNo——
failed_stepjsonNo——
failed_layerintegerNo——
failed_at_statestringNo——
errorstringNo——
error_typestringNo——
failed_atstringNo——
provider_request_refstringNo——
retryablebooleanNo——

States ​

StateInitialTerminalSuccessAuto-advanceDescription
initiatedYesNo—execute—
executingNoNo—complete—
completedNoYesYes——
failedNoYesNo——

State Diagram ​

Transitions ​

FromActionToDescription
initiatedexecuteexecuting—
executingcompletecompleted—
* (any state)failfailed—

Outcomes ​

OutcomeTypeDescriptionState Data Keys
appliedSUCCESSAdd one product to a menu category, with its priceaccepted
failedFAILUREMutation failedfailure_reason, failure_type

Business Errors ​

CodeMessage Template
IFOOD_ORGANIZATION_CONTEXT_INVALIDAuthenticated organization context is missing or does not match the workflow input
IFOOD_CONNECTION_NOT_FOUNDiFood connection {connection_uuid} was not found in the authenticated organization
IFOOD_CONNECTION_WRONG_PROVIDERConnection {connection_uuid} is not an iFood connection
IFOOD_CONNECTION_SERVICE_UNAVAILABLEThe shared cloud connection service is unavailable
IFOOD_PROVIDER_CAPABILITY_MISSINGThe installed iFood provider does not expose the required API operation
IFOOD_AUTHENTICATION_FAILEDiFood rejected the connection credentials or bearer token
IFOOD_PROVIDER_REQUEST_FAILEDThe iFood API request failed
IFOOD_RESPONSE_SHAPE_INVALIDThe iFood Merchant API returned an invalid merchant record
IFOOD_PAGINATION_INVALIDMerchant page must be at least 1 and limit must be between 1 and 100
IFOOD_SALES_WINDOW_INVALIDSales dates must use YYYY-MM-DD, be ordered, and span no more than 8 inclusive days
IFOOD_SALES_PAGINATION_INVALIDSales page must be a zero-based integer
IFOOD_SALES_RESPONSE_SHAPE_INVALIDThe iFood Financial Sales API returned an invalid response
IFOOD_FINANCIAL_EVENTS_WINDOW_INVALIDFinancial Events dates must use YYYY-MM-DD, be ordered, and span no more than 33 inclusive days
IFOOD_SETTLEMENTS_WINDOW_INVALIDSettlements dates must use YYYY-MM-DD, be ordered, and span no more than 90 inclusive days
IFOOD_FINANCIAL_PAGINATION_INVALIDFinancial page must be one-based and page_size must be between 100 and 300
IFOOD_FINANCIAL_EVENTS_RESPONSE_SHAPE_INVALIDThe iFood Financial Events API returned an invalid response
IFOOD_SETTLEMENTS_RESPONSE_SHAPE_INVALIDThe iFood Settlements API returned an invalid response
IFOOD_DATA_ENVIRONMENT_INVALIDdata_environment must be exactly 'production' or 'homologation'
IFOOD_DATA_ENVIRONMENT_UNSUPPORTEDThe installed iFood provider does not support data_environment; upgrade ltinteg-cloud-connections to request homologation records

API Usage ​

bash
POST /api/workflows/start
Content-Type: application/json

{
  "workflow_type": "ifood.create-item",
  "initial_data": {
    "organization_uuid": "value",
    "connection_uuid": "value",
    "merchant_ref": "value",
    "name": "value"
  }
}