Atualizar cardápios

Quando você adiciona cardápios à sua ficha, os clientes conhecem as opções que o restaurante oferece e podem consultar mais informações sobre os itens.

Para atualizar os cardápios de uma ficha, primeiro chame accounts.locations.getFoodMenus. Veja a seguir um exemplo de solicitação:

GET
https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations/{locationId}/foodMenus

A resposta contém uma representação JSON do FoodMenus atual da ficha. Modifique o objeto FoodMenus conforme necessário e chame accounts.locations.updateFoodMenus. Para mais informações, consulte Enviar ou substituir cardápios.

Você pode usar a API Google My Business para atualizar os seguintes campos:

Campos
Nome

Obrigatório

Nome do prato, como Hamburger.

Preço

Obrigatório

Preço do prato.

Moeda do preço

Obrigatório

Moeda do preço do prato, como U.S. dollar.

Descrição do item

Opcional

Breve descrição do prato.

Seções do cardápio

Opcional

Grupos lógicos de alimentos, como Breakfast ou Hamburger-Fries combo.

Nutrição

Opcional (recomendado)

Informações nutricionais, como Total Fat=3g.

Número de pessoas servidas

Opcional

Número de pessoas que o prato pode servir.

Tamanho da porção

Opcional

Quantidade do prato que é servida. Por exemplo, 8-piece of nuggets.

Métodos de preparação

Opcional

Métodos específicos que podem ser usados para preparação do prato.

Culinárias

Opcional (recomendado)

A culinária específica do prato.

Nível de picância

Opcional

Nível de picância do prato, como none, mild, medium e hot.

Alérgeno

Opcional (recomendado)

Alérgenos presentes no prato, como dairy, egg, fish, peanut, shellfish, soy, tree nut e wheat.

Restrição alimentar

Opcional (recomendado)

Restrição alimentar do prato, como halal, kosher, organic, vegan, vegetarian e gluten free.

Opções

Opcional

Opções disponíveis para o prato, como yakissoba de chicken x yakissoba veggie.

Foto do prato

Opcional

Foto de um prato específico.

Enviar ou substituir cardápios

Nem todos os locais estão qualificados para enviar cardápios.

Para determinar a qualificação de um local, chame locations.get para verificar Metadata. Se canHaveFoodMenus estiver definido como true, você poderá enviar cardápios.

Caso seu local esteja qualificado, faça uma chamada de PATCH para accounts.locations.updateFoodMenus.

Veja a seguir um exemplo de solicitação que inclui todos os campos opcionais:

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
                               }
                           }
                       }
                   ]
               }
           ]
       }
   ]
}

Associar fotos a um prato

Para associar uma foto a um prato, faça o upload da imagem no local do Perfil da empresa.

Para recuperar as fotos, chame accounts.locations.media.list. Veja a seguir um exemplo de solicitação:

GET
https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations/{locationId}/media/

A resposta contém MediaKey para cada imagem na ficha da empresa, conforme mostrado no exemplo a seguir:

{
 "mediaItems": [
   {
     "name": "accounts/{accountId}/locations/{locationId}/media/{mediaKey}",
     "mediaFormat": "PHOTO",
     "locationAssociation": {
       "category": "FOOD_AND_MENU"
     },
 …
}

Para associar uma foto a um prato, ache a mediaKey da foto e informe-a no objeto FoodMenuItemAttributes. Você pode fornecer várias mediaKeys. Para mais informações, consulte Enviar ou substituir cardápios.