Actualiza los menús de comida

Cuando agregas Menús de comida a tu ficha, los clientes conocen las opciones del menú de tu restaurante y pueden obtener información adicional sobre los productos del menú.

Para actualizar los menús de comida de una ficha, primero llama a accounts.locations.getFoodMenus. A continuación, se muestra un ejemplo de solicitud:

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

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

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

Campos
Nombre

Obligatorio

Nombre del artículo de comida, como Hamburger.

Precio

Obligatorio

Precio del alimento.

Moneda del precio

Obligatorio

Moneda del precio del artículo de comida, como U.S. dollar.

Descripción del elemento

Opcional

Es una breve descripción del alimento.

Secciones del menú

Opcional

Agrupaciones lógicas de alimentos, como Breakfast o Hamburger-Fries combo.

Nutrición

Opcional (recomendado)

Información nutricional, como Total Fat=3g

Cantidad de personas a las que se les servirá

Opcional

Cantidad de personas a las que se puede servir el alimento.

Tamaño de la porción

Opcional

Cantidad del alimento. Por ejemplo, 8-piece of nuggets.

Métodos de preparación

Opcional

Son los métodos específicos con los que se puede preparar el alimento.

Gastronomía

Opcional (recomendado)

Es la cocina específica del elemento de comida.

Picante

Opcional

Picante del alimento, como none, mild, medium y hot.

Alérgeno

Opcional (recomendado)

Alérgenos alimentarios en el elemento de comida, como dairy, egg, fish, peanut, shellfish, soy, tree nut y wheat.

Preferencias alimentarias

Opcional (recomendado)

Restricción alimentaria del elemento de comida, como halal, kosher, organic, vegan, vegetarian, gluten free y dairy free.

Opciones

Opcional

Es el tipo de opción de comida, como chicken Pad Thai en comparación con veggie Pad Thai.

Foto del alimento

Opcional

Foto del alimento específico.

Cómo subir o reemplazar menús de comida

No todas las ubicaciones son aptas para subir menús de comida.

Para determinar si una ubicación es apta, llama a locations.get para verificar Metadata. Si canHaveFoodMenus está establecido en true, cumples con los requisitos para subir menús de comida.

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

A continuación, se muestra un ejemplo de una solicitud 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
                               }
                           }
                       }
                   ]
               }
           ]
       }
   ]
}

Asocia fotos a un artículo de alimentación

Para asociar una foto con un producto del menú, primero debes subir la foto a la ubicación de tu Perfil de Negocio.

Para recuperar las fotos, llama a accounts.locations.media.list. A continuación, se muestra un ejemplo de solicitud:

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

La respuesta contiene el 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 con un elemento de comida, obtén el mediaKey de la foto y proporciónalo en el objeto FoodMenuItemAttributes. Puedes proporcionar varios mediaKeys. Para obtener más información, consulta Cómo subir o reemplazar menús de comida.