ภาพรวม Notifications Sub-API

คุณใช้ Sub-API ของการแจ้งเตือนเพื่อรับการแจ้งเตือนแบบพุชได้เมื่อมีการเปลี่ยนแปลงข้อมูลในบัญชี Merchant Center คุณสามารถสมัครรับฟีดเหตุการณ์แบบเรียลไทม์ ที่ส่งไปยังปลายทาง HTTPS ที่คุณกำหนดค่าได้โดยตรง แทนที่จะ สำรวจ API เป็นระยะๆ เพื่อตรวจหาการเปลี่ยนแปลง

API ย่อยของการแจ้งเตือนรองรับการแจ้งเตือนสำหรับรายการต่อไปนี้

  • การเปลี่ยนแปลงสถานะผลิตภัณฑ์: รับการแจ้งเตือนแบบเรียลไทม์เมื่อสถานะการอนุมัติผลิตภัณฑ์มีการเปลี่ยนแปลง (เช่น เมื่อผลิตภัณฑ์ไม่ได้รับอนุมัติหรือได้รับอนุมัติ) ในบัญชีที่ลิงก์หรือบัญชีย่อย
  • การเปลี่ยนแปลงบริการบัญชี: รับการแจ้งเตือนแบบเรียลไทม์เมื่อมีการสร้าง อัปเดต หรือลบทรัพยากร AccountService (เช่น เมื่อมีการสร้าง แก้ไข หรือนำความสัมพันธ์ของบริการบัญชีออก)

ข้อกำหนดเบื้องต้นและการตั้งค่า URI เรียกกลับ

หากต้องการรับข้อความ Push คุณต้องระบุ callBackUri URI ของการเรียกกลับต้องเป็นไปตามข้อกำหนดต่อไปนี้

  • ต้องเป็นที่อยู่ HTTPS ที่เข้าถึงได้แบบสาธารณะซึ่งมีใบรับรอง SSL ที่ถูกต้อง ที่ลงนามโดยผู้ออกใบรับรองที่ระบบรู้จัก
  • ต้องยอมรับคำขอ HTTP POST ที่มีส่วนหัว Content-Type ตั้งค่าเป็น application/json
  • ต้องแสดงรหัสสถานะ HTTP อย่างใดอย่างหนึ่งต่อไปนี้เพื่อรับทราบว่าได้รับ การแจ้งเตือนแล้ว

    • 102
    • 200
    • 201
    • 202
    • 204

คุณใช้ URI การเรียกกลับเดียวกันสำหรับการสมัครใช้บริการหลายรายการได้ หากต้องการลด ภาระงานในอุปกรณ์ปลายทางเดียว ให้ใช้ URI การเรียกกลับที่ไม่ซ้ำกันต่อ บัญชีขั้นสูงและประเภทเหตุการณ์

จัดการการสมัครใช้บริการ

Sub-API ของการแจ้งเตือนมีเมธอดสำหรับสร้าง แสดง เรียกข้อมูล อัปเดต และลบการกำหนดค่าการแจ้งเตือน

สร้างการสมัครใช้บริการ

การสร้างการสมัครใช้บริการจะขึ้นอยู่กับประเภทเหตุการณ์ที่คุณต้องการรับ เหตุการณ์แต่ละประเภทต้องใช้ฟิลด์การกำหนดค่าที่แตกต่างกันและมีโครงสร้างเพย์โหลดที่แตกต่างกัน

ดูวิธีสร้างการสมัครใช้บริการและดูคำขอตัวอย่างสำหรับเหตุการณ์แต่ละประเภทได้ในคำแนะนำที่เกี่ยวข้อง

แสดงรายการการสมัครใช้บริการ

หากต้องการแสดงการสมัครรับการแจ้งเตือนทั้งหมดสำหรับบัญชี ให้ส่งคำขอ GET ไปยังคอลเล็กชัน notificationsubscriptions ดังนี้

GET https://merchantapi.googleapis.com/notifications/v1/accounts/{ACCOUNT_ID}/notificationsubscriptions

ดึงข้อมูลการสมัครใช้บริการ

หากต้องการดูรายละเอียดการสมัครใช้บริการที่เฉพาะเจาะจง ให้ใช้ชื่อทรัพยากรของการสมัครใช้บริการ

GET https://merchantapi.googleapis.com/notifications/v1/accounts/{ACCOUNT_ID}/notificationsubscriptions/{SUBSCRIPTION_ID}

อัปเดตการสมัครใช้บริการ

หากต้องการอัปเดต URI การเรียกกลับสำหรับการสมัครใช้บริการที่มีอยู่ ให้ส่งPATCHคำขอ พร้อมupdate_maskที่ระบุช่องที่จะอัปเดต

PATCH https://merchantapi.googleapis.com/notifications/v1/accounts/{ACCOUNT_ID}/notificationsubscriptions/{SUBSCRIPTION_ID}?update_mask=callBackUri
{
  "callBackUri": "https://example.com/updated-callback"
}

ลบการติดตาม

หากต้องการหยุดรับการแจ้งเตือน ให้ลบการติดตามโดยทำดังนี้

DELETE https://merchantapi.googleapis.com/notifications/v1/accounts/{ACCOUNT_ID}/notificationsubscriptions/{SUBSCRIPTION_ID}

ถอดรหัสการแจ้งเตือน

เมื่อเกิดเหตุการณ์ Google จะส่งการแจ้งเตือนไปยัง callBackUri ที่ลงทะเบียนไว้ ข้อความ Push จะมาในซอง JSON ที่มีdataเพย์โหลดที่เข้ารหัส base64 ดังนี้

{"message":{"data":"{base64_encoded_string}"}}

ถอดรหัสสตริงข้อมูลเพื่อเข้าถึงเพย์โหลดเหตุการณ์ JSON ตัวอย่างคอนโทรลเลอร์ Spring Boot ต่อไปนี้แสดงวิธีรับและถอดรหัสการแจ้งเตือนแบบพุช

@RestController
public class ExampleController {
@RequestMapping(value = "/push",
  method = RequestMethod.POST,
  consumes = {"application/json"},
  produces = {"text/plain"})
  @ResponseStatus(HttpStatus.OK)
  public void handleNotification(@RequestBody String message) {
        JSONObject jsonObject = new JSONObject(message);
        JSONObject jsonMessage = jsonObject.getJSONObject("message");
        String encodedData = jsonMessage.getString("data");
        byte[] decodedBytes = Base64.getDecoder().decode(encodedData);
        String decodedPayload = new String(decodedBytes);
        // Process decodedPayload according to the registered event type
  }
}

ขั้นตอนถัดไป

หากต้องการกําหนดค่าการสมัครรับข้อมูลและจัดการเพย์โหลดที่ถอดรหัสแล้วสําหรับเหตุการณ์ที่เฉพาะเจาะจง ให้ดูหัวข้อต่อไปนี้