การส่ง SMS ผ่าน API
หากคุณต้องการส่ง SMS แจ้งเตือนและการตลาดโดยอัตโนมัติโดยไม่ต้องสร้างผ่านแพลตฟอร์ม EngageLab คุณสามารถเรียกใช้ API นี้ได้ ระบุ ID ของเทมเพลต SMS และผู้รับเป้าหมาย แล้วระบบจะส่ง SMS โดยอัตโนมัติตามเนื้อหาในเทมเพลต
การตั้งค่าแพลตฟอร์ม
ก่อนการเรียกใช้งาน คุณต้องดำเนินการตั้งค่าต่อไปนี้ในคอนโซล EngageLab SMS:
การตั้งค่าเทมเพลต SMS: ก่อนการเรียกใช้ API กรุณาไปที่ หน้าการจัดการเทมเพลต เพื่อปรับแต่งและส่งเทมเพลต SMS เทมเพลตจะสามารถใช้งานได้หลังจากได้รับการอนุมัติและคุณได้รับ ID ของเทมเพลตแล้ว
การตั้งค่า API Key: ไปที่ หน้าการตั้งค่า API Key เพื่อสร้างคีย์การตรวจสอบสิทธิ์ API แบบ Basic
กระบวนการเรียกใช้งาน
กรุณาอ้างอิงกระบวนการต่อไปนี้เพื่อเรียกใช้ API สำหรับการส่ง SMS หากคุณมีคำถามใด ๆ กรุณา ติดต่อฝ่ายบริการลูกค้า
URL การเรียกใช้งาน
POST https://smsapi.engagelab.com/v1/messages
การตรวจสอบสิทธิ์การเรียกใช้งาน
ใช้ HTTP Basic Authentication สำหรับการตรวจสอบสิทธิ์ เพิ่ม Authorization ใน HTTP Header:
Authorization: Basic ${base64_auth_string}
อัลกอริทึมการสร้าง base64_auth_string ด้านบนคือ: base64(dev_key:dev_secret)
รูปแบบคำขอ
หัวข้อคำขอ
POST /v1/messages HTTP/1.1
Content-Type: application/json
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
เนื้อหาคำขอ
{
"to": [
"923700056581"
],
"template": {
"id": 1233,
"params": {
"content": "Verification code: 039487. This code will expire in 5 minutes. You are attempting to create your account."
}
}
}
พารามิเตอร์คำขอ
วัตถุคำขอถูกแสดงในรูปแบบ JSON ดังนั้นหัวข้อคำขอต้องรวม Content-Type: application/json
| ชื่อ | ตำแหน่ง | ประเภท | จำเป็น | คำอธิบาย | หมายเหตุ |
|---|---|---|---|---|---|
| Authorization | header | array[string] | No | ||
| to | body | array[string] | Yes | รายการ ID เป้าหมาย | หมายเลขโทรศัพท์เป้าหมาย |
| plan_name | body | string | No | ชื่อแผน | ไม่จำเป็น, ค่าเริ่มต้นคือ "-" หากไม่ได้ระบุ |
| schedule_time | body | integer | No | เวลาที่กำหนด | ไม่จำเป็นสำหรับการส่งที่ไม่ได้กำหนดเวลา, timestamp |
| template | body | object | Yes | ||
| id | body | string | Yes | ||
| params | body | object | Yes | ||
| custom_args | body | object | No | พารามิเตอร์ที่กำหนดเอง |
หากคุณมีตัวแปรที่กำหนดเองเมื่อสร้างเทมเพลต ให้ส่งค่าของตัวแปรเหล่านั้นที่นี่ หากไม่ได้ส่ง ตัวแปรคีย์จะถูกส่งโดยตรง เช่น {{var1}}
คำอธิบายสำหรับ params
สำหรับเนื้อหาเทมเพลตที่มีฟิลด์ตัวแปรที่กำหนดเอง ให้กำหนดค่าผ่าน params ตัวอย่างเช่น หากเนื้อหาเทมเพลตคือ Hi {{name}}, welcome to EngageLab คุณต้องกำหนดพารามิเตอร์เป็น params:{"name":"Bob"}
ตัวอย่างคำขอ
1. การส่งเนื้อหาการแจ้งเตือนที่กำหนดเอง:
{
"to": "+8618701235678",
"template":{
"id":"notification-template",
"params": {
"order":"123456"
}
}
}
2. การส่งเนื้อหาการตลาดที่กำหนดเอง:
{
"to": "+8618701235678",
"template":{
"id":"marketing-template",
"params": {
"name":"EngageLab",
"promotion":"30%"
}
}
}
การตอบกลับ
รหัสสถานะ HTTP คือ 200 และเนื้อหาการตอบกลับประกอบด้วยฟิลด์ดังต่อไปนี้:
| ฟิลด์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
| plan_id | string | จำเป็น | รหัสแผน |
| total_count | integer | จำเป็น | จำนวนเป้าหมายที่ได้รับ |
| accepted_count | integer | จำเป็น | จำนวนเป้าหมายที่ถูกต้องที่ได้รับ |
| message_id | string | ไม่จำเป็น | ส่งคืนสำหรับการส่งเดี่ยวพร้อมกับรหัสข้อความที่เกี่ยวข้อง |
ตัวอย่างความสำเร็จ (เป้าหมายเดียว)
{
"plan_id": "1972488990548348928",
"total_count": 1,
"accepted_count": 1,
"message_id": "1972488990804201472"
}
ตัวอย่างความสำเร็จ (หลายเป้าหมาย)
{
"plan_id": "1972484198153367552",
"total_count": 2,
"accepted_count": 2
}
ตัวอย่างความสำเร็จ (งานที่กำหนดเวลา)
{
"plan_id": "1972492618659033088",
"total_count": 1,
"accepted_count": 1,
"schedule_info": {
"task_id": 1972492621368553472
}
}
ตัวอย่างข้อผิดพลาด
{
"plan_id": "1972490061974913024",
"total_count": 1,
"accepted_count": 1,
"message": "err xxxx",
"code": 1
}
ข้อผิดพลาดในการส่ง
รหัสสถานะ HTTP คือ 200 และเนื้อหาการตอบกลับประกอบด้วยฟิลด์ดังต่อไปนี้:
| ฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
| plan_id | string | จำเป็น |
| total_count | integer | จำเป็น |
| accepted_count | integer | จำเป็น |
| message | string | จำเป็น |
| code | integer | จำเป็น |
{
"plan_id": "string",
"total_count": 0,
"accepted_count": 0,
"message": "string",
"code": 0
}
รหัสข้อผิดพลาด
| รหัสข้อผิดพลาด | รหัส HTTP | คำอธิบาย |
|---|---|---|
| 1000 | 500 | ข้อผิดพลาดภายใน |
| 2001 | 401 | การตรวจสอบสิทธิ์ล้มเหลว, โทเค็นที่ให้มาไม่ถูกต้อง |
| 2002 | 401 | การตรวจสอบสิทธิ์ล้มเหลว, โทเค็นหมดอายุหรือถูกปิดใช้งาน |
| 2004 | 403 | ไม่มีสิทธิ์ในการเรียกใช้ API นี้ |
| 3001 | 400 | รูปแบบพารามิเตอร์คำขอไม่ถูกต้อง, ตรวจสอบว่าตรงตามรูปแบบ JSON หรือไม่ |
| 3002 | 400 | พารามิเตอร์คำขอไม่ถูกต้อง, ตรวจสอบว่าตรงตามข้อกำหนดหรือไม่ |
| 3003 | 400 | พารามิเตอร์คำขอไม่ถูกต้อง, การตรวจสอบทางธุรกิจล้มเหลว, อ้างอิงถึงฟิลด์ข้อความสำหรับรายละเอียดข้อผิดพลาด |
| 3004 | 400 | เกินขีดจำกัดความถี่, ไม่สามารถส่งเทมเพลตเดียวกันไปยังผู้ใช้เป้าหมายเดียวกันซ้ำได้ภายในระยะเวลาที่รหัสยืนยันยังมีผล |
| 4001 | 400 | ไม่พบทรัพยากร, เช่น การใช้เทมเพลตที่ไม่มีอยู่สำหรับการส่งข้อความ |
| 5001 | 400 | การส่งข้อความรหัสยืนยันล้มเหลว, อ้างอิงถึงฟิลด์ข้อความสำหรับรายละเอียดข้อผิดพลาด |









