您可以訂閱ACCOUNT_SERVICE_CHANGE通知,在AccountService資源建立、更新或刪除時收到即時快訊。這對第三方供應商和管理多帳戶服務關係的商家來說,特別有價值。
訂閱帳戶服務變更後,您就能立即偵測到帳戶服務何時提議、核准、更新或移除,不必輪詢 API。
開始前,請確認回呼 URI 已根據通知子 API 總覽中說明的規定設定。
訂閱帳戶服務變更
如要訂閱帳戶服務變更,請將 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"
}