Событие смены статуса звонка CallCard::CallStateChanged
Если вы разрабатываете интеграции для Битрикс24 с помощью AI-инструментов (Codex, Claude Code, Cursor), подключите MCP-сервер, чтобы ассистент использовал официальную REST-документацию.
Scope:
telephonyКто может подписаться: любой пользователь
Событие CallCard::CallStateChanged возникает при смене состояния текущего звонка.
Событие работает в контексте приложения в плейсменте CALL_CARD.
Что получает обработчик
Данные передаются в callback BX24.placement.bindEvent
callback(
"idle",
{
"failedCode": "486"
}
);
Параметры обработчика события
Обязательные параметры отмечены *
|
Параметр |
Описание |
|
callState* |
Текущее состояние звонка. Возможные значения:
|
|
additionalParams |
Дополнительные данные (подробное описание) |
Параметр additionalParams
|
Параметр |
Описание |
|
failedCode |
Код завершения звонка. Передается только при неуспешном завершении, когда |
Параметры подписки на событие
Обязательные параметры отмечены *
|
Название |
Описание |
|
PLACEMENT* |
Имя события интерфейса. Для данного события — |
|
HANDLER* |
URL обработчика события для вызова |
Примеры кода
Как использовать примеры в документации
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"PLACEMENT":"CallCard::CallStateChanged","HANDLER":"**your_handler_url_here**"}' \
"https://**put_your_bitrix24_address**/rest/placement.bindEvent?auth=**put_access_token_here**"
BX24.placement.bindEvent('CallCard::CallStateChanged', function (callState, additionalParams) {
console.log(callState, additionalParams);
});
try {
$response = $b24Service
->core
->call(
'placement.bindEvent',
[
'PLACEMENT' => 'CallCard::CallStateChanged',
'HANDLER' => '**your_handler_url_here**'
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
processData($result);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error: ' . $e->getMessage();
}
BX24.callMethod(
'placement.bindEvent',
{
PLACEMENT: 'CallCard::CallStateChanged',
HANDLER: '**your_handler_url_here**'
},
function(result)
{
if (result.error())
{
console.error(result.error(), result.error_description());
}
else
{
console.log(result.data());
}
}
);
require_once('crest.php');
$result = CRest::call(
'placement.bindEvent',
[
'PLACEMENT' => 'CallCard::CallStateChanged',
'HANDLER' => '**your_handler_url_here**'
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
Продолжите изучение
- Получить статус звонка getStatus
- Заблокировать автозакрытие disableAutoClose
- Снять блокировку автозакрытия enableAutoClose
- Событие смены клиента CallCard::EntityChanged
- Событие перед закрытием карточки CallCard::BeforeClose