การตั้งค่าการเรียกกลับ
การตั้งค่าการเรียกกลับใช้สำหรับกำหนดค่าที่อยู่การเรียกกลับของระบบธุรกิจของคุณเพื่อรับเหตุการณ์ "สถานะข้อความ" และ "การตอบกลับข้อความ" แบบเรียลไทม์ที่บริการ EngageLab NewSMS ส่งมา ด้วยการใช้การเรียกกลับ คุณสามารถทำให้การติดตามข้อความเป็นอัตโนมัติ ดำเนินกลยุทธ์การลองใหม่ เรียกใช้การแจ้งเตือนของระบบ และเพิ่มประสิทธิภาพการจัดการข้อความและความฉลาดของระบบ
- สถานะข้อความ: หมายถึงการเปลี่ยนแปลงสถานะของข้อความในแต่ละขั้นตอน เช่น การส่ง การส่งมอบ การอ่าน และการตรวจสอบ
- การตอบกลับข้อความ: หมายถึงเนื้อหาและเหตุการณ์ของข้อความที่ผู้ใช้ตอบกลับ (ข้อความขาเข้า)
รายการการเรียกกลับ
หน้ารายการการเรียกกลับแสดงข้อมูลการเรียกกลับทั้งหมดที่กำหนดค่าไว้และสถานะความสมบูรณ์ของข้อมูล เพื่อการจัดการและบำรุงรักษาอย่างเป็นระบบ
- แถบค้นหา: รองรับการกรองแบบเรียลไทม์ผ่านคำอธิบายการเรียกกลับ เพื่อค้นหาเป้าหมายการเรียกกลับได้อย่างรวดเร็ว
- กำหนดค่าการเรียกกลับ: คลิกปุ่มเพื่อเข้าสู่กระบวนการตั้งค่าการเรียกกลับใหม่ เพื่อขยายความต้องการการเรียกกลับได้อย่างยืดหยุ่น
คำอธิบายฟิลด์
ฟิลด์ | คำอธิบาย |
---|---|
คำอธิบายการเรียกกลับ | คำอธิบายที่กำหนดเองสำหรับการกำหนดค่าการเรียกกลับ ใช้เพื่อแยกแยะการใช้งาน |
URL การเรียกกลับ | ที่อยู่ URL ของอินเทอร์เฟซการเรียกกลับ |
สถานะ | สถานะความสมบูรณ์ของอินเทอร์เฟซการเรียกกลับ |
สถานะข้อความ | จำนวนเหตุการณ์สถานะข้อความที่เลือกไว้ วางเมาส์เพื่อดูประเภทเหตุการณ์เฉพาะ |
การตอบกลับข้อความ | จำนวนเหตุการณ์การตอบกลับข้อความที่เลือกไว้ วางเมาส์เพื่อดูประเภทเหตุการณ์เฉพาะ |
การดำเนินการ | รวมถึงตัวเลือก "รีเฟรช" "แก้ไข" และ "ลบ" รีเฟรชเพื่อตรวจสอบสถานะความสมบูรณ์ การลบต้องยืนยันการดำเนินการ |
การกำหนดค่าการเรียกกลับ
คลิกปุ่ม [กำหนดค่าการเรียกกลับ] ที่มุมขวาบนเพื่อเข้าสู่หน้า
ตามภาพด้านบน กรอก "คำอธิบายการเรียกกลับ" "URL การเรียกกลับ" "ชื่อผู้ใช้" "การอนุญาต" "เหตุการณ์การเรียกกลับ" และ "การตอบกลับข้อความ" เป็นต้น
- เลือกเหตุการณ์การเรียกกลับ เมื่อเกิดเหตุการณ์ที่เลือก ข้อมูลจะถูกส่งไปยังที่อยู่การเรียกกลับที่คุณกำหนดค่าไว้
- คลิกตัวเลือกสถานะข้อความและการตอบกลับข้อความทางด้านขวาเพื่อดูตัวอย่างที่เกี่ยวข้อง
กระบวนการกำหนดค่า
เมื่อกำหนดค่าที่อยู่การเรียกกลับ ระบบ EngageLab NewSMS จะส่งคำขอ HTTP POST ไปยังที่อยู่ที่ระบุ บริการนักพัฒนาที่เกี่ยวข้องต้องตอบกลับรหัสสถานะ HTTP 200 ภายใน 3 วินาที มิฉะนั้นระบบจะถือว่าที่อยู่นั้นไม่ถูกต้อง
- บริการนักพัฒนาจำเป็นต้องตอบกลับเพียงรหัสสถานะ HTTP 200 โดยไม่จำเป็นต้องมีเนื้อหาการตอบกลับ
ตัวอย่างคำขอ
สมมติว่าที่อยู่การเรียกกลับที่กำหนดค่าไว้คือ https://example.engagelabSMS.callback.com
ระบบจะส่งโหลดเปล่าไปยังที่อยู่นั้น โดยใช้คำสั่ง curl
ดังนี้:
curl -X POST https://example.engagelabSMS.callback.com -d ''
ตัวอย่างการตอบกลับ
บริการนักพัฒนาที่เกี่ยวข้องกับที่อยู่การเรียกกลับจำเป็นต้องตอบกลับเพียงรหัสสถานะ HTTP 200 ดังนี้:
HTTP/1.1 200 OK
Content-Length: 0
การกำหนดค่าการเรียกกลับ
การกำหนดค่าชื่อผู้ใช้
นี่เป็นขั้นตอนที่ไม่บังคับ หากตั้งค่าชื่อผู้ใช้ จะต้องให้คีย์ด้วยเพื่อให้มั่นใจว่าข้อมูลมาจาก EngageLab คุณสามารถเลือกตรวจสอบแหล่งที่มาของข้อมูล POST
เมื่อกำหนดค่าชื่อผู้ใช้และคีย์ EngageLab จะส่งข้อมูลที่มี HTTP Header:
X-CALLBACK-ID
ค่าX-CALLBACK-ID
คือ:timestamp={timestamp};nonce={nonce};username={username};signature={signature}
ตัวอย่าง:
X-CALLBACK-ID: timestamp=1681991058;nonce=123123123123;username=test;signature=59682d71e2aa2747252e4e62c15f6f241ddecc8ff08999eda7e0c4451207a16bX-CALLBACK-ID: timestamp=1681991058;nonce=123123123123;username=test;signature=59682d71e2aa2747252e4e62c15f6f241ddecc8ff08999eda7e0c4451207a16b
โค้ดนี้โชว์เป็นหน้าต่างลอยtimestamp
: เวลาประทับของข้อความเรียกกลับ (รูปแบบมาตรฐาน)nonce
: ตัวเลขสุ่มsignature
: ข้อมูลลายเซ็น วิธีการคำนวณดังนี้:signature=HMAC-SHA256(secret, timestamp+nonce+username)
ด้านล่างเป็นตัวอย่างโค้ด Python สำหรับการคำนวณ
signature
:import hashlib, hmac def verify(username, secret, timestamp, nonce, signature): return signature == hmac.new( key=secret.encode(), msg='{}{}{}'.format(timestamp, nonce, username).encode(), digestmod=hashlib.sha256 ).hexdigest()import hashlib, hmac def verify(username, secret, timestamp, nonce, signature): return signature == hmac.new( key=secret.encode(), msg='{}{}{}'.format(timestamp, nonce, username).encode(), digestmod=hashlib.sha256 ).hexdigest()
โค้ดนี้โชว์เป็นหน้าต่างลอยการกำหนดค่าการอนุญาต
นี่เป็นขั้นตอนที่ไม่บังคับ หากที่อยู่การเรียกกลับของคุณต้องการการตรวจสอบสิทธิ์สำหรับคำขอของ EngageLab โปรดให้ข้อมูลการตรวจสอบสิทธิ์ที่นี่ EngageLab จะรวม HeaderAuthorization
ในคำขอ
เนื้อหาคำขอการเรียกกลับ
เมื่อเหตุการณ์การเรียกกลับถูกทริกเกอร์ ระบบ EngageLab SMS จะส่งข้อมูลไปยังที่อยู่การเรียกกลับ
ตัวอย่างคำขอ "สถานะข้อความ"
สถานะข้อความ:
plan
: วางแผนการส่งsent
: ส่งสำเร็จsent_failed
: ส่งล้มเหลวdelivered
: ส่งมอบสำเร็จdelivered_failed
: ส่งมอบล้มเหลว
{
"total": 2,
"rows": [
{
"message_id": "1742442805608914944",
"to": "+8615989574757",
"server": "SMS",
"channel": "SMS",
"itime": 1704265712,
"status": {
"message_status": "plan",
"status_data": {
"msg_time": 1704265712,
"message_id": "1742442805608914944",
"current_send_channel": "",
"template_key": "auto_create_templateu25az170295320745",
"business_id": "100917676394736"
},
"error_code": 0
}
},
{
"message_id": "1742442805608914944",
"to": "+8615989574757",
"server": "SMS",
"channel": "SMS",
"itime": 1704265712,
"status": {
"message_status": "sent_failed",
"status_data": {
"msg_time": 1704265712,
"message_id": "1742442805608914944",
"current_send_channel": "whatsapp",
"template_key": "auto_create_templateu25az170295320745",
"business_id": "100917676394736"
},
"error_code": 5001,
"error_detail": {
"message": "sender config is invalid"
}
}
}
]
}
ตัวอย่างคำขอ "การตอบกลับข้อความ"
เหตุการณ์:
uplink_message
: ข้อความขาเข้า
{
"total": 1,
"rows": [
{
"server": "SMS",
"itime": 1741083306,
"message_id": "0",
"business_id": "0",
"response": {
"event": "uplink_message",
"response_data": {
"message_sid": "SM1234567890",
"account_sid": "AC1234567890",
"from": "+1234567890",
"to": "+0987654321",
"body": "Hello, it's time to struggle!"
}
}
}
]
}