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.