การส่งข้อความสื่อ

ใช้โหนด messages เพื่อส่งข้อความที่มีเสียง เอกสาร รูปภาพ สติกเกอร์ หรือวิดีโอให้แก่ลูกค้าของคุณ

สิ่งสำคัญก็คือเมื่อคุณส่งข้อความที่มีสื่อ คุณจะต้องระบุ ID ของสื่อที่อัพโหลดหรือลิงก์ที่นำไปยังสื่อดังกล่าวในเนื้อความของคำขอด้วย นอกจากนี้ คุณต้องระบุประเภทของสื่อที่คุณกำลังส่ง ได้แก่ audio, document, image, sticker หรือ video เมื่อได้รับคำขอแล้ว ระบบจะอัพโหลดสื่อไปยังเซิร์ฟเวอร์ WhatsApp และส่งสื่อให้กับผู้ใช้ที่ระบุในช่อง to

การส่งข้อความสื่อผ่าน WhatsApp Business API ในปัจจุบันมีอยู่ 2 วิธี ดังนี้

  • ID — ในการใช้ ID คุณต้องอัพโหลดสื่อก่อนโดยใช้โหนด media เพื่อรับ ID ที่จำเป็นสำหรับการเรียกใช้ API messages
  • ลิงก์ — ในการใช้ลิงก์ ให้คุณระบุลิงก์ HTTP(S) ที่แอพพลิเคชั่นจะใช้ในการดาวน์โหลดสื่อ คุณจึงไม่ต้องอัพโหลดสื่อด้วยตัวเอง

ก่อนเริ่มต้น

คุณจำเป็นต้องดำเนินการดังต่อไปนี้

ขั้นตอนที่ 1: สร้างคำขอ POST ไปยัง /messages

หลังจากที่คุณอัพโหลดสื่อ ให้ใช้ ID ที่ระบบส่งคืนมาสำหรับช่อง id ในการเรียกใช้ API เพื่อส่งข้อความสื่อ อีกวิธีหนึ่งคือคุณสามารถระบุพารามิเตอร์ link ที่นำไปยังสื่อที่คุณต้องการส่งได้ (ในปัจจุบัน ระบบรองรับเฉพาะลิงก์ HTTP/HTTPS เท่านั้น)

ทั้งนี้ คุณต้องระบุ id หรือ link อย่างใดอย่างหนึ่ง แต่ไม่ควรใช้พร้อมกัน

ตัวอย่าง

ตัวอย่างด้านล่างแสดงอ็อบเจ็กต์ต่างๆ มากมาย เช่น audio, document, image, sticker และ video เพื่อจุดประสงค์ในการอธิบายให้เห็นภาพเท่านั้น โดยเนื้อความคำขอที่ถูกต้องจะมีได้เพียง 1 ประเภทเท่านั้น

POST /v1/messages
{
  "recipient_type": "individual",
  "to": "whatsapp-id",
  "type": "audio" | "contact" | "document" | "image" | "location" | "sticker" | "text" | "video",
  
  "audio": {
    "id": "your-media-id"
  }
  
  "document": {
    "id": "your-media-id",
    "filename": "your-document-filename"
  }
  
  "document": {
    "link": "the-provider-name/protocol://the-url",
    "provider": {
        "name" : "provider-name"
    }
  }
  
  "document": {
    "link": "http(s)://the-url.pdf"
  }
  
  "video": {
    "id": "your-media-id"  
  }
  
  "image": {
    "link": "http(s)://the-url",
    "provider": {
        "name" : "provider-name"
    }
  }
  
  "image": {
    "id": "your-media-id"   
  }
  
  "sticker": {
    "id": "your-media-id"
  }
  
  "sticker": {
    "link": "http(s)://the-url",
    "provider": {
      "name" : "provider-name"
    }
  }
}

หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับพารามิเตอร์ โปรดดูหัวข้อต่อไปนี้

ขั้นตอนที่ 2: ตรวจสอบการตอบกลับของคุณ

การตอบกลับที่สำเร็จจะมีอ็อบเจ็กต์ messages พร้อม ID ของข้อความ

{
  "messages": [{
    "id": "gBEGkYiEB1VXAglK1ZEqA1YKPrU"
  }]
}  

ในกรณีที่การตอบกลับไม่สำเร็จ ระบบจะส่งการเรียกกลับไปยัง URL ของ Webhook ของคุณ แม้ว่าการตอบกลับจะให้ ID ของข้อความที่เหมือนกันกับการส่งข้อความที่สำเร็จก็ตาม ดังนั้น การตั้งค่าเซิร์ฟเวอร์ Webhook จึงเป็นสิ่งที่สำคัญ

โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับข้อผิดพลาดที่รหัสข้อผิดพลาดและรหัสสถานะ