Puoi abbonarti alle notifiche ACCOUNT_SERVICE_CHANGE per ricevere
avvisi in tempo reale quando le risorse AccountService vengono create, aggiornate o
eliminate. Ciò è particolarmente utile per i fornitori e le attività di terze parti
che gestiscono relazioni di servizio multi-account.
L'iscrizione alle modifiche del servizio account ti consente di rilevare immediatamente quando un servizio account viene proposto, approvato, aggiornato o rimosso, senza eseguire il polling dell'API.
Prima di iniziare, assicurati che l'URI di callback sia configurato in base ai requisiti descritti nella Panoramica della sub-API Notifications.
Iscriviti alle modifiche del servizio account
Per abbonarti alle modifiche del servizio account, invia una richiesta POST alla risorsa notificationsubscriptions con registeredEvent impostato su ACCOUNT_SERVICE_CHANGE.
Iscrizione a un account di destinazione specifico
La seguente richiesta di esempio esegue la sottoscrizione alle modifiche del servizio account per un account commerciante specifico:
POST https://merchantapi.googleapis.com/notifications/v1/accounts/{ACCOUNT_ID}/notificationsubscriptions/
{
"registeredEvent": "ACCOUNT_SERVICE_CHANGE",
"targetAccount": "accounts/{TARGETACCOUNT_ID}",
"callBackUri": "https://example.com/callback"
}
Sostituisci quanto segue:
- ACCOUNT_ID: l'identificatore dell'account proprietario dell'abbonamento e che riceve le notifiche.
- TARGETACCOUNT_ID: L'identificatore dell'account su cui vuoi ricevere notifiche.
Iscriviti per tutti gli account gestiti
I fornitori e le attività che gestiscono più account commerciante possono abbonarsi alle modifiche del servizio dell'account in tutti gli account gestiti impostando allManagedAccounts: true:
POST https://merchantapi.googleapis.com/notifications/v1/accounts/{ACCOUNT_ID}/notificationsubscriptions/
{
"registeredEvent": "ACCOUNT_SERVICE_CHANGE",
"allManagedAccounts": true,
"callBackUri": "https://example.com/callback"
}
Le chiamate riuscite restituiscono un
name
identificatore per l'abbonamento, incluso un ID abbonamento univoco:
{
"name":"accounts/{ACCOUNT_ID}/notificationsubscriptions/{SUBSCRIPTION_ID}",
"registeredEvent": "ACCOUNT_SERVICE_CHANGE",
"allManagedAccounts": true,
"callBackUri": "https://example.com/callback"
}
Decodifica dei payload di modifica del servizio account
Quando si verifica una modifica del servizio account, l'URI di callback riceve un messaggio codificato in base64. Una volta decodificato, il payload è conforme al formato
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"
}
Campi e regole del payload
account: l'account di destinazione proprietario dell'entità di servizio modificata (accounts/{merchant_id}).managingAccount: l'account che gestisce l'account del commerciante (accounts/{service_provider_id}).resourceType: Il tipo di risorsa modificato (ACCOUNT_SERVICE).resource: il nome completo della risorsa del servizio di assistenza account (ad esempio,accounts/{account}/services/{service}).operation: l'operazione eseguita sulla risorsa:CREATE: È stata creata una nuova relazione di servizio dell'account.UPDATE: Una configurazione o un'autorizzazione del servizio di account esistente è stata modificata.DELETE: È stata rimossa una relazione di servizio dell'account.
eventTime: il timestamp di generazione dell'evento. Utilizza questo timestamp per garantire il corretto ordine degli eventi.
Testare le notifiche di modifica del servizio dell'account di test
Utilizza la seguente richiesta di esempio per verificare se l'endpoint di callback riceve, riconosce e decodifica correttamente i messaggi di modifica del servizio account:
curl --request POST \
'https://{YOUR_CALLBACK_URI}' \
--header 'Content-Type: application/json' \
--header 'Accept: text/plain' \
--data '{"message":{"data": "ewogICJhY2NvdW50IjogImFjY291bnRzLzEyMzQiLAogICJtYW5hZ2luZ0FjY291bnQiOiAiYWNjb3VudHMvNTY3OCIsCiAgInJlc291cmNlVHlwZSI6ICJBQ0NPVU5UX1NFUlZJQ0UiLAogICJyZXNvdXJjZSI6ICJhY2NvdW50cy8xMjM0L3NlcnZpY2VzLzEyMyIsCiAgIm9wZXJhdGlvbiI6ICJDUkVBVEUiLAogICJldmVudFRpbWUiOiAiMjAyNi0wOC0yNVQxMDowMDowMFoiCn0="}}'In risposta a questa chiamata, l'URI di callback deve restituire un codice di stato HTTP accettabile (ad esempio 200 OK). Il messaggio decodificato ha i seguenti contenuti:
{
"account": "accounts/1234",
"managingAccount": "accounts/5678",
"resourceType": "ACCOUNT_SERVICE",
"resource": "accounts/1234/services/123",
"operation": "CREATE",
"eventTime": "2026-08-25T10:00:00Z"
}