Cập nhật thực đơn món ăn

Khi bạn thêm Thực đơn vào trang thông tin, khách hàng sẽ biết các lựa chọn trong thực đơn của nhà hàng và có thể xem thêm thông tin về các món trong thực đơn.

Để cập nhật Thực đơn của một trang thông tin, trước tiên, hãy gọi accounts.locations.getFoodMenus. Sau đây là ví dụ về yêu cầu:

GET
https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations/{locationId}/foodMenus

Phản hồi này chứa một tệp JSON thể hiện FoodMenus hiện tại của trang thông tin. Sửa đổi đối tượng FoodMenus nếu cần và gọi accounts.locations.updateFoodMenus. Để biết thêm thông tin, hãy xem phần Tải lên hoặc thay thế Trình đơn đồ ăn.

Bạn có thể sử dụng API Google Doanh nghiệp của tôi để cập nhật các trường sau:

Trường
Tên

Bắt buộc

Tên của món ăn, chẳng hạn như Hamburger.

Giá

Bắt buộc

Giá của món ăn.

Đơn vị tiền tệ của giá

Bắt buộc

Đơn vị tiền tệ của giá mặt hàng thực phẩm, chẳng hạn như U.S. dollar.

Mô tả mặt hàng

Không bắt buộc

Nội dung mô tả ngắn về món ăn.

Các mục trong trình đơn

Không bắt buộc

Các nhóm logic của các món ăn, chẳng hạn như Breakfast hoặc Hamburger-Fries combo.

Dinh dưỡng

Không bắt buộc (nên sử dụng)

Thông tin dinh dưỡng, chẳng hạn như Total Fat=3g.

Số người cần phân phát

Không bắt buộc

Số người mà món ăn có thể phục vụ.

Kích thước khẩu phần

Không bắt buộc

Số lượng món ăn. Ví dụ: 8-piece of nuggets.

Phương thức chuẩn bị

Không bắt buộc

Các phương pháp cụ thể để chế biến món ăn.

Món ăn

Không bắt buộc (nên sử dụng)

Phong cách ẩm thực cụ thể của món ăn.

Độ cay

Không bắt buộc

Độ cay của món ăn, chẳng hạn như none, mild, mediumhot.

Chất gây dị ứng

Không bắt buộc (nên sử dụng)

Thành phần gây dị ứng thực phẩm trong món ăn, chẳng hạn như dairy, egg, fish, peanut, shellfish, soy, tree nutwheat.

Chế độ ăn uống

Không bắt buộc (nên sử dụng)

Hạn chế về chế độ ăn uống của món ăn, chẳng hạn như halal, kosher, organic, vegan, vegetariangluten free.

Tùy chọn

Không bắt buộc

Loại món ăn, chẳng hạn như chicken Pad Thái so với veggie Pad Thái.

Ảnh món ăn

Không bắt buộc

Ảnh chụp món ăn cụ thể.

Tải lên hoặc thay thế Thực đơn

Không phải địa điểm nào cũng đủ điều kiện để tải Trình đơn đồ ăn lên.

Để xác định một vị trí có đủ điều kiện hay không, hãy gọi locations.get để kiểm tra Metadata. Nếu canHaveFoodMenus được đặt thành true, bạn đủ điều kiện để tải Trình đơn đồ ăn lên.

Nếu vị trí của bạn đủ điều kiện, hãy thực hiện lệnh gọi PATCH đến accounts.locations.updateFoodMenus.

Sau đây là một yêu cầu mẫu bao gồm tất cả các trường không bắt buộc:

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
                               }
                           }
                       }
                   ]
               }
           ]
       }
   ]
}

Liên kết ảnh với món ăn

Để liên kết ảnh với một món ăn, trước tiên, bạn phải tải ảnh lên vị trí trên Trang doanh nghiệp của mình.

Để truy xuất ảnh, hãy gọi accounts.locations.media.list. Sau đây là ví dụ về yêu cầu:

GET
https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations/{locationId}/media/

Nội dung phản hồi chứa MediaKey cho mỗi hình ảnh trên trang thông tin, như minh hoạ trong ví dụ sau:

{
 "mediaItems": [
   {
     "name": "accounts/{accountId}/locations/{locationId}/media/{mediaKey}",
     "mediaFormat": "PHOTO",
     "locationAssociation": {
       "category": "FOOD_AND_MENU"
     },
 …
}

Để liên kết một bức ảnh với một món ăn, hãy lấy mediaKey của bức ảnh và cung cấp trong đối tượng FoodMenuItemAttributes. Bạn có thể cung cấp nhiều mediaKeys. Để biết thêm thông tin, hãy xem phần Tải lên hoặc thay thế Trình đơn đồ ăn.