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.