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

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

כדי לעדכן את תפריטי האוכל של כרטיס עסק, קודם צריך להפעיל את הפונקציה 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.

תיאור הפריט

אופציונלי

תיאור קצר של פריט המזון.

קטעים בתפריט

אופציונלי

קבוצות לוגיות של פריטים מתחום המזון, כמו 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. מידע נוסף זמין במאמר העלאה או החלפה של תפריטי מזון.