MCN Telecom logo

На главную

Command Palette

Search for a command to run...

Каталог событий MCN Telecom - часть 3

4 просмотраСоздано 17.08.2026Обновлено 21.08.2026

События (вебхуки и триггеры), которые платформа MCN Telecom отправляет на адрес (URL) клиента. Единый envelope для всех событий, один channel = один event_type.

Часть 3

Часть 1 смотрите здесь.
Часть 2 смотрите здесь;
Часть 4 смотрите здесь;
Часть 5 смотрите здесь;
Часть 6 смотрите здесь

Operations

EmitIntegrationEvent - Отправка переменных из сценария ВАТС

Отправка переменных из сценария ВАТС

Payload: allOf — общий Envelope + данные события.

Envelope

ПолеТипОбяз.Описание
account_idintegerID аккаунта в системе
event_typestringТип события — см. components/messages
created_atstring (date-time)Момент события (UTC)
idempotencyKeystring (uuid)Ключ идемпотентности; одинаков при повторных доставках, используется для дедупликации
dataobjectДанные, специфичные для event_type

data

ПолеТипОбяз.Описание
emit_integration_event_counter_10422numberСчётчик срабатывания сценарного шага; номер в имени — внутренний ID сценария
dtmfstringDTMF-тон, введённый абонентом
outputObjectnullЗарезервированное поле результата сценария; в примере не заполнено
eventVersionnumberВерсия внутреннего формата события сценария
scenario_counternumberПорядковый номер выполнения сценария
scenario_id_1stringИдентификатор сценария ВАТС
typestringКатегория события сценария, например call_command_event
eventTsnumberUnix-время создания события на стороне сценарного движка, мс
scenario_idstringИдентификатор сценария ВАТС
transcribation_profilestringПрофиль транскрибации звонка
commandNamestringИмя завершившейся команды сценария, например end-call
eventNamestringИмя обработчика события, например scenario_command_completed
idstringУникальный технический ID события (UUID)
transcribation_service_languagestringЯзык сервиса транскрибации
callIdstringИдентификатор звонка
transcribation_service_providerstringПровайдер сервиса транскрибации
variablesnullКонтейнер дополнительных переменных сценария (JSON); в этом событии не заполнен
eventTypestringДублирует event_type
num_astringНомер участника A сценария
num_bstringНомер участника B сценария
num_cnullНомер участника C, если задействован
call_idstringИдентификатор звонка
accountIdnumberНомер лицевого счёта; дублирует account_id из Envelope
vpbx_idstringНомер ВАТС
is_transcribation_enabledbooleanВключена ли транскрибация звонка
menu_dtmfstringDTMF-тон, введённый в IVR-меню
account_idnumberНомер ЛС

— обязательное поле; — необязательное.

Пример: Payload

{
"account_id": 0,
  "event_type": "string",
  "created_at": "2019-08-24T14:15:22Z",
  "idempotencyKey": "0c14c6a6-6f50-4d1e-b0c4-b46ff43ba6a1",
  "data": {
    "emit_integration_event_counter_10422": 0,
    "dtmf": "string",
    "outputObject": null,
    "eventVersion": 0,
    "scenario_counter": 0,
    "scenario_id_1": "string",
    "type": "string",
    "eventTs": 0,
    "scenario_id": "string",
    "transcribation_profile": "string",
    "commandName": "string",
    "eventName": "string",
    "id": "string",
    "transcribation_service_language": "string",
    "callId": "string",
    "transcribation_service_provider": "string",
    "variables": null,
    "eventType": "string",
    "num_a": "string",
    "num_b": "string",
    "num_c": null,
    "call_id": "string",
    "accountId": 0,
    "vpbx_id": "string",
    "is_transcribation_enabled": true,
    "menu_dtmf": "string",
    "account_id": 0
  }
}
SpeechResult - Распознавание речи

Распознавание речи

Событие: Результат распознавания речи
Payload: allOf — общий Envelope + данные события.

Envelope

ПолеТипОбяз.Описание
account_idintegerID аккаунта в системе
event_typestringТип события — см. components/messages
created_atstring (date-time)Момент события (UTC)
idempotencyKeystring (uuid)Ключ идемпотентности; одинаков при повторных доставках, используется для дедупликации
dataobjectДанные, специфичные для event_type

data

ПолеТипОбяз.Описание
destLinkNamestringРаспознанный вариант ответа; если вариант не подошёл, приходит \t
ivrSchemaIdstringID IVR-схемы, на которую поступил звонок
userEventTypestringДублирует event_type — тип события AMI UserEvent
channelstringИмя канала Asterisk (SIP/PJSIP, Local и др.)
privilegestringУровень логирования/видимости события в Asterisk AMI
extenstringExtension диалплана, где сработало событие (для входящих обычно s)
channelStatenumberКод состояния Asterisk-канала (см. channelStateDesc)
callerIdNumstringНомер вызывающего абонента (Caller ID number)
systemNamestringID Asterisk-сервера (номер хаба)
dateReceivedstringМомент получения события (локальное время сервера)
contextstringКонтекст события
sttAnswerstringРезультат распознавания речи
callerIDstringID звонящего (номер телефона)
eventstringДублирует event_type — служебное поле Asterisk UserEvent
ivrObjectIdstringID объекта на IVR-схеме
timestampnumberUnix-время события
callIdstringИдентификатор звонка
linkedIdstringID связанного звонка
callerNumberstringНомер звонящего абонента
dateReceivedAtUTCstringВремя получения Kafka-коннектором в UTC, до микросекунд; дублирует dateReceived
eventTypestringТип события
prioritynumberПриоритет текущего шага диалплана Asterisk
accountIdnumberНомер ЛС
channelStateDescstringРасшифровка channelState (например Up, Ring, Down)
callerIdNamestringИмя вызывающего абонента, если передано АТС/оператором
didstringНомер телефона
uniqueIdstringУникальный ID call-leg, формат {systemName}-{timestamp}.{seq}
vpbxIdstringНомер Виртуальной АТС

— обязательное поле; — необязательное.

Пример: Payload

{
 "account_id": 10001,
  "event_type": "SpeechResult",
  "created_at": "2026-07-01T17:11:23.448Z",
  "idempotencyKey": "5b133904-6192-49d2-abbc-f95be887fb70",
  "data": {
    "destLinkName": "t",
    "ivrSchemaId": "51325",
    "userEventType": "SpeechResult",
    "channel": "Local/s@autodial-client-leg-0002e27d;1",
    "privilege": "user,all",
    "exten": "s",
    "channelState": 6,
    "callerIdNum": "79000000035",
    "systemName": "125",
    "dateReceived": "Jul 1, 2026, 5:11:23 PM",
    "context": "speech-recog",
    "sttAnswer": "",
    "callerID": "79000000035",
    "event": "SpeechResult",
    "ivrObjectId": "11020",
    "timestamp": 1782915083,
    "callId": "125-1782915017.12142878",
    "linkedId": "125-1782915017.12142877",
    "callerNumber": "79000000035",
    "dateReceivedAtUTC": "2026-07-01 14:11:23.243751",
    "eventType": "SpeechResult",
    "priority": 119,
    "accountId": 10001,
    "channelStateDesc": "Up",
    "callerIdName": "Autodialer",
    "did": "51325",
    "uniqueId": "125-1782915017.12142877",
    "vpbxId": "280"
  }
}
SpeechSynthesis - Событие синтеза речи

Синтез речи

Событие: Событие синтеза речи
Payload: allOf — общий Envelope + данные события.

Envelope

ПолеТипОбяз.Описание
account_idintegerID аккаунта в системе
event_typestringТип события — см. components/messages
created_atstring (date-time)Момент события (UTC)
idempotencyKeystring (uuid)Ключ идемпотентности; одинаков при повторных доставках, используется для дедупликации
dataobjectДанные, специфичные для event_type

data

ПолеТипОбяз.Описание
linkedIDstringID связанного звонка
ivrSchemaIdstringID схемы ВАТС
numAstringНомер звонящего
channelstringИмя канала Asterisk (SIP/PJSIP, Local и др.)
privilegestringУровень логирования/видимости события в Asterisk AMI
extenstringExtension диалплана, где сработало событие (для входящих обычно s)
appDatastringСлужебные параметры приложения Asterisk (сырая строка)
numBstringНомер, на который звонили
callerIDanistringANI — номер, определённый АТС/оператором как исходный
callerIdNumstringНомер вызывающего абонента (Caller ID number)
systemNamestringID Asterisk-сервера (номер хаба)
peerstringВнутренний ID второй стороны звонка (Asterisk CEL peer)
dateReceivedstringМомент получения события (локальное время сервера)
extrastringJSON-строка с дополнительными данными события (Asterisk CEL)
eventTimestringДата события
contextstringКонтекст события
eventNamestringИмя CEL-события, например IVR_LINK_END
callerIDdnidstringDNID — номер, на который был направлен вызов
textstringТекст синтеза речи
eventstringДублирует event_type — служебное поле Asterisk UserEvent
callerIDrdnisstringRDNIS — номер переадресовавшей стороны, если был редирект
uniqueIDstringУникальный ID call-leg, формат {systemName}-{timestamp}.{seq}
timestampstringВремя события
accountCodestringAccount code канала; обычно совпадает с account_id, может быть пустым
dateReceivedAtUTCstringВремя получения Kafka-коннектором в UTC, до микросекунд; дублирует dateReceived
eventTypestringТип события
blockIdstringID блока на схеме ВАТС
accountIdnumberНомер лицевого счёта
peerAccountstringКод лицевого счёта второй стороны соединения
applicationstringПриложение Asterisk, сгенерировавшее событие
userFieldstringСлужебное поле userfield канала Asterisk CEL
callerIdNamestringИмя вызывающего абонента, если передано АТС/оператором
vpbxIdstringНомер ВАТС

— обязательное поле; — необязательное.

Пример: Payload

{
 "account_id": 10001,
  "event_type": "SpeechSynthesis",
  "created_at": "2026-07-01T17:41:28.608Z",
  "idempotencyKey": "5b133904-6192-49d2-abbc-f95be887fb70",
  "data": {
    "linkedID": "125-1782916886.12154245",
    "ivrSchemaId": "42112",
    "numA": "79000000036",
    "channel": "SIP/sip-node1-000f97b9",
    "privilege": "call,all",
    "exten": "s",
    "appData": "IVR_LINK_END,synthesis,3763,,42112,|Это тестовый вызов",
    "numB": "79000000037",
    "callerIDani": "79000000036",
    "callerIdNum": "79000000036",
    "systemName": "125",
    "peer": "",
    "dateReceived": "Jul 1, 2026, 5:41:28 PM",
    "extra": "{\"extra\":\"synthesis,3763,,42112,|Это тестовый вызов\"}",
    "eventTime": "2026-07-01 17:41:28",
    "context": "synthesis",
    "eventName": "IVR_LINK_END",
    "callerIDdnid": "79000000037",
    "text": "Это тестовый вызов",
    "event": "CEL",
    "callerIDrdnis": "",
    "uniqueID": "125-1782916886.12154245",
    "timestamp": "Jul 1, 2026, 5:41:28 PM",
    "accountCode": "10001",
    "dateReceivedAtUTC": "2026-07-01 14:41:28.464432",
    "eventType": "SpeechSynthesis",
    "blockId": "3763",
    "accountId": 10001,
    "peerAccount": "",
    "application": "CELGenUserEvent",
    "userField": "280",
    "callerIdName": "79000000036",
    "vpbxId": "280"
  }
}
External_pbx_change_availability - Изменение состояния транка

Изменение состояния транка

Событие: Информация об изменении состояния транка
Payload: allOf — общий Envelope + данные события.

Envelope

ПолеТипОбяз.Описание
account_idintegerID аккаунта в системе
event_typestringТип события — см. components/messages
created_atstring (date-time)Момент события (UTC)
idempotencyKeystring (uuid)Ключ идемпотентности; используется для дедупликации повторных доставок
dataobjectДанные, специфичные для event_type

data

ПолеТипОбяз.Описание
accountIdnumberНомер ЛС
typestringТип события
statusstringСтатус транка после изменения: доступен/недоступен
namestringИмя абонента

— обязательное поле; — необязательное.

Пример: Payload

{
"account_id": 0,
  "event_type": "string",
  "created_at": "2019-08-24T14:15:22Z",
  "idempotencyKey": "0c14c6a6-6f50-4d1e-b0c4-b46ff43ba6a1",
  "data": {
    "accountId": 0,
    "type": "string",
    "status": "string",
    "name": "string"
  }
}
SubscriberStatus - Статус абонента

Статус абонента

Событие: Статусы абонентов
Payload: allOf — общий Envelope + данные события.

Envelope

ПолеТипОбяз.Описание
account_idintegerID аккаунта в системе
event_typestringТип события — см. components/messages
created_atstring (date-time)Момент события (UTC)
idempotencyKeystring (uuid)Ключ идемпотентности; используется для дедупликации повторных доставок
dataobjectДанные, специфичные для event_type

data

ПолеТипОбяз.Описание
accountIdnumberНомер ЛС
vpbx_idnumberНомер ВАТС
pausedbooleanНаличие паузы
account_idnumberНомер ЛС
core_user_idstringCore user ID
queue_member_idnumberID участника в очереди
namestringИмя абонента
eventTypestringТип события
int_number_idnumberID внутреннего номера
object_idnumberID объекта
queue_idnumberID очереди

— обязательное поле; — необязательное.

Пример: Payload

{
  "account_id": 10001,
  "event_type": "SubscriberStatus",
  "created_at": "2026-05-08T14:32:59.995Z",
  "idempotencyKey": "5b133904-6192-49d2-abbc-f95be887fb70",
  "data": {
    "accountId": 10001,
    "vpbx_id": 280,
    "paused": false,
    "account_id": 10001,
    "core_user_id": "175925",
    "queue_member_id": 1383074,
    "name": "Petrov Aleksandr",
    "eventType": "SubscriberStatus",
    "int_number_id": 119512,
    "object_id": 73485,
    "queue_id": 32123
  }
}
OriginateStart - Начало звонка через API

Начало звонка через API

Payload: allOf — общий Envelope + данные события.

Envelope

ПолеТипОбяз.Описание
account_idintegerID аккаунта в системе
event_typestringТип события — см. components/messages
created_atstring (date-time)Момент события (UTC)
idempotencyKeystring (uuid)Ключ идемпотентности; используется для дедупликации повторных доставок
dataobjectДанные, специфичные для event_type

data

ПолеТипОбяз.Описание
linkedIdstringID связанного звонка
accountCodestringAccount code канала; обычно совпадает с account_id, может быть пустым
connectedLineNumstringНомер собеседника (Connected Line); может содержать доп. параметры через *
userEventTypestringДублирует event_type — тип события AMI UserEvent
dateReceivedAtUTCstringВремя получения Kafka-коннектором в UTC, до микросекунд; дублирует dateReceived
channelstringИмя канала Asterisk (SIP/PJSIP, Local и др.)
privilegestringУровень логирования/видимости события в Asterisk AMI
eventTypestringТип события
prioritynumberПриоритет текущего шага диалплана Asterisk
extenstringExtension диалплана, где сработало событие (для входящих обычно s)
callTypestringТип звонка
channelStatenumberКод состояния Asterisk-канала (см. channelStateDesc)
accountIdnumberНомер лицевого счёта
callerIdNumstringНомер вызывающего абонента (Caller ID number)
systemNamestringID Asterisk-сервера (номер хаба)
dateReceivedstringМомент получения события (локальное время сервера)
contextstringКонтекст события
channelStateDescstringРасшифровка channelState (например Up, Ring, Down)
callerIdNamestringИмя вызывающего абонента, если передано АТС/оператором
eventstringДублирует event_type — служебное поле Asterisk UserEvent
uniqueIdstringУникальный ID call-leg, формат {systemName}-{timestamp}.{seq}
originateIdstringID исходящего вызова, инициированного через API (Originate)

— обязательное поле; — необязательное.

Пример: Payload

{
  "account_id": 10001,
  "event_type": "OriginateStart",
  "created_at": "2026-07-01T16:01:53.508Z",
  "idempotencyKey": "5b133904-6192-49d2-abbc-f95be887fb70",
  "data": {
    "linkedId": "125-1782910912.12119563",
    "accountCode": "10001",
    "connectedLineNum": "79000000018",
    "userEventType": "OriginateStart",
    "dateReceivedAtUTC": "2026-07-01 13:01:53.343815",
    "channel": "SIP/70000205-000f8ab2",
    "privilege": "user,all",
    "eventType": "OriginateStart",
    "priority": 3,
    "exten": "s",
    "callType": "click2call",
    "channelState": 6,
    "accountId": 10001,
    "callerIdNum": "79000000018",
    "systemName": "125",
    "dateReceived": "Jul 1, 2026, 4:01:53 PM",
    "context": "originate-start",
    "channelStateDesc": "Up",
    "callerIdName": "70000205",
    "event": "OriginateStart",
    "uniqueId": "125-1782910912.12119563",
    "originateId": ""
  }
}
Analyse_completed - Речевая аналитика. Результат

Речевая аналитика. Результат

Payload: allOf — общий Envelope + данные события.

Envelope

ПолеТипОбяз.Описание
account_idintegerID аккаунта в системе
event_typestringТип события — см. components/messages
created_atstring (date-time)Момент события (UTC)
idempotencyKeystring (uuid)Ключ идемпотентности; используется для дедупликации повторных доставок
dataobjectДанные, специфичные для event_type

data

ПолеТипОбяз.Описание
callIdstringИдентификатор звонка
accountIdnumberНомер лицевого счёта
calledTonullНомер/адрес, на который был направлен вызов
phonestringНомер телефона
idstringID события
eventTypestringТип события
internalNumbernullВнутренний номер

— обязательное поле; — необязательное.

Пример: Payload

{
"account_id": 10001,
  "event_type": "analyse_completed",
  "created_at": "2026-07-01T22:01:53.440Z",
  "idempotencyKey": "5b133904-6192-49d2-abbc-f95be887fb70",
  "data": {
    "callId": "125-1782932380.12198910",
    "accountId": 10001,
    "eventData": {
      "accountId": 10001,
      "answeredIn": "2026-07-01T19:01:50.242Z",
      "gptResponseResult": "-, Клиент: Майл, -, Клиент запросил информацию о тарифах на городские номера для бизнеса, Проблема: Запрос тарифа (ОП), Упоминание акций: нет",
      "instruction": {
        "internalNumbers": [],
        "gptModel": {
          "name": "gpt-4o-mini",
          "implement": "openai",
          "id": 37,
          "isVisible": true,
          "slug": "gpt-4o-mini"
        },
        "description": "",
        "scenarios": [
          {
            "accountId": 10001,
            "scenarioType": "vpbx",
            "instructionId": 3,
            "scenarioId": 6906
          },
          {
            "accountId": 10001,
            "scenarioType": "vpbx",
            "instructionId": 3,
            "scenarioId": 6907
          },
          {
            "accountId": 10001,
            "scenarioType": "chatbots",
            "instructionId": 3,
            "scenarioId": 80626
          },
          {
            "accountId": 10001,
            "scenarioType": "chatbots",
            "instructionId": 3,
            "scenarioId": 75103
          },
          {
            "accountId": 10001,
            "scenarioType": "chatbots",
            "instructionId": 3,
            "scenarioId": 80629
          },
          {
            "accountId": 10001,
            "scenarioType": "chatbots",
            "instructionId": 3,
            "scenarioId": 78235
          }
        ],
        "type": "contact_center",
        "mode": "auto",
        "maxTagSize": null,
        "flex": false,
        "isCommon": false,
        "roomsIds": [
          "281e5f8d-f213-47b7-801e-407713e388a7"
        ],
        "id": 3,
        "gptTokens": 1000,
        "isArchive": false,
        "gptModelId": 37,
        "groups": [],
        "gptTemperature": 0.2,
        "users": [],
        "isSystem": true,
        "accountId": 10001,
        "externalNumbers": [],
        "queues": [],
        "name": "Краткое содержание диалога",
        "tokenUsed": 904,
        "accounts": [
          10001
        ],
        "writesTag": "never",
        "gptDescription": "Ты — система анализа телефонных диалогов компании ООО «Пример Телеком». На вход получаешь транскрипт разговора. Твоя задача — проанализировать первые 7 реплик и сформировать структурированный ответ в одну строку, строго соблюдая правила.\n\nФормат вывода\n<!--Сотрудник:--> [значение], <!--Клиент:--> [значение], <!--Тип клиента:--> [значение], <!--Суть диалога:--> [значение], <!--Проблема:--> [значение][, <!--Упоминание акций:--> [значение]]\n\nПоля и критерии\nСотрудник:\n\nИмя сотрудника, если явно названо (например: \"Юлия из ООО «Пример Телеком»\" → Юлия).\n\nЕсли не указано → -.\n\nКлиент:\n\nИмя клиента, если явно названо (в исходящем звонке имя может быть в приветствии).\n\nЕсли не указано → -.\n\nТип клиента:\n\nдействующий — если упоминается: лицевой счет, действующие услуги, ТП.\n\n- — для новых клиентов.\n\nСуть диалога:\n\nКраткое описание (1-2 предложения): запрос клиента + результат.\n\nПример: \"Клиент запросил тарифы, оператор объяснил условия подключения\".\n\nПроблема:\n\nКлассификация с указанием отдела в формате: [Описание] ([Отдел]).\n\nОтделы и ключевые слова:\n\nТП (техподдержка): интернет, связь, оборудование, настройка, скорость, роутер, модем, Wi-Fi, кабель, перезагрузка, ошибка подключения, сигнал, ремонт, диагностика, техническая неисправность.\n\nОП (отдел продаж): подключение, тариф, услуга, договор, акция, скидка, новый тариф, продление договора, дополнительные услуги, пакет услуг, специальное предложение, консультация по тарифам, изменение тарифа, условия подключения, абонентская плата.\n\nБухгалтерия: баланс, оплата, начисление, платеж, чек, квитанция, задолженность, счет, переплата, списание.\n\nЕсли отдел не определен → [Описание] (без скобок).\n\nУпоминание акций:\n\nТолько для ОП.\n\nда — если в диалоге есть: акция, скидка, выгодное предложение, бонус, промокод, спецусловия, экономия, льгота, подарок, кэшбэк, бесплатно, спецтариф, акционный период, снижение цены, рассрочка.\n\nнет — для ОП без таких слов.\n\nДля ТП/Бухгалтерии поле исключается.\n\nПравила вывода\nОбязательные поля для ОП:\n\nЕсли отдел — ОП, строка всегда заканчивается полем <!--Упоминание акций:--> [да/нет].\n\nПример: ..., Проблема: Подключение тарифа (ОП), Упоминание акций: нет.\n\nИсключения:\n\nДля ТП/Бухгалтерии поле «Упоминание акций» не выводится.\n\nПример: ..., Проблема: Обрыв интернета (ТП).\n\nСтруктура:\n\nВсе значения разделяются запятыми.\n\nНазвания полей (например, <!--Сотрудник:-->) скрываются в комментариях.\n\nЕсли информация не определена → -.\n\nПримеры\nОП без акций:\nЮлия, Клиент: Сергей, -, Клиент запросил тарифы на номера, оператор предоставил условия, Проблема: Подключение номера (ОП), Упоминание акций: нет\n\nТП:\nАнна, Клиент: Игорь, действующий, Жалоба на отсутствие интернета, Проблема: Обрыв соединения (ТП)\n\nОП с акцией:\nДмитрий, Клиент: Виктор, -, Уточнение условий скидки, Проблема: Выбор тарифа (ОП), Упоминание акций: да\n\nВажно\nАнализировать только первые 7 реплик.\n\nКонтекст решает: если клиент спрашивает о работе тарифа → ТП, о подключении → ОП.\n\nДля ОП поле «Упоминание акций» всегда присутствует.",
        "status": "active"
      },
      "conversationId": 17079645,
      "instructionId": 3,
      "subdialog": {
        "keyQuestion": null,
        "queueId": null,
        "businessProcessId": null,
        "data": {
          "system": {},
          "variable": {
            "callId": "125-1782932380.12198910",
            "queueId": "6616",
            "linkedId": "125-1782932380.12198910",
            "answered": true,
            "ivrSchemaId": "6906",
            "calledTo": "79000000001",
            "hangupBy": "operator",
            "internalNumber": "416",
            "duration": 97,
            "phone": "79000000002",
            "clientUniqueId": "125-1782932380.12198910",
            "operatorUniqueId": "125-1782932412.12198980",
            "calledFrom": "79000000002",
            "transcribation": "1",
            "coreUserId": "169479",
            "callRecordFile": "20260701-215940-79000000002-79000000001-125178293238012198910",
            "queue": "302",
            "uniqueId": "125-1782932380.12198910",
            "vpbxId": "280",
            "direction": "in"
          }
        },
        "isVoiceAgentEnabled": false,
        "displayName": "79000000002",
        "voiceAgentMode": null,
        "shortDescription": null,
        "dialogId": 49510173,
        "isAiAgentEnabled": false,
        "tags": [],
        "finishedAt": "2026-07-01T19:01:18.499Z",
        "dialog": {
          "lastSubdialogId": 17079645,
          "data": {
            "system": {},
            "variable": {
              "callId": "125-1782932380.12198910",
              "queueId": "6616",
              "linkedId": "125-1782932380.12198910",
              "answered": true,
              "ivrSchemaId": "6906",
              "calledTo": "79000000001",
              "hangupBy": "operator",
              "internalNumber": "416",
              "duration": 97,
              "phone": "79000000002",
              "clientUniqueId": "125-1782932380.12198910",
              "operatorUniqueId": "125-1782932412.12198980",
              "calledFrom": "79000000002",
              "transcribation": "1",
              "coreUserId": "169479",
              "callRecordFile": "20260701-215940-79000000002-79000000001-125178293238012198910",
              "queue": "302",
              "uniqueId": "125-1782932380.12198910",
              "vpbxId": "280",
              "direction": "in"
            }
          },
          "contactId": 4584288,
          "connectorId": "79000000001",
          "blockedSince": null,
          "externalId": "125-1782932380.12198910",
          "source": "vpbx",
          "createdTs": "2026-07-01T18:59:40.336Z",
          "platform": "vpbx",
          "deleted": null,
          "lastReadMessageId": null,
          "platformUserId": "79000000002",
          "schemaId": 6906,
          "contact": {
            "accountId": 10001,
            "searchString": "79000000002",
            "data": {
              "contactsGroup": [],
              "notes": null,
              "additionalFields": [],
              "createdByUser": {
                "name": "AdminExample",
                "email": "admin@example.com"
              },
              "displayName": null,
              "numbers": [
                "79000000002"
              ],
              "calculatedName": null,
              "source": "api_cc",
              "clientAccountId": null,
              "phoneNumbers": [
                {
                  "accountId": 10001,
                  "contactId": 4584288,
                  "id": 9995441,
                  "tag": "phone",
                  "value": "79000000002"
                }
              ],
              "emails": [],
              "createdAt": "2026-07-01T18:59:43.160Z",
              "isDeleted": false,
              "surname": null,
              "oldContactId": null,
              "socialMedias": [],
              "company": null,
              "customerIds": [],
              "transcriptionName": null,
              "id": 4584288,
              "customers": [],
              "department": null,
              "updatedAt": "2026-07-01T18:59:43.160Z",
              "deleteDate": null,
              "updatedByUser": null,
              "isBlacklist": false,
              "updatedBy": null,
              "fullName": "79000000002",
              "contactsGroupIds": [],
              "groupFields": [],
              "userId": null,
              "transcriptionSurname": null,
              "accountId": 10001,
              "createdBy": 37406,
              "name": "79000000002",
              "contractId": null,
              "position": null,
              "isFavorite": false
            },
            "isDeleted": false,
            "name": "79000000002",
            "isEmpty": false,
            "id": 4584288
          },
          "id": 49510173,
          "operatorId": null
        },
        "createdAt": "2026-07-01T18:59:40.576Z",
        "aiAgentMode": null,
        "customerId": null,
        "numberA": "79000000002",
        "id": 17079645,
        "state": "CLOSED",
        "numberB": "79000000001",
        "projectId": 10,
        "operatorId": 169479,
        "ticketId": null,
        "status": "completed"
      },
      "projectId": 10
    },
    "calledTo": null,
    "phone": "79000000002",
    "id": "011d82eb-4bc5-4580-bb64-94f1fa287f9b",
    "eventType": "analyse_completed",
    "internalNumber": null
  }
}
TranscribationFinished - Завершение транскрибации

Завершение транскрибации

Событие: Завершение транскрибации
Payload: allOf — общий Envelope + данные события.

Envelope

ПолеТипОбяз.Описание
account_idintegerID аккаунта в системе
event_typestringТип события — см. components/messages
created_atstring (date-time)Момент события (UTC)
idempotencyKeystring (uuid)Ключ идемпотентности; используется для дедупликации повторных доставок
dataobjectДанные, специфичные для event_type

data

ПолеТипОбяз.Описание
linkedIdstringID связанного звонка
accountIdnumberНомер лицевого счёта
eventIdstringУникальный ID события транскрибации
transcribationTextstringПолный текст транскрибации разговора
fileNamestringНазвание файла
transcribationIdstringНомер транскрибации
numAstringНомер звонящего
callUniqueIdstringУникальный номер звонка
eventTypestringТип события
numBstringНомер, на который звонили
vpbxIdnumberНомер ВАТС

— обязательное поле; — необязательное.

Пример: Payload

{

  "account_id": 10001,
  "event_type": "TranscribationFinished",
  "created_at": "2026-07-01T20:44:40.688Z",
  "idempotencyKey": "5b133904-6192-49d2-abbc-f95be887fb70",
  "data": {
    "linkedId": "125-1782927846.12192332",
    "accountId": 10001,
    "eventId": "0973549e-1b82-4a78-af62-0bf1dcc04fd7",
    "transcribationText": "(2): Алло.\n(1): Слушай, я че тебе еще звонил, я тебе в элемент там написал, типа Дина есть?\n(2): А Давай. Да, я вижу, сейчас я посмотрю, я сейчас посмотрю, тебе отвечу.\n(1): Да окей у меня в принципе все готово, если что я направлю все.\n(2): Да, Да давай давай, ага?\n(1): Давай.",
    "fileName": "20260701-204406-170-9410-125178292784612192332",
    "data": {
      "first": [
        {
          "startTime": "8.780",
          "text": "Слушай, я че тебе еще звонил, я тебе в элемент там написал, типа Дина есть?",
          "endTime": "12.790"
        },
        {
          "startTime": "15.610",
          "text": "Да окей у меня в принципе все готово, если что я направлю все.",
          "endTime": "18.570"
        },
        {
          "startTime": "19.750",
          "text": "Давай.",
          "endTime": "20.110"
        }
      ],
      "second": [
        {
          "startTime": "8.189",
          "text": "Алло.",
          "endTime": "8.469"
        },
        {
          "startTime": "9.950",
          "text": "А",
          "endTime": "10.070"
        },
        {
          "startTime": "11.270",
          "text": "Давай.",
          "endTime": "11.590"
        },
        {
          "startTime": "12.299",
          "text": "Да, я вижу, сейчас я посмотрю, я сейчас посмотрю, тебе отвечу.",
          "endTime": "15.139"
        },
        {
          "startTime": "16.870",
          "text": "Да,",
          "endTime": "17.350"
        },
        {
          "startTime": "19.150",
          "text": "Да давай давай, ага?",
          "endTime": "20.510"
        }
      ]
    },
    "transcribationId": "87f08810-1197-4236-b414-9ef3975ee5dc",
    "numA": "170",
    "callUniqueId": "125-1782927846.12192332",
    "eventType": "TranscribationFinished",
    "numB": "9410",
    "vpbxId": 280
  }
}
InboundCallEnd - Завершение входящего звонка

Завершение входящего звонка

Событие: Конец входящего звонка телефонии
Payload: allOf — общий Envelope + данные события.

Envelope

ПолеТипОбяз.Описание
account_idintegerID аккаунта в системе
event_typestringТип события — см. components/messages
created_atstring (date-time)Момент события (UTC)
idempotencyKeystring (uuid)Ключ идемпотентности; используется для дедупликации повторных доставок
dataobjectДанные, специфичные для event_type

data

ПолеТипОбяз.Описание
userEventTypestringДублирует event_type — тип события AMI UserEvent
channelstringИмя канала Asterisk (SIP/PJSIP, Local и др.)
privilegestringУровень логирования/видимости события в Asterisk AMI
extenstringExtension диалплана, где сработало событие (для входящих обычно s)
objectTypestringТип объекта (например did)
channelStatenumberКод состояния Asterisk-канала (см. channelStateDesc)
callerIdNumstringНомер вызывающего абонента (Caller ID number)
systemNamestringID Asterisk-сервера (номер хаба)
dateReceivedstringМомент получения события (локальное время сервера)
contextstringКонтекст события
callerIDstringID звонящего (номер телефона)
eventstringДублирует event_type — служебное поле Asterisk UserEvent
objectIdstringID объекта
timestampnumberВремя создания события
callIdstringИдентификатор звонка
linkedIdstringID связанного звонка
answeredstringБыл ли отвечен звонок: 0 или 1
callerNumberstringНомер звонящего
dateReceivedAtUTCstringВремя получения Kafka-коннектором в UTC, до микросекунд; дублирует dateReceived
eventTypestringТип события
prioritynumberПриоритет текущего шага диалплана Asterisk
accountIdnumberНомер ЛС
channelStateDescstringРасшифровка channelState (например Up, Ring, Down)
callerIdNamestringИмя вызывающего абонента, если передано АТС/оператором
didstringНомер телефона
uniqueIdstringУникальный ID call-leg, формат {systemName}-{timestamp}.{seq}

— обязательное поле; — необязательное.

Пример: Payload

{
"account_id": 10001,
  "event_type": "InboundCallEnd",
  "created_at": "2026-07-01T20:25:11.241Z",
  "idempotencyKey": "5b133904-6192-49d2-abbc-f95be887fb70",
  "data": {
    "userEventType": "InboundCallEnd",
    "channel": "SIP/sip-node3-000056be",
    "privilege": "user,all",
    "exten": "s",
    "objectType": "did",
    "channelState": 4,
    "callerIdNum": "79000000014",
    "systemName": "207",
    "dateReceived": "Jul 1, 2026, 5:25:11 PM",
    "context": "hangup-signal-did-inbound-call-finished",
    "callerID": "79000000014",
    "event": "InboundCallEnd",
    "objectId": "559985",
    "timestamp": 1782926711,
    "callId": "207-1782926711.179818",
    "linkedId": "207-1782926711.179818",
    "answered": "0",
    "callerNumber": "79000000014",
    "dateReceivedAtUTC": "2026-07-01 17:25:11.061776",
    "eventType": "InboundCallEnd",
    "priority": 3,
    "accountId": 10001,
    "channelStateDesc": "Ring",
    "callerIdName": "79000000014",
    "did": "79000000015",
    "uniqueId": "207-1782926711.179818"
  }
}
OutgoingEndЗавершение исходящего звонка телефонии

Завершение исходящего звонка

Событие: Завершение звонка телефонии
Payload: allOf — общий Envelope + данные события.

Envelope

ПолеТипОбяз.Описание
account_idintegerID аккаунта в системе
event_typestringТип события — см. components/messages
created_atstring (date-time)Момент события (UTC)
idempotencyKeystring (uuid)Ключ идемпотентности; используется для дедупликации повторных доставок
dataobjectДанные, специфичные для event_type

data

ПолеТипОбяз.Описание
connectedLineNumstringНомер собеседника (Connected Line); может содержать доп. параметры через *
userEventTypestringДублирует event_type — тип события AMI UserEvent
channelstringИмя канала Asterisk (SIP/PJSIP, Local и др.)
privilegestringУровень логирования/видимости события в Asterisk AMI
extenstringExtension диалплана, где сработало событие (для входящих обычно s)
channelStatenumberКод состояния Asterisk-канала (см. channelStateDesc)
hangupCauseCodestringКод завершения звонка
callerIdNumstringНомер вызывающего абонента (Caller ID number)
systemNamestringID Asterisk-сервера (номер хаба)
dateReceivedstringМомент получения события (локальное время сервера)
recordstringНаличие записи: 1 — есть, 0 — нет
contextstringКонтекст события
eventstringДублирует event_type — служебное поле Asterisk UserEvent
calledNumberstringКто звонит
timestampnumberВремя создания события
callIdstringИдентификатор звонка
linkedIdstringID связанного звонка
answeredstringБыл ли отвечен звонок: 0 или 1
callerNumberstringНомер звонящего абонента
connectedLineNamestringИмя/номер собеседника в Connected Line (см. connectedLineNum)
dateReceivedAtUTCstringВремя получения Kafka-коннектором в UTC, до микросекунд; дублирует dateReceived
eventTypestringТип события
prioritynumberПриоритет текущего шага диалплана Asterisk
accountIdnumberНомер ЛС
channelStateDescstringРасшифровка channelState (например Up, Ring, Down)
didstringНомер телефона
uniqueIdstringУникальный ID call-leg, формат {systemName}-{timestamp}.{seq}

— обязательное поле; — необязательное.

Пример: Payload

{
"account_id": 10001,
  "event_type": "OutgoingEnd",
  "created_at": "2026-07-01T13:15:55.304Z",
  "idempotencyKey": "5b133904-6192-49d2-abbc-f95be887fb70",
  "data": {
    "connectedLineNum": "79000000021",
    "userEventType": "OutgoingEnd",
    "channel": "SIP/sip-node1-00009a8f",
    "privilege": "user,all",
    "exten": "s",
    "channelState": 0,
    "hangupCauseCode": "21",
    "callerIdNum": "79000000022",
    "systemName": "206",
    "dateReceived": "Jul 1, 2026, 10:15:55 AM",
    "record": "0",
    "context": "signal-outgoing-hangup-handler",
    "event": "OutgoingEnd",
    "calledNumber": "79000000022",
    "timestamp": 1782900955,
    "callId": "206-1782900948.347401",
    "linkedId": "206-1782900948.347401",
    "answered": "0",
    "callerNumber": null,
    "connectedLineName": "79000000021",
    "dateReceivedAtUTC": "2026-07-01 10:15:55.150667",
    "eventType": "OutgoingEnd",
    "priority": 18,
    "accountId": 10001,
    "channelStateDesc": "Down",
    "did": "79000000021",
    "uniqueId": "206-1782900948.347404"
  }
}

Также см.:
Каталог событий MCN Telecom - часть 1;
Каталог событий MCN Telecom - часть 2;
Каталог событий MCN Telecom - часть 4;
Каталог событий MCN Telecom - часть 5;
Каталог событий MCN Telecom - часть 6

Была ли эта статья полезной