Si añades menús de comida a tu ficha, los clientes sabrán lo que ofreces en tu restaurante y podrán obtener información adicional sobre esos platos.
Para actualizar los menús de comida de una ficha, primero haz una llamada a accounts.locations.getFoodMenus.
Aquí tienes 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 haz una llamada a accounts.locations.updateFoodMenus.
Para obtener más información, consulta Subir o sustituir menús de comida.
Puedes usar la API de Google My Business para actualizar los siguientes campos:
| Campos | |
|---|---|
| Nombre | Obligatorio Nombre del plato, como |
| Precio | Obligatorio Precio del plato. |
| Moneda del precio | Obligatorio Moneda del precio del plato, como |
| Descripción del artículo | Opcional Breve descripción del plato. |
| Secciones del menú | Opcional Grupos lógicos de alimentos, como |
| Nutrición | Opcional (recomendado) Información nutricional, como |
| Número de comensales del plato | Opcional Número de comensales para el que está pensado el plato. |
| Tamaño de las porciones | Opcional Cantidad que incluye el plato, como |
| Métodos de preparación | Opcional Métodos concretos de preparar el plato. |
| Tipo de cocina | Opcional (recomendado) Tipo de cocina al que pertenece el plato. |
| Nivel de picante | Opcional Nivel de picante del plato, como |
| Alérgenos | Opcional (recomendado) Alérgenos que contiene el plato, como |
| Restricciones alimentarias | Opcional (recomendado) Restricciones alimentarias asociadas al plato, como |
| Opciones | Opcional Opciones en las que está disponible el plato, como Pad Thai ( |
| Foto del plato | Opcional Foto del plato en cuestión. |
Subir o sustituir menús de comida
No todas las ubicaciones pueden subir menús de comida.
Para determinar si una ubicación es apta, haz una llamada a locations.get para consultar Metadata.
Si canHaveFoodMenus tiene asignado el valor true, puedes subir menús de comida.
Si tu ubicación es apta, haz una llamada PATCH a accounts.locations.updateFoodMenus.
A continuación se muestra 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
}
}
}
]
}
]
}
]
}
Asociar fotos a un plato
Para asociar una foto a un plato, primero debes subir la foto a tu ubicación de Perfil de Empresa.
Para obtener las fotos, haz una llamada a accounts.locations.media.list.
Aquí tienes una solicitud de ejemplo:
GET
https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations/{locationId}/media/
La respuesta contiene el objeto 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 a un plato, obtén el objeto mediaKey de la foto e inclúyelo en el objeto FoodMenuItemAttributes. Puedes incluir varios objetos mediaKeys.
Para obtener más información, consulta Subir o sustituir menús de comida.