im.v2.File.upload
Загрузить файл в чат
Описание
Метод im.v2.File.upload загружает файл в чат от имени текущего пользователя. Объединяет три шага устаревшего API в один вызов: загрузку файла на диск, прикрепление к чату и отправку сообщения.
Параметры
dialogId
string
обязательный
ID диалога. Для групповых чатов — chat{chatId}, для личных — {userId}
fields
object
обязательный
Объект с параметрами файла и сообщения (подробное описание)
Параметр fields
name
string
обязательный
Имя файла с расширением
content
string
обязательный
Содержимое файла в кодировке Base64. Максимальный размер — 100 МБ
message
string
необязательный
Текст сообщения, отправляемого вместе с файлом
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"dialogId":"chat5","fields":{"name":"report.pdf","content":"SGVsbG8gV29ybGQh","message":"Here is the report"}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/im.v2.File.upload
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"dialogId":"chat5","fields":{"name":"report.pdf","content":"SGVsbG8gV29ybGQh","message":"Here is the report"},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/im.v2.File.upload
try {
const response = await $b24.callMethod('im.v2.File.upload', {
dialogId: 'chat5',
fields: {
name: 'report.pdf',
content: 'SGVsbG8gV29ybGQh',
message: 'Here is the report',
},
});
const { result } = response.getData();
console.log('result:', result);
} catch (error) {
console.error('Error:', error);
}
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.im.v2.file.upload(
dialog_id="chat5",
fields={
"name": "report.pdf",
"content": "SGVsbG8gV29ybGQh",
"message": "Here is the report",
},
).response
result = bitrix_response.result
print(result)
except BitrixAPIError as error:
print(
"Ошибка Bitrix API",
f"error: {error.error}",
f"error_description: {error.error_description}",
sep="\n",
)
except BitrixSDKException as error:
print(f"Ошибка Bitrix SDK: {error.message}")
except Exception as error:
print(f"Непредвиденная ошибка: {error}")
try {
$response = $b24Service
->core
->call(
'im.v2.File.upload',
[
'dialogId' => 'chat5',
'fields' => [
'name' => 'report.pdf',
'content' => base64_encode(file_get_contents('/path/to/report.pdf')),
'message' => 'Here is the report',
],
]
);
$result = $response
->getResponseData()
->getResult();
echo 'result: '. print_r($result, true);
} catch (Throwable $exception) {
error_log($exception->getMessage());
echo 'Error: '. $exception->getMessage();
}
BX24.callMethod(
'im.v2.File.upload',
{
dialogId: 'chat5',
fields: {
name: 'report.pdf',
content: btoa('...'),
message: 'Here is the report',
},
},
function(result) {
if (result.error()) {
console.error(result.error().ex);
} else {
console.log(result.data());
}
}
);
require_once('crest.php');
$result = CRest::call(
'im.v2.File.upload',
[
'dialogId' => 'chat5',
'fields' => [
'name' => 'report.pdf',
'content' => base64_encode(file_get_contents('/path/to/report.pdf')),
'message' => 'Here is the report',
],
]
);
if (!empty($result['error'])) {
echo 'Error: '. $result['error_description'];
} else {
echo 'File ID: '. $result['result']['file']['id'];
}
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "im.v2.File.upload", b24.Params{
"dialogId": "chat5",
"fields": b24.Params{
"name": "report.pdf",
"content": "SGVsbG8gV29ybGQh",
"message": "Here is the report",
},
})
if err != nil {
return fmt.Errorf("im.v2.File.upload: %w", err)
}
var item struct {
DialogID string `json:"dialogId"`
ChatID b24.ID `json:"chatId"`
MessageID b24.ID `json:"messageId"`
}
if err := json.Unmarshal(res.Result, &item); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println(item.DialogID, item.ChatID)
Ответ
HTTP-статус: 200
{
"result": {
"file": {
"id": 9817,
"chatId": 4415,
"date": "2026-08-11T15:28:50+03:00",
"type": "file",
"name": "report.pdf",
"extension": "pdf",
"size": 35341,
"image": false,
"status": "done",
"progress": 100,
"authorId": 1,
"authorName": "Иван Иванов",
"urlPreview": "",
"urlShow": "https://mysite.bitrix24.ru/bitrix/services/main/ajax.php?action=disk.api.file.download&SITE_ID=s1&humanRE=1&fileId=9817&exact=N&fileName=report.pdf",
"urlDownload": "https://mysite.bitrix24.ru/bitrix/services/main/ajax.php?action=disk.api.file.download&SITE_ID=s1&humanRE=1&fileId=9817&exact=N&fileName=report.pdf",
"viewerAttrs": {
"viewer": "",
"viewerType": "code",
"src": "https://mysite.bitrix24.ru/bitrix/services/main/ajax.php?action=disk.api.file.download&SITE_ID=s1&humanRE=1&fileId=9817&exact=N&fileName=report.pdf",
"objectId": "9817",
"viewerGroupBy": "4415",
"imChatId": 4415,
"title": "report.pdf",
"unifiedLink": "https://mysite.bitrix24.ru/file/5tqNA6utERA5MIWnKpFX",
"actions": "[{\"type\":\"download\"}]"
},
"mediaUrl": {
"preview": {
"250": ""
}
},
"isTranscribable": false,
"isVideoNote": false,
"isVoiceNote": false
},
"messageId": 38655,
"chatId": 4415,
"dialogId": "chat4415"
},
"time": {
"start": 1786451330,
"finish": 1786451330.233862,
"duration": 0.23386192321777344,
"processing": 0,
"date_start": "2026-08-11T15:28:50+03:00",
"date_finish": "2026-08-11T15:28:50+03:00",
"operating_reset_at": 1786451790,
"operating": 0
}
}
Возвращаемые данные
result
object
Результат операции
result.dialogId
string
Идентификатор диалога
result.chatId
integer
Числовой идентификатор чата
result.messageId
integer
Идентификатор созданного сообщения с файлом
result.file
File
Данные загруженного файла (подробное описание)
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error": "FILE_TOO_LARGE",
"error_description": "File too large"
}
| Код | Описание | Значение |
|---|---|---|
FILE_EMPTY |
File name and content are required | Не передано имя или содержимое файла |
FILE_INVALID_CONTENT |
Invalid base64 content | Содержимое файла — не строка Base64 |
CHAT_NOT_FOUND |
CHAT_NOT_FOUND | Чат из dialogId не найден |
FOLDER_ERROR |
Failed to get chat folder | Не удалось получить папку чата |
UPLOAD_FAILED |
File upload failed | Ошибка загрузки файла |
SEND_FAILED |
Failed to send message | Ошибка отправки сообщения |
FILE_TOO_LARGE |
File is too large | Размер файла превышает 100 МБ |
ACCESS_DENIED |
Access denied | Нет доступа к чату |

