MCN Telecom logo

На главную

Command Palette

Search for a command to run...

Каталог событий MCN Telecom — Работа с речью

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

Работа с речью

События (вебхуки и триггеры), связанные с распознаванием, синтезом, транскрибацией и анализом речи.

Единый Envelope используется для всех событий: один channel соответствует одному event_type.

Содержание

Также см.:
«Каталог событий MCN Telecom — Виртуальная АТС (Звонки ВАТС, Переадресация и внутренние номера)»
«Каталог событий MCN Telecom — Виртуальная АТС (Очереди, Другие события ВАТС)»

Общий формат события

Все события используют общую обёртку Envelope:

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

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

Для каждого события приведены описание полей data и пример Payload.

Транскрибация

SpeechKitDialog - ВАТС: Реплика элемента «Вопрос-Ответ»

ВАТС: Реплика элемента «Вопрос-Ответ»

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

Envelope

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

data

ПолеТипОбяз.Описание
linkedidstringID связанного звонка; объединяет все плечи одного вызова
link_uniqueid_termstringuniqueId принимающей стороны связанного звонка
speechkit_idnumberУникальный ID блока «Вопрос-Ответ»
speechkit_dialog_idnumberID события
eventTypestringТип события
dialog_valuestringСодержание диалога
server_idnumberВнутренний ID сервера, обработавшего событие
accountIdnumberНомер лицевого счёта
vpbx_idnumberНомер ВАТС
numberstringНомер звонящего
account_idnumberНомер ЛС
dialog_typestringТип диалога
uniqueidstringУникальный ID call-leg, формат {systemName}-{timestamp}.{seq}
event_timestringДата события
didnumberНомер, на который звонили
vpbxIdnumberНомер ВАТС

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

Пример: Payload

{
  "account_id": 10001,
  "event_type": "SpeechKitDialog",
  "created_at": "2026-07-01T18:38:08.575Z",
  "idempotencyKey": "5b133904-6192-49d2-abbc-f95be887fb70",
  "data": {
    "linkedid": "125-1782920236.12168312",
    "link_uniqueid_term": "125-1782920236.12168312-1782920287-1",
    "speechkit_id": 2739,
    "speechkit_dialog_id": 5357377,
    "eventType": "SpeechKitDialog",
    "dialog_value": "Назовите пожалуйста цель звонка. Новый клиент! Действующий! Или другое!",
    "server_id": 32,
    "accountId": 10001,
    "vpbx_id": 280,
    "number": "196",
    "account_id": 10001,
    "dialog_type": "question",
    "uniqueid": "125-1782920255.12168482",
    "event_time": "2026-07-01T15:38:07.542103Z",
    "did": 30337,
    "vpbxId": 280
  }
}
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
  }
}
ResponseTranscription - Завершение транскрибации реплики ИИ-агента

ИИ Агент: Завершение транскрибации

Описание: Событие завершения транскрибации реплики ИИ-агента.
Payload: allOf — общий Envelope + данные события.

Envelope

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

data

ПолеТипОбяз.Описание
idstringИдентификатор события
typestringТип события
eventTsstringUnix-время (мс) создания события на стороне сценарного движка
eventNamestringИмя события
eventVersionstringВерсия внутреннего формата события сценария
accountIdstringНомер лицевого счёта; дублирует account_id из Envelope
sessionIdstringID сессии ИИ-агента
transcriptionstringТекст транскрибации реплики ИИ-агента

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

Пример: Payload

{
  "account_id": 0,
  "event_type": "string",
  "created_at": "2019-08-24T14:15:22Z",
  "idempotencyKey": "0c14c6a6-6f50-4d1e-b0c4-b46ff43ba6a1",
  "data": {
    "id": "string",
    "type": "string",
    "eventTs": "string",
    "eventName": "string",
    "eventVersion": "string",
    "accountId": "string",
    "sessionId": "string",
  }
}

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

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"
  }
}

Речевая аналитика

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
  }
}

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