---
metadata:
  - name: generator
    content: Diplodoc Platform v5.50.6
alternate:
  - https://yandex.ru/dev/messenger/doc/ru/api-requests/message-send-file.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/dev/messenger/doc/ru/llms.txt

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

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

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 сообщения) | — |
| `message_id`       | Нет  | `integer` | ID сообщения для редактирования | Сообщение должно быть из того же чата |
| `reply_message_id` | Нет  | `integer` | ID сообщения, на которое будет ответ | Сообщение должно быть из того же чата |
| `reply_quote`      | Нет  | `string`  | Фрагмент сообщения, на который будет ответ | Требует `reply_message_id`. Текст должен быть подстрокой исходного сообщения |
| `forwards`         | Нет  | ##[Forward](../data-types.md#forward)##`[]` | Сообщения, которые нужно переслать в целевой чат | Нельзя передавать одновременно с `reply_message_id` |
| `disable_notification` | Нет  | `boolean` | Нужно ли отключить уведомление | Значение по умолчанию: `false` |
| `important`            | Нет  | `boolean` | Является ли сообщение важным | Значение по умолчанию: `false` |
| `suggest_buttons`          | Нет          | ##[SuggestButtons](../data-types.md#suggestbuttons)## |Клавиатура с кнопками под сообщением         | Не более 100 кнопок                                                                                            |
| `action_buttons`           | Нет          | ##[ActionButtons](../data-types.md#actionbuttons)## | Кнопки действий под сообщением | Не более 6 кнопок |

(*) Параметры `chat_id` и `login` являются необязательными, но необходимо заполнить хотя бы один из двух:
- При заполнении `chat_id` файл будет отправлен в групповой чат, заданный этим ID.
- При заполнении `login` файл будет отправлен пользователю в приватный чат.

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

Например,
```
Content-Disposition: form-data; name="document"; filename="doc.jpg"
Content-Type: image/jpeg
```

## Ограничения
Ограничения аналогичны [ограничениям](https://yandex.ru/dev/messenger/doc/ru/api-requests/message-send-text.md#restriction) для метода отправки текстового сообщения.

Лимит на отправку изображений через бота составляет 3 ГБ в месяц.

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

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

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

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

## Пример запроса
```
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, "file_id": "<file_id>"}
```
## Пример ответа с ошибкой
```
{"ok": false, "description": "Bot is not a member of the chat"}
```
