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

Заменить стадии воронки

PUT /v1/deal-categories/:categoryId/stages

PUT /v1/categories/:entityTypeId/:categoryId/stages

Заменяет изменяемый набор стадий воронки сделок или смарт-процесса. Порядок элементов массива задаёт порядок стадий.

Метод требует обновления CRM после 26.2200.0. Номер выпущенной версии ещё не определён. Доступен не на всех порталах Битрикс24. Возможность должен включить администратор.

Внимание: стадии, не включённые в замену, могут быть удалены. Используйте ключ READWRITE со скоупом crm и правами на управление стадиями воронки.

Параметры

Параметр Тип Обяз. По умолч. Описание
ПараметрcategoryId (path) Типnumber Обяз.да По умолч.— ОписаниеНеотрицательное безопасное целое число. 0 — основная воронка сделок. ID из Воронок сделок или Воронок
ПараметрentityTypeId (path) Типnumber Обяз.да, для второго пути По умолч.— Описание2 для сделок или динамический тип из Смарт-процессов. Другие фиксированные типы CRM не принимаются

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

Поле Тип Обяз. Описание
Полеstages Типarray Обяз.да ОписаниеНовый упорядоченный набор, не более 50 элементов. Пустой массив удаляет доступные для удаления стадии с проверкой прав и использования
Полеstages[].stageId Типstring | null Обяз.нет ОписаниеПолный ID существующей стадии из поля statusId в Статусах или предыдущего ответа замены. Без поля или с null создаётся стадия
Полеstages[].name Типstring Обяз.да ОписаниеНазвание стадии, до 100 символов
Полеstages[].color Типstring Обяз.нет Описание#RRGGBB или пустая строка для удаления цвета. Без поля существующий цвет сохраняется
Полеstages[].description Типstring Обяз.нет ОписаниеОписание стадии

Примеры

Замените 29 на ID своей тестовой воронки.

curl — личный ключ

Terminal
curl -X PUT "https://vibecode.bitrix24.tech/v1/deal-categories/29/stages" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"stages":[{"name":"VIBE-PROBE First"},{"name":"VIBE-PROBE Second"}]}'

curl — OAuth-приложение

Terminal
curl -X PUT "https://vibecode.bitrix24.tech/v1/deal-categories/29/stages" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"stages":[{"name":"VIBE-PROBE First"},{"name":"VIBE-PROBE Second"}]}'

JavaScript — личный ключ

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/deal-categories/29/stages', {
  method: 'PUT',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({"stages":[{"name":"VIBE-PROBE First"},{"name":"VIBE-PROBE Second"}]}),
})
const result = await res.json()
console.log(result)

JavaScript — OAuth-приложение

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/deal-categories/29/stages', {
  method: 'PUT',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({"stages":[{"name":"VIBE-PROBE First"},{"name":"VIBE-PROBE Second"}]}),
})
const result = await res.json()
console.log(result)

Поля ответа

Поле Тип Описание
Полеsuccess Типboolean Описаниеtrue при успехе
Полеdata Типarray ОписаниеСтадии воронки после замены
Полеdata[].stageId Типstring ОписаниеПолный ID стадии. Источник — этот ответ или поле statusId в Статусах
Полеdata[].categoryId Типnumber ОписаниеID воронки из Списка воронок
Полеdata[].name Типstring ОписаниеНазвание стадии
Полеdata[].sort Типnumber ОписаниеПорядок сортировки
Полеdata[].semantics Типstring Описаниеprocess, success или failure
Полеdata[].color Типstring ОписаниеЦвет или пустая строка
Полеdata[].isSystem Типboolean ОписаниеПризнак системной стадии
Полеdata[].description Типstring ОписаниеОписание стадии

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

HTTP 200.

JSON
{
  "success": true,
  "data": [
    {
      "stageId": "C29:NEW",
      "categoryId": 29,
      "name": "Новая",
      "sort": 10,
      "semantics": "process",
      "color": "#1F86FF",
      "isSystem": true,
      "description": ""
    },
    {
      "stageId": "C29:UC_975XX9",
      "categoryId": 29,
      "name": "VIBE-PROBE First",
      "sort": 20,
      "semantics": "process",
      "color": "",
      "isSystem": false,
      "description": ""
    },
    {
      "stageId": "C29:UC_8U03YB",
      "categoryId": 29,
      "name": "VIBE-PROBE Second",
      "sort": 30,
      "semantics": "process",
      "color": "",
      "isSystem": false,
      "description": ""
    },
    {
      "stageId": "C29:WON",
      "categoryId": 29,
      "name": "Сделка успешна",
      "sort": 40,
      "semantics": "success",
      "color": "#7BD500",
      "isSystem": true,
      "description": ""
    },
    {
      "stageId": "C29:LOSE",
      "categoryId": 29,
      "name": "Сделка провалена",
      "sort": 50,
      "semantics": "failure",
      "color": "#FF5752",
      "isSystem": true,
      "description": ""
    },
    {
      "stageId": "C29:APOLOGY",
      "categoryId": 29,
      "name": "Анализ причины провала",
      "sort": 60,
      "semantics": "failure",
      "color": "#FF5752",
      "isSystem": false,
      "description": ""
    }
  ]
}

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

400 — нарушена структура тела замены:

JSON
{
  "success": false,
  "error": {
    "code": "INVALID_PARAMS",
    "message": "Use a nonnegative categoryId and a stages array with name and optional stageId, color and description"
  }
}

Ошибки

HTTP Код Описание
HTTP400 КодINVALID_PARAMS ОписаниеНеверный формат пути или тела запроса
HTTP400 КодUNKNOWN_FILTER_FIELD ОписаниеНеизвестный или повторяющийся параметр запроса
HTTP404 КодENTITY_NOT_FOUND ОписаниеВоронка или стадия не найдена
HTTP403 КодBITRIX_ACCESS_DENIED ОписаниеНедостаточно прав в Битрикс24
HTTP403 КодSCOPE_DENIED ОписаниеКлюч не имеет скоупа crm
HTTP403 КодWRITE_BLOCKED_READONLY_KEY ОписаниеЗапись запрещена ключу READONLY
HTTP401 КодTOKEN_MISSING ОписаниеУ ключа нет настроенного доступа к Битрикс24
HTTP401 КодMISSING_API_KEY ОписаниеНе передан заголовок X-Api-Key
HTTP422 КодMETHOD_NOT_YET_AVAILABLE ОписаниеВозможность не включена или метод недоступен на этом портале. error.release указывает обновление
HTTP502 КодBITRIX_UNAVAILABLE ОписаниеПолучен некорректный ответ Битрикс24

Другие отказы Битрикс24 сохраняют HTTP-статус, код и сообщение с удалением учётных данных. Общие ошибки API — Ошибки.

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

Системные и финальные стадии сохраняются, даже если их нет в массиве. Изменение таких стадий и удаление стадии, занятой записями, запрещены. Набор заменяется в одной транзакции без переноса записей.

После таймаута или обрыва соединения не повторяйте запрос вслепую: замена могла завершиться, а элементы без stageId запрашивают создание стадий. Перед повторной отправкой прочитайте текущие стадии.

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