Cập nhật thực đơn

Khi bạn đã thêm Thực đơn mó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 về thực đơn của nhà hàng và có thể nhận thêm thông tin về các món trong thực đơn.

Để cập nhật Trình đơn món ăn của một trang thông tin, trước tiên, hãy gọi accounts.locations.getFoodMenus. Sau đây là một yêu cầu mẫu:

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

Phản hồi này chứa một bản trình bày JSON cho 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ế thực đơ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:

Các 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 gọn về món ăn.

Các mục trong thực đơn

Không bắt buộc

Các nhóm logic của các món 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 để phục vụ

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 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à có thể chế biến món ăn.

Ẩm thực

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

Đặc trưng của món ăn đó.

Nóng

Không bắt buộc

Độ cay của các món thực phẩm, chẳng hạn như none, mild, mediumhot.

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 các loại thực phẩm, 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 dùng)

Chế độ ăn hạn chế 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 lựa chọn về món ăn, chẳng hạn như chicken Pad Thái so với veggie Pad Thái.

Ảnh về món ăn

Không bắt buộc

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

Tải lên hoặc thay thế thực đơn món ăn

Không phải địa điểm nào cũng đủ điều kiện tải thực đơn món ăn lên.

Để xác định tính đủ điều kiện của một vị trí, hãy gọi locations.get để kiểm tra Metadata. Nếu đặt canHaveFoodMenus thành true, bạn sẽ đủ đ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à 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ộ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í trên Trang doanh nghiệp.

Để truy xuất ảnh, hãy gọi accounts.locations.media.list. Sau đây là một yêu cầu mẫ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 trên trang thông tin, như 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 rồi cung cấp ảnh đó vào đố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ế thực đơn đồ ăn.