Когда вы обновляете информацию о компании через My Business Business Information API или интерфейс профиля компании, изменения проходят модерацию и проверку, прежде чем появиться в Google Поиске и на Картах. Кроме того, Google может обновлять информацию о компании на основе сообщений пользователей или лицензированных источников данных.
Конечные точки v1alpha Edit Status позволяют получить унифицированное представление адреса или его атрибутов в одном запросе:
- Данные, предоставленные продавцом. Значения, которые продавец отправил последними.
- Данные, доступные пользователям. Значения, которые показываются в Google Поиске и на Картах.
- Расширенные метаданные полей. Статус изменения для каждого поля или атрибута, включая этап жизненного цикла последнего изменения, источник (
APIилиUI), временную метку последнего изменения и причину нарушения правил, если изменение было отклонено.
Подготовка
Прежде чем начинать работу с My Business Business Information API, необходимо зарегистрировать свое приложение и получить учетные данные OAuth 2.0. Подробнее о начале работы читайте в руководстве по базовой настройке.
Как получить расширенные данные о местоположении
Чтобы проверить данные о местоположении, предоставленные продавцом, потребительские данные о местоположении и статус редактирования для каждого поля, вызовите метод locations.getExtended.
В отличие от locations.get, для locations.getExtended не требуется параметр readMask, и возвращается полный ресурс ExtendedLocation.
Запрос
GET https://mybusinessbusinessinformation.googleapis.com/v1alpha/locations/{locationId}:getExtended
Ответ
Ответ содержит три поля верхнего уровня:
locationProvidedByMerchant: данныеLocation, которыми управляет продавец.locationSeenByConsumers– данныеLocation, которые видны пользователям в Google Поиске и на Картах.extendedFieldData– сопоставление названий полейLocationверхнего уровня вsnake_case(например,title,phone_numbers,website_uri,storefront_addressилиregular_hours) с объектамиExtendedFieldData. Ключи всегда являются простыми названиями полей верхнего уровня, а не вложенными подполями.
{
"locationProvidedByMerchant": {
"name": "locations/{locationId}",
"title": "Example Coffee Roasters - Best Coffee in Sydney",
"phoneNumbers": {
"primaryPhone": "02 5550 1234"
},
"websiteUri": "https://www.example.com/"
},
"locationSeenByConsumers": {
"name": "locations/{locationId}",
"title": "Example Coffee Roasters",
"phoneNumbers": {
"primaryPhone": "+61 2 5550 1234"
},
"websiteUri": "https://www.example.com/"
},
"extendedFieldData": {
"title": {
"lastEditLifecycleStage": "EDIT_LIFECYCLE_STAGE_REJECTED",
"rejectionReason": "MISREPRESENTATION",
"updateTime": "2026-09-25T08:00:00Z",
"source": "SOURCE_API"
},
"phone_numbers": {
"lastEditLifecycleStage": "EDIT_LIFECYCLE_STAGE_UPDATED_BY_GOOGLE",
"updateTime": "2026-09-20T14:15:00Z",
"source": "SOURCE_UI"
},
"website_uri": {
"lastEditLifecycleStage": "EDIT_LIFECYCLE_STAGE_ACCEPTED",
"updateTime": "2026-09-15T10:30:00Z",
"source": "SOURCE_API"
}
}
}Получение данных расширенных атрибутов
Чтобы проверить значения, предоставленные продавцом, значения, видимые потребителям, и статус изменения атрибутов адреса, вызовите метод locations.attributes.getExtended.
Запрос
GET https://mybusinessbusinessinformation.googleapis.com/v1alpha/locations/{locationId}/attributes:getExtended
Ответ
В ответе возвращается ресурс ExtendedAttributes, содержащий список записей ExtendedAttribute. Каждая запись сопоставляет attributeProvidedByMerchant и attributeSeenByConsumers с объектом extendedFieldData для этого атрибута:
{ "name": "locations/{locationId}/attributes", "extendedAttributes": [ { "attributeProvidedByMerchant": { "name": "attributes/has_wheelchair_accessible_entrance", "valueType": "BOOL", "values": [ true ] }, "attributeSeenByConsumers": { "name": "attributes/has_wheelchair_accessible_entrance", "valueType": "BOOL", "values": [ true ] }, "extendedFieldData": { "lastEditLifecycleStage": "EDIT_LIFECYCLE_STAGE_ACCEPTED", "updateTime": "2026-09-10T12:00:00Z", "source": "SOURCE_API" } }, { "attributeProvidedByMerchant": { "name": "attributes/wi_fi", "valueType": "ENUM", "values": [ "free_wi_fi" ] }, "attributeSeenByConsumers": { "name": "attributes/wi_fi", "valueType": "ENUM", "values": [ "paid_wi_fi" ] }, "extendedFieldData": { "lastEditLifecycleStage": "EDIT_LIFECYCLE_STAGE_PENDING", "updateTime": "2026-09-28T16:45:00Z", "source": "SOURCE_API" } } ] }
Метаданные расширенных полей
Каждый объект ExtendedFieldData содержит следующие поля:
| Поле | Тип | Описание |
|---|---|---|
lastEditLifecycleStage |
EditLifecycleStage |
Статус модерации или показа последнего изменения этого поля или атрибута. |
rejectionReason |
PolicyViolation |
Нарушение правил, из-за которого изменение было отклонено. Заполняется, если lastEditLifecycleStage – EDIT_LIFECYCLE_STAGE_REJECTED. |
updateTime |
string (Timestamp) |
Временная метка последнего изменения этого поля или атрибута (в формате RFC 3339). |
source |
Source |
Платформа, на которой продавец отправил изменение (SOURCE_API или SOURCE_UI). |
Изменить этапы жизненного цикла
Перечисление EditLifecycleStage указывает, на каком этапе жизненного цикла находится изменение:
| Значение | Описание | Рекомендуемые действия |
|---|---|---|
EDIT_LIFECYCLE_STAGE_ACCEPTED |
Изменение, внесенное продавцом, одобрено и может быть показано. | Вам не нужно выполнять никаких действий. |
EDIT_LIFECYCLE_STAGE_PENDING |
Изменение, внесенное продавцом, находится на рассмотрении и не применено к потребительской информации о товаре. | Дождитесь завершения модерации. Не отправляйте повторно одни и те же изменения, пока они находятся на рассмотрении. |
EDIT_LIFECYCLE_STAGE_REJECTED |
Изменение, предложенное продавцом, не было принято. Проверьте значение PolicyViolation в файле rejectionReason. |
Устраните нарушение правил и отправьте новую версию приложения с помощью locations.patch или locations.updateAttributes. |
EDIT_LIFECYCLE_STAGE_UPDATED_BY_GOOGLE |
Потребительское значение было обновлено Google (например, на основе сообщений пользователей или внешних источников) и отличается от значения, предоставленного продавцом. | Проверьте значение locationSeenByConsumers или attributeSeenByConsumers и примите или переопределите его. Подробнее о том, как управлять изменениями, внесенными Google… |
EDIT_LIFECYCLE_STAGE_DRAFT |
Изменение сохранено как черновик (например, для неподтвержденного адреса) и не показывается в Google Поиске и Картах. | Чтобы информация о компании была опубликована, пройдите подтверждение адреса. |
EDIT_LIFECYCLE_STAGE_UNSPECIFIED |
Этап жизненного цикла изменения неизвестен или не указан. | Нет. |
Изменить источники
Перечисление Source определяет канал, через который продавец отправил изменение:
SOURCE_API– изменение было отправлено через My Business Business Information API.SOURCE_UI– изменение было отправлено через веб-интерфейс или мобильное приложение профиля компании.SOURCE_UNSPECIFIED– источник изменения не указан.
Нарушения правил
Если для поля lastEditLifecycleStage задано значение EDIT_LIFECYCLE_STAGE_REJECTED, то в поле rejectionReason будет указано значение перечисления PolicyViolation, объясняющее, почему изменение было отклонено. Причины отклонения могут быть связаны со следующими аспектами (примеры):
- Статус профиля и аккаунта:
ACCOUNT_RESTRICTED_AND_SUSPENDED,ACCOUNT_RESTRICTED_AND_EDIT_REJECTED,ASSOCIATED_ACCOUNT_SUSPENDED,BUSINESS_INELIGIBLE,LOCATION_SUSPENDED,LOCATION_VERIFICATION_REQUIRED,OWNERSHIP_REVOKED,PO_BOX. - Ограничения на редактирование:
EDITING_RESTRICTION,ILLEGAL_BUSINESS_HOURS_EDIT,IDENTITY_CHANGE,GEOGRAPHIC_LOCATION_CHANGE. - Правила в отношении контента:
MISREPRESENTATION,OFF_TOPIC,PERSONAL_INFO,GIBBERISH_AND_REPETITIVE,OBSCENITY_AND_PROFANITY,GENERIC_QUALITY.
Полный список значений перечисления и их описания приведены в справочной документации по PolicyViolation.