Отправка изображения по идентификатору

Метод позволяет отправлять ранее загруженное изображение в приватные или групповые чаты по его идентификатору (file_id), без повторной загрузки содержимого файла. Идентификатор изображения можно получить из обновлений или из ответа метода отправки изображения.

Важно

В обновлениях помимо оригинала приходят версии изображения в других разрешениях (с ?size= в file_id) — для отправки нужно использовать file_id именно оригинала.

HTTP метод: POST

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

Заголовки

Authorization: OAuth <токен>
Content-Type: application/json

Тело запроса (JSON)

Имя параметра Обязательный Тип Описание Ограничения, значение по умолчанию
chat_id Нет* string ID чата, в который нужно отправить изображение Бот должен состоять в чате
login Нет* string Логин пользователя, которому нужно отправить изображение Бот должен состоять в чате
image Да object Информация об изображении для отправки
image.file_id Да string Идентификатор ранее загруженного изображения. Значение можно взять из поля file_id объекта Image в обновлении или из ответа метода отправки изображения
image.width Да integer Ширина изображения в пикселях. Значение можно взять из поля width объекта Image в обновлении или из ответа метода отправки изображения
image.heightв Да integer Высота изображения в пикселях. Значение можно взять из поля height объекта Image в обновлении или из ответа метода отправки изображения
filename Нет string Имя файла
thread_id Нет integer Идентификатор треда (timestamp сообщения)
message_id Нет integer ID сообщения для редактирования Сообщение должно быть из того же чата
reply_message_id Нет integer ID сообщения, на которое будет ответ Сообщение должно быть из того же чата
suggest_buttons Нет SuggestButtons Клавиатура с кнопками под сообщением Не более 100 кнопок

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

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

Ограничения

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

Результат

Результатом успешного запроса является ответ с кодом 200 и телом с JSON, где содержится информация об отправленном изображении.

Имя параметра Обязательный Тип Описание
ok Да boolean Флаг успешности выполнения
message_id Да integer ID сообщения в чате
file_id Да string Идентификатор файла
width Нет integer Ширина изображения в пикселях
height Нет integer Высота изображения в пикселях

В случае ошибки возвращается соответствующий статус HTTP. Описание ошибки приходит в поле description.

Имя параметра Обязательный Тип Описание
ok Да boolean Флаг успешности выполнения
description Да string Описание ошибки

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

curl -X POST -H 'Authorization: OAuth AtXXXXXXXXXXX' -H "Content-Type: application/json" -d '{"login":"vasya@example.org", "image": {"file_id": "<new_file_id>", "width": 1920, "height": 1080}}' 'https://botapi.messenger.yandex.net/bot/v1/messages/shareImage/'

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

{"ok": true, "message_id": 1647523230504005, "file_id": "<new_file_id>", "width": 1920, "height": 1080}

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

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