Aktualizowanie menu z jedzeniem

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

logiczne grupy produktów spożywczych, np. Breakfast lub Hamburger-Fries combo.;

Odżywianie

Opcjonalny (zalecany)

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

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

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

Alergen

Opcjonalny (zalecany)

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

Preferencje żywieniowe

Opcjonalny (zalecany)

Wymagania żywieniowe dotyczące produktu spożywczego, np. halal, kosher, organic, vegan, vegetarian, gluten free i dairy free.

Opcje

Opcjonalny

Typ opcji jedzenia, np. chicken Pad Thai a veggie Pad Thai.

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.