Hesap hizmeti değişiklikleriyle ilgili push bildirimleri alma

AccountService kaynakları oluşturulduğunda, güncellendiğinde veya silindiğinde gerçek zamanlı uyarılar almak için ACCOUNT_SERVICE_CHANGE bildirimlerine abone olabilirsiniz. Bu, özellikle üçüncü taraf sağlayıcılar ve çok hesaplı hizmet ilişkilerini yöneten işletmeler için değerlidir.

Hesap hizmeti değişikliklerine abone olmak, API'yi sorgulamadan bir hesap hizmetinin ne zaman önerildiğini, onaylandığını, güncellendiğini veya kaldırıldığını hemen tespit etmenizi sağlar.

Başlamadan önce, geri çağırma URI'nizin Notifications alt API'sine genel bakış bölümünde açıklanan şartlara göre yapılandırıldığından emin olun.

Hesap hizmeti değişikliklerine abone olma

Hesap hizmeti değişikliklerine abone olmak için notificationsubscriptions kaynağına registeredEvent, ACCOUNT_SERVICE_CHANGE olarak ayarlanmış bir POST isteği gönderin.

Belirli bir hedef hesaba abone olma

Aşağıdaki örnek istek, belirli bir satıcı hesabının hesap hizmeti değişikliklerine abone olur:

POST https://merchantapi.googleapis.com/notifications/v1/accounts/{ACCOUNT_ID}/notificationsubscriptions/
{
  "registeredEvent": "ACCOUNT_SERVICE_CHANGE",
  "targetAccount": "accounts/{TARGETACCOUNT_ID}",
  "callBackUri": "https://example.com/callback"
}

Aşağıdakini değiştirin:

  • ACCOUNT_ID: Aboneliğin sahibi olan ve bildirimleri alan hesabın tanımlayıcısı.
  • TARGETACCOUNT_ID: Bildirim almak istediğiniz hesabın tanımlayıcısı.

Tüm yönetilen hesaplar için abone olma

Birden fazla satıcı hesabını yöneten sağlayıcılar ve işletmeler, allManagedAccounts: true ayarını yaparak yönetilen tüm hesaplardaki hesap hizmeti değişikliklerine abone olabilir:

POST https://merchantapi.googleapis.com/notifications/v1/accounts/{ACCOUNT_ID}/notificationsubscriptions/
{
  "registeredEvent": "ACCOUNT_SERVICE_CHANGE",
  "allManagedAccounts": true,
  "callBackUri": "https://example.com/callback"
}

Başarılı çağrılar, aboneliğiniz için benzersiz bir abonelik kimliği de dahil olmak üzere bir name tanımlayıcısı döndürür:

{
  "name":"accounts/{ACCOUNT_ID}/notificationsubscriptions/{SUBSCRIPTION_ID}",
  "registeredEvent": "ACCOUNT_SERVICE_CHANGE",
  "allManagedAccounts": true,
  "callBackUri": "https://example.com/callback"
}

Hesap hizmeti değişikliği yüklerinin kodunu çözme

Hesap hizmetinde bir değişiklik olduğunda geri çağırma URI'niz base64 ile kodlanmış bir mesaj alır. Kodu çözüldüğünde yük, ResourceChangeMessage biçimine uyar:

{
  "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"
}

Yük alanları ve kuralları

  • account: Değiştirilen hizmet varlığının sahibi olan hedef hesap (accounts/{merchant_id}).
  • managingAccount: Satıcının hesabını yöneten hesap (accounts/{service_provider_id}).
  • resourceType: Değişen kaynak türü (ACCOUNT_SERVICE).
  • resource: Hesap hizmetinin tam kaynak adı (ör. accounts/{account}/services/{service}).
  • operation: Kaynak üzerinde gerçekleştirilen işlem:
    • CREATE: Yeni bir hesap hizmeti ilişkisi oluşturuldu.
    • UPDATE: Mevcut bir hesap hizmeti yapılandırması veya izni değiştirildi.
    • DELETE: Bir hesap hizmeti ilişkisi kaldırıldı.
  • eventTime: Etkinliğin oluşturulduğu zaman damgası. Etkinliklerin doğru şekilde sıralanması için bu zaman damgasını kullanın.

Hesap hizmeti değişikliği bildirimlerini test etme

Geri çağırma uç noktanızın hesap hizmeti değişiklik mesajlarını doğru şekilde alıp almadığını, onaylayıp onaylamadığını ve kodunu çözüp çözmediğini test etmek için aşağıdaki örnek isteği kullanın:

curl --request POST \
'https://{YOUR_CALLBACK_URI}' \
--header 'Content-Type: application/json' \
--header 'Accept: text/plain' \
--data '{"message":{"data": "ewogICJhY2NvdW50IjogImFjY291bnRzLzEyMzQiLAogICJtYW5hZ2luZ0FjY291bnQiOiAiYWNjb3VudHMvNTY3OCIsCiAgInJlc291cmNlVHlwZSI6ICJBQ0NPVU5UX1NFUlZJQ0UiLAogICJyZXNvdXJjZSI6ICJhY2NvdW50cy8xMjM0L3NlcnZpY2VzLzEyMyIsCiAgIm9wZXJhdGlvbiI6ICJDUkVBVEUiLAogICJldmVudFRpbWUiOiAiMjAyNi0wOC0yNVQxMDowMDowMFoiCn0="}}'

Bu çağrıya yanıt olarak geri çağırma URI'niz kabul edilebilir bir HTTP durum kodu (ör. 200 OK) döndürmelidir. Kodu çözülen mesaj aşağıdaki içeriğe sahiptir:

{
  "account": "accounts/1234",
  "managingAccount": "accounts/5678",
  "resourceType": "ACCOUNT_SERVICE",
  "resource": "accounts/1234/services/123",
  "operation": "CREATE",
  "eventTime": "2026-08-25T10:00:00Z"
}