crm.activity.badge.add
Добавить бейдж
Описание
Метод crm.activity.badge.add добавляет новый бейдж для конфигурируемого дела.
Параметры
code
string
обязательный
Код бейджа, например missedCall
title
string
обязательный
Заголовок бейджа. Может быть строкой или массивом строк для разных языков
value
string
обязательный
Заголовок бейджа. Может быть строкой или массивом строк для разных языков
type
string
обязательный
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"code":"missedCall","title":"Статус звонка","value":"Пропущен","type":"failure","auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/crm.activity.badge.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
// Shape of the payload returned in result (match the "response handling" section of the page)
type BadgeAddResult = {
badge: {
code: string
title: string
value: string
type: string
}
}
try {
const response = await $b24.actions.v2.call.make<BadgeAddResult>({
method: 'crm.activity.badge.add',
params: {
code: 'missedCall',
title: 'Call Status',
value: 'Missed',
type: 'failure',
},
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(result.badge)
}
} 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 addActivityBadge() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
const response = await $b24.actions.v2.call.make({
method: 'crm.activity.badge.add',
params: {
code: 'missedCall',
title: 'Call Status',
value: 'Missed',
type: 'failure',
},
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(result.badge)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', addActivityBadge)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.crm.activity.badge.add(
code="CUSTOM_STATUS",
title="Status",
value="Pending",
type="failure",
).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(
'crm.activity.badge.add',
[
'code' => 'missedCall',
'title' => 'Статус звонка',
'value' => 'Пропущен',
'type' => 'failure'
]
);
$result = $response
->getResponseData()
->getResult();
if ($result->error()) {
error_log($result->error());
} else {
echo 'Success: ' . print_r($result->data(), true);
}
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error adding activity badge: ' . $e->getMessage();
}
BX24.callMethod(
"crm.activity.badge.add",
{
code: 'missedCall',
title: 'Статус звонка',
value: 'Пропущен',
type: 'failure'
}, result => {
if (result.error())
console.error(result.error());
else
console.dir(result.data());
}
);
require_once('crest.php');
$result = CRest::call(
'crm.activity.badge.add',
[
'code' => 'missedCall',
'title' => 'Статус звонка',
'value' => 'Пропущен',
'type' => 'failure'
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "crm.activity.badge.add", b24.Params{
"code": "missedCall",
"title": "Статус звонка",
"value": "Пропущен",
"type": "failure",
})
if err != nil {
return fmt.Errorf("crm.activity.badge.add: %w", err)
}
// Метод заворачивает ответ в объект с ключом "badge".
raw, ok := b24.Unwrap(res.Result, "badge")
if !ok {
return fmt.Errorf("в ответе нет ключа badge")
}
var item struct {
Code string `json:"code"`
Title string `json:"title"`
Value string `json:"value"`
Type string `json:"type"`
}
if err := json.Unmarshal(raw, &item); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println(item.Code, item.Title)
Ответ
HTTP-статус: 200
{
"result": {
"badge": {
"code": "missedCall",
"title": "Статус звонка",
"value": "Пропущен",
"type": "failure"
}
},
"time": {
"start": 1724068028.331234,
"finish": 1724068028.726591,
"duration": 0.3953571319580078,
"processing": 0.13033390045166016,
"date_start": "2025-01-21T13:47:08+02:00",
"date_finish": "2025-01-21T13:47:08+02:00",
"operating": 0
}
}
Возвращаемые данные
result
object
Корневой элемент ответа, содержащий информацию о добавленном бейдже в случае успеха. В случае неудачи вернет null
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error": "NOT_FOUND",
"error_description": "Not found."
}
| Код | Описание | Значение |
|---|---|---|
ACCESS_DENIED |
Недостаточно прав для выполнения операции | |
REQUIRED_ARG_MISSING |
Не заполнены обязательные поля |

