Gửi tin nhắn có chứa file phương tiện

Sử dụng nút messages để gửi tin nhắn có chứa âm thanh, tài liệu, hình ảnh, nhãn dán hoặc video cho khách hàng của bạn.

Về cơ bản, khi gửi tin nhắn có chứa file phương tiện, bạn phải cung cấp ID của file phương tiện đã tải lên hoặc một liên kết đến file phương tiện trong phần nội dung yêu cầu. Ngoài ra, bạn phải chỉ định loại file phương tiện mà mình đang gửi: audio, document, image, sticker hoặc video. Khi nhận được yêu cầu, hệ thống sẽ tải file phương tiện lên máy chủ WhatsApp và gửi cho người dùng có tên trong trường to.

Hiện tại, bạn có thể gửi tin nhắn có chứa file phương tiện bằng API WhatsApp Business theo 2 cách:

  • ID - Để sử dụng ID, trước tiên, bạn phải tải file phương tiện lên bằng nút media để lấy ID cần thiết cho lệnh gọi API messages.
  • Liên kết - Để sử dụng liên kết, bạn sẽ cung cấp một liên kết HTTP(S) để ứng dụng tải file phương tiện xuống. Nhờ đó, bạn sẽ không phải tự tải file phương tiện lên.

Trước khi bạn bắt đầu

Bạn cần:

Bước 1: Gửi yêu cầu POST đến /messages

Sau khi bạn tải file phương tiện lên, hãy sử dụng ID được trả về cho trường id trong lệnh gọi API gửi tin nhắn có chứa file phương tiện. Ngoài ra, bạn có thể cung cấp thông số link trỏ đến file phương tiện mà bạn muốn gửi (hiện chúng tôi chỉ hỗ trợ các liên kết HTTP/HTTPS).

Bạn cần có id hoặc link nhưng không nên sử dụng đồng thời cả hai thông số này.

Ví dụ

Mẫu bên dưới hiển thị nhiều đối tượng khác nhau, chẳng hạn như audio, document, image, stickervideo chỉ nhằm mục đích minh họa. Phần nội dung yêu cầu hợp lệ chỉ chứa một đối tượng trong số này.

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

Để biết thêm thông tin về các thông số, hãy xem:

Bước 2: Kiểm tra phản hồi

Phản hồi thành công sẽ bao gồm một đối tượng messages cùng với ID tin nhắn.

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

Trong trường hợp phản hồi không thành công, hệ thống sẽ gửi lệnh gọi lại đến URL Webhook, ngay cả khi phản hồi đó tạo ra một ID tin nhắn tương tự như tin nhắn gửi thành công. Đó là lý do bạn cần phải thiết lập máy chủ Webhook.

Hãy xem phần Mã lỗi và mã trạng thái để biết thêm thông tin về lỗi.