Событие смены клиента CallCard::EntityChanged
Выберите инструмент для разработки с AI-агентом:
- используйте Битрикс24 Вайбкод, чтобы создать приложение для Битрикс24 по описанию задачи без знания языков программирования. Агент напишет код и разместит приложение на сервере без ручной настройки хостинга
- используйте MCP-сервер, чтобы разрабатывать интеграцию через REST API в своем проекте. Агент будет обращаться к официальной REST-документации
Scope:
placement— регистрация точки встраивания,telephony— доступ к точке встраивания карточки звонкаКто может подписаться: любой пользователь
Событие CallCard::EntityChanged возникает, когда меняется клиент, привязанный к звонку.
Событие приходит в четырех случаях:
- карточка звонка открылась и подтянула данные CRM
- карточка обновила данные клиента
- из карточки создали или привязали элемент CRM — лид, контакт или компанию
- в режиме обзвона оператор перешел к следующему клиенту
Событие работает в контексте приложения, открытого в точке встраивания CALL_CARD. Это событие js-интерфейса, а не событие REST: подписаться на него запросом к /rest/ нельзя.
Что получает обработчик
Данные передаются в функцию обратного вызова метода BX24.placement.bindEvent
callback({
"PHONE_NUMBER": "+79001234567",
"CRM_ENTITY_TYPE": "CONTACT",
"CRM_ENTITY_ID": 123
});
Параметры обработчика события
Обязательные параметры отмечены *
|
Параметр |
Описание |
|
PHONE_NUMBER* |
Номер телефона клиента. Если у клиента нет ни одного телефона, приходит строка |
|
CRM_ENTITY_TYPE* |
Тип связанного со звонком объекта CRM |
|
CRM_ENTITY_ID* |
Идентификатор связанного со звонком объекта CRM |
Параметры подписки
Обработчик регистрируют из виджета методом BX24.placement.bindEvent.
Обязательные параметры отмечены *
|
Название |
Описание |
|
event* |
Имя события интерфейса. Для данного события — |
|
callback* |
Функция, которую Битрикс24 вызывает при наступлении события. Аргументы обработчика описаны выше |
Примеры кода
Как использовать примеры в документации
BX24.ready(function () {
BX24.init(function () {
BX24.placement.bindEvent('CallCard::EntityChanged', function (eventData) {
console.log(eventData);
});
});
});
// $b24 — инициализированный экземпляр SDK, см. руководство по началу работы
import type { B24Frame } from '@bitrix24/b24jssdk'
declare const $b24: B24Frame
await $b24.placement.bindEvent('CallCard::EntityChanged', (eventData: { PHONE_NUMBER: string; CRM_ENTITY_TYPE: string; CRM_ENTITY_ID: number }) => {
console.log(eventData.CRM_ENTITY_ID)
})
<!-- Загрузка SDK в UMD-сборке, глобальный объект B24Js -->
<script src="https://unpkg.com/@bitrix24/b24jssdk@1/dist/umd/index.min.js"></script>
<script>
document.addEventListener('DOMContentLoaded', async () => {
const $b24 = await B24Js.initializeB24Frame()
await $b24.placement.bindEvent('CallCard::EntityChanged', (eventData) => {
console.log(eventData)
})
})
</script>
Ошибки
Проверьте условия.
- Виджет открыт в точке встраивания
CALL_CARD. В других точках встраивания событияCallCard::*не зарегистрированы, и подписка молча не сработает - Имя события передано без опечаток и с учетом регистра. Список событий, доступных в текущей точке встраивания, возвращает BX24.placement.getInterface
Продолжите изучение
- Получить статус звонка getStatus
- Заблокировать автозакрытие disableAutoClose
- Снять блокировку автозакрытия enableAutoClose
- Событие перед закрытием карточки CallCard::BeforeClose
- Событие смены статуса звонка CallCard::CallStateChanged
- Карточка звонка CALL_CARD: обзор команд и событий
- Вкладка в карточке звонка CALL_CARD