Lorsque vous ajoutez des menus à votre fiche, les clients peuvent découvrir les choix disponibles dans votre restaurant, et obtenir des informations supplémentaires sur les boissons et plats proposés.
Pour mettre à jour les menus d'une fiche, commencez par appeler accounts.locations.getFoodMenus
.
Voici un exemple de requête :
GET
https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations/{locationId}/foodMenus
La réponse contient une représentation JSON de l'objet FoodMenus
actuel de la fiche. Modifiez l'objet FoodMenus
selon vos besoins et appelez accounts.locations.updateFoodMenus
.
Pour en savoir plus, consultez Mettre en ligne ou remplacer des menus.
Vous pouvez utiliser l'API Google My Business pour modifier les champs suivants :
Champs | |
---|---|
Nom | Obligatoire Nom du plat (par exemple, |
Prix | Obligatoire Prix du plat |
Devise du prix | Obligatoire Devise du prix du plat (par exemple, |
Description du plat | Facultatif Brève description du plat |
Sections de menu | Facultatif Groupes logiques de plats (par exemple, |
Valeurs nutritionnelles | Facultatif (recommandé) Valeurs nutritionnelles ( |
Nombre de parts | Facultatif Nombre de personnes pouvant consommer le plat |
Taille de la portion | Facultatif Mesure quantitative du plat ( |
Méthodes de préparation | Facultatif Méthodes spécifiques selon lesquelles le plat peut être préparé |
Types de cuisine | Facultatif (recommandé) Type de cuisine spécifique du plat |
Caractère épicé | Facultatif Caractère épicé du plat (par exemple, |
Allergènes | Facultatif (recommandé) Allergènes alimentaires dans le plat (par exemple, |
Régime alimentaire | Facultatif (recommandé) Restrictions alimentaires du plat (par exemple, |
Options | Facultatif Options proposées pour un plat spécifique (par exemple, "pad thai |
Photo du plat | Facultatif Photo du plat |
Mettre en ligne ou remplacer des menus
Les établissements ne peuvent pas tous mettre des menus en ligne.
Pour déterminer si un établissement est éligible, appelez locations.get
afin de vérifier les Metadata
.
Si canHaveFoodMenus
est défini sur true
, vous pouvez mettre des menus en ligne.
Si votre établissement est éligible, effectuez un appel PATCH
à accounts.locations.updateFoodMenus
.
Voici un exemple de requête qui comprend tous les champs facultatifs :
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
}
}
}
]
}
]
}
]
}
Associer des photos à un plat
Pour associer une photo à un plat, vous devez d'abord mettre en ligne la photo sur la fiche de votre établissement.
Pour récupérer les photos, appelez accounts.locations.media.list
.
Voici un exemple de requête :
GET
https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations/{locationId}/media/
La réponse contient la MediaKey
de chaque image de la fiche, comme dans l'exemple suivant :
{
"mediaItems": [
{
"name": "accounts/{accountId}/locations/{locationId}/media/{mediaKey}",
"mediaFormat": "PHOTO",
"locationAssociation": {
"category": "FOOD_AND_MENU"
},
…
}
Pour associer une photo à un plat, récupérez la mediaKey
de la photo et fournissez-la dans l'objet FoodMenuItemAttributes
. Vous pouvez fournir plusieurs mediaKeys
.
Pour en savoir plus, consultez Mettre en ligne ou remplacer des menus.