Gdy do informacji o firmie dodasz menu, klienci będą mogli zapoznać się z ofertą Twojej restauracji i uzyskać dodatkowe informacje o pozycjach w menu.
Aby zaktualizować menu w wizytówce, najpierw wywołaj
accounts.locations.getFoodMenus.
Oto przykładowe żądanie:
GET
https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations/{locationId}/foodMenus
Odpowiedź zawiera reprezentację JSON bieżącego wpisuFoodMenus. Zmodyfikuj obiekt FoodMenus zgodnie z potrzebami i wywołaj funkcję accounts.locations.updateFoodMenus.
Więcej informacji znajdziesz w artykule Przesyłanie i zastępowanie menu.
Za pomocą interfejsu Google My Business API możesz aktualizować te pola:
| Pola | |
|---|---|
| Nazwa | Wymagany Nazwa produktu spożywczego, np. |
| Cena | Wymagany Cena produktu spożywczego. |
| Waluta ceny | Wymagany Waluta ceny produktu spożywczego, np. |
| Opis produktu | Opcjonalny Krótki opis produktu spożywczego. |
| Sekcje menu | Opcjonalny logiczne grupy produktów spożywczych, np. |
| Odżywianie | Opcjonalny (zalecany) Informacje o wartościach odżywczych, np. |
| Liczba osób do obsłużenia | Opcjonalny Liczba osób, dla których wystarczy dany produkt spożywczy. |
| Wielkość porcji | Opcjonalny Ilość produktu spożywczego. Na przykład: |
| Metody przygotowania | Opcjonalny Konkretne metody przygotowania danego produktu spożywczego. |
| Kuchnia regionalna | Opcjonalny (zalecany) Rodzaj kuchni, do której należy produkt spożywczy. |
| Ostry | Opcjonalny Poziom ostrości produktu spożywczego, np. |
| Alergen | Opcjonalny (zalecany) Alergeny pokarmowe w produkcie spożywczym, np. |
| Preferencje żywieniowe | Opcjonalny (zalecany) Wymagania żywieniowe dotyczące produktu spożywczego, np. |
| Opcje | Opcjonalny Typ opcji jedzenia, np. |
| Zdjęcie produktu spożywczego | Opcjonalny Zdjęcie konkretnego produktu spożywczego. |
Przesyłanie lub zastępowanie menu
Nie wszystkie lokalizacje kwalifikują się do przesyłania menu.
Aby sprawdzić, czy dana lokalizacja kwalifikuje się do programu, zadzwoń pod numer locations.get i sprawdź Metadata.
Jeśli wartość parametru canHaveFoodMenus to true, możesz przesyłać menu restauracji.
Jeśli Twoja lokalizacja kwalifikuje się do tej usługi, wykonaj połączenie na numer PATCHaccounts.locations.updateFoodMenus.
Oto przykładowe żądanie, które zawiera wszystkie pola opcjonalne:
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
}
}
}
]
}
]
}
]
}
Powiązywanie zdjęć z produktem spożywczym
Aby powiązać zdjęcie z produktem spożywczym, musisz najpierw przesłać zdjęcie do lokalizacji profilu swojej firmy.
Aby odzyskać zdjęcia, zadzwoń pod numer accounts.locations.media.list.
Oto przykładowe żądanie:
GET
https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations/{locationId}/media/
Odpowiedź zawiera MediaKey dla każdego obrazu w informacjach o firmie, jak pokazano w tym przykładzie:
{
"mediaItems": [
{
"name": "accounts/{accountId}/locations/{locationId}/media/{mediaKey}",
"mediaFormat": "PHOTO",
"locationAssociation": {
"category": "FOOD_AND_MENU"
},
…
}
Aby powiązać zdjęcie z produktem spożywczym, pobierz jego mediaKey i podaj go w obiekcie FoodMenuItemAttributes. Możesz podać kilka mediaKeys.
Więcej informacji znajdziesz w artykule Przesyłanie i zastępowanie menu.