Получить статус звонка getStatus
Выберите инструмент для разработки с AI-агентом:
- используйте Битрикс24 Вайбкод, чтобы создать приложение для Битрикс24 по описанию задачи без знания языков программирования. Агент напишет код и разместит приложение на сервере без ручной настройки хостинга
- используйте MCP-сервер, чтобы разрабатывать интеграцию через REST API в своем проекте. Агент будет обращаться к официальной REST-документации
Scope:
placement— регистрация точки встраивания,telephony— доступ к точке встраивания карточки звонкаКто может выполнять команду: любой пользователь
Команда getStatus возвращает текущие данные карточки звонка.
Команда работает в контексте приложения, открытого в точке встраивания CALL_CARD. Это команда js-интерфейса, а не метод REST: вызвать ее запросом к /rest/ нельзя.
Как вызвать команду
Команду вызывают из виджета методом BX24.placement.call. Третий аргумент — функция обратного вызова, в нее приходит результат команды.
BX24.placement.call('getStatus', {}, function (result) {
console.log(result);
});
Параметры команды
Команда не принимает параметров. Вторым аргументом передайте пустой объект {}.
Примеры кода
Как использовать примеры в документации
BX24.ready(function () {
BX24.init(function () {
BX24.placement.call('getStatus', {}, function (result) {
console.log(result);
});
});
});
// $b24 — инициализированный экземпляр SDK, см. руководство по началу работы
import type { B24Frame } from '@bitrix24/b24jssdk'
declare const $b24: B24Frame
// форма результата описана ниже на этой странице
type CallStatus = {
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
}
const status = await $b24.placement.call('getStatus') as CallStatus
console.log(status.CALL_ID, status.CALL_STATE)
<!-- Загрузка 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()
const result = await $b24.placement.call('getStatus')
console.log(result)
})
</script>
Результат команды
{
"CALL_ID": "E45D40253D1C2D2F.1774588815.822533",
"PHONE_NUMBER": "+79999996666",
"LINE_NUMBER": "reg151083",
"LINE_NAME": "",
"CRM_ENTITY_TYPE": "CONTACT",
"CRM_ENTITY_ID": 797,
"CRM_ACTIVITY_ID": 12043,
"CRM_BINDINGS": [
{
"ENTITY_TYPE": "DEAL",
"ENTITY_ID": 4615
},
{
"ENTITY_TYPE": "COMPANY",
"ENTITY_ID": 643
}
],
"CALL_DIRECTION": "outgoing",
"CALL_STATE": "idle",
"CALL_LIST_MODE": false
}
Возвращаемые данные
|
Название |
Описание |
|
CALL_ID |
Идентификатор звонка |
|
PHONE_NUMBER |
Номер клиента. Возможные состояния:
|
|
LINE_NUMBER |
Номер линии |
|
LINE_NAME |
Название телефонной линии компании. Может быть пустой строкой, если название линии не задано |
|
CRM_ENTITY_TYPE |
Символьный код типа элемента CRM, к которому привязан звонок: Пустая строка, если звонок не привязан к CRM |
|
CRM_ENTITY_ID |
Идентификатор элемента CRM, к которому привязан звонок.
|
|
CRM_ACTIVITY_ID |
Идентификатор дела CRM, созданного для звонка. Если дела нет, ключ не приходит вовсе или приходит пустой строкой |
|
CRM_BINDINGS |
Привязки звонка к объектам CRM (подробное описание) |
|
CALL_DIRECTION |
Направление звонка. Возможные значения:
|
|
CALL_STATE |
Состояние звонка. Возможные значения:
|
|
CALL_LIST_MODE |
Признак режима обзвона |
Параметр CRM_BINDINGS
|
Название |
Описание |
|
ENTITY_TYPE |
Тип объекта CRM: |
|
ENTITY_ID |
Идентификатор объекта CRM |
Ошибки
Собственных кодов ошибок у команды getStatus нет: она либо выполняется, либо не вызывается вовсе.
- Если виджет открыт не в точке встраивания
CALL_CARD, интерфейс точки встраивания игнорирует незнакомую команду и функция обратного вызова не срабатывает - Имя команды сверяйте с учетом регистра: список команд, доступных в текущей точке встраивания, возвращает BX24.placement.getInterface
Продолжите изучение
- Заблокировать автозакрытие disableAutoClose
- Снять блокировку автозакрытия enableAutoClose
- Событие смены клиента CallCard::EntityChanged
- Событие перед закрытием карточки CallCard::BeforeClose
- Событие смены статуса звонка CallCard::CallStateChanged
- Карточка звонка CALL_CARD: обзор команд и событий
- Вкладка в карточке звонка CALL_CARD