Anda dapat berlangganan notifikasi ACCOUNT_SERVICE_CHANGE untuk menerima pemberitahuan real-time saat resource AccountService dibuat, diperbarui, atau dihapus. Hal ini sangat berharga bagi penyedia pihak ketiga dan bisnis yang mengelola hubungan layanan multi-akun.
Dengan berlangganan perubahan layanan akun, Anda dapat langsung mendeteksi saat layanan akun diusulkan, disetujui, diperbarui, atau dihapus, tanpa melakukan polling API.
Sebelum memulai, pastikan URI callback Anda dikonfigurasi sesuai dengan persyaratan yang dijelaskan dalam Ringkasan sub-API Notifikasi.
Berlangganan perubahan layanan akun
Untuk berlangganan perubahan layanan akun, kirim permintaan POST ke
resource notificationsubscriptions dengan registeredEvent disetel ke
ACCOUNT_SERVICE_CHANGE.
Berlangganan untuk akun target tertentu
Contoh permintaan berikut berlangganan perubahan layanan akun untuk akun penjual tertentu:
POST https://merchantapi.googleapis.com/notifications/v1/accounts/{ACCOUNT_ID}/notificationsubscriptions/
{
"registeredEvent": "ACCOUNT_SERVICE_CHANGE",
"targetAccount": "accounts/{TARGETACCOUNT_ID}",
"callBackUri": "https://example.com/callback"
}
Ganti kode berikut:
- ACCOUNT_ID: ID akun yang memiliki langganan dan menerima notifikasi.
- TARGETACCOUNT_ID: ID akun yang ingin Anda terima notifikasinya.
Berlangganan untuk semua akun terkelola
Penyedia dan bisnis yang mengelola beberapa akun penjual dapat berlangganan perubahan layanan akun di semua akun yang dikelola dengan menetapkan allManagedAccounts: true:
POST https://merchantapi.googleapis.com/notifications/v1/accounts/{ACCOUNT_ID}/notificationsubscriptions/
{
"registeredEvent": "ACCOUNT_SERVICE_CHANGE",
"allManagedAccounts": true,
"callBackUri": "https://example.com/callback"
}
Panggilan yang berhasil akan menampilkan ID
name
untuk langganan Anda, termasuk ID langganan unik:
{
"name":"accounts/{ACCOUNT_ID}/notificationsubscriptions/{SUBSCRIPTION_ID}",
"registeredEvent": "ACCOUNT_SERVICE_CHANGE",
"allManagedAccounts": true,
"callBackUri": "https://example.com/callback"
}
Mendekode payload perubahan layanan akun
Saat perubahan layanan akun terjadi, URI callback Anda akan menerima pesan yang dienkode base64. Saat didekode, payload sesuai dengan 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"
}
Kolom dan aturan payload
account: Akun target yang memiliki entitas layanan yang diubah (accounts/{merchant_id}).managingAccount: Akun yang mengelola akun penjual (accounts/{service_provider_id}).resourceType: Jenis resource yang berubah (ACCOUNT_SERVICE).resource: Nama lengkap resource layanan akun (misalnya,accounts/{account}/services/{service}).operation: Operasi yang dilakukan pada resource:CREATE: Hubungan layanan akun baru telah dibuat.UPDATE: Konfigurasi atau izin layanan akun yang ada telah diubah.DELETE: Hubungan layanan akun dihapus.
eventTime: Stempel waktu saat peristiwa dibuat. Gunakan stempel waktu ini untuk memastikan urutan peristiwa yang tepat.
Menguji notifikasi perubahan layanan akun
Gunakan contoh permintaan berikut untuk menguji apakah endpoint callback Anda menerima, mengonfirmasi, dan mendekode pesan perubahan layanan akun dengan benar:
curl --request POST \
'https://{YOUR_CALLBACK_URI}' \
--header 'Content-Type: application/json' \
--header 'Accept: text/plain' \
--data '{"message":{"data": "ewogICJhY2NvdW50IjogImFjY291bnRzLzEyMzQiLAogICJtYW5hZ2luZ0FjY291bnQiOiAiYWNjb3VudHMvNTY3OCIsCiAgInJlc291cmNlVHlwZSI6ICJBQ0NPVU5UX1NFUlZJQ0UiLAogICJyZXNvdXJjZSI6ICJhY2NvdW50cy8xMjM0L3NlcnZpY2VzLzEyMyIsCiAgIm9wZXJhdGlvbiI6ICJDUkVBVEUiLAogICJldmVudFRpbWUiOiAiMjAyNi0wOC0yNVQxMDowMDowMFoiCn0="}}'Sebagai respons terhadap panggilan ini, URI callback Anda harus menampilkan kode status HTTP yang dapat diterima (seperti 200 OK). Pesan yang didekode memiliki konten berikut:
{
"account": "accounts/1234",
"managingAccount": "accounts/5678",
"resourceType": "ACCOUNT_SERVICE",
"resource": "accounts/1234/services/123",
"operation": "CREATE",
"eventTime": "2026-08-25T10:00:00Z"
}