После создания карточки звонка BackgroundCallCard::initialized

Выберите инструмент для разработки с AI-агентом:

  • используйте Битрикс24 Вайбкод, чтобы создать приложение для Битрикс24 по описанию задачи без знания языков программирования. Агент напишет код и разместит приложение на сервере без ручной настройки хостинга
  • используйте MCP-сервер, чтобы разрабатывать интеграцию через REST API в своем проекте. Агент будет обращаться к официальной REST-документации

Scope: placement — регистрация точки встраивания, telephony — регистрация звонка, поднимающего карточку

Кто может подписаться: любой пользователь

Событие BackgroundCallCard::initialized возникает после создания карточки звонка и передачи стартовых данных.

Событие работает в контексте приложения, открытого в точке встраивания PAGE_BACKGROUND_WORKER. Это событие js-интерфейса, а не событие REST: подписаться на него запросом к /rest/ нельзя.

Что получает обработчик

Данные передаются в функцию обратного вызова метода BX24.placement.bindEvent

callback({
    "CALL_ID": "E45D40253D1C2D2F.1774588815.822533",
    "PHONE_NUMBER": "+79001234567",
    "LINE_NUMBER": "reg151083",
    "LINE_NAME": "",
    "CRM_ENTITY_TYPE": "CONTACT",
    "CRM_ENTITY_ID": 123,
    "CRM_ACTIVITY_ID": 456,
    "CRM_BINDINGS": [{"ENTITY_TYPE": "DEAL", "ENTITY_ID": 789}],
    "CALL_DIRECTION": "outgoing",
    "CALL_STATE": "idle",
    "CALL_LIST_MODE": false
});

Параметры обработчика события

Обязательные параметры отмечены *

Параметр
тип

Описание

CALL_ID
string

Идентификатор звонка

PHONE_NUMBER
string

Номер клиента.

Ключ не приходит вовсе, если номер не определен

LINE_NUMBER
string

Номер линии

LINE_NAME
string

Название телефонной линии компании.

Может быть пустой строкой, если название линии не задано

CRM_ENTITY_TYPE
string

Тип текущего объекта CRM: LEAD, CONTACT, COMPANY или DEAL.

Пустая строка, если звонок не привязан к CRM

CRM_ENTITY_ID
integer

Идентификатор объекта CRM, к которому привязан звонок.

0, если звонок не привязан к CRM

CRM_ACTIVITY_ID
integer

Идентификатор дела CRM, созданного для звонка.

Если дела нет, ключ не приходит вовсе или приходит пустой строкой

CRM_BINDINGS
object[]

Привязки звонка к объектам CRM (подробное описание)

CALL_DIRECTION
string

Направление звонка.

Возможные значения:

  • incoming — входящий звонок
  • outgoing — исходящий звонок
  • callback — обратный звонок

CALL_STATE
string

Состояние звонка.

Возможные значения:

  • idle — соединение отсутствует
  • connecting — выполняется установка соединения
  • connected — соединение установлено

CALL_LIST_MODE
boolean

Признак режима обзвона

Параметр CRM_BINDINGS

Название
тип

Описание

ENTITY_TYPE
string

Тип объекта CRM

ENTITY_ID
integer

Идентификатор объекта CRM

Параметры подписки

Обработчик регистрируют из виджета методом BX24.placement.bindEvent.

Обязательные параметры отмечены *

Название
тип

Описание

event*
string

Имя события интерфейса.

Для данного события — BackgroundCallCard::initialized

callback*
callable

Функция, которую Битрикс24 вызывает при наступлении события. Аргументы обработчика описаны выше

Примеры кода

Как использовать примеры в документации

BX24.ready(function () {
    BX24.init(function () {
        BX24.placement.bindEvent('BackgroundCallCard::initialized', function (eventData) {
            console.log(eventData);
        });
    });
});
// $b24 — инициализированный экземпляр SDK, см. руководство по началу работы
import type { B24Frame } from '@bitrix24/b24jssdk'

declare const $b24: B24Frame

type CallCardData = {
  CALL_ID: string
  PHONE_NUMBER?: string
  LINE_NUMBER: string
  LINE_NAME: string
  CRM_ENTITY_TYPE: string
  CRM_ENTITY_ID: number
  CRM_ACTIVITY_ID?: number | string
  CRM_BINDINGS: Array<{ ENTITY_TYPE: string; ENTITY_ID: number }>
  CALL_DIRECTION: string
  CALL_STATE: string
  CALL_LIST_MODE: boolean
}

await $b24.placement.bindEvent('BackgroundCallCard::initialized', (eventData: CallCardData) => {
  console.log(eventData.CALL_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('BackgroundCallCard::initialized', (eventData) => {
      console.log(eventData)
    })
  })
</script>

Ошибки

Проверьте условия.

  • Виджет открыт в точке встраивания PAGE_BACKGROUND_WORKER. В других точках встраивания события BackgroundCallCard::* не зарегистрированы, и подписка молча не сработает
  • Имя события передано без опечаток и с учетом регистра. Список событий, доступных в текущей точке встраивания, возвращает BX24.placement.getInterface
  • Звонок поднят приложением методом telephony.externalCall.register. Для звонков самого Битрикс24 события BackgroundCallCard::* не эмитятся вовсе

Продолжите изучение