Actualizar menús de comida

Si añades menús de comida a tu ficha, los clientes sabrán lo que ofreces en tu restaurante y podrán obtener información adicional sobre esos platos.

Para actualizar los menús de comida de una ficha, primero haz una llamada a accounts.locations.getFoodMenus. Aquí tienes una solicitud de ejemplo:

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

La respuesta contiene una representación JSON del objeto FoodMenus actual de la ficha. Modifica el objeto FoodMenus según sea necesario y haz una llamada a accounts.locations.updateFoodMenus. Para obtener más información, consulta Subir o sustituir menús de comida.

Puedes usar la API de Google My Business para actualizar los siguientes campos:

Campos
Nombre

Obligatorio

Nombre del plato, como Hamburger.

Precio

Obligatorio

Precio del plato.

Moneda del precio

Obligatorio

Moneda del precio del plato, como U.S. dollar.

Descripción del artículo

Opcional

Breve descripción del plato.

Secciones del menú

Opcional

Grupos lógicos de alimentos, como Breakfast o Hamburger-Fries combo..

Nutrición

Opcional (recomendado)

Información nutricional, como Total Fat=3g.

Número de comensales del plato

Opcional

Número de comensales para el que está pensado el plato.

Tamaño de las porciones

Opcional

Cantidad que incluye el plato, como 8-piece of nuggets.

Métodos de preparación

Opcional

Métodos concretos de preparar el plato.

Tipo de cocina

Opcional (recomendado)

Tipo de cocina al que pertenece el plato.

Nivel de picante

Opcional

Nivel de picante del plato, como none, mild, medium y hot.

Alérgenos

Opcional (recomendado)

Alérgenos que contiene el plato, como dairy, egg, fish, peanut, shellfish, soy, tree nut y wheat.

Restricciones alimentarias

Opcional (recomendado)

Restricciones alimentarias asociadas al plato, como halal, kosher, organic, vegan, vegetarian y gluten free.

Opciones

Opcional

Opciones en las que está disponible el plato, como Pad Thai (chicken) y Pad Thai (veggie).

Foto del plato

Opcional

Foto del plato en cuestión.

Subir o sustituir menús de comida

No todas las ubicaciones pueden subir menús de comida.

Para determinar si una ubicación es apta, haz una llamada a locations.get para consultar Metadata. Si canHaveFoodMenus tiene asignado el valor true, puedes subir menús de comida.

Si tu ubicación es apta, haz una llamada PATCH a accounts.locations.updateFoodMenus.

A continuación se muestra una solicitud de ejemplo que incluye todos los campos opcionales:

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

Asociar fotos a un plato

Para asociar una foto a un plato, primero debes subir la foto a tu ubicación de Perfil de Empresa.

Para obtener las fotos, haz una llamada a accounts.locations.media.list. Aquí tienes una solicitud de ejemplo:

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

La respuesta contiene el objeto MediaKey de cada imagen de la ficha, como se muestra en el siguiente ejemplo:

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

Para asociar una foto a un plato, obtén el objeto mediaKey de la foto e inclúyelo en el objeto FoodMenuItemAttributes. Puedes incluir varios objetos mediaKeys. Para obtener más información, consulta Subir o sustituir menús de comida.