การเรียกกลับ 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 จำเป็น ประเภทข้อความที่รองรับในปัจจุบัน:
  • template: ข้อความแม่แบบ
  • text: ข้อความตัวอักษร
  • image: ข้อความรูปภาพ
  • audio: ข้อความเสียง
  • video: ข้อความวิดีโอ
  • document: ข้อความเอกสาร
  • sticker: ข้อความสติกเกอร์
    เฉพาะข้อความแม่แบบที่สามารถส่งถึงผู้ใช้ได้โดยตรง ประเภทข้อความอื่น ๆ ต้องการให้ผู้ใช้ตอบกลับภายใน 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" //ลิงก์สติกเกอร์
                }
        }
    }
    
                
    โค้ดนี้โชว์เป็นหน้าต่างลอย
    icon
    ติดต่อฝ่ายขาย