การส่งข้อความกำหนดเอง
หากคุณได้สร้างเนื้อหาเทมเพลตกำหนดเองบนแพลตฟอร์ม OTP คุณสามารถเรียกใช้อินเทอร์เฟซนี้เพื่อส่งเนื้อหาข้อความกำหนดเองได้
ที่อยู่สำหรับเรียกใช้
POST https://otp.api.engagelab.cc/v1/custom-messages
การยืนยันตัวตนในการเรียกใช้
โปรดดู การยืนยันตัวตนในการเรียกใช้ เพื่อเรียนรู้วิธีทำการยืนยันตัวตน API
รูปแบบคำขอ
ส่วนหัวคำขอ
POST /v1/custom-messages HTTP/1.1
Content-Type: application/json
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
เนื้อหาคำขอ
{
"to": "+6591234567",
"template":{
"id":"test-template-1",
"params": {
"code": "codevalue",
"var1":"value1"
}
}
}
พารามิเตอร์คำขอ
ออบเจ็กต์คำขอแสดงในรูปแบบ JSON ดังนั้นส่วนหัวคำขอจึงต้องมี Content-Type: application/json
| พารามิเตอร์ | ประเภท | ตัวเลือก | คำอธิบาย |
|---|---|---|---|
| to | String | จำเป็น | เป้าหมายการส่ง หมายเลขโทรศัพท์หรือที่อยู่อีเมล, +6598765432, support@engagelab.com |
| template | JSON Object | จำเป็น | ข้อมูลเทมเพลต พารามิเตอร์ระดับรองที่มีดูได้ด้านล่าง |
| |_ id | String | จำเป็น | ID เทมเพลต |
| |_ params | JSON Object | ไม่บังคับ | พารามิเตอร์เทมเพลต |
| _ |_ code | String | ไม่บังคับ | เมื่อประเภทเทมเพลตเป็นรหัส OTP ฟิลด์นี้จำเป็นต้องระบุ |
| _ |_ var | String | ไม่บังคับ | ค่าของ Key ตัวแปรเทมเพลตที่กำหนดเอง |
| หากคุณกำหนดตัวแปรเองตอนสร้างเทมเพลต ให้ส่งค่าให้กับตัวแปรเหล่านั้นที่นี่ หากไม่ส่ง ระบบจะส่งออกโดยใช้ Key ของตัวแปรโดยตรง เช่น {{var1}} |
คำอธิบายเกี่ยวกับ params
- สำหรับตัวแปรที่ระบบกำหนดไว้ล่วงหน้าในเทมเพลต เช่น {{brand_name}}, {{ttl}}, {{pwa_url}} ไม่จำเป็นต้องส่ง ระบบจะแทนที่ด้วยเนื้อหาที่ระบุไว้ตอนสร้างเทมเพลตโดยอัตโนมัติ
- หากประเภทเทมเพลตเป็นรหัส OTP จะต้องส่งตัวแปร {{code}} มิฉะนั้นจะเกิดข้อผิดพลาด
- สำหรับฟิลด์ตัวแปรที่กำหนดเองในเนื้อหาเทมเพลตตอนสร้างเทมเพลต ก็ต้องกำหนดค่าผ่าน params เช่นกัน เช่น เนื้อหาเทมเพลต
Hi {{name}}, your verify code is {{code}}กรณีนี้ต้องกำหนดค่าพารามิเตอร์params:{"name":"Bob"} - ตัวแปรพิเศษของช่องทาง Email: สำหรับช่องทาง Email รองรับการแทนที่หัวข้ออีเมล (
subject) ชื่อผู้ส่ง (from_name) อีเมลผู้ส่ง (from_mail) ฯลฯ แบบไดนามิกผ่านparamsสำหรับการใช้งานขั้นสูงโดยละเอียด โปรดดู สร้างเทมเพลต - การใช้งานขั้นสูงของตัวแปรเทมเพลต Email
ตัวอย่างคำขอ
1. ส่งรหัส OTP กำหนดเอง:
{
"to": "+6591234567",
"template":{
"id":"code-template",
"params": {
"code": "123456"
}
}
}
2. ส่งเนื้อหาการแจ้งเตือนกำหนดเอง:
{
"to": "+6591234567",
"template": {
"id": "notification-template",
"params": {
"order": "123456"
}
}
}
3. ส่งเนื้อหาการตลาดกำหนดเอง:
{
"to": ["+6591234567"],
"template": {
"id": "marketing-template",
"params": {
"name": "EngageLab",
"promotion": "30%"
}
}
}
พารามิเตอร์การตอบกลับ
การตอบกลับสำเร็จ
| ฟิลด์ | ประเภท | ตัวเลือก | คำอธิบาย |
|---|---|---|---|
| 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 | หมายเลขยังไม่ได้ลงทะเบียน/เป็นหมายเลขว่าง |










