ส่ง OTP แบบกำหนดเอง

หากคุณต้องการสร้างรหัสยืนยันด้วยตัวเองแทนที่จะใช้แพลตฟอร์ม EngageLab คุณสามารถเรียกใช้ API นี้ได้

API นี้ได้รับการออกแบบมาเฉพาะสำหรับการส่งรหัสยืนยันที่สร้างไว้ล่วงหน้าและไม่สามารถสร้างรหัสได้ด้วยตัวเอง หลังจากส่งรหัสยืนยันแล้ว ไม่จำเป็นต้องเรียกใช้ API การยืนยันเพื่อการตรวจสอบ

หากคุณต้องการให้แพลตฟอร์ม EngageLab สร้างรหัสยืนยัน คุณสามารถเรียกใช้ API EngageLab OTP Code Delivery

Endpoint

POST https://otp.api.engagelab.cc/v1/codes

การรับรองความถูกต้อง

ใช้ HTTP Basic Authentication โดยเพิ่ม Authorization ใน HTTP Header:

Authorization: Basic ${base64_auth_string}
              
              Authorization: Basic ${base64_auth_string}

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

base64_auth_string ถูกสร้างขึ้นดังนี้: base64(dev_key:dev_secret)

ตัวอย่างคำขอ

Header ของคำขอ

POST /v1/codes HTTP/1.1 Content-Type: application/json Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
              
              POST /v1/codes  HTTP/1.1  
Content-Type: application/json  
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0

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

เนื้อหาของคำขอ

{ "to": "+8618701235678", "code":"398210", "template":{ "id":"test-template-1", "language": "default", "params": { "key1": "value1", "key2": "value2" } } }
              
              {
    "to": "+8618701235678",
    "code":"398210",
    "template":{
      "id":"test-template-1",
      "language": "default",
        "params": {
        "key1": "value1",
        "key2": "value2"
        }
    }
}

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

พารามิเตอร์ของคำขอ

วัตถุคำขอแสดงในรูปแบบ JSON ดังนั้นส่วนหัวของคำขอต้องรวม Content-Type: application/json

พารามิเตอร์ ประเภท จำเป็น คำอธิบาย
to String จำเป็น ผู้รับเป้าหมาย หมายเลขโทรศัพท์หรือที่อยู่อีเมล เช่น +8613800138000, support@engagelab.com
code String จำเป็น รหัสยืนยันที่กำหนดเองเพื่อส่ง
template JSON Object จำเป็น ข้อมูลเทมเพลต พารามิเตอร์รองแสดงด้านล่าง
|_ id String จำเป็น รหัสเทมเพลต
|_ language String ไม่จำเป็น ภาษาเทมเพลต รองรับตัวเลือกดังต่อไปนี้:
default ภาษาเริ่มต้น
zh_CN ภาษาจีนตัวย่อ
zh_HK ภาษาจีนตัวเต็ม
en ภาษาอังกฤษ
ja ภาษาญี่ปุ่น
th ภาษาไทย
es ภาษาสเปน
หากไม่ได้ระบุ จะใช้ภาษาเริ่มต้น
|_ params JSON Object ไม่จำเป็น ค่าตัวแปรเทมเพลตที่กำหนดเอง
หากคุณกำหนดตัวแปรเมื่อสร้างเทมเพลต ให้ระบุค่าที่นี่ หากไม่ได้ระบุ คีย์ตัวแปรจะถูกส่งโดยตรง เช่น {{var}}

คำอธิบาย params

  1. สำหรับฟิลด์ที่ตั้งไว้ล่วงหน้าในเทมเพลต เช่น from_id หากไม่ได้ระบุ param_vars จะใช้ from_id ที่ตั้งไว้ล่วงหน้าในเทมเพลตเมื่อส่งข้อความ
  2. หากระบุ param_vars เช่น param_vars:{"from_id":"12345"} from_id ในเทมเพลตจะถูกแทนที่ด้วย 12345 เมื่อส่งข้อความ
  3. สำหรับฟิลด์ตัวแปรที่กำหนดเองในเนื้อหาเทมเพลต ค่าจะถูกกำหนดผ่าน param_vars เช่น หากเนื้อหาเทมเพลตคือ Hi {{name}}, your verify code is {{code}} คุณต้องระบุพารามิเตอร์เช่น param_vars:{"name":"Bob"}

พารามิเตอร์การตอบกลับ

การตอบกลับสำเร็จ

ฟิลด์ ประเภท จำเป็น คำอธิบาย
message_id String จำเป็น รหัสข้อความ ระบุข้อความเฉพาะ
send_channel String จำเป็น ระบุช่องทางการส่งปัจจุบัน ค่าอาจเป็น whatsapp/sms/email/voice
{ "message_id": "1725407449772531712", "send_channel": "sms" }
              
              {
    "message_id": "1725407449772531712",
    "send_channel": "sms"
}

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

หมายเหตุ: ค่าที่ส่งกลับ **send_channel** ไม่ได้แสดงถึงช่องทางสุดท้ายที่ส่งถึงผู้ใช้ แต่เป็นเพียงช่องทางที่ใช้ในขั้นตอนปัจจุบัน เช่น หากการกำหนดค่าเทมเพลตระบุว่าหากช่องทาง WhatsApp ล้มเหลว จะลองใหม่โดยอัตโนมัติด้วยช่องทาง SMS API จะส่งกลับ whatsapp หลังจากช่วงเวลาหนึ่ง หากตรวจพบความล้มเหลวในการส่ง ระบบจะใช้ช่องทาง SMS เพื่อส่งข้อความ

การตอบกลับล้มเหลว

รหัสสถานะ HTTP จะเป็น 4xx หรือ 5xx และเนื้อหาการตอบกลับจะรวมฟิลด์ดังต่อไปนี้:

ฟิลด์ ประเภท จำเป็น คำอธิบาย
code int จำเป็น รหัสข้อผิดพลาด ดูรายละเอียดที่ Error Codes
message String จำเป็น รายละเอียดข้อผิดพลาด
{ "code": 5001, "message": "sms send fail" }
              
              {
    "code": 5001,
    "message": "sms send fail"
}

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

รหัสข้อผิดพลาด

รหัสข้อผิดพลาด รหัส HTTP คำอธิบาย
1000 500 ข้อผิดพลาดภายใน
2001 401 การรับรองความถูกต้องล้มเหลว มีการให้โทเค็นที่ไม่ถูกต้อง
2002 401 การรับรองความถูกต้องล้มเหลว โทเค็นหมดอายุหรือถูกปิดใช้งาน
2004 403 ไม่มีสิทธิ์ในการเรียกใช้ API นี้
3001 400 รูปแบบพารามิเตอร์คำขอไม่ถูกต้อง ตรวจสอบว่าข้อมูลเป็น JSON ที่ถูกต้องหรือไม่
3002 400 พารามิเตอร์คำขอไม่ถูกต้อง ตรวจสอบว่าตรงตามข้อกำหนดหรือไม่
3003 400 พารามิเตอร์คำขอไม่ถูกต้อง การตรวจสอบทางธุรกิจล้มเหลว ดูฟิลด์ข้อความสำหรับรายละเอียด
3004 400 เกินขีดจำกัดอัตรา ไม่สามารถส่งรหัสยืนยันใหม่ภายในระยะเวลาที่มีผลสำหรับเทมเพลตและผู้ใช้เป้าหมายเดียวกัน
4001 400 ไม่พบทรัพยากร เช่น การใช้เทมเพลตที่ไม่มีอยู่สำหรับการส่งข้อความ
5001 400 การส่งรหัสยืนยันล้มเหลว ดูฟิลด์ข้อความสำหรับรายละเอียด
icon
ติดต่อฝ่ายขาย