การเรียกกลับ API
ด้วยการใช้ API การส่งข้อความ คุณสามารถผสานความสามารถในการส่งข้อความของ WhatsApp เข้ากับระบบธุรกิจของคุณได้
ก่อนเรียกใช้ API โปรดสร้างคีย์ในหน้าคอนโซล API Keys
Endpoint
POST https://wa.api.engagelab.cc/v1/messages
การยืนยันตัวตน
EngageLab REST API ใช้ 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 คือ "Authorization" และค่าคือคู่ "username:password" ที่ถูกเข้ารหัส base64 (มีเครื่องหมายโคลอนคั่นกลาง)
- ในกรณีของ WhatsApp API ชื่อผู้ใช้คือ DevKey และรหัสผ่านคือ DevSecret โปรดรับข้อมูลเหล่านี้ในหน้าคอนโซล - การจัดการการกำหนดค่า - API Keys
ตัวอย่างคำขอ
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 ของคำขอ
{
"from": "+8613800138000",
"to": [
"00447911123456"
],
"body": {
"type": "template",
"template": {
"name": "code",
"language": "zh_CN",
"components": [
{
"type": "body",
"parameters": [
{
"type": "text",
"text": "12345"
}
]
}
]
}
},
"request_id": "123asdbbqwe9faweg",
"custom_args": {
"arg1": "string val",
"arg2": 123
}
}
{
"from": "+8613800138000",
"to": [
"00447911123456"
],
"body": {
"type": "template",
"template": {
"name": "code",
"language": "zh_CN",
"components": [
{
"type": "body",
"parameters": [
{
"type": "text",
"text": "12345"
}
]
}
]
}
},
"request_id": "123asdbbqwe9faweg",
"custom_args": {
"arg1": "string val",
"arg2": 123
}
}
โค้ดนี้โชว์เป็นหน้าต่างลอย
พารามิเตอร์คำขอ
วัตถุคำขอแสดงในรูปแบบ JSON ดังนั้น Header ของคำขอต้องรวม Content-Type: application/json
พารามิเตอร์ | ประเภท | จำเป็นหรือไม่ | คำอธิบาย |
---|---|---|---|
from | String | ไม่จำเป็น | หมายเลขผู้ส่ง |
to | String Array | จำเป็น | หมายเลขโทรศัพท์ของผู้รับ |
body | JSON Object | จำเป็น | เนื้อหาข้อความ |
request_id | String | ไม่จำเป็น | รหัสคำขอที่กำหนดเองเพื่อระบุคำขอ จะถูกส่งกลับในคำตอบ |
custom_args | JSON Object | ไม่จำเป็น | ข้อมูลที่กำหนดเองที่ส่งกลับไปยังนักพัฒนาในสถานะข้อความ callback |
from
พารามิเตอร์ | ประเภท | จำเป็นหรือไม่ | คำอธิบาย |
---|---|---|---|
from | String | ไม่จำเป็น | หมายเลขผู้ส่ง เช่น หมายเลขโทรศัพท์ธุรกิจที่ใช้ส่งข้อความ ต้องรวมรหัสประเทศ หากไม่ได้ระบุ จะใช้หมายเลขผู้ส่งเริ่มต้น (ต้องกำหนดค่าใน console) |
to
พารามิเตอร์ | ประเภท | จำเป็นหรือไม่ | คำอธิบาย |
---|---|---|---|
to | String Array | จำเป็น | หมายเลขโทรศัพท์ WhatsApp ของผู้รับ ต้องรวมรหัสประเทศ |
body
เนื้อหาข้อความที่มีฟิลด์ดังต่อไปนี้:
พารามิเตอร์ | ประเภท | จำเป็นหรือไม่ | คำอธิบาย |
---|---|---|---|
type | string | จำเป็น | ประเภทข้อความที่รองรับในปัจจุบัน: เฉพาะข้อความแม่แบบที่สามารถส่งถึงผู้ใช้ได้โดยตรง ประเภทข้อความอื่น ๆ ต้องการให้ผู้ใช้ตอบกลับภายใน 24 ชั่วโมงเพื่อให้สามารถส่งได้ Image/Audio/Video/Document/Sticker เป็นข้อความสื่อทั้งหมด โปรดปฏิบัติตาม ข้อกำหนดรูปแบบข้อความสื่อ |
template | template object | ไม่จำเป็น | ใช้เมื่อ type=template ดู คำอธิบาย template object |
text | text object | ไม่จำเป็น | ใช้เมื่อ type=text ดู คำอธิบาย text object |
image | image object | ไม่จำเป็น | ใช้เมื่อ type=image ดู คำอธิบาย image object |
audio | audio object | ไม่จำเป็น | ใช้เมื่อ type=audio ดู คำอธิบาย audio object |
video | video object | ไม่จำเป็น | ใช้เมื่อ type=video ดู คำอธิบาย video object |
document | document object | ไม่จำเป็น | ใช้เมื่อ type=document ดู คำอธิบาย document object |
sticker | sticker object | ไม่จำเป็น | ใช้เมื่อ type=sticker ดู คำอธิบาย sticker object |
คำอธิบาย text object
ข้อความตัวอักษร
พารามิเตอร์ | ประเภท | จำเป็น | คำอธิบาย |
---|---|---|---|
body | String | จำเป็น | เนื้อหาข้อความ WhatsApp กำหนดไม่เกิน 4096 ตัวอักษร |
ตัวอย่าง
{
"from": "8613800138000", //หมายเลขโทรศัพท์ผู้ส่ง
"to": ["8613800138000"], //หมายเลขโทรศัพท์ผู้รับ
"body": {
"type": "text", //ประเภทข้อความ
"text": {
"body": "your-text-message-content" //เนื้อหาข้อความ
}
}
}
{
"from": "8613800138000", //หมายเลขโทรศัพท์ผู้ส่ง
"to": ["8613800138000"], //หมายเลขโทรศัพท์ผู้รับ
"body": {
"type": "text", //ประเภทข้อความ
"text": {
"body": "your-text-message-content" //เนื้อหาข้อความ
}
}
}
โค้ดนี้โชว์เป็นหน้าต่างลอย
คำอธิบาย image object
ข้อความรูปภาพ
พารามิเตอร์ | ประเภท | จำเป็น | คำอธิบาย |
---|---|---|---|
id | String | ไม่จำเป็น | media_id ที่สร้างโดย WhatsApp; id หรือ link ต้องมีค่า |
link | String | ไม่จำเป็น | ลิงก์รูปภาพ ลิงก์ http/https โปรดปฏิบัติตาม ข้อกำหนดรูปแบบข้อความสื่อ |
caption | String | ไม่จำเป็น | คำอธิบายของรูปภาพ สูงสุด 1024 ตัวอักษร |
ตัวอย่าง
{
"from": "8613800138000",//หมายเลขโทรศัพท์ผู้ส่ง
"to": ["8613800138000"], //หมายเลขโทรศัพท์ผู้รับ
"body": {
"type": "image",//ประเภทข้อความ
"image": {
"link": "https://img.jiguang.cn/jiguang/public/img/c866bd2.png", //ลิงก์รูปภาพ
"caption": "caption info" // ไม่จำเป็น คำอธิบายข้อความใต้รูปภาพ สูงสุด 1024 ตัวอักษร
}
}
}
{
"from": "8613800138000",//หมายเลขโทรศัพท์ผู้ส่ง
"to": ["8613800138000"], //หมายเลขโทรศัพท์ผู้รับ
"body": {
"type": "image",//ประเภทข้อความ
"image": {
"link": "https://img.jiguang.cn/jiguang/public/img/c866bd2.png", //ลิงก์รูปภาพ
"caption": "caption info" // ไม่จำเป็น คำอธิบายข้อความใต้รูปภาพ สูงสุด 1024 ตัวอักษร
}
}
}
โค้ดนี้โชว์เป็นหน้าต่างลอย
คำอธิบาย video object
ข้อความวิดีโอ
พารามิเตอร์ | ประเภท | จำเป็น | คำอธิบาย |
---|---|---|---|
id | String | ไม่จำเป็น | media_id ที่สร้างโดย WhatsApp; id หรือ link ต้องมีค่า |
link | String | ไม่จำเป็น | ลิงก์วิดีโอ ลิงก์ http/https โปรดปฏิบัติตาม ข้อกำหนดรูปแบบข้อความสื่อ |
caption | String | ไม่จำเป็น | คำอธิบายของวิดีโอ สูงสุด 1024 ตัวอักษร |
ตัวอย่าง
{
"from": "8613800138000",//หมายเลขโทรศัพท์ผู้ส่ง
"to": ["8613800138000"], //หมายเลขโทรศัพท์ผู้รับ
"body": {
"type": "video",//ประเภทข้อความ
"video": {
"link": "https://img.jiguang.cn/jiguang/public/videos/432acc5.mp4", //ลิงก์วิดีโอ
"caption": "caption info" // ไม่จำเป็น คำอธิบายข้อความใต้ลิงก์วิดีโอ สูงสุด 1024 ตัวอักษร
}
}
}
{
"from": "8613800138000",//หมายเลขโทรศัพท์ผู้ส่ง
"to": ["8613800138000"], //หมายเลขโทรศัพท์ผู้รับ
"body": {
"type": "video",//ประเภทข้อความ
"video": {
"link": "https://img.jiguang.cn/jiguang/public/videos/432acc5.mp4", //ลิงก์วิดีโอ
"caption": "caption info" // ไม่จำเป็น คำอธิบายข้อความใต้ลิงก์วิดีโอ สูงสุด 1024 ตัวอักษร
}
}
}
โค้ดนี้โชว์เป็นหน้าต่างลอย
คำอธิบาย audio object
ข้อความเสียง
พารามิเตอร์ | ประเภท | จำเป็น | คำอธิบาย |
---|---|---|---|
id | String | ไม่จำเป็น | media_id ที่สร้างโดย WhatsApp; id หรือ link ต้องมีค่า |
link | String | ไม่จำเป็น | ลิงก์เสียง ลิงก์ http/https โปรดปฏิบัติตาม ข้อกำหนดรูปแบบข้อความสื่อ |
ตัวอย่าง
{
"from": "8613800138000",//หมายเลขโทรศัพท์ผู้ส่ง
"to": ["8613800138000"], //หมายเลขโทรศัพท์ผู้รับ
"body": {
"type": "audio",//ประเภทข้อความ
"audio": {
"link": "https://file-examples.com/storage/fe5947fd2362fc197a3c2df/2017/11/file_example_MP3_700KB.mp3" //ลิงก์เสียง
}
}
}
{
"from": "8613800138000",//หมายเลขโทรศัพท์ผู้ส่ง
"to": ["8613800138000"], //หมายเลขโทรศัพท์ผู้รับ
"body": {
"type": "audio",//ประเภทข้อความ
"audio": {
"link": "https://file-examples.com/storage/fe5947fd2362fc197a3c2df/2017/11/file_example_MP3_700KB.mp3" //ลิงก์เสียง
}
}
}
โค้ดนี้โชว์เป็นหน้าต่างลอย
คำอธิบาย document object
ข้อความเอกสาร
พารามิเตอร์ | ประเภท | จำเป็น | คำอธิบาย |
---|---|---|---|
id | String | ไม่จำเป็น | media_id ที่สร้างโดย WhatsApp; id หรือ link ต้องมีค่า |
link | String | ไม่จำเป็น | ลิงก์เอกสาร ลิงก์ http/https โปรดปฏิบัติตาม ข้อกำหนดรูปแบบข้อความสื่อ |
caption | String | ไม่จำเป็น | คำอธิบายของเอกสาร สูงสุด 1024 ตัวอักษร |
filename | String | ไม่จำเป็น | ชื่อไฟล์ หากไม่ได้ระบุฟิลด์ filename แต่ฟิลด์ caption มีค่า ฟิลด์ caption จะถูกใช้เป็นชื่อไฟล์; หากระบุ filename ค่าของมันจะถูกใช้เป็นชื่อไฟล์ |
ตัวอย่าง
{
"from": "8613800138000",//หมายเลขโทรศัพท์ผู้ส่ง
"to": ["8613800138000"], //หมายเลขโทรศัพท์ผู้รับ
"body": {
"type": "document",//ประเภทข้อความ
"document": {
"link": "https://img.jiguang.cn/jiguang/public/videos/432acc5.mp4", //ลิงก์เอกสาร
"caption": "caption info", // ไม่จำเป็น คำอธิบายข้อความใต้เอกสาร สูงสุด 1024 ตัวอักษร
"filename": "document file name" // ไม่จำเป็น ชื่อไฟล์
}
}
}
{
"from": "8613800138000",//หมายเลขโทรศัพท์ผู้ส่ง
"to": ["8613800138000"], //หมายเลขโทรศัพท์ผู้รับ
"body": {
"type": "document",//ประเภทข้อความ
"document": {
"link": "https://img.jiguang.cn/jiguang/public/videos/432acc5.mp4", //ลิงก์เอกสาร
"caption": "caption info", // ไม่จำเป็น คำอธิบายข้อความใต้เอกสาร สูงสุด 1024 ตัวอักษร
"filename": "document file name" // ไม่จำเป็น ชื่อไฟล์
}
}
}
โค้ดนี้โชว์เป็นหน้าต่างลอย
คำอธิบาย sticker object
ข้อความสติกเกอร์
พารามิเตอร์ | ประเภท | จำเป็น | คำอธิบาย |
---|---|---|---|
id | String | ไม่จำเป็น | media_id ที่สร้างโดย WhatsApp; id หรือ link ต้องมีค่า |
link | String | ไม่จำเป็น | ลิงก์สติกเกอร์ ลิงก์ http/https โปรดปฏิบัติตาม ข้อกำหนดรูปแบบข้อความสื่อ |
ตัวอย่าง
{
"from": "8613800138000",//หมายเลขโทรศัพท์ผู้ส่ง
"to": ["8613800138000"], //หมายเลขโทรศัพท์ผู้รับ
"body": {
"type": "sticker",//ประเภทข้อความ
"sticker": {
"link": "http://sample-file.bazadanni.com/download/images/webp/sample.webp" //ลิงก์สติกเกอร์
}
}
}
{
"from": "8613800138000",//หมายเลขโทรศัพท์ผู้ส่ง
"to": ["8613800138000"], //หมายเลขโทรศัพท์ผู้รับ
"body": {
"type": "sticker",//ประเภทข้อความ
"sticker": {
"link": "http://sample-file.bazadanni.com/download/images/webp/sample.webp" //ลิงก์สติกเกอร์
}
}
}
โค้ดนี้โชว์เป็นหน้าต่างลอย