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 |
| Precio | Obligatorio Es el precio del alimento. |
| Moneda del precio | Obligatorio Es la moneda del precio del alimento, como |
| Descripción del elemento | Opcional Es una breve descripción del alimento. |
| Secciones del menú | Opcional Grupos lógicos de alimentos, como |
| Nutrición | Opcional (recomendado) Información nutricional, como |
| 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, |
| 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 |
| Alérgeno | Opcional (recomendado) Alérgenos alimentarios en el alimento, como |
| Preferencias alimentarias | Opcional (recomendado) Restricción dietética del alimento, como |
| Opciones | Opcional El tipo de opción de comida, como |
| 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.