Как управлять изменениями, внесенными Google

Google следит за тем, чтобы в профилях компаний всегда были указаны точные сведения. Для этого используются разные источники информации, например сообщения пользователей и лицензированный контент. Если данные, предоставленные владельцами компании, окажутся неточными, они получат уведомления об этом. Предложенные изменения можно принять или отклонить.

Интерфейс My Business Business Information API позволяет владельцам компаний просматривать изменения и публиковать только правильную информацию. Из этого руководства вы узнаете, как принять или отклонить изменения.

Выполните следующие действия:

  1. Найдите адреса с предлагаемыми изменениями
  2. Ознакомьтесь с обновленными данными
  3. Примите или отклоните изменения
  4. Проверьте результаты

Найдите адреса с предлагаемыми изменениями

Прежде чем принимать или отклонять изменения, узнайте, для каких адресов доступно решение Google Updates. Лучший способ подписаться на такие уведомления – настроить уведомления в реальном времени в сервисе Cloud Pub/Sub. Если вы получили уведомление GOOGLE_UPDATE в теме Pub/Sub, это означает, что кто-то предложил изменение и вы можете его проверить. В поле locationName этого уведомления указано название ресурса для адреса в Google Updates.

Вы также можете увидеть вызов locations.get и проверить, есть ли в элементе Metadata пометка hasGoogleUpdated. Если пометка "isGoogleUpdated": true есть, то для идентификатора адреса, связанного с местоположением, получены обновления.

Запрос

Пример запроса locations.get:

HTTP
GET
https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}

Запрос

Пример ответа locations.get:

{
  "name": "locations/{locationId}",
  "title": "Test Business",
  "phoneNumbers": {
      "primaryPhone": "02 9374 4000"
   },
  ...
  "metadata": {
    "hasGoogleUpdated": true,
    ...
  }
  ...
}

Проверьте данные в полях обновления

Чтобы проверить данные в конкретных полях, выполните запрос locations.getGoogleUpdated. В теле ответа будет элемент diffMask, где перечислены все поля с обновлениями.

Запрос

Пример запроса locations.getGoogleUpdated:

HTTP
GET
https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}:googleUpdated

Ответ

Ниже вы видите пример ответа locations.getGoogleUpdated. В нем указано обновление для поля phoneNumbers.primaryPhone. Значение в этом ответе представляет собой предлагаемые новые данные:

{
  "location": {
    "name": "locations/{locationId}",
    "locationName": "Test Business",
    "phoneNumbers": {
      "primaryPhone": "+1 111 111 1111"
     },
    ...
  },
  "diffMask": "phoneNumbers.primaryPhone"
}

Примите или отклоните изменения

Чтобы принять или отклонить изменения, воспользуйтесь методом locations.patch, указав в полях updateMask те значения, которые присутствуют в ранее полученном элементе diffMask. Укажите желаемые значения для каждого поля.

Как принять запрос

Пример запроса locations.patch:

HTTP
PATCH
https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}?updateMask=phoneNumbers.primaryPhone
{
    "phoneNumbers": {
      "primaryPhone": "+1 111 111 1111"
     },
}

Ответ

Пример ответа locations.patch:

{
    "name": "locations/{locationId}",
    "locationName": "Test Business",
    "phoneNumbers": {
      "primaryPhone": "+1 111 111 1111"
     },
    ...
}

Как отклонить запрос

Пример запроса locations.patch:

HTTP
PATCH
https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}?updateMask=phoneNumbers.primaryPhone
{
    "name": "locations/{locationId}",
    "locationName": "Test Business",
    "phoneNumbers": {
      "primaryPhone": "222 222 2222"
     },
    ...
}

Ответ

Пример ответа locations.patch:

{
    "name": "locations/{locationId}",
    "locationName": "Test Business",
    "phoneNumbers": {
      "primaryPhone": "222 222 2222"
     },
    ...
}

Проверьте результаты

Если данные о местоположении успешно обновлены, в поле diffMask ответа locations.getGoogleUpdated будут те же значения, что и в элементе "diffMask": "". Метка "hasGoogleUpdated" в Metadata будет содержать значение false или для нее вообще не будет указано значение.

Если значения полей непонятны, обратитесь в службу поддержки, указав запрос и ответ для getGoogleUpdated. Ответ необходимо указать в запросе перед вызовом locations.patch и getGoogleUpdated, а также вызовом для исправления.