Загрузить документ crm.documentgenerator.document.upload
Scope:
crmКто может выполнять метод: пользователь с правом "изменения" документов генератора документов
Метод crm.documentgenerator.document.upload загружает готовый документ и прикрепляет его к CRM-объекту.
Параметры метода
Обязательные параметры отмечены *
|
Название |
Описание |
|
fields* |
Объект с параметрами загрузки документа (подробнее) |
Параметр fields
Обязательные параметры отмечены *
|
Название |
Описание |
|
entityTypeId* |
Идентификатор типа CRM-объекта. Типичные значения:
Для смарт-процессов передается их |
|
entityId* |
Идентификатор CRM-объекта, к которому прикрепляется документ |
|
fileContent* |
Содержимое DOCX-файла в формате base64. Подробнее: Как загружать файлы |
|
region* |
Код региона шаблона, например |
|
title* |
Название документа |
|
number* |
Номер документа |
|
pdfContent |
Содержимое PDF-файла в формате base64. Подробнее: Как загружать файлы |
|
imageContent |
Содержимое изображения в формате base64. Подробнее: Как загружать файлы |
Особенности метода
pdfUrl и imageUrl могут отсутствовать сразу после загрузки, так как конвертация выполняется асинхронно. Для проверки результата используйте crm.documentgenerator.document.get
Примеры кода
Как использовать примеры в документации
Пример загрузки документа, где:
entityTypeId—2(сделка)entityId—101region—ru- название документа —
Демонстрационная реализация товара - номер документа —
2026-001
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"fields":{"entityTypeId":2,"entityId":101,"fileContent":"**base64_docx_content**","region":"ru","title":"Демонстрационная реализация товара","number":"2026-001","pdfContent":"**base64_pdf_content**","imageContent":"**base64_image_content**"}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/crm.documentgenerator.document.upload
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"fields":{"entityTypeId":2,"entityId":101,"fileContent":"**base64_docx_content**","region":"ru","title":"Демонстрационная реализация товара","number":"2026-001","pdfContent":"**base64_pdf_content**","imageContent":"**base64_image_content**"},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/crm.documentgenerator.document.upload
try
{
const response = await $b24.callMethod(
'crm.documentgenerator.document.upload',
{
fields: {
entityTypeId: 2,
entityId: 101,
fileContent: '**base64_docx_content**',
region: 'ru',
title: 'Демонстрационная реализация товара',
number: '2026-001',
pdfContent: '**base64_pdf_content**',
imageContent: '**base64_image_content**',
},
}
);
const result = response.getData().result;
console.info(result);
}
catch (error)
{
console.error('Error:', error);
}
try {
$response = $b24Service
->core
->call(
'crm.documentgenerator.document.upload',
[
'fields' => [
'entityTypeId' => 2,
'entityId' => 101,
'fileContent' => '**base64_docx_content**',
'region' => 'ru',
'title' => 'Демонстрационная реализация товара',
'number' => '2026-001',
'pdfContent' => '**base64_pdf_content**',
'imageContent' => '**base64_image_content**',
],
]
);
$result = $response
->getResponseData()
->getResult();
echo '<pre>';
print_r($result);
echo '</pre>';
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error uploading document: ' . $e->getMessage();
}
BX24.callMethod(
'crm.documentgenerator.document.upload',
{
fields: {
entityTypeId: 2,
entityId: 101,
fileContent: '**base64_docx_content**',
region: 'ru',
title: 'Демонстрационная реализация товара',
number: '2026-001',
pdfContent: '**base64_pdf_content**',
imageContent: '**base64_image_content**',
},
},
(result) => {
result.error()
? console.error(result.error())
: console.info(result.data())
;
},
);
require_once('crest.php');
$result = CRest::call(
'crm.documentgenerator.document.upload',
[
'fields' => [
'entityTypeId' => 2,
'entityId' => 101,
'fileContent' => '**base64_docx_content**',
'region' => 'ru',
'title' => 'Демонстрационная реализация товара',
'number' => '2026-001',
'pdfContent' => '**base64_pdf_content**',
'imageContent' => '**base64_image_content**',
],
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
Обработка ответа
HTTP-статус: 200
{
"result": {
"document": {
"changeStampsEnabled": false,
"changeStampsDisabledReason": "В шаблоне нет печатей и подписей",
"changeQrCodeEnabled": false,
"qrCodeEnabled": false,
"changeQrCodeDisabledReason": "В шаблоне нет QR-кода",
"products": {
"currencyId": "UAH",
"totalSum": "0.00",
"totalRows": 0
},
"downloadUrl": "https://bitrix.bitrix24.ru/bitrix/services/main/ajax.php?action=crm.documentgenerator.document.download&SITE_ID=s1&id=63",
"publicUrl": null,
"title": "Демонстрационная реализация товара",
"number": "2026-001",
"id": "63",
"createTime": "2026-03-20T17:08:24+03:00",
"createdBy": "577",
"updateTime": "2026-03-20T17:08:24+03:00",
"updatedBy": null,
"stampsEnabled": false,
"isTransformationError": false,
"values": {
"productsTableVariant": "",
"_creationMethod": "rest"
},
"templateId": "55",
"pullTag": "TRANSFORMDOCUMENT63",
"emailDiskFile": 5619,
"entityId": "101",
"entityTypeId": "2",
"downloadUrlMachine": "https://bitrix.bitrix24.ru/rest/crm.documentgenerator.document.download.json?auth=***&token=***"
}
},
"time": {
"start": 1774015704,
"finish": 1774015705.08562,
"duration": 1.0856199264526367,
"processing": 1,
"date_start": "2026-03-20T17:08:24+03:00",
"date_finish": "2026-03-20T17:08:25+03:00",
"operating_reset_at": 1774016304,
"operating": 1.0284008979797363
}
}
Возвращаемые данные
|
Название |
Описание |
|
result |
Корневой объект ответа. Содержит структуру |
|
time |
Информация о времени выполнения запроса |
Тип result
|
Название |
Описание |
|
document |
Данные загруженного документа. Структура описана в типе |
Тип document
|
Название |
Описание |
|
Идентификатор документа |
|
|
title |
Название документа |
|
number |
Номер документа |
|
createTime |
Дата создания |
|
updateTime |
Дата обновления |
|
Идентификатор пользователя, создавшего документ |
|
|
Идентификатор пользователя, обновившего документ |
|
|
changeStampsEnabled |
Можно ли изменить признак подстановки печати и подписи |
|
changeStampsDisabledReason |
Причина, почему нельзя изменить признак подстановки печати и подписи |
|
changeQrCodeEnabled |
Можно ли включить или выключить QR-код |
|
qrCodeEnabled |
Текущее состояние QR-кода |
|
changeQrCodeDisabledReason |
Причина, почему нельзя изменить QR-код |
|
products |
Сводная информация по товарам документа ( |
|
stampsEnabled |
Признак подстановки печати и подписи |
|
downloadUrl |
Ссылка на скачивание документа |
|
downloadUrlMachine |
Ссылка на скачивание документа для машинного доступа |
|
Публичная ссылка на документ |
|
|
isTransformationError |
Признак ошибки конвертации документа |
|
transformationErrorMessage |
Текст ошибки конвертации, если |
|
transformationErrorCode |
Код ошибки конвертации, если |
|
Идентификатор шаблона |
|
|
pullTag |
Тег события трансформации документа |
|
emailDiskFile |
Идентификатор файла в Диске для отправки по email |
|
Идентификатор типа CRM-объекта |
|
|
Идентификатор CRM-объекта |
|
|
Значения полей документа |
|
|
imageUrl |
Ссылка на изображение документа, если уже создано |
|
pdfUrl |
Ссылка на PDF-файл документа, если уже создан |
|
imageUrlMachine |
Ссылка на изображение документа для машинного доступа |
|
pdfUrlMachine |
Ссылка на PDF-документ для машинного доступа |
Обработка ошибок
HTTP-статус: 400
{
"error": "100",
"error_description": "Invalid value {} to match with parameter {fields}. Should be value of type array."
}
|
Название |
Описание |
|
error |
Строковый код ошибки. Может состоять из цифр, латинских букв и знака подчеркивания |
|
error_description |
Текстовое описание ошибки. Описание не предназначено для показа конечному пользователю в необработанном виде |
Возможные коды ошибок
|
Код |
Описание |
Значение |
|
|
Could not find value for parameter |
Не передан обязательный параметр |
|
|
Invalid value {} to match with parameter {fields}. Should be value of type array. |
Параметр |
|
|
Empty required fields: entityTypeId, fileContent, region, entityId |
Не переданы обязательные поля в |
|
|
Empty required fields: fileContent |
Не передано обязательное поле |
|
|
Wrong "entityTypeId" field value |
Передан некорректный |
|
|
No provider for entityTypeId |
Для |
|
|
Wrong "entityId" field value |
Передан некорректный |
|
|
Missing file content |
Не передан или не прочитан |
|
|
Could not save file |
Не удалось сохранить загруженный файл |
|
|
Module crm is not installed |
Модуль |
|
|
Wrong provider ... |
Некорректно определен провайдер документа |
|
|
Application not found |
Не удалось определить текущее REST-приложение |
|
|
Error generating file for template |
Не удалось создать служебный файл для скрытого шаблона |
|
|
Error getting template |
Не удалось получить или создать скрытый шаблон для загрузки |
|
|
You do not have permissions to view documents |
Недостаточно прав на просмотр документов |
|
|
Module documentgenerator is not installed |
Модуль |
Статусы и коды системных ошибок
HTTP-статус: 20x, 40x, 50x
Описанные ниже ошибки могут возникнуть при вызове любого метода
|
Статус |
Код |
Описание |
|
|
|
Возникла внутренняя ошибка сервера, обратитесь к администратору сервера или в техническую поддержку Битрикс24 |
|
|
|
Возникла внутренняя ошибка сервера, обратитесь к администратору сервера или в техническую поддержку Битрикс24 |
|
|
|
Превышен лимит на интенсивность запросов |
|
|
|
Текущий метод не разрешен для вызова с помощью batch |
|
|
|
Превышена максимальная длина параметров, переданных в метод batch |
|
|
|
Неверный access-токен или код вебхука |
|
|
|
Для вызовов методов требуется использовать протокол HTTPS |
|
|
|
REST API заблокирован из-за перегрузки. Это ручная индивидуальная блокировка, для снятия необходимо обращаться в техническую поддержку Битрикс24 |
|
|
|
REST API доступен только на коммерческих планах |
|
|
|
У пользователя, с чьим access-токеном или вебхуком был вызван метод, не хватает прав |
|
|
|
Манифест недоступен |
|
|
|
Запрос требует более высоких привилегий, чем предоставляет токен вебхука |
|
|
|
Предоставленный access-токен доступа истек |
|
|
|
Пользователь не имеет доступа к приложению. Это означает, что приложение установлено, но администратор портала разрешил доступ к этому приложению только конкретным пользователям |
|
|
|
Публичная часть сайта закрыта. Чтобы открыть публичную часть сайта на коробочной установке отключите опцию «Временное закрытие публичной части сайта». Путь к настройке: Рабочий стол > Настройки > Настройки продукта > Настройки модулей > Главный модуль > Временное закрытие публичной части сайта |
Продолжите изучение
- Создать новый документ crm.documentgenerator.document.add
- Получить документ crm.documentgenerator.document.get
- Обновить документ crm.documentgenerator.document.update
- Получить список документов crm.documentgenerator.document.list
- Как добавить шаблон и создать документ на его основе