logoเอกสาร
ค้นหา
เข้าสู่ระบบ

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}
              
              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
              
              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 }
              
              {
  "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

  1. สำหรับตัวแปรที่ตั้งไว้ล่วงหน้าในเทมเพลต เช่น {{brand_name}}, {{ttl}}, {{pwa_url}} เป็นต้น ไม่จำเป็นต้องส่ง ระบบจะเปลี่ยนเป็นเนื้อหาที่ระบุเมื่อสร้างเทมเพลตโดยอัตโนมัติ
  2. สำหรับฟิลด์ตัวแปรที่กำหนดเองในเนื้อหาเทมเพลตเมื่อสร้างเทมเพลต ให้กำหนดค่าผ่าน params ตัวอย่างเช่น หากเนื้อหาเทมเพลตคือ Hi {{name}}, welcome to EngageLab คุณต้องกำหนดพารามิเตอร์ params:{"name":"Bob"}

ตัวอย่างคำขอ

1. การส่งเนื้อหาการแจ้งเตือนแบบกำหนดเอง:

{ "to": "+8618701235678", "template":{ "id":"notification-template", "params": { "order":"123456" } } }
              
              {
    "to": "+8618701235678", 
    "template":{
      "id":"notification-template",
      "params": {       
        "order":"123456"
        }
    }
}

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

2. การส่งเนื้อหาการตลาดแบบกำหนดเอง:

{ "to": "+8618701235678", "template":{ "id":"marketing-template", "params": { "name":"EngageLab", "promotion":"30%" } } }
              
              {
    "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" }
              
              {
   "to_id": "8613138283670",
   "message_id": "1971029055205646336"
}

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

การตอบกลับที่ล้มเหลว

รหัสสถานะ HTTP คือ 4xx หรือ 5xx และ Body ของการตอบกลับจะมีฟิลด์ดังต่อไปนี้:

ฟิลด์ ประเภท จำเป็น คำอธิบาย
err_code int ใช่ รหัสข้อผิดพลาด ดูรายละเอียดได้ที่ รหัสข้อผิดพลาด
err_msg String ใช่ รายละเอียดข้อผิดพลาด
{ "err_msg": "sms send failed", "err_code": 10013 }
              
              {
  "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 การส่งข้อความรหัสยืนยันล้มเหลว ดูคำอธิบายข้อผิดพลาดในฟิลด์ข้อความ
icon
ติดต่อฝ่ายขาย