ส่งข้อความ SMS
หากคุณต้องการส่งการแจ้งเตือนและ SMS การตลาดแบบอัตโนมัติ คุณสามารถเรียกใช้อินเทอร์เฟซนี้ได้ ระบุ ID เทมเพลต SMS และผู้รับเป้าหมาย ระบบจะส่ง SMS ตามเนื้อหาเทมเพลตโดยอัตโนมัติ
คำแนะนำการกำหนดค่าแพลตฟอร์ม ก่อนเรียกใช้ คุณต้องกำหนดค่าต่อไปนี้ให้เสร็จในคอนโซล EngageLab SMS:
- การตั้งค่าเทมเพลต SMS: ก่อนเรียกใช้ API โปรดไปที่ การจัดการเทมเพลต เพื่อปรับแต่งและส่งเทมเพลต SMS เทมเพลตต้องผ่านการตรวจสอบก่อนจึงจะใช้ ID เทมเพลตได้
- การกำหนดค่า API Key: ไปที่ API Key เพื่อสร้างคีย์การยืนยันตัวตนแบบ API Basic
URL สำหรับเรียกใช้
POST https://smsapi.engagelab.com/v1/messages
การยืนยันตัวตนในการเรียกใช้
โปรดดู การยืนยันตัวตนในการเรียกใช้ เพื่อเรียนรู้วิธียืนยันตัวตน API
ตัวอย่างคำขอ
ส่วนหัวของคำขอ
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
| พารามิเตอร์ | ประเภท | ตัวเลือก | คำอธิบาย |
|---|---|---|---|
| to | Array[String] | จำเป็น | รายการหมายเลขโทรศัพท์ปลายทาง เช่น ["923700056581"] |
| plan_name | String | ไม่บังคับ | ชื่อแผน หากไม่ระบุจะแสดงเป็น "-" โดยค่าเริ่มต้น |
| schedule_time | Integer | ไม่บังคับ | เวลาสำหรับการส่งตามกำหนดเวลา หากไม่ใช่การส่งตามกำหนดเวลา ไม่ต้องส่งพารามิเตอร์นี้ เป็นประทับเวลา Unix หน่วยเป็น "วินาที" กฎการตรวจสอบ: ต้องเป็นจำนวนบวก; ต้องช้ากว่าเวลาปัจจุบันอย่างน้อย 3 นาที; ต้องไม่เกิน 30 วันนับจากเวลาปัจจุบัน |
| template | JSON Object | จำเป็น | ข้อมูลเทมเพลต พารามิเตอร์ระดับรองดูด้านล่าง |
| |_ id | String | จำเป็น | ID เทมเพลต |
| |_ params | JSON Object | จำเป็น | ค่าของ Key ตัวแปรเทมเพลตที่กำหนดเอง หากคุณกำหนดตัวแปรเองตอนสร้างเทมเพลต ให้ส่งค่าให้กับตัวแปรเหล่านั้นที่นี่ หากไม่ส่ง จะส่งออกโดยใช้ Key ของตัวแปรโดยตรง เช่น {{var1}} |
| custom_args | JSON Object | ไม่บังคับ | พารามิเตอร์ที่กำหนดเอง |
คำอธิบายเกี่ยวกับ params
สำหรับฟิลด์ตัวแปรที่กำหนดเองในเนื้อหาเทมเพลตตอนสร้างเทมเพลต ทั้งหมดต้องกำหนดค่าผ่าน params ตัวอย่างเช่น หากเนื้อหาเทมเพลตเป็น Hi {{name}}, welcome to EngageLab ในกรณีนี้ต้องกำหนดค่าพารามิเตอร์ params: {"name": "Bob"}
ตัวอย่างคำขอเพิ่มเติม
1. ส่งเนื้อหาการแจ้งเตือนที่กำหนดเอง:
{
"to": ["+6591234567"],
"template": {
"id": "notification-template",
"params": {
"order": "123456"
}
}
}
2. ส่งเนื้อหาการตลาดที่กำหนดเอง:
{
"to": ["+6591234567"],
"template": {
"id": "marketing-template",
"params": {
"name": "EngageLab",
"promotion": "30%"
}
}
}
พารามิเตอร์ที่ส่งกลับ
การตอบกลับเมื่อสำเร็จ
รหัสสถานะ HTTP เป็น 200 เนื้อหาการตอบกลับมีฟิลด์ดังนี้:
| ฟิลด์ | ประเภท | ตัวเลือก | คำอธิบาย |
|---|---|---|---|
| plan_id | String | จำเป็น | ID แผน |
| total_count | Integer | จำเป็น | จำนวนเป้าหมายที่ได้รับ |
| accepted_count | Integer | จำเป็น | จำนวนเป้าหมายที่ถูกต้องที่ได้รับ |
| message_id | String | ไม่บังคับ | เมื่อส่งแบบรายเดียวจะส่งกลับ message_id ที่เกี่ยวข้อง |
| schedule_info | JSON Object | ไม่บังคับ | ข้อมูลที่เกี่ยวข้องกับงานตามกำหนดเวลา (ส่งกลับเฉพาะเมื่อส่งตามกำหนดเวลา) |
| |_ task_id | Integer | จำเป็น | ID งานตามกำหนดเวลา |
ตัวอย่างเมื่อสำเร็จ (เป้าหมายเดียว)
{
"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
}
}
การตอบกลับเมื่อล้มเหลว
รหัสสถานะ HTTP เป็น 200 (ในบางกรณีที่ผิดปกติ) หรือ 4xx/5xx เนื้อหาการตอบกลับมีฟิลด์ดังนี้:
| ฟิลด์ | ประเภท | ตัวเลือก | คำอธิบาย |
|---|---|---|---|
| plan_id | String | จำเป็น | ID แผน |
| total_count | Integer | จำเป็น | จำนวนเป้าหมายที่ได้รับ |
| accepted_count | Integer | จำเป็น | จำนวนเป้าหมายที่ถูกต้องที่ได้รับ |
| code | Integer | จำเป็น | รหัสข้อผิดพลาด ดูรายละเอียดที่คำอธิบายรหัสข้อผิดพลาด |
| message | String | จำเป็น | รายละเอียดข้อผิดพลาด |
ตัวอย่างข้อผิดพลาด
{
"plan_id": "1972490061974913024",
"total_count": 1,
"accepted_count": 1,
"message": "err xxxx",
"code": 1
}
รหัสข้อผิดพลาด
| รหัสข้อผิดพลาด | http code | คำอธิบาย |
|---|---|---|
| 1000 | 500 | ข้อผิดพลาดภายใน |
| 2001 | 401 | การยืนยันตัวตนล้มเหลว ไม่ได้แนบ token ที่ถูกต้อง |
| 2002 | 401 | การยืนยันตัวตนล้มเหลว token หมดอายุหรือถูกปิดใช้งานแล้ว |
| 2004 | 403 | ไม่มีสิทธิ์เรียกใช้ API นี้ |
| 3001 | 400 | รูปแบบพารามิเตอร์ของคำขอไม่ถูกต้อง โปรดตรวจสอบว่าเนื้อหา JSON เป็นไปตามรูปแบบพารามิเตอร์หรือไม่ |
| 3002 | 400 | พารามิเตอร์ของคำขอผิดพลาด โปรดตรวจสอบว่าพารามิเตอร์ของคำขอเป็นไปตามข้อกำหนดหรือไม่ |
| 3003 | 400 | พารามิเตอร์ของคำขอผิดพลาด การตรวจสอบทางธุรกิจที่เกี่ยวข้องล้มเหลว ดูรายละเอียดที่คำอธิบายข้อผิดพลาดในฟิลด์ message |
| 3004 | 400 | เกินขีดจำกัดความถี่ สำหรับเทมเพลตเดียวกันและผู้ใช้เป้าหมายเดียวกัน ไม่สามารถส่งซ้ำได้ภายในระยะเวลาที่รหัสยืนยันยังมีผล |
| 4001 | 400 | ไม่มีทรัพยากรที่เกี่ยวข้อง เช่น ใช้เทมเพลตที่ไม่มีอยู่ขณะส่งข้อความเทมเพลต |
| 5001 | 400 | การส่งข้อความล้มเหลว ดูรายละเอียดที่คำอธิบายข้อผิดพลาดในฟิลด์ message |










