עדכון תפריטי אוכל

כשמוסיפים לדף העסקי תפריטי אוכל, הלקוחות יודעים אילו אפשרויות בתפריט הם יכולים לקבל, והם יכולים לקבל מידע נוסף על האפשרויות בתפריט.

כדי לעדכן את תפריטי האוכל של דף עסקי מסוים, מתקשרים אל accounts.locations.getFoodMenus. בקשה לדוגמה:

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

התגובה מכילה ייצוג JSON של FoodMenus הנוכחי בדף האפליקציה. משנים את האובייקט FoodMenus לפי הצורך וקוראים לפונקציה accounts.locations.updateFoodMenus. מידע נוסף זמין במאמר העלאה או החלפה של תפריטי אוכל.

אפשר להשתמש ב-Google My Business API כדי לעדכן את השדות הבאים:

שדות
שם

חובה

שם פריט האוכל, למשל Hamburger.

מחיר

חובה

המחיר של פריט האוכל.

המטבע של המחיר

חובה

מטבע המחיר של פריט האוכל, כגון U.S. dollar.

Item description

אופציונלי

תיאור קצר של פריט האוכל.

קטעים בתפריט

אופציונלי

קבוצות לוגיות של פריטי מזון, כמו Breakfast או Hamburger-Fries combo.

תזונה

אופציונלי (מומלץ)

מידע תזונתי, כגון Total Fat=3g.

מספר האנשים שיש לשרת

אופציונלי

מספר האנשים שפריט האוכל יכול לשרת.

גודל החלק

אופציונלי

כמות פריטי האוכל. לדוגמה, 8-piece of nuggets.

שיטות הכנה

אופציונלי

שיטות ספציפיות שבהן אפשר להכין את פריט האוכל.

סגנונות בישול

אופציונלי (מומלץ)

סוג המטבח הספציפי של פריט האוכל.

חריפות

אופציונלי

מידת החריפות של פריט האוכל, למשל none, mild, medium ו-hot.

אלרגן

אופציונלי (מומלץ)

אלרגנים בפריט המזון, כמו dairy, egg, fish, peanut, shellfish, soy, tree nut ו-wheat.

העדפות תזונתיות

אופציונלי (מומלץ)

הגבלות תזונתיות של פריט המזון, למשל halal, kosher, organic, vegan, vegetarian ו-gluten free.

אפשרויות

אופציונלי

הסוג של אפשרות האוכל, למשל chicken פאד תאילנדי לעומת veggie פאד תאי.

תמונה של פריט האוכל

אופציונלי

תמונה של פריט האוכל הספציפי.

העלאה או החלפה של תפריטי מזון

לא כל המיקומים עומדים בדרישות להעלאת תפריטי אוכל.

כדי לבדוק אם מיקום מסוים עומד בדרישות, צריך להפעיל את הפקודה locations.get כדי לבדוק את Metadata. אם המדיניות canHaveFoodMenus מוגדרת לערך true, אפשר להעלות תפריטי אוכל.

אם המיקום שלכם עומד בדרישות, תוכלו לבצע שיחה PATCH אל accounts.locations.updateFoodMenus.

לפניכם בקשה לדוגמה שכוללת את כל השדות האופציונליים:

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

שיוך תמונות לפריט אוכל

כדי לשייך תמונה לפריט אוכל, קודם צריך להעלות את התמונה למיקום בפרופיל העסק.

כדי לאחזר את התמונות, מתקשרים למספר accounts.locations.media.list. בקשה לדוגמה:

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

התשובה מכילה את MediaKey לכל תמונה בדף האפליקציה, כפי שמוצג בדוגמה הבאה:

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

כדי לשייך תמונה לפריט אוכל, צריך להשיג את mediaKey של התמונה ולספק אותו באובייקט FoodMenuItemAttributes. ניתן לספק כמה סוגים של mediaKeys. מידע נוסף זמין במאמר העלאה או החלפה של תפריטי אוכל.