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.