task.stages.add
Добавить стадию канбана или «Моего плана»
Описание
Метод task.stages.add добавляет стадию канбана или «Моего плана».
Параметры
fields
object
обязательный
Значения полей (подробное описание приведено ниже) для добавления новой стадии
isAdmin
boolean
необязательный
Если установлено true, то проверки прав происходить не будет. При условии, что запрашивающий является администратором портала
Параметр fields
TITLE
string
обязательный
Заголовок стадии
COLOR
string
необязательный
Цвет стадии в формате RGB
AFTER_ID
integer
необязательный
Идентификатор стадии, после которой надо добавить новую стадию.
Если не указано или равно 0, то добавится в начало
ENTITY_ID
integer
необязательный
Идентификатор объекта.
Может равняться ID группы, тогда стадия добавится в канбан группы.
Если равняется 0 или отсутствует, то стадия добавляется в «Мой план» текущего пользователя.
При недостаточном уровне прав выводится ошибка доступа
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-d '{
"fields": {
"TITLE": "Название стадии",
"COLOR": "#FFAAEE",
"AFTER_ID": 1,
"ENTITY_ID": 1
},
"isAdmin": false
}' \
https://your-domain.bitrix24.com/rest/_USER_ID_/_CODE_/task.stages.add
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: YOUR_ACCESS_TOKEN" \
-d '{
"fields": {
"TITLE": "Название стадии",
"COLOR": "#FFAAEE",
"AFTER_ID": 1,
"ENTITY_ID": 1
},
"isAdmin": false
}' \
https://your-domain.bitrix24.com/rest/task.stages.add
// This snippet is an ES module: top-level await requires type="module" or a bundler.
// $b24 is an already-initialized SDK instance (see the SDK "Get started" guide).
import { Text } from '@bitrix24/b24jssdk'
import type { B24Frame } from '@bitrix24/b24jssdk'
declare const $b24: B24Frame
// ID of the added stage returned in result
// Shape of the payload returned in result (match the "response handling" section of the page)
type StageAddResult = number
try {
const response = await $b24.actions.v2.call.make<StageAddResult>({
method: 'task.stages.add',
params: {
fields: {
TITLE: 'Stage title',
COLOR: '#FFAAEE',
AFTER_ID: 1,
ENTITY_ID: 1,
},
isAdmin: false,
},
requestId: Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
} else {
const result = response.getData()!.result
console.info('New stage ID:', result)
}
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
<!-- Load the SDK (UMD build); it is exposed as the global B24Js -->
<script src="https://unpkg.com/@bitrix24/b24jssdk@1/dist/umd/index.min.js"></script>
<script>
async function addTaskStage() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
const response = await $b24.actions.v2.call.make({
method: 'task.stages.add',
params: {
fields: {
TITLE: 'Stage title',
COLOR: '#FFAAEE',
AFTER_ID: 1,
ENTITY_ID: 1,
},
isAdmin: false,
},
requestId: B24Js.Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
return
}
const result = response.getData().result
console.info('New stage ID:', result)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', addTaskStage)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
fields = {
"TITLE": "Название стадии",
"COLOR": "#FFAAEE",
"AFTER_ID": 1,
"ENTITY_ID": 1,
}
try:
bitrix_response = client.task.stages.add(
fields=fields,
is_admin=False,
).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(
'task.stages.add',
[
'fields' => [
'TITLE' => 'Название стадии',
'COLOR' => '#FFAAEE',
'AFTER_ID' => 1,
'ENTITY_ID' => 1
],
'isAdmin' => false,
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
// Нужная вам логика обработки данных
processData($result);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error adding task stage: ' . $e->getMessage();
}
BX24.callMethod(
'task.stages.add',
{
fields: {
TITLE: 'Название стадии',
COLOR: '#FFAAEE',
AFTER_ID: 1,
ENTITY_ID: 1
},
isAdmin: false,
},
function(result) {
if (result.error()) {
console.error(result.error());
} else {
console.info(result.data());
}
}
);
require_once('crest.php'); // подключение CRest PHP SDK
$fields = [
"TITLE" => "Название стадии",
"COLOR" => "#FFAAEE",
"AFTER_ID" => 1,
"ENTITY_ID" => 1
];
// выполнение запроса к REST API
$result = CRest::call(
'task.stages.add',
[
'fields' => $fields,
'isAdmin' => false
]
);
// Обработка ответа от Битрикс24
if ($result['error']) {
echo 'Error: '.$result['error_description'];
} else {
print_r($result['result']);
}
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "task.stages.add", b24.Params{
"fields": b24.Params{
"TITLE": "Название стадии",
"COLOR": "#FFAAEE",
"AFTER_ID": 1,
"ENTITY_ID": 1,
},
"isAdmin": false,
})
if err != nil {
return fmt.Errorf("task.stages.add: %w", err)
}
var newID b24.ID
if err := json.Unmarshal(res.Result, &newID); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println("идентификатор:", newID)
Ответ
HTTP-статус: 200
{
"result": 1
}
Возвращаемые данные
result
integer
Идентификатор добавленной стадии
Обработка ошибок
HTTP-статус: 400
{
"error": "EMPTY_TITLE",
"error_description": "Не указан заголовок стадии"
}
| Код | Описание | Значение |
|---|---|---|
EMPTY_TITLE |
Не указан заголовок стадии | |
ACCESS_DENIED |
Вы не можете управлять стадиями |

