Благодаря объектам 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.
Подробная информация об этом доступна в разделе
Как загрузить или заменить блюдо в меню.