การส่ง 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}
              
              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
              
              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." } } }
              
              {
    "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" } } }
              
              {
    "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 และเนื้อหาการตอบกลับประกอบด้วยฟิลด์ดังต่อไปนี้:

ฟิลด์ ประเภท จำเป็น คำอธิบาย
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": "1972488990548348928",
    "total_count": 1,
    "accepted_count": 1,
    "message_id": "1972488990804201472"
}

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

ตัวอย่างความสำเร็จ (หลายเป้าหมาย)

{ "plan_id": "1972484198153367552", "total_count": 2, "accepted_count": 2 }
              
              {
    "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": "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 }
              
              {
    "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 }
              
              {
    "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 การส่งข้อความรหัสยืนยันล้มเหลว, อ้างอิงถึงฟิลด์ข้อความสำหรับรายละเอียดข้อผิดพลาด
icon
ติดต่อฝ่ายขาย