
Refer to Foodpanda – How to create a connection.
1 – Foodpanda Methods Copy Link
What your automation will do…

Methods List and Settings Copy Link
MANAGE STORE Copy Link
Get Store Status Copy Link
note: A 204 response indicates that the system is processing your request. The result is not yet determined, and you must retry to obtain the final status.
See Foodpanda Get Available Status API reference.
Configuration Table:
Input Options:
- Input: Allows dynamic inputs, e.g., from a Trigger or from Step responses. Input tab>uncheck “Show recommended” to see all fields).
- Default Value: You can specify a fixed attribute.
Name* | Get Store Status |
Connection* | Select your connection or create one. |
MATCHING CRITERIA
Chain Code*
This field uniquely identifies restaurant POS groups within the Middleware, preventing ID conflicts between different POS systems using the same chainVendorId
. Its value is established during onboarding with Delivery Hero Ops team.
POS Vendor ID*
This field, also known as remoteId
, uniquely identifies a restaurant for the POS plugin when paired with chainCode
. The chainCode
is a plugin-embedded value, configured during onboarding with Delivery Hero Ops team.
(*) required field
Response sample
[
{
"availabilityState": "UNKNOWN",
"availabilityStates": [
"CLOSED_UNTIL",
"CLOSED",
"OPEN"
],
"changeable": false,
"closedReason": "OTHER",
"closingMinutes": [
240,
720,
120,
60,
30
],
"closingReasons": [
"TOO_BUSY_KITCHEN",
"CLOSED",
"TOO_BUSY_NO_DRIVERS",
"TECHNICAL_PROBLEM",
"UPDATES_IN_MENU",
"OTHER"
],
"platformId": "12",
"platformKey": "TB",
"platformRestaurantId": "123456789",
"platformType": "TALABAT"
},
{
"availabilityState": "OPEN",
"availabilityStates": [
"CLOSED_UNTIL",
"OPEN"
],
"changeable": true,
"closingMinutes": [
120,
60,
30
],
"closingReasons": [
"OTHER"
],
"platformId": "36",
"platformKey": "FO_DE",
"platformRestaurantId": "kg6y",
"platformType": "FOODORA"
},
{
"availabilityState": "OPEN",
"availabilityStates": [
"CLOSED_UNTIL",
"CLOSED_TODAY",
"OPEN"
],
"changeable": true,
"closingMinutes": [
120,
60,
30
],
"closingReasons": [
"TOO_BUSY_KITCHEN",
"CLOSED",
"TOO_BUSY_NO_DRIVERS",
"TECHNICAL_PROBLEM",
"UPDATES_IN_MENU",
"OTHER"
],
"platformId": "1",
"platformKey": "LH_DE",
"platformRestaurantId": "40788",
"platformType": "DELIVERY_HERO"
}
]
Update Store Status Copy Link
Note: It should first be checked which kind of availability changes are allowed by using Get Store Status and verifying that the
changeable
property is true otherwise the request will be unsuccessful.See Foodpanda Update Availability Status API reference.
Configuration Table:
Input Options:
- Input: Allows dynamic inputs, e.g., from a Trigger or from Step responses. Input tab>uncheck “Show recommended” to see all fields).
- Default Value: You can specify a fixed attribute.
Name* | Update Store Status |
Connection* | Select your connection or create one. |
MAP FIELDS [+ Add Field] ↓
Additional fields to configure the store status update.
Closed Reason
Specify the reason for closing, possible choices:
Closed – Update i n Menu – Holiday Special Day – Technical Problem – Refurbishment – Too Busy No Drivers – Bad Weather – Other.
Close Minutes
How long should a restaurant remains closed before opening again, e.g. 60
. Works only with CLOSED_UNTIL
availabilityState.
Chain Code*
This field uniquely identifies restaurant POS groups within the Middleware, preventing ID conflicts between different POS systems using the same chainVendorId
. Its value is established during onboarding with Delivery Hero Ops team.
POS Vendor ID*
This field, also known as remoteId
, uniquely identifies a restaurant for the POS plugin when paired with chainCode
. The chainCode
is a plugin-embedded value, configured during onboarding with Delivery Hero Ops team.
Availability State*
Possible states: Close – Close Until – Closed Today – Open
Platform Key*
Retrieve the Key from the Method Get Store Status. E.g. "platformKey": "TB"
.
Platform Restaurant ID*
Retrieve the ID from the Method Get Store Status. E.g. "platformRestaurantId": "123456789"
.
(*) required field
Response sample
[
{
"availabilityState": "UNKNOWN",
"availabilityStates": [
"CLOSED_UNTIL",
"CLOSED",
"OPEN"
],
"changeable": false,
"closedReason": "OTHER",
"closingMinutes": [
240,
720,
120,
60,
30
],
"closingReasons": [
"TOO_BUSY_KITCHEN",
"CLOSED",
"TOO_BUSY_NO_DRIVERS",
"TECHNICAL_PROBLEM",
"UPDATES_IN_MENU",
"OTHER"
],
"platformId": "12",
"platformKey": "TB",
"platformRestaurantId": "123456789",
"platformType": "TALABAT"
},
{
"availabilityState": "OPEN",
"availabilityStates": [
"CLOSED_UNTIL",
"OPEN"
],
"changeable": true,
"closingMinutes": [
120,
60,
30
],
"closingReasons": [
"OTHER"
],
"platformId": "36",
"platformKey": "FO_DE",
"platformRestaurantId": "kg6y",
"platformType": "FOODORA"
},
{
"availabilityState": "OPEN",
"availabilityStates": [
"CLOSED_UNTIL",
"CLOSED_TODAY",
"OPEN"
],
"changeable": true,
"closingMinutes": [
120,
60,
30
],
"closingReasons": [
"TOO_BUSY_KITCHEN",
"CLOSED",
"TOO_BUSY_NO_DRIVERS",
"TECHNICAL_PROBLEM",
"UPDATES_IN_MENU",
"OTHER"
],
"platformId": "1",
"platformKey": "LH_DE",
"platformRestaurantId": "40788",
"platformType": "DELIVERY_HERO"
}
]
MANAGE MENU Copy Link
Create Menu Copy Link
See Foodpanda Submit a Catalogue API reference.
Configuration Table:
Input Options:
- Input: Allows dynamic inputs, e.g., from a Trigger or from Step responses. Input tab>uncheck “Show recommended” to see all fields).
- Default Value: You can specify a fixed attribute.
Name* | Create Menu |
Connection* | Select your connection or create one. |
MATCHING CRITERIA [+ Add Field] ↓
Additional fields to configure the Create Menu Method.
Call Back URL
Callback to received status updates for the catalog import.
Chain Code*:
This field uniquely identifies restaurant POS groups within the Middleware, preventing ID conflicts between different POS systems using the same chainVendorId
. Its value is established during onboarding with Delivery Hero Ops team.
Vendors*:
Array of POS Vendor Ids
Additional Vendors can be added as elements.
[⊕ Element][⊕ Map] ↓
(Add a repeating group of fields or Map it from an array. See Field Mapping).
Element 1: Represents the first Vendors ID.
Vendors*:
Unique identifier of an item in the entry vendor catalog. An identifier must be unique across the vendor catalog and consistent over time.
Catalogue*
The main entry for a Vendor Catalog.
↳ Items*
Collection of all Catalogue items, with the unique item identifier as key.
[+ Add Field] Add needed Items to your Catalogue
Additional Menus can be added as elements.
[⊕ Element][⊕ Map] (Add a repeating group of fields or Map it from an array. See Field Mapping).
Element 1: Represents the first Menu.
Title*:
Default*: default title that will be present regardless of localisation requirements.
[+ Add Field] Optional fields ↓
Khmer:
Title in Khmer
English:
Title in English
Chinese:
Title in Chinese
ID*:
Unique identifier of an item in the entry vendor catalog. An identifier must be unique across the vendor catalog and consistent over time.
Type*:
The item type, possible choices:
Menu – Product – Category – Topping – Image – Schedule Entry
Menu Type*:
The type of the menu, possible choices:
DELIVERY – DINE IN – PICK UP
Products*:
Collections of Products References, that should be part of the menu with the unique product identifier as key.
Additional Products can be added as elements.
[⊕ Element][⊕ Map] ↓
(Add a repeating group of fields or Map it from an array. See Field Mapping)
Element 1: Represents the first Product.
ID*:
Unique identifier of an item in the entry vendor catalog. An identifier must be unique across the vendor catalog and consistent over time.
Type*:
The item type, possible choices:
Menu – Product – Category – Topping – Image – Schedule Entry
[+ Add Field] Optional fields ↓
Order:
Default: 65536
For the visual ordering, respecting the following rules:
- If there are is no order property defined for an item, the value of the order property will be set to the maximum
- If there are 2 items the one with the lesser value for the order will appear first.
- If there are 2 items with the same order value, it is not defined which one should appear first. The platform can freely choose the order but we recommend presenting it in a consistent way, e. g. sorting it by name/order by id
- The values don’t need to be strictly incremental e.g 2 -> 5 -> 500 will be a valid order.
[+ Add Field] Optional fields ↓
Description:
Description of the Menu.
Default*: default description that will be present regardless of localisation requirements.
[+ Add Field] Optional fields ↓
Khmer:
Description in Khmer
English:
Description in English
Chinese:
Description in Chinese
Images:
Collections of image references that belongs to the item. Key should be the image identifier.
Additional images can be added as elements.
[⊕ Element][⊕ Map] ↓
(Add a repeating group of fields or Map it from an array. See Field Mapping).
Element 1: Represents the first image.
ID*:
Unique identifier of an item in the entry vendor catalog. An identifier must be unique across the vendor catalog and consistent over time.
Type*:
The item type, possible choices
Menu – Product – Category – Topping – Image – Schedule Entry
[+ Add Field] Optional fields ↓
Order:
Default: 65536
For the visual ordering, respecting the following rules:
- If there are is no order property defined for an item, the value of the order property will be set to the maximum
- If there are 2 items the one with the lesser value for the order will appear first.
- If there are 2 items with the same order value, it is not defined which one should appear first. The platform can freely choose the order but we recommend presenting it in a consistent way, e. g. sorting it by name/order by id
- The values don’t need to be strictly incremental e.g 2 -> 5 -> 500 will be a valid order.
Order:
Default: 65536
For the visual ordering, respecting the following rules:
- If there are is no order property defined for an item, the value of the order property will be set to the maximum
- If there are 2 items the one with the lesser value for the order will appear first.
- If there are 2 items with the same order value, it is not defined which one should appear first. The platform can freely choose the order but we recommend presenting it in a consistent way, e. g. sorting it by name/order by id
- The values don’t need to be strictly incremental e.g 2 -> 5 -> 500 will be a valid order.
Tag:
Tags are essential for adding supplemental metadata to catalog items. Tags provide hints, analysis, and legal data. Detailed tags are recommended for user, analytic, and compliance benefits. See namespace details.
Occasion Type: The occasion type tag is utilized exclusively by Pandora Platforms – its main purpose is to highlight menus for special occasions. At the moment, this tag is specifically used to mark menus intended for the ‘meal for one’ context.
Possible Value: “MEAL_FOR_ONE”
Refer to Pandara Meal for One Menu.
Schedule:
Collection of schedule entries references that describes the schedule. With the unique schedule entry identifier as key.
Additional schedules can be added as elements.
[⊕ Element][⊕ Map] ↓
(Add a repeating group of fields or Map it from an array. See Field Mapping).
Element 1: Represents the first Schedule.
ID*:
Unique identifier of an item in the entry vendor catalog. An identifier must be unique across the vendor catalog and consistent over time.
Type*:
The item type, possible choices:
Menu – Product – Category – Topping – Image – Schedule Entry
Order*:
Default: 65536
For the visual ordering, respecting the following rules:
- If there are is no order property defined for an item, the value of the order property will be set to the maximum
- If there are 2 items the one with the lesser value for the order will appear first.
- If there are 2 items with the same order value, it is not defined which one should appear first. The platform can freely choose the order but we recommend presenting it in a consistent way, e. g. sorting it by name/order by id
- The values don’t need to be strictly incremental e.g 2 -> 5 -> 500 will be a valid order.
Additional Products can be added as elements.
[⊕ Element][⊕ Map] (Add a repeating group of fields or Map it from an array. See Field Mapping).
Element 1: Represents the first Product.
Title*:
Default*: default title that will be present regardless of localisation requirements.
[+ Add Field] Optional fields ↓
Khmer:
Title in Khmer
English:
Title in English
Chinese:
Title in Chinese
ID*:
Unique identifier of an item in the entry vendor catalog. An identifier must be unique across the vendor catalog and consistent over time.
Type*:
The item type, possible choices:
Menu – Product – Category – Topping – Image – Schedule Entry
[+ Add Field] More fields from Product ↓
Description:
Default*: default description that will be present regardless of localisation requirements.
[+ Add Field] Optional fields ↓
Khmer:
Product description in Khmer
English:
Product description in English
Chinese:
Product description in Chinese
Images:
Collections of image references that belongs to the item. Key should be the image identifier.
Additional images can be added as elements.
[⊕ Element][⊕ Map] ↓
(Add a repeating group of fields or Map it from an array. See Field Mapping).
Element 1: Represents the first image.
ID*:
Unique identifier of an item in the entry vendor catalog. An identifier must be unique across the vendor catalog and consistent over time.
Type*:
The item type, possible choices:
Menu – Product – Category – Topping – Image – ScheduleEntry
[+ Add Field] Optional fields ↓
Order:
Default: 65536
For the visual ordering, respecting the following rules:
- If there are is no order property defined for an item, the value of the order property will be set to the maximum
- If there are 2 items the one with the lesser value for the order will appear first.
- If there are 2 items with the same order value, it is not defined which one should appear first. The platform can freely choose the order but we recommend presenting it in a consistent way, e. g. sorting it by name/order by id
- The values don’t need to be strictly incremental e.g 2 -> 5 -> 500 will be a valid order.
Tag:
Tags are essential for adding supplemental metadata to catalog items.
Tags provide hints, analysis, and legal data. Detailed tags are recommended for user, analytic, and compliance benefits. See namespace details.
There are specific regulations in many countries for products containing certain substances like alcohol or tobacco to check there id card before handing over to the customer.
To comply, vendors that are selling such products that are requiring an id card check, must provide the ID_CHECK_18 tag on the product inside of the catalog. Please note, for products that have a different age restriction, like not selling it to person under 16, should be marked with the ID_CHECK_18.
Restaurants that sell such items need to appropriately mark these products to avoid legal complications.
[+ Add Field] More fields ↓
Age Restricted Item:
ID_CHECK_18
Allergens:
The list of allergens associated with this product, possible choices:
“MILK_OR_LACTOSE” “EGG” “PEANUT” “TREE_NUTS” “CRUSTACEANS” “FISH” “GLUTEN” “SOYA” “SESAME_SEEDS” “CELERY” “MUSTARD” “SULFITES” “LUPINS” “MOLLUSKS”
This API property is experimental for food labeling and may be modified.
Nutrition Facts:
Title in Nutrition facts (e.g., amount of calories, amount of fat, sugar, etc.). All amounts under nutrition facts are per 100g/100ml of the option.
This API property is experimental for food labeling and may be modified.
[+ Add Field] More fields ↓
Energy in Kcal
Amount of energy (value in kcal)
Fat
Nutrition facts for fat content
Total in Grams*: Total amount of fats.
[+ Add Field] More fields ↓
Saturated in Grams: Amount of saturated fat.
Trans in Grams: Amount of trans fat.
Cholesterol in Grams
Amount of cholesterol
Carbohydrate
Nutrition facts for carbohydrate content
Total in Grams*:Total amount of carbohydrates
[+ Add Field] More fields ↓
Dietary Fiber in Grams: Total amount of dietary fibers.
Polyols in Grams: Total amount of polyols.
Sugar ↓
Total in Grams*: Amount of sugar.
[+ Add Field] ↓
Added in Grams: Total amount of added sugar.
Protein in Grams
Amount of protein
Sodium in Grams
Amount of sodium
Salt in Grams
Amount of salt
Alcohol Percentage:
Percentage of the alcohol.
This API property is experimental for food labeling and may be modified.
Preparation And Storage Instructions:
Preparation and storage instructions in different locales.
This API property is experimental for food labeling and may be modified.
[+ Add Field] More fields ↓
Default:
Instructions content regardless of the localisation.
Khmer:
Instructions in Khmer
English:
Instructions in English
Chinese:
Instructions in Chinese
Manufacturer Information:
Manufacturer Information e.g name, address, place of origin, of manufacturer in different locales
This API property is experimental for food labeling and may be modified.
[+ Add Field] More fields ↓
Default:
Information content regardless of the localisation.
Khmer:
Information in Khmer
English:
Information in English
Chinese:
Information in Chinese
Ingredients:
Item ingredients in different locales.
Ingredients should be listed in descending order of quantity. Ingredients which can be allergens should be input in CAPITAL LETTERS.
This API property is experimental for food labeling and may be modified.
[+ Add Field] More fields ↓
Default:
Ingredient content regardless of the localisation.
Khmer:
Ingredient in Khmer
English:
Ingredient in English
Chinese:
Ingredient in Chinese
Additives:
Item additives in different locales.
This API property is experimental for food labeling and may be modified.
[+ Add Field] More fields ↓
Default:
Ingredient content regardless of the localisation.
Khmer:
Ingredient in Khmer
English:
Ingredient in English
Chinese:
Ingredient in Chinese
Warnings:
Additional product warnings in different locales, e.g Lollipops are a potential choking hazard. Not suitable for children under 36 months
This API property is experimental for food labeling and may be modified.
[+ Add Field] More fields ↓
Default:
Warnings content regardless of the localisation.
Khmer:
Warnings in Khmer
English:
Warnings in English
Chinese:
Warnings in Chinese
Dietary:
Dietary preferences.
This API property is experimental for food labeling and may be modified.
Additional Dietaries can be added as elements.
[⊕ Element][⊕ Map] ↓
(Add a repeating group of fields or Map it from an array. See Field Mapping).
Element 1: Represents the first Dietary.
Dietary*:
Possible choices: “VEGETARIAN” “VEGAN” “GLUTEN_FREE” “LACTOSE_FREE” “HALAL” “KOSHER” “HEALTHY”
Net Amount:
Weight/volume of the product item.
Unit*: The unit of the net amount (weight/volume). Possible choice:
- “Gram“: to use for non liquids
- “Milliliter“: to use for liquids
- “Unit“: to use for servings, slices, portions, pieces, cups, etc.
Value*: The amount in the given unit.
This API property is experimental for food labeling and may be modified.
Parent:
Reference to its parent product.
ID*: Unique identifier of an item in the entry vendor catalog. An identifier must be unique across the vendor catalog and consistent over time.
Type*: The item type, possible choices:
Menu – Product – Category – Topping – Image – Schedule Entry
Active:
Default: true
Enables or disables a product.
Is Prepacked Item:
Default: false
Signals that the product is a prepacked item.
Is Express Item:
Default: false
Signals that the product is an express item.
Exclude Dish Information:
Default: false
Signals that no dish informations should be shown on UI.
Calories:
Default: null
Amount of calories for the product
Container Price:
Default: null
Customers may see this charge at checkout, representing the price of the product’s packaging (container or envelope).
Price:
Default: null
Price of the product itself.
Variants:
Default: null
A specialization of a Product
to be able to define certain combination of characteristics for the Product itself (i.e. different product sizes or base sauce), Variant
might have its own price, title and description. if not present the product has no variant.
ID*:
Unique identifier of an item in the entry vendor catalog. An identifier must be unique across the vendor catalog and consistent over time.
Type*:
The item type, possible choices
Menu – Product – Category – Topping – Image – Schedule Entry
[+ Add Field] Optional fields ↓
Order:
Default: 65536
For the visual ordering, respecting the following rules:
- If there are is no order property defined for an item, the value of the order property will be set to the maximum
- If there are 2 items the one with the lesser value for the order will appear first.
- If there are 2 items with the same order value, it is not defined which one should appear first. The platform can freely choose the order but we recommend presenting it in a consistent way, e. g. sorting it by name/order by id
- The values don’t need to be strictly incremental e.g 2 -> 5 -> 500 will be a valid order.
Toppings:
Default: null
A collection of choices based on Product
addons that a Product
can be composed of. For that it also defines a minimum and maximum number of Product
that needs to be selected. Products
are added by reference.
ID*:
Unique identifier of an item in the entry vendor catalog. An identifier must be unique across the vendor catalog and consistent over time.
Type*:
The item type, possible choices
Menu – Product – Category – Topping – Image – Schedule Entry
[+ Add Field] Optional fields ↓
Order:
Default: 65536
For the visual ordering, respecting the following rules:
- If there are is no order property defined for an item, the value of the order property will be set to the maximum
- If there are 2 items the one with the lesser value for the order will appear first.
- If there are 2 items with the same order value, it is not defined which one should appear first. The platform can freely choose the order but we recommend presenting it in a consistent way, e. g. sorting it by name/order by id
- The values don’t need to be strictly incremental e.g 2 -> 5 -> 500 will be a valid order.
Is Pandora Bundle:
Default: false
Marks a product as a bundle. Only used by platforms that uses the pandora backend. For a detailed use of bundles see the implementation section.
Pandora Partner ID:
Used in conjunction with bundles, where some products of a bundle sponsored by a partner e. g. coca cola is sponsoring the drinks. Only used by platforms that uses the pandora backend
Additional Toppings can be added as elements.
[⊕ Element][⊕ Map] (Add a repeating group of fields or Map it from an array. See Field Mapping).
Element 1: Represents the first Topping.
Title*:
Default*: default title that will be present regardless of localisation requirements.
[+ Add Field] Optional fields ↓
Khmer:
Title in Khmer
English:
Title in English
Chinese:
Title in Chinese
ID*:
Unique identifier of an item in the entry vendor catalog. An identifier must be unique across the vendor catalog and consistent over time.
Type*:
The item type, possible choices:
Menu – Product – Category – Topping – Image – Schedule Entry
Quantity*:
Maximum*: Maximum quantity
[+ Add Field] Optional fields ↓
Minimum:
Minimum quantity
[+ Add Field] More fields ↓
Description:
Default*: default description that will be present regardless of localisation requirements.
[+ Add Field] Optional fields ↓
Khmer:
Topping description in Khmer
English:
Topping description in English
Chinese:
Topping description in Chinese
Images:
Collections of image references that belongs to the item. Key should be the image identifier.
Additional images can be added as elements.
[⊕ Element][⊕ Map] ↓
(Add a repeating group of fields or Map it from an array. See Field Mapping).
Element 1: Represents the first image.
ID*:
Unique identifier of an item in the entry vendor catalog. An identifier must be unique across the vendor catalog and consistent over time.
Type*:
The item type, possible choices
Menu – Product – Category – Topping – Image – Schedule Entry
[+ Add Field] Optional fields ↓
Order:
Default: 65536
For the visual ordering, respecting the following rules:
- If there are is no order property defined for an item, the value of the order property will be set to the maximum
- If there are 2 items the one with the lesser value for the order will appear first.
- If there are 2 items with the same order value, it is not defined which one should appear first. The platform can freely choose the order but we recommend presenting it in a consistent way, e. g. sorting it by name/order by id
- The values don’t need to be strictly incremental e.g 2 -> 5 -> 500 will be a valid order.
Order:
Default: 65536
For the visual ordering, respecting the following rules:
- If there are is no order property defined for an item, the value of the order property will be set to the maximum
- If there are 2 items the one with the lesser value for the order will appear first.
- If there are 2 items with the same order value, it is not defined which one should appear first. The platform can freely choose the order but we recommend presenting it in a consistent way, e. g. sorting it by name/order by id
- The values don’t need to be strictly incremental e.g 2 -> 5 -> 500 will be a valid order.
Products*:
Collections of Products References, that should be part of the menu With the unique product identifier as key.
Additional Products can be added as elements.
[⊕ Element][⊕ Map] ↓
(Add a repeating group of fields or Map it from an array. See Field Mapping).
Element 1: Represents the first Product.
ID*:
Unique identifier of an item in the entry vendor catalog. An identifier must be unique across the vendor catalog and consistent over time.
Type*:
The item type, possible choices:
Menu – Product – Category – Topping – Image – ScheduleEntry
[+ Add Field] Optional fields ↓
Order:
Default: 65536
For the visual ordering, respecting the following rules:
- If there are is no order property defined for an item, the value of the order property will be set to the maximum
- If there are 2 items the one with the lesser value for the order will appear first.
- If there are 2 items with the same order value, it is not defined which one should appear first. The platform can freely choose the order but we recommend presenting it in a consistent way, e. g. sorting it by name/order by id
- The values don’t need to be strictly incremental e.g 2 -> 5 -> 500 will be a valid order.
Price:
Price when customer selected this option.
Ignored when topping Type=PANDORA_PRODUCT_GROUP
Surchages:
Allows to over write variant prices independent from the variant definitions for “PANDORA_PRODUCT_GROUP”. If no overwrite for the variant price is defined here it will take the price from the variant.
Additional surcharges can be added as elements.
[⊕ Element][⊕ Map]
(Add a repeating grop of fields or Map it from an array. See Field Mapping).
Element 1: Represents the first surcharge.
ID*:
Unique identifier of an item in the entry vendor catalog. An identifier must be unique across the vendor catalog and consistent over time.
Type*:
The item type, possible choices:
Menu – Product – Category – Topping – Image – ScheduleEntry
[+ Add Field] Optional fields
Order:
Default: 65536
For the visual ordering, respecting the following rules:
- If there are is no order property defined for an item, the value of the order property will be set to the maximum
- If there are 2 items the one with the lesser value for the order will appear first.
- If there are 2 items with the same order value, it is not defined which one should appear first. The platform can freely choose the order but we recommend presenting it in a consistent way, e. g. sorting it by name/order by id
- The values don’t need to be strictly incremental e.g 2 -> 5 -> 500 will be a valid order.
Price:
Overwrite for the variant price.
Topping Type:
Default: “PRODUCT OPTION”
Field that controls the handling of toppings to support pandora bundles.
Possible choices: “PANDORA PRODUCT GROUP” “PRODUCT OPTION”
Additional Categories can be added as elements.
[⊕ Element][⊕ Map] (Add a repeating group of fields or Map it from an array. See Field Mapping).
Element 1: Represents the first Category.
Title*:
Default*: default Category name that will be present regardless of localisation requirements.
[+ Add Field] Optional fields ↓
Khmer:
Category in Khmer
English:
Category in English
Chinese:
Category in Chinese
ID*:
Unique identifier of an item in the entry vendor catalog. An identifier must be unique across the vendor catalog and consistent over time.
Type*:
The item type, possible choices:
Menu – Product – Category – Topping – Image – Schedule Entry
Products*:
Collections of Products References, that should be part of the menu With the unique product identifier as key.
Additional Products can be added as elements.
[⊕ Element][⊕ Map] ↓
(Add a repeating grop of fields or Map it from an array. See Field Mapping).
Element 1: Represents the first Product.
ID*:
Unique identifier of an item in the entry vendor catalog. An identifier must be unique across the vendor catalog and consistent over time.
Type*:
The item type, possible choices:
Menu – Product – Category – Topping – Image – Schedule Entry
[+ Add Field] Optional fields
Order:
Default: 65536
For the visual ordering, respecting the following rules:
- If there are is no order property defined for an item, the value of the order property will be set to the maximum
- If there are 2 items the one with the lesser value for the order will appear first.
- If there are 2 items with the same order value, it is not defined which one should appear first. The platform can freely choose the order but we recommend presenting it in a consistent way, e. g. sorting it by name/order by id
- The values don’t need to be strictly incremental e.g 2 -> 5 -> 500 will be a valid order.
[+ Add Field] More fields ↓
Description:
Default*: default Category description that will be present regardless of localisation requirements.
[+ Add Field] Optional fields ↓
Khmer:
Category description in Khmer
English:
Category description in English
Chinese:
Category description in Chinese
Images:
Collections of image references that belongs to the item. Key should be the image identifier.
Additional images can be added as elements.
[⊕ Element][⊕ Map] ↓
(Add a repeating grop of fields or Map it from an array. See Field Mapping).
Element 1: Represents the first image.
ID*:
Unique identifier of an item in the entry vendor catalog. An identifier must be unique across the vendor catalog and consistent over time.
Type*:
The item type, possible choices
Menu – Product – Category – Topping – Image – Schedule Entry
[+ Add Field] Optional fields ↓
Order:
Default: 65536
For the visual ordering, respecting the following rules:
- If there are is no order property defined for an item, the value of the order property will be set to the maximum
- If there are 2 items the one with the lesser value for the order will appear first.
- If there are 2 items with the same order value, it is not defined which one should appear first. The platform can freely choose the order but we recommend presenting it in a consistent way, e. g. sorting it by name/order by id
- The values don’t need to be strictly incremental e.g 2 -> 5 -> 500 will be a valid order.
Order:
Default: 65536
For the visual ordering, respecting the following rules:
- If there are is no order property defined for an item, the value of the order property will be set to the maximum
- If there are 2 items the one with the lesser value for the order will appear first.
- If there are 2 items with the same order value, it is not defined which one should appear first. The platform can freely choose the order but we recommend presenting it in a consistent way, e. g. sorting it by name/order by id
- The values don’t need to be strictly incremental e.g 2 -> 5 -> 500 will be a valid order.
Tag:
Tags are essential for adding supplemental metadata to catalog items.
Tags provide hints, analysis, and legal data. Detailed tags are recommended for user, analytic, and compliance benefits. See namespace details.
[+ Add Field] More fields ↓
Master Category
Provides extra meta information about all products inside of a category. Is crucial for Pandora (Foodpanda, Foodora, MJAM, ….) delivery platforms as it aids customer decisions and enhances analytical work. Even if unused by other platforms, integrators are encouraged to provide this information for better service on Pandora platforms. Key roles of this data include hint provision, in-depth analysis, and crucially, it supports Pandora’s improved operation.
Possible choices:
- TIME BOUND CATEGORY
- STARTERS
- SMALL MAINS
- BIG MAINS
- SIDE DISHES AND ADD ONS
- SUGGESTIVE AND MIXED CATEGORY
- PLATES AND BOXES
- PRE SET DEALS
- DESSERTS
- PRE PACKAGED FOOD
- DRINKS NON ALCOHOLICS
- DRINKS ALCOHOLICS
- NON FOOD
- TOPPINGS
- GROCERIES
- KIDS
Additional Images can be added as elements.
[⊕ Element][⊕ Map] (Add a repeating group of fields or Map it from an array. See Field Mapping).
Element 1: Represents the first Image.
ID*:
Unique identifier of an item in the entry vendor catalog. An identifier must be unique across the vendor catalog and consistent over time.
Type*:
The item type, possible choices:
Menu – Product – Category – Topping – Image – Schedule Entry
URL*:
Image URL
[+ Add Field] Optional fields↓
ALT:
Default*: default ALT text that will be present regardless of localisation requirements.
Additional Schedule Entries can be added as elements.
[⊕ Element][⊕ Map] (Add a repeating group of fields or Map it from an array. See Field Mapping).
Element 1: Represents the first Schedule Entry.
ID*:
Unique identifier of an item in the entry vendor catalog. An identifier must be unique across the vendor catalog and consistent over time.
Type*:
The item type, possible choices:
Menu – Product – Category – Topping – Image – Schedule Entry
Start Time*:
Start time of the menu.
End Time*:
End time of the menu.
[+ Add Field] Optional fields↓
Start Date:
Default: null
The start date.
End Date:
Default: null
The end date.
Week Days:
The weekdays.
possible choices:
“MONDAY” “TUESDAY” “WEDNESDAY” “THURSDAY” “FRIDAY” “SATURDAY” “SUNDAY”
(*) required field
Request samples
{
"callbackUrl": "https://example.com/callback",
"catalog": {
"items": {
"MENU_ONE": {
"id": "MENU_ONE",
"type": "Menu",
"menuType": "DELIVERY",
"title": {
"default": "A Menu Example"
},
"images": {
"IMAGE_ONE": {
"id": "IMAGE_ONE",
"order": 1,
"type": "Image"
}
},
"products": {
"PRODUCT_ONE": {
"id": "PRODUCT_ONE",
"order": 1,
"type": "Product"
}
},
"schedule": {
"SCHEDULE_ONE": {
"id": "SCHEDULE_ONE",
"type": "ScheduleEntry"
}
}
},
"PRODUCT_ONE": {
"id": "PRODUCT_ONE",
"type": "Product",
"title": {
"default": "A product example"
},
"images": {
"IMAGE_ONE": {
"id": "IMAGE_ONE",
"type": "Image"
}
},
"active": true,
"isPrepackedItem": true,
"isExpressItem": false,
"excludeDishInformation": true,
"containerPrice": "0.50",
"calories": 150,
"price": "22.50",
"toppings": {
"TOPPING_ONE": {
"id": "TOPPING_ONE",
"type": "Topping"
}
}
},
"TOPPING_ONE": {
"id": "TOPPING_ONE",
"type": "Topping",
"title": {
"default": "A topping example"
},
"images": {
"IMAGE_ONE": {
"id": "IMAGE_ONE",
"type": "Image"
}
},
"quantity": {
"minimum": 1,
"maximum": 2
},
"products": {
"TOPPING_PRODUCT_ONE": {
"id": "TOPPING_PRODUCT_ONE",
"type": "Product"
},
"TOPPING_PRODUCT_TWO": {
"id": "TOPPING_PRODUCT_TWO",
"type": "Product"
}
}
},
"TOPPING_PRODUCT_ONE": {
"id": "TOPPING_PRODUCT_ONE",
"type": "Product",
"title": {
"default": "A product used as an topping example"
}
},
"TOPPING_PRODUCT_TWO": {
"id": "TOPPING_PRODUCT_TWO",
"type": "Product",
"title": {
"default": "An other product used as a topping"
}
},
"CATEGORY_ONE": {
"id": "CATEGORY_ONE",
"type": "Category",
"title": {
"default": "An example Category"
},
"images": {
"IMAGE_ONE": {
"id": "IMAGE_ONE",
"type": "Image"
}
},
"products": {
"PRODUCT_ONE": {
"id": "PRODUCT_ONE",
"type": "Product"
},
"TOPPING_PRODUCT_ONE": {
"id": "TOPPING_PRODUCT_ONE",
"type": "Product"
},
"TOPPING_PRODUCT_TWO": {
"id": "TOPPING_PRODUCT_TWO",
"type": "Product"
}
}
},
"IMAGE_ONE": {
"id": "IMAGE_ONE",
"type": "Image",
"url": "https://images.deliveryhero.io/image/menu-import-gateway-stg/regions/example/hero.png",
"alt": {
"default": "Super Erni"
}
},
"SCHEDULE_ONE": {
"id": "SCHEDULE_ONE",
"type": "ScheduleEntry",
"starTime": "11:00:00",
"endTime": "14:00:00",
"weekDays": [
"MONDAY",
"FRIDAY"
]
}
}
},
"vendors": [
"VENDOR_ONE",
"VENDOR_TWO"
]
}
Response samples
{
"status": "submitted",
"catalogImportId": "string"
}
Get Menu Create Log Copy Link
See Foodpanda Get Catalogue Import Logs API reference.
Configuration Table:
Input Options:
- Input: Allows dynamic inputs, e.g., from a Trigger or from Step responses. Input tab>uncheck “Show recommended” to see all fields).
- Default Value: You can specify a fixed attribute.
Name* | Get Menu Create Log |
Connection* | Select your connection or create one. |
MATCHING CRITERIA [+ Add Field] ↓
Additional fields to configure the Get Menu Creation Log.
From
Entry creation date. Accepts any timezone date time in ISO_8601 format. Would default to current date/time, when is older the from or is older then 30 day or is not an valid date/time string.
Example: from=2016-01-02T00:00:00Z
To
Entry creation date. Accepts any timezone date time in ISO_8601 format. Would default to the current date/time.
Example: to=2016-01-02T23:59:00Z
Limit
Default: “1”
Number of entries to return for each vendorCodes. Maximum value allowed is 100.
Example: limit=5
Sort
Default: “desc”
Ascending/Descending by createdAt.
Chain Code*
This field uniquely identifies restaurant POS groups within the Middleware, preventing ID conflicts between different POS systems using the same chainVendorId
. Its value is established during onboarding with Delivery Hero Ops team.
POS Vendor ID*
The unique identifier of the vendor on the POS side.
(*) required field
Response sample
{
"menuImportLogs": {
"pyhhud": [
{
"createdAt": "2016-01-02T16:56:00Z",
"menuImportId": "n2cp-1449160200",
"message": "",
"status": "in_progress",
"url": "",
"version": 1
},
{
"createdAt": "2016-01-02T16:56:05Z",
"menuImportId": "n2cp-1449160200",
"message": "Import successful",
"version": 1
}
]
}
}
Update Item Copy Link
Supported Platforms: Pandora
For Support update cases on Pandora Platform, refer to Foodpanda Modify Product Details API reference.
Configuration Table:
Input Options:
- Input: Allows dynamic inputs, e.g., from a Trigger or from Step responses. Input tab>uncheck “Show recommended” to see all fields).
- Default Value: You can specify a fixed attribute.
Name* | Update Item |
Connection* | Select your connection or create one. |
MATCHING CRITERIA [+ Add Field] ↓
Additional fields to configure the Update Item Method.
Batch ID
Identifier generated by the client to track progress on multiple update process that are belonging to a set of updates.
Timestamp Last Change
Timestamp of the previous update (before the current update) for this item on the POS plugin side. When present and current version on the platform has a newer timestampLastChange
this update should be rejected. RFC-3339 with at least ms precision
Chain Code*
This field uniquely identifies restaurant POS groups within the Middleware, preventing ID conflicts between different POS systems using the same chainVendorId
. Its value is established during onboarding with Delivery Hero Ops team.
POS Vendor ID*
The unique identifier of the vendor on the POS side.
Global Entity ID*
Global identifier that the Platform Restaurant belongs to.
Process ID*
Identifier generated by the client to track progress of an update command.
Timestamp*
Timestamp when the item was updated on the POS Plugin side. RFC-3339 with millisecond precision.
Callback*
Callback URL to received log.
(http|Http|HTTPs|https)://.*
Product*
[+ Add Field] Select Product fields to add ↓
Active
Indicates whether the item is active or not.
Description
Description of the product in the default locale.
Descriptions
Update of Product description in different locales.
Additional Descriptions can be added as elements.
[⊕ Element][⊕ Map] ↓
(Add a repeating group of fields or Map it from an array. See Field Mapping).
Element 1: Represents the first Description.
Local*:
Using IETF language tag standard: https://en.wikipedia.org/wiki/IETF_language_tag
<= 300 characters
Update Fields*:
Contains the names of the fields that were changed. If a name of a field is present in this array and the field’s value is null, the field should be unset. If a field name is not present in the array and the field is present its value should be ignored. If a field name is present in this array and the field is omitted the command will be rejected.
>= 0 items
Additional Update fields can be added as elements.
[⊕ Element][⊕ Map] ↓
(Add a repeating group of fields or Map it from an array. See Field Mapping).
Element 1: Represents the first field.
[+ Add Field] Fields list ↓
- Value
- Local
Action*:
Possible choices: “Upsert” “Delete”
Type of the update. If the action is “delete” and “locale” doesn’t exist on the platform, update will be ignored.
[+ Add Field] Optional fields ↓
Value:
Localized string in the language specified by the locale. Required only on “upsert” action
Name
Name of the product in the default locale.
<= 300 characters
Names
Update of the Product names in different locales.
Additional Names can be added as elements.
[⊕ Element][⊕ Map] ↓
(Add a repeating group of fields or Map it from an array. See Field Mapping).
Element 1: Represents the first Name.
Local*:
Using IETF language tag standard: https://en.wikipedia.org/wiki/IETF_language_tag
<= 300 characters
Update Fields*:
Contains the names of the fields that were changed. If a name of a field is present in this array and the field’s value is null, the field should be unset. If a field name is not present in the array and the field is present its value should be ignored. If a field name is present in this array and the field is omitted the command will be rejected.
>= 0 items
Additional Update fields can be added as elements.
[⊕ Element][⊕ Map] ↓
(Add a repeating group of fields or Map it from an array. See Field Mapping).
Element 1: Represents the first field.
[+ Add Field] Fields list ↓
- Local
- Value
Action*:
Possible choices: “Upsert” “Delete”
Type of the update. If the action is “delete” and “locale” doesn’t exist on the platform, update will be ignored.
[+ Add Field] Optional fields ↓
Value:
Localized string in the language specified by the locale. Required only on “upsert” action
Product ID
Unique identifier of a product that is used globally by services across DH to identify the product. Either productId or posProductId must be present.
POS Product ID
Unique identifier of a product that is used by pos vendors to identify a product. Either productId or posProductId must be present.
Unit Price
The price of one unit.
Packaging charge
The charge for the packaging of the product e.g. a deposit for bottles. If omitted or undefined or null it should not be changed.
Categories
Must provide one of these two fields:
- Category ID
- POS Category ID
Additional Categories can be added as elements.
[⊕ Element][⊕ Map] ↓
(Add a repeating group of fields or Map it from an array. See Field Mapping).
Element 1: Represents the first Category.
Update Fields*:
Contains the names of the fields that were changed. If a name of a field is present in this array and the field’s value is null, the field should be unset. If a field name is not present in the array and the field is present its value should be ignored. If a field name is present in this array and the field is omitted the command will be rejected.
Additional Update fields can be added as elements.
[⊕ Element][⊕ Map] ↓
(Add a repeating group of fields or Map it from an array. See Field Mapping).
Element 1: Represents the first field.
[+ Add Field] ↓
- Position
[+ Add Field] Optional fields ↓
Category ID:
Unique identifier of the category, that is used globally by services across DH to identify the category.
⚠️ Please provide either the Category ID or the POS Category ID, not both.
POS Category ID:
Unique identifier of a category that is used by pos vendors to identify a category.
⚠️ Please provide either the Category ID or the POS Category ID, not both.
Position:
Property to give a hint for visual ordering on the delivery platform. If not supported and sent, the platform should reject the command. Valid unsigned int.
Action:
Possible choices: “Upsert” “Delete”
Type of the update. If the action is “delete” and “locale” doesn’t exist on the platform, update will be ignored.
Product Options
Must provide one of these fields:
- Product Option ID
- POS Production Option ID
Additional Product Options can be added as elements.
[⊕ Element][⊕ Map] ↓
(Add a repeating group of fields or Map it from an array. See Field Mapping).
Element 1: Represents the first Product option.
Update Fields*:
Contains the names of the fields that were changed. If a name of a field is present in this array and the field’s value is null, the field should be unset. If a field name is not present in the array and the field is present its value should be ignored. If a field name is present in this array and the field is omitted the command will be rejected.
Additional Update fields can be added as elements.
[⊕ Element][⊕ Map] ↓
(Add a repeating group of fields or Map it from an array. See Field Mapping).
Element 1: Represents the first field.
[+ Add Field] ↓
- POS Production Option ID
[+ Add Field] Optional fields ↓
Product Option ID:
Unique identifier of the category, that is used globally by services across DH to identify the category.
⚠️ Please provide either the Product Option ID or the POS Production Option ID, not both.
POS Product Option ID:
Unique identifier of a category that is used by pos vendors to identify a category.
⚠️ Please provide either the Product Option ID or the POS Production Option ID, not both.
Action:
Possible choices: “Upsert” “Delete”
Type of the update. If the action is “delete” and “locale” doesn’t exist on the platform, update will be ignored.
Parent ID
A unique parent product ID, used globally within DH, is required. Product creation will be rejected if the parent ID is not found.
POS Parent ID
Unique ID provided by POS vendors, to identify a product’s parent. An invalid ID will prevent product creation and trigger a ‘rejected’ event.
Tags
Additional Tags can be added as elements.
[⊕ Element][⊕ Map] ↓
(Add a repeating group of fields or Map it from an array. See Field Mapping).
Element 1: Represents the first tag.
Action*:
Possible choices: “Upsert” “Delete”
Type of the update. If the action is “delete” and “locale” doesn’t exist on the platform, update will be ignored.
[+ Add Field] Optional fields
Value:
Value of a tag.
Action
Possible choices: “Upsert” “Delete”
Type of the update. If the action is “delete” and “locale” doesn’t exist on the platform, update will be ignored.
Update Fields
Contains the names of the fields that were changed. If a name of a field is present in this array and the field’s value is null; then the field should be unset. If a field name is not present in the array and the field is present, then its value should be ignored. If a field name is present in this array and the field is omitted then the command will be rejected.
Additional Update fields can be added as elements.
[⊕ Element][⊕ Map] ↓
(Add a repeating group of fields or Map it from an array. See Field Mapping).
Element 1: Represents the first field.
[+ Add Field] Fields list ↓
- Active
- Name
- Names
- Description
- Descriptions
- Unit Price
- Packaging Charge
- Categories
- Product Options
- Tags
(*) required field
Callback sample
{
"id": "productId1",
"traceId": "modifyProductRequestId1",
"status": "Success",
"message": "Product modification succeeded"
}
Update Item Availability Copy Link
See Foodpanda Update catalog item availability API reference.
Configuration Table:
Input Options:
- Input: Allows dynamic inputs, e.g., from a Trigger or from Step responses. Input tab>uncheck “Show recommended” to see all fields).
- Default Value: You can specify a fixed attribute.
Name* | Update Item Availability |
Connection* | Select your connection or create one. |
MATCHING CRITERIA [+ Add Field] ↓
Additional fields to configure the Update Item Availability Method.
Will be Available
Should be omitted when setting a catalog item as available (is Available
= true
). When setting a catalog item as unavailable, this field can be used to specify if the item will be available at some point in the future. The possible values are:
NEXT_BUSINESS_DAY
specifies that the catalog item will be available again on the next business day when the restaurant opens.AT_TIMESTAMP
specifies that the catalog item will be available again at a specific time. This time MUST be specified in the atTimeStamp field otherwise an error will be returned.
Possible choices: “NEXT BUSINESS DAY” – “AT TIMESTAMP”
At Timestamp
The specific time when the catalog item will be available again. This property must be set when willBeAvailable
is set to AT TIMESTAMP
.
Chain Code*
This field uniquely identifies restaurant POS groups within the Middleware, preventing ID conflicts between different POS systems using the same chainVendorId
. Its value is established during onboarding with Delivery Hero Ops team.
Item*
List of POS Catalog Item Ids
Additional Item can be added as elements.
[⊕ Element][⊕ Map] ↓
(Add a repeating group of fields or Map it from an array. See Field Mapping).
Element 1: Represents the first Item.
Item ID*:
Unique identifier of an item in the entry vendor catalog. An identifier must be unique across the vendor catalog and consistent over time.
POS Vendor ID*
The unique identifier of the vendor on the POS side.
Global Entity ID*
The global entity to which the catalog item to be updated belongs. This should be provided if available or can be ignored if unavailable.
Process ID*
Identifier generated by the client to track progress of an update command.
Type*
The type of catalog items to update. Possible choices:
“TOPPING” – “ITEM”
Is Available*
Specifies whether the catalog item is available or not.
Possible choices: True - False
(*) required field
Response sample
{
"status": "Success",
"details": [
{
"platformVendorId": "string",
"globalEntityId": "string",
"status": "Success"
}
]
}
MANAGE ORDER Copy Link
Get Order Detail Copy Link
See Foodpanda Get Order Details API reference.
Configuration Table:
Input Options:
- Input: Allows dynamic inputs, e.g., from a Trigger or from Step responses. Input tab>uncheck “Show recommended” to see all fields).
- Default Value: You can specify a fixed attribute.
Name* | Get Order Detail |
Connection* | Select your connection or create one. |
MATCHING CRITERIA
Chain Code*
This field uniquely identifies restaurant POS groups within the Middleware, preventing ID conflicts between different POS systems using the same chainVendorId
. Its value is established during onboarding with Delivery Hero Ops team.
Order ID*
Unique identifier of an order, that is returned inside of the response of a Get List of Order Id’s Method.
(*) required field
Response sample
{
"order": {
"token": "5f373562-591a-4db9-8609-7eec7880f28d",
"code": "n0s1-w0k1",
"comments": {
"customerComment": "Please hurry, I am hungry",
"vendorComment": ""
},
"createdAt": "2016-03-14T17:00:00.000Z",
"customer": {
"email": "s188sduisddsnjknsj",
"firstName": "food",
"lastName": "panda",
"mobilePhone": "+49 99999999",
"code": "dummy_customer_code",
"id": "dummy_customer_Id",
"mobilePhoneCountryCode": "",
"flags": [
"string"
]
},
"delivery": {
"address": {
"postcode": 10117,
"city": "Berlin",
"street": "Oranienburger Staße",
"number": 67
},
"expectedDeliveryTime": "2016-03-14T17:50:00.000Z",
"expressDelivery": false,
"riderPickupTime": "2016-03-14T17:35:00.000Z"
},
"discounts": [
{
"name": "First Order",
"amount": "9.00",
"type": "FIRST_ORDER",
"sponsorships": [
{
"sponsor": "PLATFORM",
"amount": "3"
},
{
"sponsor": "Vendor",
"amount": "3"
},
{
"sponsor": "THIRD_PARTY",
"amount": "3"
}
]
}
],
"expeditionType": "pickup",
"expiryDate": "2016-03-14T17:15:00.000Z",
"extraParameters": {
"property1": "string",
"property2": "string"
},
"localInfo": {
"countryCode": "de",
"currencySymbol": "€",
"platform": "Foodpanda",
"platformKey": "FP_MY",
"currencySymbolPosition": "",
"currencySymbolSpaces": "",
"decimalDigits": "",
"decimalSeparator": "",
"email": "",
"phone": "",
"thousandsSeparator": "",
"website": ""
},
"payment": {
"status": "paid",
"type": "paid",
"remoteCode": "online",
"requiredMoneyChange": "",
"vatId": "",
"vatName": ""
},
"test": false,
"shortCode": "42",
"preOrder": false,
"pickup": null,
"platformRestaurant": {
"id": "sq-abcd"
},
"price": {
"deliveryFees": [
{
"name": "packaging fee",
"value": 2.5
}
],
"grandTotal": "25.50",
"minimumDeliveryValue": "9.99",
"payRestaurant": "25.50",
"riderTip": "1.20",
"subTotal": "19.45",
"totalNet": "string",
"vatTotal": "2.50",
"comission": "",
"containerCharge": "",
"deliveryFee": "12.80",
"collectFromCustomer": "16.34",
"discountAmountTotal": "2.50",
"deliveryFeeDiscount": "",
"serviceFeePercent": "",
"serviceFeeTotal": "",
"serviceTax": 0,
"serviceTaxValue": 0,
"differenceToMinimumDeliveryValue": "",
"vatVisible": true,
"vatPercent": "string"
},
"products": [
{
"id": "ID_FOR_EXTRA_CHEESE_ON_PLATFORM",
"categoryName": "Burgers",
"name": "Double Cheese Burger",
"paidPrice": "8.00",
"quantity": "string",
"remoteCode": "ID_FOR_DOUBLE_CHEESE_BURGER_ON_POS",
"selectedToppings": [
{
"id": "ID_FOR_EXTRA_CHEESE_ON_PLATFORM",
"name": "extra cheese",
"price": "1.50",
"quantity": 1,
"remoteCode": "ID_FOR_EXTRA_CHEESE_ON_POS",
"type": "PRODUCT",
"itemUnavailabilityHandling": "REMOVE",
"discounts": [
{
"name": "First order",
"amount": "1.50",
"sponsorships": [
{
"sponsor": "PLATFORM",
"amount": "0.50"
},
{
"sponsor": "VENDOR",
"amount": "0.50"
},
{
"sponsor": "THIRD_PARTY",
"amount": "0.50"
}
]
}
],
"children": []
}
],
"unitPrice": "6.42",
"comment": "No cheese please",
"description": "",
"discountAmount": "",
"itemUnavailabilityHandling": "REMOVE",
"halfHalf": false,
"selectedChoices": [],
"variation": {
"name": "Double Cheese Burger"
},
"vatPercentage": "",
"discounts": [
{
"name": "First order",
"amount": "1.50",
"sponsorships": [
{
"sponsor": "PLATFORM",
"amount": "3.00"
},
{
"sponsor": "VENDOR",
"amount": "3.00"
},
{
"sponsor": "THIRD_PARTY",
"amount": "3.00"
}
]
}
]
}
],
"corporateOrder": false,
"corporateTaxId": "example-tax-id",
"integrationInfo": {},
"mobileOrder": true,
"webOrder": false,
"vouchers": [],
"callbackUrls": {
"orderAcceptedUrl": "string",
"orderRejectedUrl": "string",
"orderPickedUpUrl": "string",
"orderPreparedUrl": "string"
},
"status": "cancelled",
"reason": null
}
}
List Order ID Copy Link
See Foodpanda Get list of order identifiers API reference.
Configuration Table:
Input Options:
- Input: Allows dynamic inputs, e.g., from a Trigger or from Step responses. Input tab>uncheck “Show recommended” to see all fields).
- Default Value: You can specify a fixed attribute.
Name* | List Order ID |
Connection* | Select your connection or create one. |
MATCHING CRITERIA [+ Add Field] ↓
Additional fields to configure the List Order ID Method.
Past Number of Hours
Default: 24
Specify a time frame to fetch order identifier in hours. Value from 1 to 24.
Vendor ID
Unique identifier of a vendor on the POS plugin side.
Chain Code*
This field uniquely identifies restaurant POS groups within the Middleware, preventing ID conflicts between different POS systems using the same chainVendorId
. Its value is established during onboarding with Delivery Hero Ops team.
Status*
List the orders by status. cancelled
and accepted
status are supported at the moment. In all other cases a Bad Request will be returned.
(*) required field
Response sample
{
"orderIdentifiers": [
"01f91115-bf85-4830-932d-7133e12665c6",
"05K91115-bf85-4830-932d-7133e12665c6",
"02J91115-bf85-4830-932d-7133e12665c6"
],
"count": 3
}
Mark Order as Prepared Copy Link
This is to notify the couriers that food is prepared and the order can be picked up by the rider at the vendor location.
Please check with your local contact if this endpoint is applicable to your the plugin or not. If it is applicable for your plugins, the update must be sent to the following url provided by Delivery Hero over the orderDispatch request payload: dispatchOrderPayload.callbackUrls.orderPreparedUpUrl.
In cases when the URL is not present, you should skip this event for that particular order.
See Foodpanda Get list of order identifiers API reference.
Configuration Table:
Input Options:
- Input: Allows dynamic inputs, e.g., from a Trigger or from Step responses. Input tab>uncheck “Show recommended” to see all fields).
- Default Value: You can specify a fixed attribute.
Name* | Mark Order as Prepared |
Connection* | Select your connection or create one. |
MAP FIELDS
Order Token*
Unique order identifier in Delivery Hero system. Received in the token
field when the order is dispatched.
(*) required field
Response sample
{
"orderIdentifiers": [
"01f91115-bf85-4830-932d-7133e12665c6",
"05K91115-bf85-4830-932d-7133e12665c6",
"02J91115-bf85-4830-932d-7133e12665c6"
],
"count": 3
}
Update Order Status Copy Link
More details on each status change events on Foodpanda Update Order Status API reference.
Configuration Table:
Input Options:
- Input: Allows dynamic inputs, e.g., from a Trigger or from Step responses. Input tab>uncheck “Show recommended” to see all fields).
- Default Value: You can specify a fixed attribute.
Name* | Update Order Status |
Connection* | Select your connection or create one. |
MAP FIELDS
Order Token*:
Unique order identifier in Delivery Hero system. Received in the token
field when the order is dispatched.
Status*:
Status of the order, possible choices:
Order Accepted – Order Rejected – Order Picked Up
When order status is:
Fields to provide.
Status*:
Select “Order Accepted”.
Acceptance Time:
Formatted as date-time.
This field’s meaning varies by expeditionType
:
Foodpanda Delivery: Rider pickup time; delivery time is calculated internally. acceptanceTime
is legacy; use delivery.riderPickUpTime
.
Customer Pickup: Expected customer pickup time, ideally matching pickup.pickupTime
. Deviations notify the customer.
Vendor Delivery: Expected customer delivery time, ideally matching delivery.expectedDeliveryTime
. Deviations notify the customer.
Remote Order ID:
The value from remoteOrderId
represents an identifier for the dispatched order on POS plugin side. Used to send various notifications from Middleware to POS plugin, e.g. cancellations.
Modifications:
The modifications to be applied for the order items. Can be optionally provided with order_accepted
request.
↳Products*:
The products to be modified.
Additional Products can be added as Element.
[⊕ Element][⊕ Map] ↓
(Add a repeating group of fields or Map it from an array. See Field Mapping).
Element 1: Represents the first Product.
ID*
The unique identifier of the product on the delivery platform.
Remote Code*
The unique identifier of the product on POS side.
Modification*:
Represents a modification to an order item.
Type*: The kind of modification that need to be applied to the order item. possible choices: “REMOVAL” – “CHANGE”
[+ Add Field] Optional fields ↓
Properties:
The properties of the order item affected by the modification. Only applicable for modification type CHANGE.
[+ Add Field] Additional fields ↓
Quantity
The quantity of the product. Must be greater than zero.
Selected Toppings:
Additional Toppings can be added as elements.
[⊕ Element][⊕ Map] ↓
(Add a repeating group of fields or Map it from an array. See Field Mapping).
Element 1: Represents the first Topping.
ID*:
The unique identifier of the topping.
Remote Code*:
The unique identifier of the topping on POS side.
Type*:
The type of the topping, possible choices:
“EXTRA” – “VARIANT”
Modification*:
Represents a modification to an order item.
Type*: The kind of modification that need to be applied to the order item. possible choices: “REMOVAL” – “CHANGE”
[+ Add Field] Optional fields ↓
Properties:
The properties of the order item affected by the modification. Only applicable for modification type CHANGE.
Request sample from Order Accepted:
{
"acceptanceTime": "2016-10-05T00:00:00+05:00",
"remoteOrderId": "123-xfal-90",
"status": "order_accepted",
"modifications": {
"products": [
{
"id": "ITEM_ID_ON_PLATFORM",
"remoteCode": "ITEM_ID_ON_POS",
"modification": {
"type": "REMOVAL"
}
},
{
"id": "ITEM_ID_ON_PLATFORM",
"remoteCode": "ITEM_ID_ON_POS",
"quantity": "1",
"modification": {
"type": "CHANGE",
"properties": [
"quantity"
]
}
},
{
"id": "ITEM_ID_ON_PLATFORM",
"remoteCode": "ITEM_ID_ON_POS",
"modification": {
"type": "CHANGE",
"properties": [
"selectedToppings"
]
},
"selectedToppings": [
{
"id": "TOPPINGS_ITEM_ID_ON_PLATFORM",
"remoteCode": "TOPPINGS_ITEM_ID_ON_POS",
"type": "EXTRA",
"modification": {
"type": "REMOVAL"
}
}
]
},
{
"id": "ITEM_ID_ON_PLATFORM",
"remoteCode": "ITEM_ID_ON_POS",
"modification": {
"type": "CHANGE",
"properties": [
"selectedToppings"
]
},
"selectedToppings": [
{
"id": "TOPPINGS_ITEM_ID_ON_PLATFORM",
"remoteCode": "TOPPINGS_ITEM_ID_ON_POS",
"type": "VARIANT",
"modification": {
"type": "REMOVAL"
}
}
]
}
]
}
}
Fields to provide.
Status*:
Select “Order Rejected”.
Message:
Message to the customers.
Reason:
Possible reasons:
Reason | Description |
---|---|
ADDRESS_INCOMPLETE_MISSTATED | Description: Cannot be delivered because of wrong address information. OrderType: Vendor Delivery Applicable: before acceptance |
BAD_WEATHER | Description: Cannot be delivered because of weather conditions. OrderType: Vendor Delivery Applicable: before acceptance, after acceptance |
BLACKLISTED | Description: Customer is blacklisted due to prank orders. OrderType: Own Delivery, Vendor Delivery, Pickup Applicable: before acceptance |
CARD_READER_NOT_AVAILABLE | Description: Customer cannot pay with card due to:courier has no card readercard reader is not workingno card reader is availableShould only be applied if the order is not yet already payed (online payed) and customer selected to pay with card. If this is not the case you should use UNABLE_TO_PAY. OrderType: Vendor Delivery, Pickup Applicable: before acceptance, after acceptance |
CLOSED | Description: Vendor is closed and order cannot be fulfilled. OrderType: Own Delivery, Vendor Delivery, Pickup Applicable: before acceptance |
CONTENT_WRONG_MISLEADING | Description: Customer gets food delivered and realises that the food does not match what was shown on the website and therefore cancels the order. OrderType: Vendor Delivery, Pickup Applicable: after acceptance |
FOOD_QUALITY_SPILLAGE | Description: Customer has an issue with the food quality (cold, inedible, etc) OR order spillage occurred during transport. OrderType VendorDelivery, Pickup Applicable: after acceptance |
FRAUD_PRANK | Description: Fraudulent order. Should be applied if there are strong indicators for either fraudulent or prank order, e.g. 100 x pizza, silly/famous/random character names and silly/famous/random notes. Should be not applied for online payed orders. OrderType: Own Delivery, Vendor Delivery, Pickup Applicable: before acceptance |
ITEM_UNAVAILABLE | Description: Vendor does not have all items/products available to fulfill the order. It should be not used in case of wrong items or prices (instead, use MENU_ACCOUNT_SETTINGS). OrderType: Own Delivery, Vendor Delivery, Pickup Applicable: before acceptance |
LATE_DELIVERY | Description: Customer has received the order but (excessively) passed promised delivery time or pickup time and wants to cancel. OrderType: Vendor Delivery, Pickup Applicable: after acceptance |
MENU_ACCOUNT_SETTINGS | Description: Vendor has an issue(s) with menu items or prices, or account settings. In POS cases, it should be used for any issues related to product remote id’s. OrderType: Own Delivery, Vendor Delivery, Pickup Applicable: before acceptance |
MOV_NOT_REACHED | Description: Vendor will not accept the order as it is below their vendor-level Minimum Order Value (MOV). Important Its only a Talabat specific reason, for all other platforms use MENU_ACCOUNT_SETTINGS instead. OrderType: Own Delivery, Vendor Delivery Applicable: before acceptance |
NO_COURIER | Description: Vendor has no courier (drivers/couriers/walkers/etc) available to fulfill the order. OrderType: Vendor Delivery Applicable: before acceptance |
NO_PICKER | Description: Vendor has no picker. OrderType: Own Delivery, Vendor Delivery, Pickup Applicable: before acceptance |
NO_RESPONSE | Description: Vendor is not answering. Should be used if the POS plugin is not able to forward the order to the vendor. It will be triggered also on Middleware side if the POS plugin is not accepting or rejecting the order in time (typically after 15 mins). OrderType: Own Delivery, Vendor Delivery, Pickup Applicable: before acceptance |
OUTSIDE_DELIVERY_AREA | Description: Vendor does not deliver to the customer’s address/area. OrderType: Vendor Delivery Applicable: before acceptance |
TECHNICAL_PROBLEM | Description: Please refrain from using this reason unless necessary. Should be used only if the order cannot be fulfilled due to technical issues that won’t be resolved in time. OrderType: Own Delivery, Vendor Delivery, Pickup Applicable: before acceptance |
TEST_ORDER | Description: Order has been placed for test purposes and/or to check order transmission method during onboarding, troubleshooting, etc. Should be only applied if order is marked as test. OrderType: Own Delivery, Vendor Delivery, Pickup Applicable: before acceptance |
TOO_BUSY | Description: Vendor is too busy to fulfill the order. OrderType: Own Delivery, Vendor Delivery, Pickup Applicable: before acceptance |
UNABLE_TO_FIND | Description: Customer cannot be located to complete delivery. It’s different from ADDRESS_INCOMPLETE_MISSTATED and should be used if the courier reached the address but was unable to find the customer. OrderType: Vendor Delivery Applicable: after acceptance |
UNABLE_TO_PAY | Description: Customer is not able to pay. It should be not applied in case customer announced to pay with card and no card reader is available (CARD_READER_NOT_AVAILABLE). Does not apply in case there is no certain amount of money for change (UNPROFESSIONAL_BEHAVIOUR). OrderType: Vendor Delivery, Pickup Applicable: after acceptance |
UNPROFESSIONAL_BEHAVIOUR | Description: Unprofessional behaviour in general. For Own Delivery Orders if Courier displays unprofessional behaviour (rudeness in communication/interaction, lack of change for cash orders, bad employee hygiene, etc.) in vendor interaction. For Vendor Delivery Orders it should be used if the courier has no certain amount of money for exchange. OrderType: Own Delivery, Vendor Delivery, Pickup Applicable: after acceptance |
WILL_NOT_WORK_WITH_PLATFORM | Description: Vendor will not accept the order as they no longer wish to work with the platform. OrderType: Own Delivery, Vendor Delivery, Pickup Applicable: before acceptance |
WRONG_ORDER_ITEMS_DELIVERED | Description: Customer has received wrong order items or is missing significant item(s). OrderType: Vendor Delivery Applicable: after acceptance |
Request sample from Order Rejected:
{
"message": "We are out of tomatoes!",
"reason": "ITEM_UNAVAILABLE",
"status": "order_rejected"
}
Fields to provide.
Status*:
Select “Order Picked Up”.
Acceptance Time:
Formatted as date-time.
This field’s meaning varies by expeditionType
:
Foodpanda Delivery: Rider pickup time; delivery time is calculated internally. acceptanceTime
is legacy; use delivery.riderPickUpTime
.
Customer Pickup: Expected customer pickup time, ideally matching pickup.pickupTime
. Deviations notify the customer.
Vendor Delivery: Expected customer delivery time, ideally matching delivery.expectedDeliveryTime
. Deviations notify the customer.
Request sample from Order Pick Up:
{
"status": "order_picked_up"
}
(*) required field
2 – Test run or automate your Flow Copy Link
After setting up your Flow, you can choose to:
- “Run once”, your Flow will run only a single time. You can use this function to test your Flow. Refer to how to set up an HTTP Trigger, in the “Create a Flow” step.
- “Run Scheduler” will automate your Flows with the recurrence rule you previously defined.
For more details, refer to How to run a Flow tutorial in our Help Center.
If you are using a Webhook Trigger, the Flow will initiate automatically when a webhook is received from your connected apps. This means that the Flow is automated without a scheduler and will run until you deactivate the Flow manually. Refer to Webhook documentation in our Help Center.
If you need an integration that you cannot find in Wiresk, you can make a request to our team, and we will try our best to satisfy your needs.