Благодаря объектам FoodMenu, указанным в данных о компании, клиенты могут ознакомиться с блюдами в меню вашего ресторана.
Чтобы обновить блюда, перечисленные в данных о компании, сначала необходимо вызвать
accounts.locations.getFoodMenus
.
Ниже приведен пример запроса:
GET
https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations/{locationId}/foodMenus
Ответ в формате JSON содержит текущий объект
FoodMenus
, используемый в данных о компании. Обновите объект FoodMenus
и вызовите
accounts.locations.updateFoodMenus
.
Подробная информация об этом доступна в разделе
Как загрузить или заменить блюдо в меню.
Используйте Google My Business API, чтобы обновить перечисленные ниже поля.
Поля | |
---|---|
Название | Обязательно Название блюда, например |
Цена | Обязательно Цена блюда. |
Валюта цены | Обязательно Валюта, в которой указана цена блюда, например |
Описание блюда | Необязательно Краткое описание блюда. |
Разделы меню | Необязательно Блюда, распределенные по группам, например |
Данные о пищевой ценности | Необязательно, но рекомендовано Сведения о питательности блюда, например |
Число человек, на которое рассчитано блюдо | Необязательно Количество человек, на которое рассчитано блюдо. |
Размер порции | Необязательно Размер или объем порции. Например,
|
Способы приготовления | Необязательно Различные способы приготовления блюд. |
Национальные кухни | Необязательно, но рекомендовано Конкретная кухня, к которой принадлежит блюдо. |
Острота и пряность блюда | Необязательно Острота и пряность блюда, например |
Наличие аллергенов | Необязательно, но рекомендовано Наличие в блюде таких продуктов-аллергенов, как |
Диетические ограничения | Необязательно, но рекомендовано Диетические ограничения блюда, например |
Варианты блюда | Необязательно Варианты блюда на выбор, например тайская лапша с курицей ( |
Фотография блюда | Необязательно Фотография конкретного блюда. |
Как загрузить или заменить блюдо в меню
Возможность загружать блюда доступна не для всех адресов.
Чтобы узнать, можете ли вы это сделать для своего адреса, вызовите
locations.get
и проверьте статус
Metadata
.
Если для canHaveFoodMenus
указано значение true
, вы можете загружать блюда.
Если для вашего адреса поддерживается эта возможность, отправьте вызов PATCH
для
accounts.locations.updateFoodMenus
.
Ниже приведен пример запроса со всеми необязательными полями.
PATCH
https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations/{locationId}/foodMenus
{
"menus": [
{
"cuisines": [
"AMERICAN"
],
"labels": [
{
"displayName": "Menu",
"description": "Main Menu of my Restaurant",
"languageCode": "en"
}
],
"sections": [
{
"labels": {
"displayName": "Main Dishes",
"languageCode": "en"
},
"items": [
{
"labels": {
"displayName": "Dish1",
"description": "Dish1 - our original dish!",
"languageCode": "en"
},
"attributes": {
"price": {
"currencyCode": "USD",
"units": 20
},
"dietaryRestriction": "ORGANIC",
"nutritionFacts": {
"calories": {
"lowerAmount": 400,
"upperAmount": 500,
"unit": "CALORIE"
},
"totalFat": {
"lowerAmount": 95,
"upperAmount": 110,
"unit": "GRAM"
},
"cholesterol": {
"lowerAmount": 100,
"upperAmount": 120,
"unit": "MILLIGRAM"
},
"sodium": {
"lowerAmount": 30,
"upperAmount": 45,
"unit": "MILLIGRAM"
},
"totalCarbohydrate": {
"lowerAmount": 78,
"upperAmount": 92,
"unit": "MILLIGRAM"
},
"protein": {
"lowerAmount": 25,
"upperAmount": 35,
"unit":"MILLIGRAM"
}
},
"ingredients": [
{
"labels": [
{
"displayName": "Ingredient 1",
"description": "Description for ingredient 1",
"languageCode": "en"
},
{
"displayName": "Ingredient 2",
"languageCode": "en"
}
]
}
],
"servesNumPeople": 1,
"preparationMethods": [
"BAKED",
"BOILED",
"FRIED"
],
"portionSize": {
"quantity": 2,
"unit": {
"displayName": "Pieces",
"languageCode": "en"
}
},
"mediaKeys": [
"AF1QipP_VOlJzXs2aOJ31234565cb2KPrvN"
]
},
"options": [
{
"labels":
{
"displayName": "Dish1 - spicy",
"description": "Dish1 - a spicy version of our dish!",
"languageCode": "en"
},
"attributes": {
"price": {
"currencyCode": "USD",
"units": 20
}
}
},
{
"labels":
{
"displayName": "Dish1 - mild",
"description": "Dish1 - a mild spiciness version of our dish!",
"languageCode": "en"
},
"attributes": {
"price": {
"currencyCode": "USD",
"units": 20
}
}
}
]
}
]
},
{
"labels": {
"displayName": "Desserts",
"languageCode": "en"
},
"items": [
{
"labels": {
"displayName": "Ice Cream",
"description": "2 scoops of delicious ice cream!",
"languageCode": "en"
},
"attributes": {
"price": {
"currencyCode": "USD",
"units": 20
}
}
}
]
}
]
}
]
}
Как связать фотографию с блюдом
Чтобы связать изображение с блюдом, сначала необходимо загрузить фотографию для адреса, указанного в профиле компании.
Чтобы извлечь фотографии, отправьте вызов
accounts.locations.media.list
.
Ниже приведен пример запроса:
GET
https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations/{locationId}/media/
В ответе содержится MediaKey
для каждого изображения, загруженного в данные о компании, как показано
в примере ниже:
{
"mediaItems": [
{
"name": "accounts/{accountId}/locations/{locationId}/media/{mediaKey}",
"mediaFormat": "PHOTO",
"locationAssociation": {
"category": "FOOD_AND_MENU"
},
…
}
Чтобы связать фотографию с блюдом, получите ее mediaKey
и укажите этот параметр
в объекте FoodMenuItemAttributes
. Можно использовать несколько mediaKeys
.
Подробная информация об этом доступна в разделе
Как загрузить или заменить блюдо в меню.