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 elementos del menú.

Para actualizar los menús de comida de una ficha, primero llama a accounts.locations.getFoodMenus. El siguiente es 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 Mi Negocio para actualizar los siguientes campos:

Campos
Nombre

Obligatorio

Es el nombre del alimento, como Hamburger.

Precio

Obligatorio

Es el precio del alimento.

Moneda del precio

Obligatorio

Es la moneda del precio del alimento, como U.S. dollar.

Descripción del elemento

Opcional

Es una 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 a las que se les debe publicar contenido

Opcional

Es la 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 en los que se puede preparar el alimento.

Gastronomía

Opcional (recomendado)

Es la cocina específica del alimento.

Picante

Opcional

El nivel de picante del alimento, como none, mild, medium y hot

Alérgeno

Opcional (recomendado)

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

Preferencias alimentarias

Opcional (recomendado)

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

Opciones

Opcional

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

Foto del alimento

Opcional

Es una foto del alimento específico.

Sube o reemplaza menús de comida

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 el objeto Metadata. Si canHaveFoodMenus está configurado como true, puedes subir menús de comida.

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

El siguiente es un ejemplo de 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 con un alimento

Para asociar una foto con un alimento, primero debes subirla 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 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 alimento, obtén el mediaKey de la foto y proporciónalo en el objeto FoodMenuItemAttributes. Puedes proporcionar varias mediaKeys. Para obtener más información, consulta Cómo subir o reemplazar menús de comida.