Отправка файла

Метод позволяет отправлять файлы в приватные или групповые чаты.

HTTP метод: POST

URL: https://botapi.messenger.yandex.net/bot/v1/messages/sendFile/

Заголовки

Authorization: OAuth <токен>

Тело запроса (multipart/form-data)

Имя параметра Обязательный Тип Описание Ограничения, значение по умолчанию
chat_id Нет* string ID чата, в который нужно отправить файл Бот должен состоять в чате
login Нет* string Логин пользователя, которому нужно отправить файл Бот должен состоять в чате
document Да binary data Содержимое файла
thread_id Нет integer Идентификатор треда (timestamp сообщения)

(*) Параметры chat_id и login являются необязательными, но необходимо заполнить хотя бы один из двух:

  • При заполнении chat_id файл будет отправлен в групповой чат, заданный этим ID.
  • При заполнении login файл будет отправлен пользователю в приватный чат.

Имя загружаемого файла берется из параметра filename заголовка Content-Disposition. Также желательно правильно задать MIME-тип файла, для правильного отображения его браузером.

Например,

Content-Disposition: form-data; name="document"; filename="doc.jpg"
Content-Type: image/jpeg

Ограничения

Ограничения аналогичны ограничениям для метода отправки текстового сообщения.

Результат

Результат выполнения запроса аналогичен результату для метода отправки текстового сообщения.

Пример запроса

curl -H 'Authorization: OAuth AtXXXXXXXXXXX' -F 'login=vasya@example.org' -F 'document=@report.pdf' 'https://botapi.messenger.yandex.net/bot/v1/messages/sendFile'

Пример успешного ответа

{"ok": true, "message_id": 1647523230504005}

Пример ответа с ошибкой

{"ok": false, "description": "Bot is not a member of the chat"}