API SMS Sending
หากคุณต้องการส่ง SMS แจ้งเตือนและการตลาดโดยอัตโนมัติโดยไม่ต้องสร้างผ่านแพลตฟอร์ม EngageLab คุณสามารถเรียกใช้ API นี้ได้ ระบุ ID ของเทมเพลต SMS และผู้รับเป้าหมาย แล้วระบบจะส่ง SMS โดยอัตโนมัติตามเนื้อหาในเทมเพลต
การตั้งค่าแพลตฟอร์ม
ก่อนการเรียกใช้งาน คุณต้องดำเนินการตั้งค่าต่อไปนี้ในคอนโซล EngageLab NewSMS:
การตั้งค่าเทมเพลต SMS: ก่อนการเรียกใช้ API กรุณาไปที่ หน้าการจัดการเทมเพลต เพื่อปรับแต่งและส่งเทมเพลต SMS เทมเพลตจะสามารถใช้งานได้หลังจากได้รับการอนุมัติและคุณได้รับ ID ของเทมเพลตแล้ว
การตั้งค่า API Key: ไปที่ หน้าการตั้งค่า API Key เพื่อสร้างคีย์การตรวจสอบสิทธิ์ API แบบ Basic
กระบวนการเรียกใช้งาน
กรุณาอ้างอิงกระบวนการต่อไปนี้เพื่อเรียกใช้ API สำหรับการส่ง SMS หากคุณมีคำถามใด ๆ กรุณา ติดต่อฝ่ายบริการลูกค้า
URL การเรียกใช้งาน
POST https://smsapi.engagelab.cc/v1/messages
การตรวจสอบสิทธิ์การเรียกใช้งาน
ใช้ HTTP Basic Authentication สำหรับการตรวจสอบสิทธิ์ เพิ่ม Authorization ใน HTTP Header:
Authorization: Basic ${base64_auth_string}
อัลกอริทึมการสร้าง base64_auth_string ด้านบนคือ: base64(dev_key:dev_secret)
รูปแบบคำขอ
Header ของคำขอ
POST /v1/messages HTTP/1.1
Content-Type: application/json
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
Body ของคำขอ
{
"to_ids": [
"8613138283670"
],
"plan_name": "test",
"template": {
"id": 1970314609822883800,
"language": "en",
"params": {
"content": "Verification code: 039487, will expire in 5 minutes. You are trying to create your"
}
},
"source": 1
}
พารามิเตอร์คำขอ
วัตถุคำขอจะแสดงในรูปแบบ JSON ดังนั้น Header ของคำขอจำเป็นต้องรวม Content-Type: application/json
ชื่อ | ตำแหน่ง | ประเภท | จำเป็น | ชื่อภาษาไทย | คำอธิบาย |
---|---|---|---|---|---|
Authorization | header | array[string] | ไม่ | none | |
body | body | object | ไม่ | none | |
» to_ids | body | [string] | ใช่ | รายชื่อ ID ที่จะส่ง | หากมีเพียงหนึ่งรายการ ให้ส่งเพียงหนึ่งรายการ |
» plan_name | body | string | ไม่ | ชื่อแผนงาน | เป็นตัวเลือก ค่าเริ่มต้นจะแสดง "-" หากไม่ได้กรอก |
» schedule_time | body | integer | ไม่ | เวลาที่กำหนด | ไม่ต้องส่งพารามิเตอร์นี้สำหรับการส่งแบบไม่กำหนดเวลา, timestamp |
» template | body | object | ใช่ | ||
»» id | body | string | ใช่ | none | |
»» language | body | string | ใช่ | none | |
»» params | body | object | ใช่ | none | |
»»» custom_param | body | string | ใช่ | none | |
» custom_args | body | object | ใช่ | พารามิเตอร์ที่กำหนดเอง |
หากคุณมีการกำหนดตัวแปรแบบกำหนดเองเมื่อสร้างเทมเพลต ให้ส่งค่าของตัวแปรเหล่านั้นที่นี่ หากไม่ได้ส่ง คีย์ตัวแปรจะถูกส่งโดยตรง เช่น {{var1}}
คำอธิบายสำหรับ params
- สำหรับตัวแปรที่ตั้งไว้ล่วงหน้าในเทมเพลต เช่น {{brand_name}}, {{ttl}}, {{pwa_url}} เป็นต้น ไม่จำเป็นต้องส่ง ระบบจะเปลี่ยนเป็นเนื้อหาที่ระบุเมื่อสร้างเทมเพลตโดยอัตโนมัติ
- สำหรับฟิลด์ตัวแปรที่กำหนดเองในเนื้อหาเทมเพลตเมื่อสร้างเทมเพลต ให้กำหนดค่าผ่าน 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 และ Body ของการตอบกลับจะมีฟิลด์ดังต่อไปนี้:
ฟิลด์ | ประเภท | จำเป็น | คำอธิบาย |
---|---|---|---|
message_id | String | ใช่ | รหัสข้อความที่ระบุข้อความอย่างเฉพาะเจาะจง |
to_id | String | ใช่ | หมายเลขโทรศัพท์ที่ส่งถึง |
{
"to_id": "8613138283670",
"message_id": "1971029055205646336"
}
การตอบกลับที่ล้มเหลว
รหัสสถานะ HTTP คือ 4xx หรือ 5xx และ Body ของการตอบกลับจะมีฟิลด์ดังต่อไปนี้:
ฟิลด์ | ประเภท | จำเป็น | คำอธิบาย |
---|---|---|---|
err_code | int | ใช่ | รหัสข้อผิดพลาด ดูรายละเอียดได้ที่ รหัสข้อผิดพลาด |
err_msg | String | ใช่ | รายละเอียดข้อผิดพลาด |
{
"err_msg": "sms send failed",
"err_code": 10013
}
รหัสข้อผิดพลาด
รหัสข้อผิดพลาด | รหัส HTTP | คำอธิบาย |
---|---|---|
1000 | 500 | ข้อผิดพลาดภายใน |
2001 | 401 | การตรวจสอบสิทธิ์ล้มเหลว มีการให้โทเค็นที่ไม่ถูกต้อง |
2002 | 401 | การตรวจสอบสิทธิ์ล้มเหลว โทเค็นหมดอายุหรือถูกปิดใช้งาน |
2004 | 403 | ไม่มีสิทธิ์ในการเรียกใช้ API นี้ |
3001 | 400 | รูปแบบพารามิเตอร์คำขอไม่ถูกต้อง ตรวจสอบว่าตรงตามรูปแบบ JSON หรือไม่ |
3002 | 400 | พารามิเตอร์คำขอไม่ถูกต้อง ตรวจสอบว่าตรงตามข้อกำหนดหรือไม่ |
3003 | 400 | พารามิเตอร์คำขอไม่ถูกต้อง การตรวจสอบธุรกิจที่เกี่ยวข้องล้มเหลว ดูคำอธิบายข้อผิดพลาดในฟิลด์ข้อความ |
3004 | 400 | เกินขีดจำกัดความถี่ ไม่สามารถส่งซ้ำให้กับผู้ใช้เดียวกันด้วยเทมเพลตเดียวกันภายในระยะเวลาที่รหัสยืนยันมีผล |
4001 | 400 | ทรัพยากรที่เกี่ยวข้องไม่มีอยู่ เช่น การใช้เทมเพลตที่ไม่มีอยู่สำหรับการส่งข้อความเทมเพลต |
5001 | 400 | การส่งข้อความรหัสยืนยันล้มเหลว ดูคำอธิบายข้อผิดพลาดในฟิลด์ข้อความ |