Sie können ACCOUNT_SERVICE_CHANGE-Benachrichtigungen abonnieren, um Echtzeitbenachrichtigungen zu erhalten, wenn AccountService-Ressourcen erstellt, aktualisiert oder gelöscht werden. Das ist besonders für Drittanbieter und Unternehmen nützlich, die Dienstbeziehungen mit mehreren Konten verwalten.
Wenn Sie Änderungen an Kontodiensten abonnieren, können Sie sofort erkennen, wenn ein Kontodienst vorgeschlagen, genehmigt, aktualisiert oder entfernt wird, ohne die API abfragen zu müssen.
Prüfen Sie vor Beginn, ob Ihr Callback-URI gemäß den Anforderungen in der Übersicht über die Benachrichtigungs-Sub-API konfiguriert ist.
Änderungen an Kontodiensten abonnieren
Wenn Sie Änderungen am Kontodienst abonnieren möchten, senden Sie eine POST-Anfrage an die Ressource notificationsubscriptions, wobei registeredEvent auf ACCOUNT_SERVICE_CHANGE festgelegt ist.
Für ein bestimmtes Zielkonto abonnieren
Mit der folgenden Beispielanfrage werden Änderungen am Kontodienst für ein bestimmtes Händlerkonto abonniert:
POST https://merchantapi.googleapis.com/notifications/v1/accounts/{ACCOUNT_ID}/notificationsubscriptions/
{
"registeredEvent": "ACCOUNT_SERVICE_CHANGE",
"targetAccount": "accounts/{TARGETACCOUNT_ID}",
"callBackUri": "https://example.com/callback"
}
Ersetzen Sie Folgendes:
- ACCOUNT_ID: Die Kennung des Kontos, dem das Abo gehört und das Benachrichtigungen erhält.
- TARGETACCOUNT_ID: Die Kennung des Kontos, zu dem Sie Benachrichtigungen erhalten möchten.
Für alle verwalteten Konten abonnieren
Anbieter und Unternehmen, die mehrere Händlerkonten verwalten, können Änderungen an Kontodiensten für alle verwalteten Konten abonnieren, indem sie allManagedAccounts: true festlegen:
POST https://merchantapi.googleapis.com/notifications/v1/accounts/{ACCOUNT_ID}/notificationsubscriptions/
{
"registeredEvent": "ACCOUNT_SERVICE_CHANGE",
"allManagedAccounts": true,
"callBackUri": "https://example.com/callback"
}
Bei erfolgreichen Aufrufen wird eine name-Kennung für Ihr Abo zurückgegeben, einschließlich einer eindeutigen Abo-ID:
{
"name":"accounts/{ACCOUNT_ID}/notificationsubscriptions/{SUBSCRIPTION_ID}",
"registeredEvent": "ACCOUNT_SERVICE_CHANGE",
"allManagedAccounts": true,
"callBackUri": "https://example.com/callback"
}
Nutzlasten für Konto- und Dienständerungen decodieren
Wenn sich ein Kontodienst ändert, erhält Ihr Callback-URI eine base64-codierte Nachricht. Nach der Decodierung entspricht die Nutzlast dem Format 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"
}
Nutzlastfelder und -regeln
account: Das Zielkonto, das Inhaber der geänderten Dienstentität (accounts/{merchant_id}) ist.managingAccount: Das Konto, über das das Konto des Händlers (accounts/{service_provider_id}) verwaltet wird.resourceType: Der Ressourcentyp, der sich geändert hat (ACCOUNT_SERVICE).resource: Der vollständige Ressourcenname des Kontodienstes (z. B.accounts/{account}/services/{service}).operation: Der Vorgang, der für die Ressource ausgeführt wurde:CREATE: Es wurde eine neue Kontodienstbeziehung erstellt.UPDATE: Eine vorhandene Dienstkonfiguration oder Berechtigung für ein Konto wurde geändert.DELETE: Eine Kontodienstbeziehung wurde entfernt.
eventTime: Der Zeitstempel, der angibt, wann das Ereignis generiert wurde. Verwenden Sie diesen Zeitstempel, um die richtige Reihenfolge der Ereignisse sicherzustellen.
Benachrichtigungen zu Dienständerungen für Testkonten
Verwenden Sie die folgende Beispielanfrage, um zu testen, ob Ihr Callback-Endpunkt Änderungsnachrichten für Kontodienste korrekt empfängt, bestätigt und decodiert:
curl --request POST \
'https://{YOUR_CALLBACK_URI}' \
--header 'Content-Type: application/json' \
--header 'Accept: text/plain' \
--data '{"message":{"data": "ewogICJhY2NvdW50IjogImFjY291bnRzLzEyMzQiLAogICJtYW5hZ2luZ0FjY291bnQiOiAiYWNjb3VudHMvNTY3OCIsCiAgInJlc291cmNlVHlwZSI6ICJBQ0NPVU5UX1NFUlZJQ0UiLAogICJyZXNvdXJjZSI6ICJhY2NvdW50cy8xMjM0L3NlcnZpY2VzLzEyMyIsCiAgIm9wZXJhdGlvbiI6ICJDUkVBVEUiLAogICJldmVudFRpbWUiOiAiMjAyNi0wOC0yNVQxMDowMDowMFoiCn0="}}'Als Antwort auf diesen Aufruf sollte Ihr Callback-URI einen akzeptablen HTTP-Statuscode (z. B. 200 OK) zurückgeben. Die decodierte Nachricht hat folgenden Inhalt:
{
"account": "accounts/1234",
"managingAccount": "accounts/5678",
"resourceType": "ACCOUNT_SERVICE",
"resource": "accounts/1234/services/123",
"operation": "CREATE",
"eventTime": "2026-08-25T10:00:00Z"
}