Gdy dodasz do swojej wizytówki menu, klienci będą wiedzieć, jakie dania są dostępne w Twojej restauracji, oraz będą mogli uzyskać dodatkowe informacje o poszczególnych pozycjach menu.
Aby zaktualizować menu dań w karcie, najpierw wybierz accounts.locations.getFoodMenus.
Oto przykładowe żądanie:
GET
https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations/{locationId}/foodMenus
Odpowiedź zawiera reprezentację w formacie JSON bieżącego stanu FoodMenus. W razie potrzeby zmodyfikuj obiekt FoodMenus i wywołaj funkcję accounts.locations.updateFoodMenus.
Więcej informacji znajdziesz w artykule Przesyłanie i zastępowanie menu restauracji.
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 Grupy logiczne produktów spożywczych, takie jak |
| Odżywianie | Opcjonalnie (zalecane) informacje o wartościach odżywczych, np. |
| Liczba osób, którym wyświetlane jest reklama | Opcjonalny Liczba osób, dla których wystarcza dany produkt spożywczy. |
| Rozmiar porcji | Opcjonalny Ilość produktu spożywczego. Na przykład: |
| Metody przygotowania | Opcjonalny Metody, w których można przygotować produkt spożywczy. |
| Kuchnia regionalna | Opcjonalnie (zalecane) Kuchnia, do której należy dany produkt spożywczy. |
| Ostry smak | Opcjonalny Ostre produkty spożywcze, np. |
| Alergeny | Opcjonalnie (zalecane) Alergeny w produkcie spożywczym, takie jak |
| Preferencje żywieniowe | Opcjonalnie (zalecane) Ograniczenia żywieniowe dotyczące produktu, np. |
| Opcje | Opcjonalny Typ opcji żywności, np. |
| Zdjęcie produktu spożywczego | Opcjonalny Zdjęcie konkretnego produktu spożywczego. |
Przesyłanie lub zastępowanie menu restauracji
Nie wszystkie lokalizacje mogą przesyłać menu.
Aby sprawdzić, czy dana lokalizacja spełnia wymagania, zadzwoń pod numer locations.get i poproś o sprawdzenie Metadata.
Jeśli parametr canHaveFoodMenus ma wartość true, możesz przesyłać menu dań.
Jeśli Twoja lokalizacja kwalifikuje się do tego, zadzwoń pod numer PATCH do accounts.locations.updateFoodMenus.
Poniżej znajduje się przykład żądania zawierającego 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ązanie zdjęć z produktami spożywczymi
Aby powiązać zdjęcie z produktem, musisz najpierw przesłać je do lokalizacji w profilu firmy.
Aby pobrać 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 karcie, 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 mediaKey zdjęcia i podaj go w obiekcie FoodMenuItemAttributes. Możesz podać kilka mediaKeys.
Więcej informacji znajdziesz w artykule Przesyłanie i zastępowanie menu restauracji.