Atenção: a v4.7 da API foi lançada. Consulte o registro de alterações. As postagens relacionadas à COVID-19 ainda estão permitidas temporariamente para redes.

Gerenciar as notificações em tempo real

Na API Google My Business, as notificações são publicadas no serviço Cloud Pub/Sub. Depois de configurar o Cloud Pub/Sub e criar um tópico, é possível realizar as seguintes operações nas notificações:

São compatíveis: avaliações novas ou atualizadas, perguntas e respostas, uploads de mídia, atualizações do Google para revisão, alterações do status do local e muito mais. O objeto NotificationType lista e descreve os tipos de notificação disponíveis.

Antes de começar

Para usar a API Google My Business, registre seu aplicativo e receba as credenciais do OAuth 2.0. Veja detalhes para começar a usar a API em Configuração básica.

Configuração do Cloud Pub/Sub

Para configurar as notificações da API Google My Business com o Cloud Pub/Sub, siga estas instruções:

  1. Veja o guia do Cloud Pub/Sub para configurar seu aplicativo.
  2. Crie um tópico no projeto do Cloud Pub/Sub e anote o nome atribuído a ele.
  3. Conceda pelo menos as permissões pubsub.topics.publish a mybusiness-api-pubsub@system.gserviceaccount.com.
  4. Siga o guia Visão geral do assinante para configurar as notificações push ou pull.
  5. Para receber notificações, chame o endpoint accounts.updateNotifications na API Google My Business. Na chamada, use o nome do tópico que você criou no Cloud Pub/Sub para vincular sua conta do Google Meu Negócio a ele.
  6. (Opcional) Repita a etapa 5 para cada conta do Google Meu Negócio em que você quer receber notificações.

Recuperar as configurações de notificação

O endpoint accounts.getNotifications retorna as configurações de notificação atuais do Cloud Pub/Sub de uma conta. A tabela a seguir mostra como chamá-lo em HTTP e Java:

HTTP
GET
https://mybusiness.googleapis.com/v4/accounts/{accountId}/notifications
Java

A função a seguir usa Mybusiness.Accounts.getNotifications para retornar os dados de notificação das contas.

/**
 * Demonstrates getting notification data.
 * @param name The name (account/`account_id`/notifications) for the notification to retrieve.
 * @return response The notification data.
 */
private static GetNotifications getNotifications(String name) throws Exception {
  Mybusiness.Accounts.getNotifications sub =

mybusiness.accounts().getNotifications(name);
  GetNotifications response = sub.execute();

  return response;
}

Atualizar as configurações de notificação

O endpoint accounts.updateNotifications atualiza as configurações de notificação do Cloud Pub/Sub associadas a uma conta. A tabela a seguir mostra como chamá-lo em HTTP e Java:

HTTP
PUT
https://mybusiness.googleapis.com/v4/accounts/{accountId}/notifications

{
  name: your/pubsub/topicName
}
Java

A função a seguir usa Mybusiness.Accounts.Locations.Reviews.Get.

/**
 * Demonstrates getting a review by name.
 * @param reviewName The name (resource path) of the review to retrieve.
 * @return Account The requested review.
 */
private static Review getReview(String reviewName) throws Exception {
Mybusiness.Accounts.Locations.Reviews.Get review =

mybusiness.accounts().locations().reviews().get(reviewName);
  Review response = review.execute();

  return response;
}

Excluir as configurações de notificação

O endpoint accounts.deleteNotifications exclui as configurações de notificação do Cloud Pub/Sub de uma conta. A tabela a seguir mostra como chamá-lo em HTTP e Java:

HTTP
DELETE
https://mybusiness.googleapis.com/v4/accounts/{accountId}/notifications
Java

A função a seguir usa Mybusiness.Accounts.DeleteNotifications.

/**
 * Demonstrates deleting the Google Cloud Pub/Sub settings.
 * @param notificationName The name (account/`account_id`/notifications) for the notification settings to delete.
 * @return The deleted notification setting.
 */
private static DeleteNotifications deleteNotifications(String notificationName) throws Exception {
  Mybusiness.Accounts.DeleteNotifications toDelete =

mybusiness.accounts().deleteNotifications(notificationName);
  DeleteNotification response = toDelete.execute();

  return response;
}