您可以訂閱 ACCOUNT_SERVICE_CHANGE 通知,在 AccountService 資源建立、更新或刪除時,接收即時快訊。這對第三方供應商和管理多帳戶服務關係的企業來說,特別實用。
訂閱帳戶服務異動後,您就能立即偵測到帳戶服務的提議、核准、更新或移除,不必輪詢 API。
開始之前,請務必按照「Notifications sub-API 總覽」一文所述規定,設定回呼 URI。
訂閱帳戶服務異動通知
如要訂閱帳戶服務異動通知,請將 registeredEvent 設為 ACCOUNT_SERVICE_CHANGE,然後向 notificationsubscriptions 資源傳送 POST 要求。
訂閱特定目標帳戶
下列範例要求會訂閱特定商家帳戶的帳戶服務異動:
POST https://merchantapi.googleapis.com/notifications/v1/accounts/{ACCOUNT_ID}/notificationsubscriptions/
{
"registeredEvent": "ACCOUNT_SERVICE_CHANGE",
"targetAccount": "accounts/{TARGETACCOUNT_ID}",
"callBackUri": "https://example.com/callback"
}
更改下列內容:
- ACCOUNT_ID:擁有訂閱項目並接收通知的帳戶 ID。
- TARGETACCOUNT_ID:您要接收通知的帳戶 ID。
為所有客戶帳戶訂閱
供應商和管理多個商家帳戶的商家,可以設定 allManagedAccounts: true,訂閱所有一般管理員帳戶的帳戶服務異動:
POST https://merchantapi.googleapis.com/notifications/v1/accounts/{ACCOUNT_ID}/notificationsubscriptions/
{
"registeredEvent": "ACCOUNT_SERVICE_CHANGE",
"allManagedAccounts": true,
"callBackUri": "https://example.com/callback"
}
呼叫成功後,系統會傳回訂閱項目的 name ID,包括專屬訂閱 ID:
{
"name":"accounts/{ACCOUNT_ID}/notificationsubscriptions/{SUBSCRIPTION_ID}",
"registeredEvent": "ACCOUNT_SERVICE_CHANGE",
"allManagedAccounts": true,
"callBackUri": "https://example.com/callback"
}
解碼帳戶服務變更酬載
帳戶服務發生異動時,回呼 URI 會收到以 Base64 編碼的訊息。解碼後,酬載會符合 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"
}
酬載欄位和規則
account:擁有已變更服務實體 (accounts/{merchant_id}) 的目標帳戶。managingAccount:管理商家帳戶 (accounts/{service_provider_id}) 的帳戶。resourceType:變更的資源類型 (ACCOUNT_SERVICE)。resource:帳戶服務的完整資源名稱 (例如accounts/{account}/services/{service})。operation:對資源執行的作業:CREATE:已建立新的帳戶服務關係。UPDATE:現有帳戶服務設定或權限已變更。DELETE:已移除帳戶服務關係。
eventTime:事件生成時的時間戳記。請使用這個時間戳記,確保事件順序正確。
測試帳戶服務變更通知
請使用下列範例要求,測試回呼端點是否能正確接收、確認及解碼帳戶服務變更訊息:
curl --request POST \
'https://{YOUR_CALLBACK_URI}' \
--header 'Content-Type: application/json' \
--header 'Accept: text/plain' \
--data '{"message":{"data": "ewogICJhY2NvdW50IjogImFjY291bnRzLzEyMzQiLAogICJtYW5hZ2luZ0FjY291bnQiOiAiYWNjb3VudHMvNTY3OCIsCiAgInJlc291cmNlVHlwZSI6ICJBQ0NPVU5UX1NFUlZJQ0UiLAogICJyZXNvdXJjZSI6ICJhY2NvdW50cy8xMjM0L3NlcnZpY2VzLzEyMyIsCiAgIm9wZXJhdGlvbiI6ICJDUkVBVEUiLAogICJldmVudFRpbWUiOiAiMjAyNi0wOC0yNVQxMDowMDowMFoiCn0="}}'為回應這項呼叫,回呼 URI 應傳回可接受的 HTTP 狀態碼 (例如 200 OK)。解碼後的訊息包含下列內容:
{
"account": "accounts/1234",
"managingAccount": "accounts/5678",
"resourceType": "ACCOUNT_SERVICE",
"resource": "accounts/1234/services/123",
"operation": "CREATE",
"eventTime": "2026-08-25T10:00:00Z"
}