Для AI-агентов: markdown этой страницы — /docs-content/entities/bizproc-templates/update.md индекс документации — /llms.txt

Обновить шаблон

PATCH /v1/bizproc-templates/:id

Изменяет шаблон бизнес-процесса, загруженный этим же приложением. Поля передаются плоско в корне JSON, без обёртки fields.

Параметры

Параметр Тип Обяз. Описание
id (path) number да Идентификатор шаблона. Источник: GET /v1/bizproc-templates

Поля запроса (body)

Изменяются четыре поля. Остальные поля записи задаются при загрузке файла и запросом на обновление не меняются.

Поле Тип Описание
name string Название шаблона
description string Описание шаблона
autoExecute number Условие автозапуска: 0 — без автозапуска, 1 — при создании документа, 2 — при изменении, 3 — при создании и изменении
templateData array Новый файл шаблона из двух элементов — имя файла и его содержимое в base64

Примеры

Обновлять шаблоны можно только ключом авторизации — оба примера отправляют ключ авторизации и заголовок Authorization: Bearer. Токен сессии выдаёт OAuth-авторизация и живёт 24 часа без продления — Передача ключа.

curl — ключ авторизации

Terminal
curl -X PATCH "https://vibecode.bitrix24.tech/v1/bizproc-templates/1215" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Согласование сделки — версия 2",
    "autoExecute": 1
  }'

JavaScript — ключ авторизации

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/bizproc-templates/1215', {
  method: 'PATCH',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    name: 'Согласование сделки — версия 2',
    autoExecute: 1,
  }),
})

const { success, data } = await res.json()

Поля ответа

Поле Тип Описание
success boolean Всегда true при успехе
data.id number Идентификатор обновлённого шаблона

Пример ответа

JSON
{
  "success": true,
  "data": {
    "id": 1215
  }
}

Пример ответа при ошибке

422 — шаблон загружен другим приложением или создан в конструкторе Битрикс24:

JSON
{
  "success": false,
  "error": {
    "code": "BITRIX_ERROR",
    "message": "You can update ONLY templates created by current application"
  }
}

Ошибки

HTTP Код Описание
422 BITRIX_ERROR Шаблон загружен другим приложением — сообщение You can update ONLY templates created by current application
422 BITRIX_ERROR Шаблона с указанным id нет — сообщение Workflow template not found., поле b24Code содержит ERROR_TEMPLATE_NOT_FOUND
400 EMPTY_UPDATE_BODY Тело запроса пустое — передайте хотя бы одно поле
400 READONLY_FIELD В теле передано поле только для чтения, например id
403 OAUTH_REQUIRED Запрос отправлен API-ключом. Обновлять шаблоны можно только ключом авторизации
401 TOKEN_MISSING Ключ авторизации без заголовка Authorization: Bearer
401 WRONG_AUTH_SCHEME Ключ авторизации отправлен в заголовке Authorization: Bearer. Сам ключ передаётся в X-Api-Key, а Authorization: Bearer несёт токен сессии
401 INVALID_SESSION Токен сессии истёк или недействителен — пройдите авторизацию заново
403 SCOPE_DENIED Ключу не хватает скоупа bizproc

При ошибке на стороне Битрикс24 объект error дополняется полем b24Code — машинным кодом причины.

Полный список общих ошибок API — Ошибки.

Известные особенности

Обновляются только свои шаблоны. Изменить можно шаблон, загруженный тем же приложением, чьим ключом авторизации отправлен запрос. Шаблоны из конструктора Битрикс24 и шаблоны других приложений возвращают 422 и остаются нетронутыми.

documentType не меняется после загрузки. В схеме GET /v1/bizproc-templates/fields поле помечено readonly: false, но запрос на обновление применяет только четыре поля из таблицы выше — тип документа задаётся при загрузке файла. Запрос с documentType вернёт 200, значение останется прежним.

Имя поля вне списка выше не вызывает ошибку. Ответ приходит с кодом 200, значение не применяется. Проверяйте результат чтением записи через GET /v1/bizproc-templates с фильтром по id.

Замена файла помечает шаблон как изменённый. После обновления templateData поле isModified в ответе списка становится true.

Смотрите также