Для отправки клиентам сообщений с аудиозаписями, документами, изображениями, стикерами или видео используйте узел messages
.
По сути, при отправке сообщения с медиафайлами необходимо указать в теле запроса ID загруженного медиафайла или ссылку на этот файл. Также необходимо указать тип медиафайла: audio
, document
, image
, sticker
или video
. При получении запроса медиафайлы загружаются на сервер WhatsApp и отправляются пользователю, указанному в поле to
.
На данный момент существует два способа отправки сообщений с медиафайлами через WhatsApp Business API:
messages
, с помощью узла media
;Вам понадобится:
POST
к /messages
.Загрузив медиафайл, используйте полученный ID в поле id
вызова API для отправки сообщения. Вы также можете задать параметр link
со ссылкой на нужный медиафайл. Пока поддерживаются только ссылки HTTP и HTTPS.
Таким образом, для отправки медиафайла необходимо задать один из двух параметров: id
или link
.
Этот код для сообщений с несколькими разными объектами (audio
, document
, image
, sticker
, video
) приведен исключительно в качестве примера. Тело действительного запроса может содержать только один объект.
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" } } }
Подробнее о параметрах:
В случае успеха ответ содержит объект messages
с ID сообщения.
{ "messages": [{ "id": "gBEGkYiEB1VXAglK1ZEqA1YKPrU" }] }
В случае неудачи на URL Webhook отправляется обратный вызов (хотя в таком ответе, как и в случае успеха, тоже содержится ID сообщения). Поэтому так важно заранее настроить сервер Webhooks.
Дополнительную информацию об ошибках см. в разделе Сообщения об ошибках и коды статусов.