Vous pouvez vous abonner aux notifications ACCOUNT_SERVICE_CHANGE pour recevoir des alertes en temps réel lorsque des ressources AccountService sont créées, mises à jour ou supprimées. Cela est particulièrement utile pour les fournisseurs tiers et les entreprises qui gèrent des relations de service multi-comptes.
S'abonner aux modifications apportées aux services de compte vous permet de détecter immédiatement lorsqu'un service de compte est proposé, approuvé, mis à jour ou supprimé, sans interroger l'API.
Avant de commencer, assurez-vous que votre URI de rappel est configuré conformément aux exigences décrites dans la présentation de la sous-API Notifications.
S'abonner aux modifications des services de compte
Pour vous abonner aux modifications apportées au service de compte, envoyez une requête POST à la ressource notificationsubscriptions avec registeredEvent défini sur ACCOUNT_SERVICE_CHANGE.
S'abonner à un compte cible spécifique
L'exemple de requête suivant s'abonne aux modifications apportées aux services de compte pour un compte marchand spécifique :
POST https://merchantapi.googleapis.com/notifications/v1/accounts/{ACCOUNT_ID}/notificationsubscriptions/
{
"registeredEvent": "ACCOUNT_SERVICE_CHANGE",
"targetAccount": "accounts/{TARGETACCOUNT_ID}",
"callBackUri": "https://example.com/callback"
}
Remplacez les éléments suivants :
- ACCOUNT_ID : identifiant du compte propriétaire de l'abonnement et qui reçoit les notifications.
- TARGETACCOUNT_ID : identifiant du compte pour lequel vous souhaitez recevoir des notifications.
S'abonner pour tous les comptes gérés
Les fournisseurs et les entreprises qui gèrent plusieurs comptes marchands peuvent s'abonner aux modifications des services de compte pour tous les comptes gérés en définissant allManagedAccounts: true :
POST https://merchantapi.googleapis.com/notifications/v1/accounts/{ACCOUNT_ID}/notificationsubscriptions/
{
"registeredEvent": "ACCOUNT_SERVICE_CHANGE",
"allManagedAccounts": true,
"callBackUri": "https://example.com/callback"
}
Les appels réussis renvoient un identifiant name pour votre abonnement, y compris un ID d'abonnement unique :
{
"name":"accounts/{ACCOUNT_ID}/notificationsubscriptions/{SUBSCRIPTION_ID}",
"registeredEvent": "ACCOUNT_SERVICE_CHANGE",
"allManagedAccounts": true,
"callBackUri": "https://example.com/callback"
}
Décoder les charges utiles de modification du service de compte
Lorsqu'un changement de service de compte se produit, votre URI de rappel reçoit un message encodé en base64. Une fois décodée, la charge utile est conforme au 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"
}
Champs et règles de la charge utile
account: compte cible propriétaire de l'entité de service modifiée (accounts/{merchant_id}).managingAccount: compte qui gère le compte du marchand (accounts/{service_provider_id}).resourceType: type de ressource qui a changé (ACCOUNT_SERVICE).resource: nom complet de la ressource du service de compte (par exemple,accounts/{account}/services/{service}).operation: opération effectuée sur la ressource :CREATE: une relation de compte de service a été créée.UPDATE: la configuration ou les autorisations d'un compte de service existant ont été modifiées.DELETE: une relation de service de compte a été supprimée.
eventTime: code temporel de la génération de l'événement. Utilisez ce code temporel pour vous assurer que les événements sont correctement ordonnés.
Notifications de modification de service pour les comptes de test
Utilisez l'exemple de requête suivant pour tester si votre point de terminaison de rappel reçoit, reconnaît et décode correctement les messages de modification du service de compte :
curl --request POST \
'https://{YOUR_CALLBACK_URI}' \
--header 'Content-Type: application/json' \
--header 'Accept: text/plain' \
--data '{"message":{"data": "ewogICJhY2NvdW50IjogImFjY291bnRzLzEyMzQiLAogICJtYW5hZ2luZ0FjY291bnQiOiAiYWNjb3VudHMvNTY3OCIsCiAgInJlc291cmNlVHlwZSI6ICJBQ0NPVU5UX1NFUlZJQ0UiLAogICJyZXNvdXJjZSI6ICJhY2NvdW50cy8xMjM0L3NlcnZpY2VzLzEyMyIsCiAgIm9wZXJhdGlvbiI6ICJDUkVBVEUiLAogICJldmVudFRpbWUiOiAiMjAyNi0wOC0yNVQxMDowMDowMFoiCn0="}}'En réponse à cet appel, votre URI de rappel doit renvoyer un code d'état HTTP acceptable (tel que 200 OK). Le message décodé présente le contenu suivant :
{
"account": "accounts/1234",
"managingAccount": "accounts/5678",
"resourceType": "ACCOUNT_SERVICE",
"resource": "accounts/1234/services/123",
"operation": "CREATE",
"eventTime": "2026-08-25T10:00:00Z"
}