รับการแจ้งเตือนแบบพุชสำหรับการเปลี่ยนแปลงบริการของบัญชี

คุณสามารถสมัครรับACCOUNT_SERVICE_CHANGEการแจ้งเตือนเพื่อรับ การแจ้งเตือนแบบเรียลไทม์เมื่อมีการสร้าง อัปเดต หรือ ลบทรัพยากร AccountService ซึ่งมีประโยชน์อย่างยิ่งสําหรับผู้ให้บริการบุคคลที่สามและธุรกิจ ที่จัดการความสัมพันธ์ด้านบริการแบบหลายบัญชี

การสมัครรับข้อมูลการเปลี่ยนแปลงบริการบัญชีช่วยให้คุณตรวจพบได้ทันทีเมื่อมีการเสนอ อนุมัติ อัปเดต หรือนำบริการบัญชีออกโดยไม่ต้องทำการสำรวจ API

ก่อนเริ่มต้น โปรดตรวจสอบว่าได้กำหนดค่า URI การเรียกกลับตาม ข้อกำหนดที่อธิบายไว้ในภาพรวมของ Sub-API การแจ้งเตือนแล้ว

สมัครรับข้อมูลการเปลี่ยนแปลงบริการบัญชี

หากต้องการติดตามการเปลี่ยนแปลงบริการบัญชี ให้ส่งPOSTคำขอไปยังแหล่งข้อมูล notificationsubscriptions โดยตั้งค่า registeredEvent เป็น ACCOUNT_SERVICE_CHANGE

ติดตามบัญชีเป้าหมายที่เฉพาะเจาะจง

คำขอตัวอย่างต่อไปนี้จะสมัครรับข้อมูลการเปลี่ยนแปลงบริการบัญชีสำหรับบัญชีผู้ขายที่เฉพาะเจาะจง

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: ตัวระบุของบัญชีที่เป็นเจ้าของ การสมัครใช้บริการและได้รับการแจ้งเตือน
  • TARGETACCOUNT_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 สำหรับการสมัครใช้บริการ ซึ่งรวมถึงรหัสการสมัครใช้บริการที่ไม่ซ้ำกัน

{
  "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"
}