Bạn có thể đăng ký nhận thông báo của ACCOUNT_SERVICE_CHANGE để nhận thông báo theo thời gian thực khi tài nguyên AccountService được tạo, cập nhật hoặc xoá. Điều này đặc biệt có giá trị đối với các nhà cung cấp bên thứ ba và doanh nghiệp
quản lý mối quan hệ dịch vụ nhiều tài khoản.
Việc đăng ký nhận thông báo về các thay đổi đối với dịch vụ tài khoản giúp bạn phát hiện ngay khi một dịch vụ tài khoản được đề xuất, phê duyệt, cập nhật hoặc xoá mà không cần thăm dò API.
Trước khi bắt đầu, hãy đảm bảo rằng URI gọi lại của bạn được định cấu hình theo các yêu cầu được mô tả trong phần Tổng quan về API phụ của thông báo.
Đăng ký nhận thông báo khi có thay đổi về dịch vụ tài khoản
Để đăng ký nhận thông báo về các thay đổi đối với dịch vụ tài khoản, hãy gửi yêu cầu POST đến tài nguyên notificationsubscriptions, trong đó registeredEvent được đặt thành ACCOUNT_SERVICE_CHANGE.
Đăng ký cho một tài khoản mục tiêu cụ thể
Yêu cầu mẫu sau đây đăng ký nhận thông tin về các thay đổi đối với dịch vụ tài khoản cho một tài khoản nhà bán hàng cụ thể:
POST https://merchantapi.googleapis.com/notifications/v1/accounts/{ACCOUNT_ID}/notificationsubscriptions/
{
"registeredEvent": "ACCOUNT_SERVICE_CHANGE",
"targetAccount": "accounts/{TARGETACCOUNT_ID}",
"callBackUri": "https://example.com/callback"
}
Thay thế nội dung sau:
- ACCOUNT_ID: Giá trị nhận dạng của tài khoản sở hữu gói thuê bao và nhận thông báo.
- TARGETACCOUNT_ID: Giá trị nhận dạng của tài khoản mà bạn muốn nhận thông báo.
Đăng ký cho tất cả tài khoản được quản lý
Các nhà cung cấp và doanh nghiệp quản lý nhiều tài khoản nhà bán hàng có thể đăng ký nhận thông tin về các thay đổi đối với dịch vụ tài khoản trên tất cả các tài khoản được quản lý bằng cách đặt allManagedAccounts: true:
POST https://merchantapi.googleapis.com/notifications/v1/accounts/{ACCOUNT_ID}/notificationsubscriptions/
{
"registeredEvent": "ACCOUNT_SERVICE_CHANGE",
"allManagedAccounts": true,
"callBackUri": "https://example.com/callback"
}
Các lệnh gọi thành công sẽ trả về giá trị nhận dạng name cho gói thuê bao của bạn, bao gồm cả mã gói thuê bao riêng biệt:
{
"name":"accounts/{ACCOUNT_ID}/notificationsubscriptions/{SUBSCRIPTION_ID}",
"registeredEvent": "ACCOUNT_SERVICE_CHANGE",
"allManagedAccounts": true,
"callBackUri": "https://example.com/callback"
}
Giải mã tải trọng thay đổi dịch vụ tài khoản
Khi có thay đổi về dịch vụ tài khoản, URI gọi lại của bạn sẽ nhận được một thông báo được mã hoá base64. Khi được giải mã, tải trọng sẽ tuân thủ định dạng 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"
}
Trường và quy tắc tải trọng
account: Tài khoản mục tiêu sở hữu thực thể dịch vụ đã thay đổi (accounts/{merchant_id}).managingAccount: Tài khoản quản lý tài khoản của người bán (accounts/{service_provider_id}).resourceType: Loại tài nguyên đã thay đổi (ACCOUNT_SERVICE).resource: Tên tài nguyên đầy đủ của dịch vụ tài khoản (ví dụ:accounts/{account}/services/{service}).operation: Thao tác được thực hiện trên tài nguyên:CREATE: Một mối quan hệ dịch vụ tài khoản mới đã được tạo.UPDATE: Cấu hình hoặc quyền của một dịch vụ tài khoản hiện có đã thay đổi.DELETE: Một mối quan hệ dịch vụ tài khoản đã bị xoá.
eventTime: Dấu thời gian khi sự kiện được tạo. Hãy sử dụng dấu thời gian này để đảm bảo thứ tự chính xác của các sự kiện.
Thông báo về việc thay đổi dịch vụ của tài khoản thử nghiệm
Sử dụng yêu cầu mẫu sau để kiểm tra xem điểm cuối của lệnh gọi lại có nhận, xác nhận và giải mã chính xác thông báo thay đổi dịch vụ tài khoản hay không:
curl --request POST \
'https://{YOUR_CALLBACK_URI}' \
--header 'Content-Type: application/json' \
--header 'Accept: text/plain' \
--data '{"message":{"data": "ewogICJhY2NvdW50IjogImFjY291bnRzLzEyMzQiLAogICJtYW5hZ2luZ0FjY291bnQiOiAiYWNjb3VudHMvNTY3OCIsCiAgInJlc291cmNlVHlwZSI6ICJBQ0NPVU5UX1NFUlZJQ0UiLAogICJyZXNvdXJjZSI6ICJhY2NvdW50cy8xMjM0L3NlcnZpY2VzLzEyMyIsCiAgIm9wZXJhdGlvbiI6ICJDUkVBVEUiLAogICJldmVudFRpbWUiOiAiMjAyNi0wOC0yNVQxMDowMDowMFoiCn0="}}'Để phản hồi lệnh gọi này, URI gọi lại của bạn phải trả về một mã trạng thái HTTP được chấp nhận (chẳng hạn như 200 OK). Thông báo được giải mã có nội dung như sau:
{
"account": "accounts/1234",
"managingAccount": "accounts/5678",
"resourceType": "ACCOUNT_SERVICE",
"resource": "accounts/1234/services/123",
"operation": "CREATE",
"eventTime": "2026-08-25T10:00:00Z"
}