คุณใช้ Sub-API ของการแจ้งเตือนเพื่อรับการแจ้งเตือนแบบพุชได้เมื่อมีการเปลี่ยนแปลงข้อมูลในบัญชี Merchant Center คุณสามารถสมัครรับฟีดเหตุการณ์แบบเรียลไทม์ ที่ส่งไปยังปลายทาง HTTPS ที่คุณกำหนดค่าได้โดยตรง แทนที่จะ สำรวจ API เป็นระยะๆ เพื่อตรวจหาการเปลี่ยนแปลง
API ย่อยของการแจ้งเตือนรองรับการแจ้งเตือนสำหรับรายการต่อไปนี้
- การเปลี่ยนแปลงสถานะผลิตภัณฑ์: รับการแจ้งเตือนแบบเรียลไทม์เมื่อสถานะการอนุมัติผลิตภัณฑ์มีการเปลี่ยนแปลง (เช่น เมื่อผลิตภัณฑ์ไม่ได้รับอนุมัติหรือได้รับอนุมัติ) ในบัญชีที่ลิงก์หรือบัญชีย่อย
- การเปลี่ยนแปลงบริการบัญชี:
รับการแจ้งเตือนแบบเรียลไทม์เมื่อมีการสร้าง
อัปเดต หรือลบทรัพยากร
AccountService(เช่น เมื่อมีการสร้าง แก้ไข หรือนำความสัมพันธ์ของบริการบัญชีออก)
ข้อกำหนดเบื้องต้นและการตั้งค่า URI เรียกกลับ
หากต้องการรับข้อความ Push คุณต้องระบุ callBackUri URI ของการเรียกกลับต้องเป็นไปตามข้อกำหนดต่อไปนี้
- ต้องเป็นที่อยู่ HTTPS ที่เข้าถึงได้แบบสาธารณะซึ่งมีใบรับรอง SSL ที่ถูกต้อง ที่ลงนามโดยผู้ออกใบรับรองที่ระบบรู้จัก
- ต้องยอมรับคำขอ HTTP
POSTที่มีส่วนหัวContent-Typeตั้งค่าเป็นapplication/json ต้องแสดงรหัสสถานะ HTTP อย่างใดอย่างหนึ่งต่อไปนี้เพื่อรับทราบว่าได้รับ การแจ้งเตือนแล้ว
102200201202204
คุณใช้ 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
}
}
ขั้นตอนถัดไป
หากต้องการกําหนดค่าการสมัครรับข้อมูลและจัดการเพย์โหลดที่ถอดรหัสแล้วสําหรับเหตุการณ์ที่เฉพาะเจาะจง ให้ดูหัวข้อต่อไปนี้
- รับการแจ้งเตือนแบบพุชเมื่อสถานะผลิตภัณฑ์มีการเปลี่ยนแปลง
ดูวิธีสมัครรับข้อมูลอัปเดตเกี่ยวกับการไม่อนุมัติและการอนุมัติผลิตภัณฑ์ รวมถึงวิธีแยกวิเคราะห์
ProductStatusChangeMessageเพย์โหลด - รับการแจ้งเตือนแบบพุชสำหรับการเปลี่ยนแปลงบริการของบัญชี:
ดูวิธีสมัครรับข้อมูลอัปเดตความสัมพันธ์ของบัญชีและแยกวิเคราะห์
ResourceChangeMessageเพย์โหลด