imbot.v2.File.download
Получить ссылку для скачивания файла
Описание
Метод imbot.v2.File.download возвращает ссылку для скачивания файла из чата.
Параметры
botId
integer
обязательный
ID бота
botToken
string
необязательный
Уникальный токен авторизации бота. Обязателен при авторизации через вебхук, не нужен для OAuth.
Передавайте тот же botToken, который был указан при регистрации чат-бота
fileId
integer
обязательный
ID файла на Диске. Можно получить из ответа метода imbot.v2.File.upload
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"botId":456,"botToken":"my_bot_token","fileId":138}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/imbot.v2.File.download
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"botId":456,"fileId":138,"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/imbot.v2.File.download
try {
const response = await $b24.callMethod('imbot.v2.File.download', {
botId: 456,
fileId: 138,
});
const { result } = response.getData();
console.log('result:', result);
} catch (error) {
console.error('Error:', error);
}
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.imbot.v2.file.download(
bot_id=456,
file_id=138,
).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(
'imbot.v2.File.download',
[
'botId' => 456,
'fileId' => 138,
]
);
$result = $response
->getResponseData()
->getResult();
echo 'result: ' . print_r($result, true);
} catch (Throwable $exception) {
error_log($exception->getMessage());
echo 'Error: ' . $exception->getMessage();
}
BX24.callMethod(
'imbot.v2.File.download',
{
botId: 456,
fileId: 138,
},
function(result) {
if (result.error()) {
console.error(result.error().ex);
} else {
const downloadUrl = result.data().downloadUrl;
window.open(downloadUrl);
}
}
);
require_once('crest.php');
$result = CRest::call(
'imbot.v2.File.download',
[
'botId' => 456,
'fileId' => 138,
]
);
if (!empty($result['error'])) {
echo 'Error: ' . $result['error_description'];
} else {
echo 'Download URL: ' . $result['result']['downloadUrl'];
}
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "imbot.v2.File.download", b24.Params{
"botId": 456,
"botToken": "my_bot_token",
"fileId": 138,
})
if err != nil {
return fmt.Errorf("imbot.v2.File.download: %w", err)
}
var item struct {
DownloadUrl string `json:"downloadUrl"`
}
if err := json.Unmarshal(res.Result, &item); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println(item.DownloadUrl)
Ответ
HTTP-статус: 200
{
"result": {
"downloadUrl": "https://**put_your_bitrix24_address**/rest/download.json?token=imbot%7CaW..."
},
"time": {
"start": 1728626400.123,
"finish": 1728626400.234,
"duration": 0.111,
"processing": 0.045,
"date_start": "2024-10-11T10:00:00+03:00",
"date_finish": "2024-10-11T10:00:00+03:00"
}
}
Обработка ошибок
HTTP-статус: 400
{
"error": "FILE_NOT_FOUND",
"error_description": "File not found"
}
| Код | Описание | Значение |
|---|---|---|
BOT_TOKEN_NOT_SPECIFIED |
Bot token is not specified | Не указан botToken. Обязателен при авторизации через вебхук |
BOT_ID_REQUIRED |
Bot ID is required | Не указан botId |
BOT_NOT_FOUND |
Bot not found | Бот не найден |
BOT_OWNERSHIP_ERROR |
Bot is registered by another application | Бот зарегистрирован другим приложением |
FILE_ACCESS_ERROR |
File access error | Нет прав на скачивание файла |
FILE_NOT_FOUND |
File not found | Файл не найден |

