ทำความเข้าใจเกี่ยวกับ SMSHook
SMSHook เป็นช่องทางที่ลูกค้าจะได้รับการอัปเดตเกี่ยวกับสถานะการส่ง หลังจากที่ผู้ใช้ส่งคำขออีเมลไปยัง EngageLab, EngageLab จะส่ง "ผลลัพธ์คำขอ" กลับไปยังผู้ใช้แบบซิงโครนัส ในขณะที่ "ผลลัพธ์การส่ง" ของอีเมลและ "ผลลัพธ์เหตุการณ์อื่นๆ" จะถูกส่งกลับไปยังผู้ใช้อย่างไม่ซิงโครนัสผ่าน SMSHook
กลไกของ SMSHook
- EngageLab ให้บริการเหตุการณ์อีเมลหลายรายการแก่ลูกค้า และลูกค้าสามารถเลือกติดตามเหตุการณ์เฉพาะได้
- เมื่อเกิดเหตุการณ์ จะทำให้ EngageLab ส่งข้อมูล (POST) ไปยัง URL ที่ลูกค้ากำหนด
- ประเภทข้อมูลที่ EngageLab ส่ง: "Content-Type: application/json"
- ลูกค้ารับข้อมูล แยกวิเคราะห์เหตุการณ์และข้อมูล และต้องส่งรหัสสถานะ HTTP 200 ภายใน 3 วินาที มิฉะนั้น EngageLab จะส่งข้อความซ้ำ
การใช้งาน
- ผู้ใช้เขียนบริการ HTTP ของตนเองเพื่อจัดการเหตุการณ์ที่เกี่ยวข้อง แยกวิเคราะห์ข้อมูลที่เกี่ยวข้อง และเปิดเผย URL ที่เกี่ยวข้อง
- ผู้ใช้เลือกเหตุการณ์ที่ต้องการติดตามและกำหนดค่า URL สำหรับรับข้อมูลใน
SMSHook
ของ EngageLab
การตรวจสอบลายเซ็น
เพื่อให้แน่ใจว่าแหล่งที่มาของข้อความคือ EngageLab คุณสามารถเลือกทำการยืนยันความปลอดภัยของแหล่งที่มาของข้อมูล POST (คุณสามารถแยกวิเคราะห์ข้อมูล POST โดยตรงโดยไม่ต้องยืนยัน) วิธีการยืนยันความปลอดภัยมีดังนี้:
- รับ
APP SECRET
ผ่าน【การตั้งค่าการส่ง】-【SMSHook】
- แยกวิเคราะห์
X-SMSHook-Timestamp
จาก Header - แยกวิเคราะห์
X-SMSHook-AppKey
จาก Header - แยกวิเคราะห์
X-SMSHook-Signature
จาก Header - ใช้ md5(timestamp+appkey+secret) เพื่อสร้างลายเซ็น
signature
และเปรียบเทียบกับX-SMSHook-Signature
กลไกการตอบกลับ
หลังจากที่บริการของนักพัฒนารับการเรียกกลับจาก EngageLab จะต้องตอบกลับภายใน 3 วินาทีตามข้อกำหนดดังนี้:
การรับสำเร็จ: รหัสสถานะการตอบกลับ HTTP ต้องส่งกลับ 200 หรือ 204 และไม่จำเป็นต้องมีข้อความตอบกลับ
การรับล้มเหลว: รหัสสถานะการตอบกลับ HTTP ต้องส่งกลับ 5XX หรือ 4XX และต้องมีข้อความตอบกลับในรูปแบบดังนี้:
{"code": 2002, "message": "Failure"}
ฟิลด์ | ประเภท | จำเป็น/ไม่จำเป็น | คำอธิบาย |
---|---|---|---|
code | int | ไม่จำเป็น | รหัสข้อผิดพลาด |
message | string | ไม่จำเป็น | ข้อความข้อผิดพลาดโดยละเอียด |
กลไกการลองใหม่
หากมีข้อผิดพลาดในการเข้าถึง URL หรือหมดเวลา EngageLab จะลองใหม่สูงสุด 7 ครั้ง โดยช่วงเวลาการลองใหม่คือ 3 นาที, 10 นาที, 30 นาที, 1 ชั่วโมง, 6 ชั่วโมง, 12 ชั่วโมง และ 24 ชั่วโมง เพื่อให้แน่ใจว่าคุณมีเวลาเพียงพอในการแก้ไข URL ก่อนที่ข้อความจะสูญหาย
หากเกินขีดจำกัดการลองใหม่ EngageLab จะละทิ้งข้อความ
สำหรับการจัดการเหตุการณ์และการแยกวิเคราะห์ข้อมูลแต่ละครั้ง คุณต้องส่ง "การตอบกลับการรับสำเร็จ" ภายใน 3 วินาที มิฉะนั้น EngageLab จะส่งข้อความซ้ำ