Actualizar menús de comidas

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

Para actualizar los menús de comida de una ficha, primero llama a accounts.locations.getFoodMenus. La siguiente es 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 llama a accounts.locations.updateFoodMenus. Para obtener más información, consulta Cómo subir o reemplazar menús de alimentos.

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

Campos
Nombre

Obligatorio

Nombre del alimento, como Hamburger.

Precio

Obligatorio

Es el precio del alimento.

Moneda del precio

Obligatorio

Es la moneda del precio del artículo de comida, como U.S. dollar.

Descripción del artículo

Opcional

Breve descripción del alimento.

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.

Cantidad de personas que se publicarán

Opcional

La cantidad de personas que 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)

Indica la cocina específica del producto.

Picante

Opcional

El picante del producto, como none, mild, medium y hot

Alérgeno

Opcional (recomendado)

Alérgenos alimenticios en un alimento, como dairy, egg, fish, peanut, shellfish, soy, tree nut y wheat.

Preferencias alimentarias

Opcional (recomendado)

Restricción alimentaria del alimento, como halal, kosher, organic, vegan, vegetarian y gluten free.

Opciones

Opcional

El tipo de opción de comida, como chicken Pad Thai frente a veggie Pad Thai.

Foto del alimento

Opcional

Foto del alimento específico.

Cargar o reemplazar menús de alimentos

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

Para determinar la elegibilidad de una ubicación, llama a locations.get para verificar la Metadata. Si canHaveFoodMenus se configura como true, cumples con los requisitos para subir menús de comida.

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

La siguiente es 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
                               }
                           }
                       }
                   ]
               }
           ]
       }
   ]
}

Asocia fotos con un artículo de comida

Para asociar una foto con un artículo de comida, primero debes subir la foto a la ubicación de tu Perfil de Negocio.

Para recuperar las fotos, llama a accounts.locations.media.list. La siguiente es una solicitud de ejemplo:

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

La respuesta contiene el MediaKey de cada imagen en 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 plato 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 alimentos.