Создать новый документ на основании шаблона documentgenerator.document.add
Scope:
documentgeneratorКто может выполнять метод: пользователь с правом на создание документов
Метод documentgenerator.document.add создает новый документ на основании шаблона.
Параметры метода
Обязательные параметры отмечены *
|
Название |
Описание |
|
templateId* |
Идентификатор шаблона. Получить идентификатор шаблона можно после создания шаблона или методом получения списка шаблонов |
|
providerClassName |
Класс провайдера данных. По умолчанию имеет значение |
|
value* |
Внешний идентификатор объекта, для которого формируется документ. Формат Рекомендуемый формат:
Примеры значений
Примеры значений
|
|
values |
Значения полей документа вида |
|
stampsEnabled |
Режим печатей и подписей:
По умолчанию берется значение из шаблона |
|
fields |
Описание того, как интерпретировать и форматировать значения из Ключ объекта Если передаете только обычный текст, параметр можно не указывать. Пример структуры
|
Параметр fields
|
Название |
Описание |
|
TYPE |
Тип поля. Типы, для которых можно указать форматирование:
|
|
FORMAT |
Параметры формата для типа поля.
Для Для
Пользовательская документация |
|
PROVIDER |
Класс провайдера |
|
TITLE |
Название поля |
Примеры кода
Как использовать примеры в документации
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"templateId":53,"value":"SUPPLY_CONTRACT_2026_015","values":{"DocumentNumber":"ДГ-2026-001","CurrentDate":"2026-03-18T00:00:00+03:00","ClientName":"ООО Ромашка","ClientPhone":"+7 999 123-45-67","Total":"125000","Comment":"Оплата в течение 5 рабочих дней после подписания","UserName":"Иван Петров"},"fields":{"CurrentDate":{"TYPE":"DATE","FORMAT":{"format":"d.m.Y"},"TITLE":"Дата договора"}},"stampsEnabled":1}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/documentgenerator.document.add
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"templateId":53,"value":"SUPPLY_CONTRACT_2026_015","values":{"DocumentNumber":"ДГ-2026-001","CurrentDate":"2026-03-18T00:00:00+03:00","ClientName":"ООО Ромашка","ClientPhone":"+7 999 123-45-67","Total":"125000","Comment":"Оплата в течение 5 рабочих дней после подписания","UserName":"Иван Петров"},"fields":{"CurrentDate":{"TYPE":"DATE","FORMAT":{"format":"d.m.Y"},"TITLE":"Дата договора"}},"stampsEnabled":1,"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/documentgenerator.document.add
try
{
const response = await $b24.callMethod(
'documentgenerator.document.add',
{
templateId: 53,
value: 'SUPPLY_CONTRACT_2026_015',
values: {
DocumentNumber: 'ДГ-2026-001',
CurrentDate: '2026-03-18T00:00:00+03:00',
ClientName: 'ООО Ромашка',
ClientPhone: '+7 999 123-45-67',
Total: '125000',
Comment: 'Оплата в течение 5 рабочих дней после подписания',
UserName: 'Иван Петров'
},
fields: {
CurrentDate: {
TYPE: 'DATE',
FORMAT: {
format: 'd.m.Y'
},
TITLE: 'Дата договора'
}
},
stampsEnabled: 1
}
);
const result = response.getData().result;
console.log(result);
}
catch (error)
{
console.error(error);
}
try {
$response = $b24Service->core->call(
'documentgenerator.document.add',
[
'templateId' => 53,
'value' => 'SUPPLY_CONTRACT_2026_015',
'values' => [
'DocumentNumber' => 'ДГ-2026-001',
'CurrentDate' => '2026-03-18T00:00:00+03:00',
'ClientName' => 'ООО Ромашка',
'ClientPhone' => '+7 999 123-45-67',
'Total' => '125000',
'Comment' => 'Оплата в течение 5 рабочих дней после подписания',
'UserName' => 'Иван Петров',
],
'fields' => [
'CurrentDate' => [
'TYPE' => 'DATE',
'FORMAT' => [
'format' => 'd.m.Y',
],
'TITLE' => 'Дата договора',
]
],
'stampsEnabled' => 1,
]
);
$result = $response->getResponseData()->getResult();
print_r($result);
} catch (Throwable $e) {
echo $e->getMessage();
}
BX24.callMethod(
'documentgenerator.document.add',
{
templateId: 53,
value: 'SUPPLY_CONTRACT_2026_015',
values: {
DocumentNumber: 'ДГ-2026-001',
CurrentDate: '2026-03-18T00:00:00+03:00',
ClientName: 'ООО Ромашка',
ClientPhone: '+7 999 123-45-67',
Total: '125000',
Comment: 'Оплата в течение 5 рабочих дней после подписания',
UserName: 'Иван Петров'
},
fields: {
CurrentDate: {
TYPE: 'DATE',
FORMAT: {
format: 'd.m.Y'
},
TITLE: 'Дата договора'
}
},
stampsEnabled: 1
},
function(result)
{
if (result.error())
{
console.error(result.error());
}
else
{
console.log(result.data());
}
}
);
require_once('crest.php');
$result = CRest::call(
'documentgenerator.document.add',
[
'templateId' => 53,
'value' => 'SUPPLY_CONTRACT_2026_015',
'values' => [
'DocumentNumber' => 'ДГ-2026-001',
'CurrentDate' => '2026-03-18T00:00:00+03:00',
'ClientName' => 'ООО Ромашка',
'ClientPhone' => '+7 999 123-45-67',
'Total' => '125000',
'Comment' => 'Оплата в течение 5 рабочих дней после подписания',
'UserName' => 'Иван Петров',
],
'fields' => [
'CurrentDate' => [
'TYPE' => 'DATE',
'FORMAT' => [
'format' => 'd.m.Y',
],
'TITLE' => 'Дата договора',
]
],
'stampsEnabled' => 1,
]
);
print_r($result);
Обработка ответа
HTTP-статус: 200
{
"result": {
"document": {
"downloadUrl": "/bitrix/services/main/ajax.php?action=documentgenerator.api.document.getfile&SITE_ID=s1&id=51&ts=1773844068",
"publicUrl": null,
"title": "SUPPLY_CONTRACT Template 1773843147554 ДГ-2026-001",
"number": "ДГ-2026-001",
"id": 51,
"createTime": "2026-03-18T17:27:48+03:00",
"createdBy": 503,
"updateTime": "2026-03-18T17:27:48+03:00",
"updatedBy": null,
"stampsEnabled": true,
"isTransformationError": false,
"value": "SUPPLY_CONTRACT_2026_015",
"values": {
"productsTableVariant": "",
"_creationMethod": "rest",
"stampsEnabled": true,
"DocumentNumber": "ДГ-2026-001",
"CurrentDate": "2026-03-18T00:00:00+03:00",
"ClientName": "ООО Ромашка",
"ClientPhone": "+7 999 123-45-67",
"Total": "125000",
"Comment": "Оплата в течение 5 рабочих дней после подписания",
"UserName": "Иван Петров"
},
"templateId": "53",
"provider": "Bitrix\\DocumentGenerator\\DataProvider\\Rest",
"pullTag": "TRANSFORMDOCUMENT51",
"emailDiskFile": 5569,
"downloadUrlMachine": "https://**put_your_bitrix24_address**/rest/documentgenerator.api.document.getfile.json?auth=a0bfba690000071b00000844000001f7f0f1075f240da39bb5ea0e42c08c5fa182f3ed&token=documentgenerator%7CYWN0aW9uPWRvY3VtZW50Z2VuZXJhdG9yLmFwaS5kb2N1bWVudC5nZXRmaWxlJlNJVEVfSUQ9czEmaWQ9NTEmdHM9MTc3Mzg0NDA2OCZfPXZMVUFDSGMwQkY1QVpRbGQzTlNhV2ZIemNzMW5IZ1lM%7CImRvY3VtZW50Z2VuZXJhdG9yLmFwaS5kb2N1bWVudC5nZXRmaWxlfGRvY3VtZW50Z2VuZXJhdG9yfFlXTjBhVzl1UFdSdlkzVnRaVzUwWjJWdVpYSmhkRzl5TG1Gd2FTNWtiMk4xYldWdWRDNW5aWFJtYVd4bEpsTkpWRVZmU1VROWN6RW1hV1E5TlRFbWRITTlNVGMzTXpnME5EQTJPQ1pmUFhaTVZVRkRTR013UWtZMVFWcFJiR1F6VGxOaFYyWkllbU56TVc1SVoxbE18YTBiZmJhNjkwMDAwMDcxYjAwMDAwODQ0MDAwMDAxZjdmMGYxMDc1ZjI0MGRhMzliYjVlYTBlNDJjMDhjNWZhMTgyZjNlZCI%3D.6lsKyiThwQT0n4UyMQfXdyS%2BnBVTG08%2FpGguggYNGLE%3D"
}
},
"time": {
"start": 1773844068,
"finish": 1773844068.572038,
"duration": 0.572037935256958,
"processing": 0,
"date_start": "2026-03-18T17:27:48+03:00",
"date_finish": "2026-03-18T17:27:48+03:00",
"operating_reset_at": 1773844668,
"operating": 0.9536302089691162
}
}
Возвращаемые данные
|
Название |
Описание |
|
result |
Корневой элемент ответа (подробное описание) |
|
time |
Информация о времени выполнения запроса |
Объект result
|
Название |
Описание |
|
document |
Данные созданного документа (подробное описание) |
Объект document
|
Название |
Описание |
|
id |
Идентификатор документа |
|
title |
Название документа |
|
number |
Номер документа |
|
templateId |
Идентификатор шаблона |
|
provider |
Класс провайдера данных |
|
value |
Внешний идентификатор объекта |
|
values |
Значения полей документа (подробное описание) |
|
stampsEnabled |
Признак включенных печатей и подписей |
|
downloadUrl |
Ссылка на скачивание DOCX для пользователя |
|
downloadUrlMachine |
Ссылка на скачивание DOCX для приложения |
|
publicUrl |
Публичная ссылка на документ, если она включена |
|
isTransformationError |
Признак ошибки конвертации документа |
|
pullTag |
Тег для подписки на обновление статуса конвертации |
|
emailDiskFile |
Идентификатор файла на Диске для отправки по почте |
|
createTime |
Время создания документа |
|
updateTime |
Время последнего обновления документа |
|
createdBy |
Идентификатор автора документа |
|
updatedBy |
Идентификатор пользователя, который обновил документ |
Объект values
|
Название |
Описание |
|
_creationMethod |
Способ создания документа |
|
stampsEnabled |
Признак включенных печатей и подписей |
|
<код_поля> |
Значение поля из шаблона по его коду |
Конвертация файла в PDF выполняется асинхронно. Если поле pdfUrl не заполнено сразу после создания, выполните метод documentgenerator.document.get через 20-30 секунд.
Обработка ошибок
HTTP-статус: 400, 403
{
"error": "0",
"error_description": "Cannot create document on deleted template"
}
|
Название |
Описание |
|
error |
Строковый код ошибки. Может состоять из цифр, латинских букв и знака подчеркивания |
|
error_description |
Текстовое описание ошибки. Описание не предназначено для показа конечному пользователю в необработанном виде |
Возможные коды ошибок
|
Статус |
Код |
Описание |
Значение |
|
|
|
Bitrix\DocumentGenerator\Template constructor must be is public |
Не передан обязательный параметр |
|
|
|
Empty required parameter "value" |
Не передан обязательный параметр |
|
|
|
Cannot create document on deleted template |
Нельзя создать документ по удаленному шаблону |
|
|
|
Шаблон не найден |
Шаблона с указанным |
|
|
|
Cannot create document |
Не удалось создать документ |
|
|
|
You do not have permissions to view documents |
Недостаточно прав для просмотра документов |
|
|
|
Maximum count of documents has been reached |
Достигнут лимит документов на тарифе |
|
|
|
Access denied |
Недостаточно прав на создание документа |
Статусы и коды системных ошибок
HTTP-статус: 20x, 40x, 50x
Описанные ниже ошибки могут возникнуть при вызове любого метода
|
Статус |
Код |
Описание |
|
|
|
Возникла внутренняя ошибка сервера, обратитесь к администратору сервера или в техническую поддержку Битрикс24 |
|
|
|
Возникла внутренняя ошибка сервера, обратитесь к администратору сервера или в техническую поддержку Битрикс24 |
|
|
|
Превышен лимит на интенсивность запросов |
|
|
|
Текущий метод не разрешен для вызова с помощью batch |
|
|
|
Превышена максимальная длина параметров, переданных в метод batch |
|
|
|
Неверный access-токен или код вебхука |
|
|
|
Для вызовов методов требуется использовать протокол HTTPS |
|
|
|
REST API заблокирован из-за перегрузки. Это ручная индивидуальная блокировка, для снятия необходимо обращаться в техническую поддержку Битрикс24 |
|
|
|
REST API доступен только на коммерческих планах |
|
|
|
У пользователя, с чьим access-токеном или вебхуком был вызван метод, не хватает прав |
|
|
|
Манифест недоступен |
|
|
|
Запрос требует более высоких привилегий, чем предоставляет токен вебхука |
|
|
|
Предоставленный access-токен доступа истек |
|
|
|
Пользователь не имеет доступа к приложению. Это означает, что приложение установлено, но администратор портала разрешил доступ к этому приложению только конкретным пользователям |
|
|
|
Публичная часть сайта закрыта. Чтобы открыть публичную часть сайта на коробочной установке отключите опцию «Временное закрытие публичной части сайта». Путь к настройке: Рабочий стол > Настройки > Настройки продукта > Настройки модулей > Главный модуль > Временное закрытие публичной части сайта |
Продолжите изучение
- Изменить существующий документ documentgenerator.document.update
- Получить документ по идентификатору documentgenerator.document.get
- Получить список документов documentgenerator.document.list
- Удалить документ documentgenerator.document.delete
- Включить или выключить публичную ссылку на документ documentgenerator.document.enablepublicurl
- Получить список полей документа documentgenerator.document.getfields