Отправка изображения по идентификатору
Метод позволяет отправлять ранее загруженное изображение в приватные или групповые чаты по его идентификатору (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"}