Aktualizowanie menu z jedzeniem

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. Hamburger.

Cena

Wymagany

Cena produktu spożywczego.

Waluta ceny

Wymagany

Waluta ceny produktu spożywczego, np. U.S. dollar.

Opis produktu

Opcjonalny

Krótki opis produktu spożywczego.

Sekcje menu

Opcjonalny

Grupy logiczne produktów spożywczych, takie jak Breakfast lub Hamburger-Fries combo.

Odżywianie

Opcjonalnie (zalecane)

informacje o wartościach odżywczych, np. Total Fat=3g;

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:8-piece of nuggets.

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. none, mild, medium i hot.

Alergeny

Opcjonalnie (zalecane)

Alergeny w produkcie spożywczym, takie jak dairy, egg, fish, peanut, shellfish, soy, tree nut i wheat.

Preferencje żywieniowe

Opcjonalnie (zalecane)

Ograniczenia żywieniowe dotyczące produktu, np. halal, kosher, organic, vegan, vegetarian i gluten free.

Opcje

Opcjonalny

Typ opcji żywności, np. chicken Pad Thai versus veggie Pad Thai.

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.