การส่งรหัส OTP กำหนดเอง
หากคุณต้องการสร้างรหัส OTP ด้วยตนเองแทนการสร้างผ่านแพลตฟอร์ม EngageLab คุณสามารถเรียกใช้อินเทอร์เฟซนี้ได้
อินเทอร์เฟซนี้ใช้เฉพาะสำหรับการส่งรหัส OTP ที่สร้างไว้ล่วงหน้า และจะไม่สร้างรหัส OTP เอง หลังจากส่งรหัส OTP แล้ว ไม่จำเป็นต้องเรียกใช้อินเทอร์เฟซตรวจสอบเพื่อตรวจสอบความถูกต้อง
หากคุณต้องการให้แพลตฟอร์ม EngageLab สร้างรหัส OTP คุณสามารถเรียกใช้อินเทอร์เฟซ การส่งรหัส OTP ของ EngageLab ได้
ที่อยู่สำหรับเรียกใช้
POST https://otp.api.engagelab.cc/v1/codes
การยืนยันตัวตนในการเรียกใช้
โปรดดู การยืนยันตัวตนในการเรียกใช้ เพื่อเรียนรู้วิธีทำการยืนยันตัวตน API
ตัวอย่างคำขอ
ส่วนหัวคำขอ
POST /v1/codes HTTP/1.1
Content-Type: application/json
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
เนื้อหาคำขอ
{
"to": "+6591234567",
"code":"398210",
"template":{
"id":"test-template-1",
"language": "default",
"params": {
"key1": "value1",
"key2": "value2"
}
}
}
พารามิเตอร์คำขอ
ออบเจ็กต์คำขอแสดงในรูปแบบ JSON ดังนั้นส่วนหัวคำขอจึงต้องมี Content-Type: application/json
| พารามิเตอร์ | ประเภท | ตัวเลือก | คำอธิบาย |
|---|---|---|---|
| to | String | จำเป็น | เป้าหมายการส่ง หมายเลขโทรศัพท์หรือที่อยู่อีเมล, +6598765432, support@engagelab.com |
| code | String | จำเป็น | รหัส OTP กำหนดเองที่ต้องการส่ง |
| 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
- สำหรับฟิลด์ที่เทมเพลตกำหนดไว้ล่วงหน้า เช่น from_id หากไม่ส่งค่าฟิลด์ params เมื่อส่งข้อความจะใช้ from_id ที่เทมเพลตกำหนดไว้ล่วงหน้า
- หากส่งค่าฟิลด์ params เช่น
params:{"from_id":"12345"}เมื่อส่งข้อความ from_id ของเทมเพลตจะถูกแทนที่ด้วย 12345 - สำหรับฟิลด์ตัวแปรที่กำหนดเองในเนื้อหาเทมเพลตตอนสร้างเทมเพลต ก็ต้องกำหนดค่าผ่าน params เช่นกัน เช่น เนื้อหาเทมเพลต
Hi {{name}}, your verify code is {{code}}กรณีนี้ต้องกำหนดค่าพารามิเตอร์params:{"name":"Bob"} - ตัวแปรพิเศษของช่องทาง 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"
}
โปรดทราบว่า ค่า **send_channel** ที่ตอบกลับไม่ได้แทนช่องทางที่ส่งถึงผู้ใช้ในที่สุด แต่แทนเพียงช่องทางที่ใช้ในขั้นตอนปัจจุบันเท่านั้น หากกลยุทธ์ที่กำหนดในเทมเพลตตั้งค่าให้ส่งผ่านช่องทาง WhatsApp ล้มเหลวแล้วส่งซ้ำผ่านช่องทาง SMS โดยอัตโนมัติ อินเทอร์เฟซจะตอบกลับค่า whatsapp และหลังจากผ่านไประยะหนึ่งเมื่อตรวจพบว่าการส่งถึงล้มเหลว ระบบจะใช้ช่องทาง SMS ในการส่ง
การตอบกลับล้มเหลว
รหัสสถานะ http เป็น 4xx หรือ 5xx เนื้อหาการตอบกลับมีฟิลด์ดังนี้:
| ฟิลด์ | ประเภท | ตัวเลือก | คำอธิบาย |
|---|---|---|---|
| code | int | จำเป็น | รหัสข้อผิดพลาด ดูรายละเอียดได้ที่คำอธิบายรหัสข้อผิดพลาด |
| message | String | จำเป็น | รายละเอียดข้อผิดพลาด |
{
"code": 5001,
"message": "sms send fail"
}
รหัสข้อผิดพลาด
| รหัสข้อผิดพลาด | http code | คำอธิบาย |
|---|---|---|
| 1000 | 500 | ข้อผิดพลาดภายใน |
| 2001 | 401 | การยืนยันตัวตนล้มเหลว ไม่ได้แนบ token ที่ถูกต้อง |
| 2002 | 401 | การยืนยันตัวตนล้มเหลว token หมดอายุหรือถูกปิดใช้งานแล้ว |
| 2004 | 403 | ไม่มีสิทธิ์เรียกใช้ API นี้ |
| 3001 | 400 | รูปแบบพารามิเตอร์คำขอไม่ถูกต้อง โปรดตรวจสอบว่าเนื้อหา JSON เป็นไปตามรูปแบบพารามิเตอร์หรือไม่ |
| 3002 | 400 | พารามิเตอร์คำขอไม่ถูกต้อง โปรดตรวจสอบว่าพารามิเตอร์คำขอเป็นไปตามข้อกำหนดหรือไม่ |
| 3003 | 400 | พารามิเตอร์คำขอไม่ถูกต้อง การตรวจสอบทางธุรกิจที่เกี่ยวข้องล้มเหลว ดูรายละเอียดได้ที่คำอธิบายข้อผิดพลาดในฟิลด์ message |
| 3004 | 400 | เกินขีดจำกัดความถี่ สำหรับเทมเพลตเดียวกันและผู้ใช้เป้าหมายเดียวกัน ไม่สามารถส่งซ้ำได้ภายในช่วงเวลาที่รหัส OTP ยังมีผล |
| 4001 | 400 | ทรัพยากรที่เกี่ยวข้องไม่มีอยู่ เช่น ใช้เทมเพลตที่ไม่มีอยู่ในการส่งข้อความเทมเพลต |
| 5001 | 400 | ส่งล้มเหลว (ทั่วไป/อื่น ๆ) |
| 5011 | 400 | รูปแบบหมายเลขโทรศัพท์ไม่ถูกต้อง |
| 5012 | 400 | ไม่สามารถเข้าถึงเป้าหมายได้ |
| 5013 | 400 | หมายเลขถูกเพิ่มในบัญชีดำ |
| 5014 | 400 | เนื้อหาไม่เป็นไปตามข้อกำหนด |
| 5015 | 400 | ข้อความถูกบล็อก/ปฏิเสธ |
| 5016 | 400 | ข้อผิดพลาดภายในในการส่ง |
| 5017 | 400 | ไม่มีสิทธิ์ส่งในพื้นที่ประเทศจีน |
| 5018 | 400 | โทรศัพท์ขัดข้อง (ปิดเครื่อง/ระงับบริการ) |
| 5019 | 400 | ผู้ใช้ยกเลิกการรับข้อความแล้ว |
| 5020 | 400 | หมายเลขยังไม่ได้ลงทะเบียน/เป็นหมายเลขว่าง |










