logoเอกสาร
ค้นหา
เข้าสู่ระบบ

การตั้งค่าการเรียกกลับ

การตั้งค่าการเรียกกลับใช้สำหรับกำหนดค่าที่อยู่การเรียกกลับของระบบธุรกิจของคุณเพื่อรับเหตุการณ์ "สถานะข้อความ" และ "การตอบกลับข้อความ" แบบเรียลไทม์ที่บริการ EngageLab NewSMS ส่งมา ด้วยการใช้การเรียกกลับ คุณสามารถทำให้การติดตามข้อความเป็นอัตโนมัติ ดำเนินกลยุทธ์การลองใหม่ เรียกใช้การแจ้งเตือนของระบบ และเพิ่มประสิทธิภาพการจัดการข้อความและความฉลาดของระบบ

  • สถานะข้อความ: หมายถึงการเปลี่ยนแปลงสถานะของข้อความในแต่ละขั้นตอน เช่น การส่ง การส่งมอบ การอ่าน และการตรวจสอบ
  • การตอบกลับข้อความ: หมายถึงเนื้อหาและเหตุการณ์ของข้อความที่ผู้ใช้ตอบกลับ (ข้อความขาเข้า)

รายการการเรียกกลับ

หน้ารายการการเรียกกลับแสดงข้อมูลการเรียกกลับทั้งหมดที่กำหนดค่าไว้และสถานะความสมบูรณ์ของข้อมูล เพื่อการจัดการและบำรุงรักษาอย่างเป็นระบบ

  • แถบค้นหา: รองรับการกรองแบบเรียลไทม์ผ่านคำอธิบายการเรียกกลับ เพื่อค้นหาเป้าหมายการเรียกกลับได้อย่างรวดเร็ว
  • กำหนดค่าการเรียกกลับ: คลิกปุ่มเพื่อเข้าสู่กระบวนการตั้งค่าการเรียกกลับใหม่ เพื่อขยายความต้องการการเรียกกลับได้อย่างยืดหยุ่น

alt text

คำอธิบายฟิลด์

ฟิลด์ คำอธิบาย
คำอธิบายการเรียกกลับ คำอธิบายที่กำหนดเองสำหรับการกำหนดค่าการเรียกกลับ ใช้เพื่อแยกแยะการใช้งาน
URL การเรียกกลับ ที่อยู่ URL ของอินเทอร์เฟซการเรียกกลับ
สถานะ สถานะความสมบูรณ์ของอินเทอร์เฟซการเรียกกลับ
สถานะข้อความ จำนวนเหตุการณ์สถานะข้อความที่เลือกไว้ วางเมาส์เพื่อดูประเภทเหตุการณ์เฉพาะ
การตอบกลับข้อความ จำนวนเหตุการณ์การตอบกลับข้อความที่เลือกไว้ วางเมาส์เพื่อดูประเภทเหตุการณ์เฉพาะ
การดำเนินการ รวมถึงตัวเลือก "รีเฟรช" "แก้ไข" และ "ลบ" รีเฟรชเพื่อตรวจสอบสถานะความสมบูรณ์ การลบต้องยืนยันการดำเนินการ

การกำหนดค่าการเรียกกลับ

คลิกปุ่ม [กำหนดค่าการเรียกกลับ] ที่มุมขวาบนเพื่อเข้าสู่หน้า

alt text ตามภาพด้านบน กรอก "คำอธิบายการเรียกกลับ" "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 ''
              
              curl -X POST https://example.engagelabSMS.callback.com -d ''

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

ตัวอย่างการตอบกลับ

บริการนักพัฒนาที่เกี่ยวข้องกับที่อยู่การเรียกกลับจำเป็นต้องตอบกลับเพียงรหัสสถานะ HTTP 200 ดังนี้:

HTTP/1.1 200 OK Content-Length: 0
              
              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=59682d71e2aa2747252e4e62c15f6f241ddecc8ff08999eda7e0c4451207a16b
                  
                  X-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 จะรวม Header Authorization ในคำขอ

เนื้อหาคำขอการเรียกกลับ

เมื่อเหตุการณ์การเรียกกลับถูกทริกเกอร์ ระบบ 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" } } } ] }
              
              {
    "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!" } } } ] }
              
              {
    "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!"
                }
            }
        }
    ]
}

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
icon
ติดต่อฝ่ายขาย