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

Khi bạn thêm Thực đơn đồ ăn vào trang thông tin của mình, khách hàng sẽ biết các lựa chọn trong thực đơn của nhà hàng và họ có thể xem thêm thông tin về các món ă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 biểu thị JSON về 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 bài viết Tải lên hoặc thay thế thực đơn món ăn.

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

Trường
Tên

Bắt buộc

Tên của mặt hàng thực phẩm, chẳng hạn như Hamburger.

Giá

Bắt buộc

Giá của mặt hàng thực phẩm.

Đơ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 gọn về mặt hàng thực phẩm.

Các phần trong trình đơn

Không bắt buộc

Các nhóm logic của mặt hàng thực phẩm, chẳng hạn như Breakfast hoặc Hamburger-Fries combo.

Dinh dưỡng

Không bắt buộc (nên dùng)

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

Số người cần phục vụ

Không bắt buộc

Số người mà mặt hàng thực phẩm có thể phục vụ.

Khẩu phần

Không bắt buộc

Số lượng của mặt hàng thực phẩm. Ví dụ: 8-piece of nuggets.

Phương pháp chuẩn bị

Không bắt buộc

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

Món ăn

Không bắt buộc (nên dùng)

Món ăn cụ thể của mặt hàng thực phẩm.

Độ cay

Không bắt buộc

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

Chất gây dị ứng

Không bắt buộc (nên dùng)

Chất gây dị ứng thực phẩm trong mặt hàng thực phẩm, chẳng hạn như dairy, egg, fish, peanut, shellfish, soy, tree nut và wheat.

Chế độ ăn uống

Không bắt buộc (nên dùng)

Quy định hạn chế về chế độ ăn của mặt hàng thực phẩm, chẳng hạn như halal, kosher, organic, vegan, vegetarian, gluten free và dairy free.

Tùy chọn

Không bắt buộc

Loại lựa chọn về đồ ăn, chẳng hạn như chicken Pad Thái so với veggie Pad Thái.

Ảnh đồ ăn

Không bắt buộc

Ảnh về 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 Thực đơn lên.

Để xác định xem một vị trí có đủ điều kiện hay không, hãy gọi locations.get để kiểm tra Metadata. Nếu bạn đặt canHaveFoodMenus thành true, bạn đủ điều kiện tải Thực đơ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à ví dụ về yêu cầ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ột 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í của Trang doanh nghiệp.

Để 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/

Phản hồi chứa MediaKey cho từng hình ảnh trong 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 ảnh với một món ăn, hãy lấy mediaKey của ảnh và cung cấp ảnh đó 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 bài viết Tải lên hoặc thay thế thực đơn món ăn.