Hesap hizmeti değişiklikleriyle ilgili push bildirimleri alma

AccountService kaynakları oluşturulduğunda, güncellendiğinde veya silindiğinde anlık uyarılar almak için ACCOUNT_SERVICE_CHANGE bildirimlerine abone olabilirsiniz. Bu özellik, ö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 olarak, API'ye yoklama yapmadan bir hesap hizmetinin önerildiği, onaylandığı, güncellendiği veya kaldırıldığı zamanı anında tespit edebilirsiniz.

Başlamadan önce geri çağırma URI'nizin Bildirimler alt API'sine Genel Bakış bölümünde açıklanan koşullara 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 POST isteğini registeredEvent parametresi ACCOUNT_SERVICE_CHANGE olarak ayarlanmış şekilde notificationsubscriptions kaynağına 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: Hakkında 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, benzersiz bir abonelik kimliği de dahil olmak üzere aboneliğinizin name tanımlayıcısını 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üklerini kod çözme

Bir hesap hizmeti değişikliği olduğunda geri çağırma URI'niz base64 kodlu bir mesaj alır. Yük, kodu çözüldüğünde şu ResourceChangeMessage biçimine uygun olur:

{
  "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 öğesinin sahibi olan hedef hesap (accounts/{merchant_id}).
  • managingAccount: Satıcının hesabını (accounts/{service_provider_id}) yöneten hesap.
  • resourceType: Değişen kaynak türü (ACCOUNT_SERVICE).
  • resource: Hesap hizmetinin tam kaynak adı (örneğin, accounts/{account}/services/{service}).
  • operation: Kaynakta gerçekleştirilen işlem:
    • CREATE: Yeni bir hesap hizmeti ilişkisi oluşturuldu.
    • UPDATE: Mevcut bir hesap hizmeti yapılandırması veya izin 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ını sağlamak için bu zaman damgasını kullanın.

Test hesabı hizmet değişikliği bildirimleri

Geri çağırma uç noktanızın hesap hizmeti değişikliği 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. Kod çözme işlemi yapılan mesajda aşağıdaki içerik bulunur:

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