Вы можете подписаться на уведомления ACCOUNT_SERVICE_CHANGE , чтобы получать оповещения в режиме реального времени о создании, обновлении или удалении ресурсов AccountService . Это особенно полезно для сторонних поставщиков и компаний, управляющих многопользовательскими сервисными отношениями.
Подписка на изменения в работе сервиса учетной записи позволяет мгновенно обнаруживать, когда сервис учетной записи предлагается, утверждается, обновляется или удаляется, без необходимости опроса API.
Прежде чем начать, убедитесь, что ваш URI обратного вызова настроен в соответствии с требованиями, описанными в разделе «Обзор под-API уведомлений» .
Подписаться на изменения в работе сервиса учетной записи
Чтобы подписаться на уведомления об изменениях в работе службы учетных записей, отправьте POST запрос к ресурсу notificationsubscriptions , указав в параметре registeredEvent значение ACCOUNT_SERVICE_CHANGE .
Подпишитесь на конкретную целевую учетную запись
Следующий пример запроса подписывается на изменения в работе сервиса для конкретного торгового счета:
POST https://merchantapi.googleapis.com/notifications/v1/accounts/{ACCOUNT_ID}/notificationsubscriptions/
{
"registeredEvent": "ACCOUNT_SERVICE_CHANGE",
"targetAccount": "accounts/{TARGETACCOUNT_ID}",
"callBackUri": "https://example.com/callback"
}
Замените следующее:
- ACCOUNT_ID : Идентификатор учетной записи, которой принадлежит подписка и которая получает уведомления.
- TARGETACCOUNT_ID : Идентификатор учетной записи, о которой вы хотите получать уведомления.
Подпишитесь на все управляемые аккаунты.
Провайдеры и компании, управляющие несколькими торговыми счетами, могут подписаться на изменения в обслуживании счетов для всех управляемых счетов, установив параметр allManagedAccounts: true :
POST https://merchantapi.googleapis.com/notifications/v1/accounts/{ACCOUNT_ID}/notificationsubscriptions/
{
"registeredEvent": "ACCOUNT_SERVICE_CHANGE",
"allManagedAccounts": true,
"callBackUri": "https://example.com/callback"
}
В случае успешного выполнения запроса возвращается идентификатор name вашей подписки, включая уникальный идентификатор подписки:
{
"name":"accounts/{ACCOUNT_ID}/notificationsubscriptions/{SUBSCRIPTION_ID}",
"registeredEvent": "ACCOUNT_SERVICE_CHANGE",
"allManagedAccounts": true,
"callBackUri": "https://example.com/callback"
}
Расшифровка данных об изменениях в службе учетных записей.
При изменении настроек службы учетной записи ваш URI обратного вызова получает сообщение, закодированное в base64. После декодирования полезная нагрузка соответствует формату ResourceChangeMessage :
{
"account": "accounts/{TARGETACCOUNT_ID}",
"managingAccount": "accounts/{ACCOUNT_ID}",
"resourceType": "ACCOUNT_SERVICE",
"resource": "accounts/{TARGETACCOUNT_ID}/services/{SERVICE_ID}",
"operation": "CREATE",
"eventTime": "2026-08-25T10:00:00Z"
}
Поля и правила полезной нагрузки
-
account: Целевой аккаунт, которому принадлежит измененная сущность сервиса (accounts/{merchant_id}). -
managingAccount: Учетная запись, которая управляет учетной записью продавца (accounts/{service_provider_id}). -
resourceType: Тип ресурса, который изменился (ACCOUNT_SERVICE). -
resource: Полное имя ресурса службы учетных записей (например,accounts/{account}/services/{service}). -
operation: Операция, выполняемая над ресурсом:-
CREATE: Создана новая связь между учетной записью и сервисом. -
UPDATE: Изменена существующая конфигурация службы учетной записи или права доступа. -
DELETE: Связь между учетной записью и сервисом была разорвана.
-
-
eventTime: Временная метка момента создания события. Используйте эту временную метку для обеспечения правильного порядка событий.
Уведомления об изменении в службе тестовых учетных записей
Используйте следующий пример запроса, чтобы проверить, правильно ли ваша конечная точка обратного вызова получает, подтверждает и декодирует сообщения об изменении учетной записи в службе:
curl --request POST \
'https://{YOUR_CALLBACK_URI}' \
--header 'Content-Type: application/json' \
--header 'Accept: text/plain' \
--data '{"message":{"data": "ewogICJhY2NvdW50IjogImFjY291bnRzLzEyMzQiLAogICJtYW5hZ2luZ0FjY291bnQiOiAiYWNjb3VudHMvNTY3OCIsCiAgInJlc291cmNlVHlwZSI6ICJBQ0NPVU5UX1NFUlZJQ0UiLAogICJyZXNvdXJjZSI6ICJhY2NvdW50cy8xMjM0L3NlcnZpY2VzLzEyMyIsCiAgIm9wZXJhdGlvbiI6ICJDUkVBVEUiLAogICJldmVudFRpbWUiOiAiMjAyNi0wOC0yNVQxMDowMDowMFoiCn0="}}' В ответ на этот вызов ваш URI обратного вызова должен вернуть допустимый код состояния HTTP (например, 200 OK ). Декодированное сообщение содержит следующее:
{
"account": "accounts/1234",
"managingAccount": "accounts/5678",
"resourceType": "ACCOUNT_SERVICE",
"resource": "accounts/1234/services/123",
"operation": "CREATE",
"eventTime": "2026-08-25T10:00:00Z"
}