การส่งรหัส OTP

อินเทอร์เฟซนี้จะให้แพลตฟอร์ม EngageLab สร้างรหัส OTP และส่งตามกลยุทธ์ช่องทางที่ระบุไว้ในเทมเพลต

หากคุณต้องการสร้างรหัส OTP ด้วยตนเองแทนการสร้างผ่านแพลตฟอร์ม EngageLab คุณสามารถเรียกใช้อินเทอร์เฟซ การส่งรหัส OTP กำหนดเองของ EngageLab ได้

ที่อยู่สำหรับเรียกใช้

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

การยืนยันตัวตนในการเรียกใช้

โปรดดู การยืนยันตัวตนในการเรียกใช้ เพื่อเรียนรู้วิธีทำการยืนยันตัวตน API

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

ส่วนหัวคำขอ

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

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

เนื้อหาคำขอ

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

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

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

ออบเจ็กต์คำขอแสดงในรูปแบบ JSON ดังนั้นส่วนหัวคำขอจึงต้องมี Content-Type: application/json

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

คำอธิบายเกี่ยวกับ params

  1. สำหรับฟิลด์ที่เทมเพลตกำหนดไว้ล่วงหน้า เช่น from_id หากไม่ส่งค่าฟิลด์ params เมื่อส่งข้อความจะใช้ from_id ที่เทมเพลตกำหนดไว้ล่วงหน้า
  2. หากส่งค่าฟิลด์ params เช่น params:{"from_id":"12345"} เมื่อส่งข้อความ from_id ของเทมเพลตจะถูกแทนที่ด้วย 12345
  3. สำหรับฟิลด์ตัวแปรที่กำหนดเองในเนื้อหาเทมเพลตตอนสร้างเทมเพลต ก็ต้องกำหนดค่าผ่าน params เช่นกัน เช่น เนื้อหาเทมเพลต Hi {{name}}, your verify code is {{code}} กรณีนี้ต้องกำหนดค่าพารามิเตอร์ params:{"name":"Bob"}
  4. ตัวแปรพิเศษของช่องทาง Email: สำหรับช่องทาง Email รองรับการแทนที่หัวข้ออีเมล (subject) ชื่อผู้ส่ง (from_name) อีเมลผู้ส่ง (from_mail) ฯลฯ แบบไดนามิกผ่าน params สำหรับการใช้งานขั้นสูงโดยละเอียด โปรดดู สร้างเทมเพลต - การใช้งานขั้นสูงของตัวแปรเทมเพลต Email

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

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

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

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

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

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

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

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

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

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

ตารางด้านล่างอธิบายเฉพาะข้อผิดพลาดที่ API นี้ส่งคืนในขั้นตอนการยืนยันตัวตน การตรวจสอบก่อนส่ง และการส่งแบบซิงโครนัส ความล้มเหลวในการจัดส่งแบบอะซิงโครนัสหลังผู้ให้บริการรับข้อความแล้วจะไม่ถูกส่งคืนผ่าน API นี้ ให้ดึงผ่านการสอบถามสถานะข้อความหรือ callback

ผู้เรียกควรใช้ code เพื่อตัดสินประเภทข้อผิดพลาด ใช้ message เพื่อแสดงเหตุผลเฉพาะหรือช่วยในการแก้ไขปัญหา ไม่แนะนำให้พึ่งพาข้อความ message ที่ตายตัวในการเขียนตรรกะทางธุรกิจ

รหัสข้อผิดพลาด http code คำอธิบาย
1000 500 ข้อผิดพลาดภายใน
2001 401 การยืนยันตัวตนล้มเหลว ไม่ได้แนบ token ที่ถูกต้อง
2002 401 การยืนยันตัวตนล้มเหลว token หมดอายุหรือถูกปิดใช้งานแล้ว
2003 403 IP นี้ไม่ได้รับอนุญาตให้ส่งข้อความ
2004 403 ไม่มีสิทธิ์เรียกใช้ API นี้
3001 400 รูปแบบพารามิเตอร์คำขอไม่ถูกต้อง โปรดตรวจสอบว่าเนื้อหา JSON เป็นไปตามรูปแบบพารามิเตอร์หรือไม่
3002 400 พารามิเตอร์คำขอไม่ถูกต้อง โปรดตรวจสอบว่าพารามิเตอร์คำขอเป็นไปตามข้อกำหนดหรือไม่
3003 400 พารามิเตอร์คำขอไม่ถูกต้อง การตรวจสอบทางธุรกิจที่เกี่ยวข้องล้มเหลว ดูรายละเอียดได้ที่คำอธิบายข้อผิดพลาดในฟิลด์ message
3004 400 เกินขีดจำกัดความถี่ สำหรับเทมเพลตเดียวกันและผู้ใช้เป้าหมายเดียวกัน ไม่สามารถส่งซ้ำได้ภายในช่วงเวลาที่รหัส OTP ยังมีผล
3005 400 ยอดคงเหลือที่ใช้ได้ของบัญชีไม่เพียงพอ
3013 400 เทมเพลตยังไม่ผ่านการอนุมัติหรือใช้งานไม่ได้ในขณะนี้
4001 400 ทรัพยากรที่เกี่ยวข้องไม่มีอยู่ เช่น ใช้เทมเพลตที่ไม่มีอยู่ในการส่งข้อความเทมเพลต
5001 400 ส่งล้มเหลว (ทั่วไป/อื่น ๆ)
5011 400 รูปแบบหมายเลขโทรศัพท์ไม่ถูกต้อง
5012 400 ไม่สามารถเข้าถึงเป้าหมายได้
5013 400 หมายเลขถูกเพิ่มในบัญชีดำ
5014 400 เนื้อหาไม่เป็นไปตามข้อกำหนด
5015 400 ข้อความถูกบล็อก/ปฏิเสธ
5016 400 ข้อผิดพลาดภายในในการส่ง
5017 400 ไม่มีสิทธิ์ส่งในพื้นที่ประเทศจีน
5018 400 โทรศัพท์ขัดข้อง (ปิดเครื่อง/ระงับบริการ)
5019 400 ผู้ใช้ยกเลิกการรับข้อความแล้ว
5020 400 หมายเลขยังไม่ได้ลงทะเบียน/เป็นหมายเลขว่าง
6001 429 ความถี่ในการส่งสำหรับหมายเลขโทรศัพท์เดียวกันเกินขีดจำกัด หน้าต่างจำกัดอาจเป็นนาที ชั่วโมง หรือวันปฏิทิน
6002 429 ความถี่ในการส่งสำหรับ IP ของผู้ใช้ปลายทางเดียวกันเกินขีดจำกัด หน้าต่างจำกัดอาจเป็นนาทีหรือชั่วโมง ตรวจสอบเฉพาะเมื่อคำขอมี end_user_ip
6003 429 ปริมาณการส่งรายวันหรือรายเดือนทั่วทั้งแอปพลิเคชันถึงขีดจำกัดแล้ว
6006 403 ไม่อนุญาตให้ส่งในประเทศหรือภูมิภาคปัจจุบัน
6007 403 บริการส่งรหัสยืนยันทาง SMS ถูกระงับ อาจเป็นการระงับทุกประเทศ/ภูมิภาค หรือประเทศ/ภูมิภาคปัจจุบัน
6008 429 ปริมาณการส่งรายวันหรือรายเดือนของประเทศหรือภูมิภาคปัจจุบันถึงขีดจำกัดแล้ว

คำอธิบายข้อผิดพลาดการจำกัดอัตราและปริมาณการส่ง

  • 3004 คือการควบคุมความถี่การส่ง OTP ตามเทมเพลต หน้าต่างจำกัดอิงตามการตั้งค่าเทมเพลต และอาจไม่เท่ากับระยะเวลาที่ใช้ได้ของรหัสยืนยัน
  • 6001 และ 6002 คือการควบคุมความถี่เพื่อความปลอดภัยในมิติหมายเลขหรือ IP ของผู้ใช้ปลายทาง
  • 6003 และ 6008 ระบุว่าคำขอนี้ถึงขีดจำกัดปริมาณการส่งแล้ว หลังจากถึงขีดจำกัดและเข้าสู่สถานะระงับ คำขอถัดไปอาจส่งคืน 6007
  • เมื่อได้รับ HTTP 429 โปรดอย่ารีทรายทันทีอย่างต่อเนื่อง ให้ลองใหม่ในภายหลัง และหากยังเกิดขึ้นต่อเนื่อง ให้ติดต่อผู้ดูแลระบบหรือฝ่ายสนับสนุนทางเทคนิค
  • 5011 ถึง 5019 ครอบคลุมเฉพาะความล้มเหลวที่ระบุได้ในขั้นตอนการส่งแบบซิงโครนัส สถานะเช่นหมายเลขว่าง ปิดเครื่อง หรือผู้ให้บริการปฏิเสธหลังผู้ให้บริการรับข้อความแล้ว ยังอาจถูกส่งคืนผ่านสถานะข้อความแบบอะซิงโครนัสหรือ callback
Icon Solid Transparent White Qiyu
ติดต่อฝ่ายขาย