Global Catalog
Endpoint Updates
oAuth id
Response
The oAuth exchange token endpoint you build must include the id
property in the response, which corresponds to the merchant's id (provider merchant id) within your system.
Get Catalog X-Provider-Merchant-Id
Header
Requests to your Get Catalog endpoint will include the X-Provider-Merchant-Id
header instead of the X-Provider-Location-Id
header.
Location-Specifc Object Changes
Global catalog integrations have additional features on catalog objects to support differences across locations.
Location Overrides
In the example below, location overrides have been applied into certain items' location_overrides
to change the price, availability, and description of items at specific locations. Specifically, location_2
has discounts on each platter's price, and location_1
has 86'd its "Party Platter"
. For a full list properties that can be overriden refer to the API documentation.
{
"category": [
{
"provider_id": "starters_provider_id",
"name": "Starters",
"item_family_ids": [
"platter_provider_id"
]
}
],
"item_family": [
{
"provider_id": "platter_provider_id",
"name": "c",
"description": "Appetizer Platter",
"is_active": true,
"modifier_group_ids": [],
"item_ids": [
"small_platter_provider_id",
"large_platter_provider_id",
"party_platter_provider_id"
],
"images": []
}
],
"item": [
{
"provider_id": "small_platter_provider_id",
"name": "Small Platter",
"is_active": true,
"price_amount": 500,
"price_currency": "usd",
"location_overrides": [
{
"provider_location_id": "location_2",
"override": {
"price_amount": 399,
},
},
],
},
{
"provider_id": "large_platter_provider_id",
"name": "Large Platter",
"is_active": true,
"price_amount": 800,
"price_currency": "usd",
"location_overrides": [
{
"provider_location_id": "location_2",
"override": {
"price_amount": 599,
},
},
],
},
{
"provider_id": "party_platter_provider_id",
"name": "Party Platter",
"is_active": true,
"price_amount": 2000,
"price_currency": "usd",
"location_overrides": [
{
"provider_location_id": "location_1",
"override": {
"is_active": false,
},
},
{
"provider_location_id": "location_2",
"override": {
"price_amount": 1599,
},
},
],
}
],
"modifier_group": [],
"modifier": [],
"menu": []
}
Location Memberships
In the example below, the "Brunch"
menu has been introduced, but only exists at location_2
. If location_memberships
is ommited, the entity will exist at all locations. Note that location memberships only can be applied to certain entity types, please refer to the API documentation for more details.
{
"category": [
{
"provider_id": "sandwiches_provider_id",
"name": "Sandwiches",
"item_family_ids": ["blt_provider_id"]
},
{
"provider_id": "pancakes_provider_id",
"name": "Pancakes",
"item_family_ids": ["pancake_provider_id"]
},
],
"item_family": [
{
"provider_id": "blt_provider_id",
"name": "BLT Sandwich",
"description": "BLT Sandwich",
"is_active": true,
"price_amount": 1000,
"modifier_group_ids": [],
"item_ids": [],
"images": []
},
{
"provider_id": "pancake_provider_id",
"name": "Pancakes",
"description": "3 Pancakes",
"is_active": true,
"price_amount": 800,
"modifier_group_ids": [],
"item_ids": [],
"images": []
},
],
"item": [],
"modifier_group": [],
"modifier": [],
"menu": [
{
"provider_id": "brunch_provider_id",
"name": "Brunch",
"category_ids": ["pancakes_provider_id", "sandwiches_provider_id"],
"schedule": {
"monday": ["10:00-12:00"],
"tuesday": ["10:00-12:00"],
"wednesday": ["10:00-12:00"],
"thursday": ["10:00-12:00"],
"friday": ["10:00-12:00"],
"saturday": ["10:00-14:00"],
"sunday": ["10:00-14:00"]
},
"location_memberships": ["location_2"],
},
{
"provider_id": "lunch_and_dinner_provider_id",
"name": "Lunch & Dinner",
"category_ids": ["sandwiches_provider_id"],
"schedule": {
"monday": ["10:00-20:00"],
"tuesday": ["10:00-20:00"],
"wednesday": ["10:00-20:00"],
"thursday": ["10:00-20:00"],
"friday": ["10:00-20:00"],
"saturday": ["10:00-20:00"],
"sunday": ["10:00-20:00"]
}
},
]
}