Популярные статьи
- Почему скорость 4G/LTE интернета может быть низкой?
1623 просмотра
- 💰 Как проверить баланс
1096 просмотра
- Как правильно набирать номер телефона?
555 просмотра
- 🔌📞Как подключить телефонный номер к ВАТС
447 просмотра
Каталог событий MCN Telecom - часть 5
События (вебхуки и триггеры), которые платформа MCN Telecom отправляет на адрес (URL) клиента. Единый envelope для всех событий, один channel = один event_type.
Часть 5
Часть 1 смотрите здесь;
Часть 2 смотрите здесь;
Часть 3 смотрите здесь;
Часть 4 смотрите здесь;
Часть 6 смотрите здесь.
Operations
Integration_create_contact - Создание контакта в адресной книге
Создание контакта в адресной книге
Payload: allOf — общий Envelope + данные события.
Envelope
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
account_id | integer | ✓ | ID аккаунта в системе |
event_type | string | ✓ | Тип события — см. components/messages |
created_at | string (date-time) | ✓ | Момент события (UTC) |
idempotencyKey | string (uuid) | — | Ключ идемпотентности; используется для дедупликации повторных доставок |
data | object | ✓ | Данные, специфичные для event_type |
data
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
accountId | number | ✓ | Номер лицевого счёта; дублирует account_id из Envelope |
eventType | string | ✓ | Дублирует event_type события |
id | string | ✓ | Уникальный технический идентификатор события (UUID) |
type | string | ✓ | Источник изменения контакта (external_event — контакт изменён во внешней системе) |
✓— обязательное поле;—— необязательное.
Пример: Payload
{
"account_id": 10001,
"event_type": "integration_create_contact",
"created_at": "2026-07-01T23:20:51.627Z",
"idempotencyKey": "5b133904-6192-49d2-abbc-f95be887fb70",
"data": {
"accountId": 10001,
"data": {
"isBlacklist": false,
"additionalFields": [],
"eventVersion": 2,
"source": "web_ab",
"clientAccountId": 142493,
"eventTs": 1782937250619,
"phoneNumbers": [
{
"accountId": 10001,
"contactId": 4584324,
"id": 9997217,
"value": "79000000016"
}
],
"emails": [],
"accountId": 10001,
"createdAt": "2026-07-01T20:20:50.539Z",
"isDeleted": false,
"name": "ИП Иванов Иван Иванович",
"eventName": "create_contact",
"socialMedias": [],
"id": 4584324,
"updatedAt": "2026-07-01T20:20:50.539Z",
"isFavorite": false
},
"eventType": "integration_create_contact",
"id": "07ce776f-f4c5-4f8a-b175-7a0045d77cee",
"type": "external_event"
}
}
Integration_update_contact - Обновление данных контакта из адресной книги
Обновление данных контакта из адресной книги
Payload: allOf — общий Envelope + данные события.
Envelope
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
account_id | integer | ✓ | ID аккаунта в системе |
event_type | string | ✓ | Тип события — см. components/messages |
created_at | string (date-time) | ✓ | Момент события (UTC) |
idempotencyKey | string (uuid) | — | Ключ идемпотентности; используется для дедупликации повторных доставок |
data | object | ✓ | Данные, специфичные для event_type |
data
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
accountId | number | ✓ | Номер лицевого счёта |
eventType | string | ✓ | Тип события |
id | string | ✓ | Уникальный технический идентификатор события (UUID) |
type | string | ✓ | Источник изменения контакта (external_event — контакт изменён во внешней системе) |
✓— обязательное поле;—— необязательное.
Пример: Payload
{
"account_id": 10001,
"event_type": "integration_update_contact",
"created_at": "2026-07-01T20:40:25.243Z",
"idempotencyKey": "5b133904-6192-49d2-abbc-f95be887fb70",
"data": {
"accountId": 10001,
"data": {
"isBlacklist": false,
"updatedBy": 37406,
"additionalFields": [],
"contactId": 4584260,
"eventVersion": 2,
"numbers": [
"79000000017"
],
"fullName": "79000000017",
"contactsGroupIds": [],
"source": "web_ab",
"eventTs": 1782927624326,
"phoneNumbers": [],
"emails": [],
"accountId": 10001,
"createdAt": "2026-07-01T17:32:05.481Z",
"isDeleted": false,
"createdBy": 37406,
"name": "79000000017",
"eventName": "update_contact",
"socialMedias": [],
"customerIds": [],
"id": 4584260,
"updatedAt": "2026-07-01T17:40:24.289Z",
"isFavorite": false
},
"eventType": "integration_update_contact",
"id": "8865c584-772b-4897-8195-f22b8c0072a9",
"type": "external_event"
}
}
Integration_delete_contact_bulk - Удаление контакта из корзины
Удаление контакта из корзины
Payload: allOf — общий Envelope + данные события.
Envelope
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
account_id | integer | ✓ | ID аккаунта в системе |
event_type | string | ✓ | Тип события — см. components/messages |
created_at | string (date-time) | ✓ | Момент события (UTC) |
idempotencyKey | string (uuid) | — | Ключ идемпотентности; используется для дедупликации повторных доставок |
data | object | ✓ | Данные, специфичные для event_type |
data
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
accountId | number | ✓ | Номер лицевого счёта |
eventType | string | ✓ | Тип события |
id | string | ✓ | Уникальный технический идентификатор события (UUID) |
type | string | ✓ | Источник изменения контакта (external_event — контакт изменён во внешней системе) |
✓— обязательное поле;—— необязательное.
Пример: Payload
{
"account_id": 10001,
"event_type": "integration_delete_contact_bulk",
"created_at": "2026-06-18T18:16:18.918Z",
"idempotencyKey": "5b133904-6192-49d2-abbc-f95be887fb70",
"data": {
"accountId": 10001,
"data": {
"accountId": 10001,
"eventVersion": 2,
"ids": [
4479221
],
"eventName": "delete_contact_bulk",
"eventTs": 1781795778463
},
"eventType": "integration_delete_contact_bulk",
"id": "0fa9e3c9-5dd2-4e33-b771-175f82fe92d2",
"type": "external_event"
}
}
FlashCall - Авторизационный звонок
Авторизационный звонок (Flash Call)
Событие: Звонки FlashCall
Payload: allOf — общий Envelope + данные события.
Envelope
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
account_id | integer | ✓ | ID аккаунта в системе |
event_type | string | ✓ | Тип события — см. components/messages |
created_at | string (date-time) | ✓ | Момент события (UTC) |
idempotencyKey | string (uuid) | — | Ключ идемпотентности; используется для дедупликации повторных доставок |
data | object | ✓ | Данные, специфичные для event_type |
data
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
linkedid | string | ✓ | ID связанного звонка, объединяет все плечи одного вызова |
stop_time | string | ✓ | Момент окончания звонка (ISO 8601) |
apiRaws | array<any> | ✓ | Сырые ответы внешних API, использованных при звонке; служебное поле для отладки |
q931_status | number | ✓ | Статус Q.931 — протокола управления соединениями ISDN |
number | string | ✓ | Номер, на который выполняется звонок |
final_status | string | ✓ | Финальный статус звонка |
sip_ip | string | ✓ | IP-адрес SIP-сигнализации звонящей стороны |
sip_call_hash_id | string | ✓ | Хэш-идентификатор SIP-вызова |
uniqueid | string | ✓ | Уникальный ID call-leg, формат {systemName}-{timestamp}.{seq} |
verification_call_uuid | string | ✓ | ID связи звонка с вызовом API |
extra_info_id | string | ✓ | Доп. метаданные вызова в JSON-строке (например ID автодозвона) |
object_type | string | ✓ | Тип канала связи (например pstn) |
sip_port | string | ✓ | Порт SIP-сигнализации звонящей стороны |
eventType | string | ✓ | Название события |
server_id | number | ✓ | Внутренний ID сервера, обработавшего событие |
call_id | string | — | Идентификатор звонка |
call_leg_id | number | ✓ | Числовой ID плеча звонка |
accountId | number | ✓ | Номер лицевого счёта; дублирует account_id из Envelope |
vpbx_id | number | ✓ | Номер ВАТС |
start_time | string | ✓ | Момент начала звонка (ISO 8601) |
account_id | number | ✓ | Номер ЛС |
orig | boolean | ✓ | Признак исходящей стороны (orig), а не принимающей (term) |
call_id_md5 | string | — | MD5-хэш идентификатора звонка |
channame | string | ✓ | Имя канала Asterisk |
last_linked_id | string | ✓ | linkedId предыдущего связанного звонка при повторном дозвоне |
hangup_cause | string | ✓ | Причина завершения звонка |
did | string | ✓ | Номер Flash Call |
✓— обязательное поле;—— необязательное.
Пример: Payload
{
"account_id": 10001,
"event_type": "FlashCall",
"created_at": "2026-06-24T02:30:09.377Z",
"idempotencyKey": "5b133904-6192-49d2-abbc-f95be887fb70",
"data": {
"linkedid": "213-1782257405.1107881",
"stop_time": "2026-06-23T23:30:05.80176Z",
"apiRaws": [],
"q931_status": 17,
"number": "79000000010",
"final_status": "NO ANSWER",
"sip_ip": "10.251.103.113",
"sip_call_hash_id": "213-1782257405.1107885",
"uniqueid": "213-1782257405.1107885",
"verification_call_uuid": "f1bbfc462e44_10001",
"extra_info_id": "{\"autodial_uuid\": \"f1bbfc462e44_10001\"}",
"object_type": "pstn",
"sip_port": "5060",
"eventType": "FlashCall",
"server_id": 36,
"call_leg_id": 4207801,
"accountId": 10001,
"vpbx_id": 0,
"start_time": "2026-06-23T23:30:05.547869Z",
"account_id": 10002,
"orig": false,
"call4raw": {
"marketplace_id": 1,
"mob": true,
"is_tech_trunk": false,
"prefix": 0,
"is_dst_number_ported": false,
"location_id": 1,
"nnp_filter_orig_ids": [
325
],
"package_credit": 0,
"nnp_own_operator_id": 6720,
"connect_time": 1782257405000000,
"subaccount_id": 0,
"open_number_plan": false,
"id": 65120938,
"pricelist_id": 0,
"trunk_settings_stats_id": 0,
"nnp_region_id": 54,
"nnp_number_range_id": 2100966,
"stats_nnp_package_pricelist_minute_id": 0,
"nnp_own_region_id": 6,
"nnp_pricelist_filter_b_id": 58784,
"package_time": 0,
"dst_number": "79000000010",
"is_src_number_ported": false,
"geo_operator_id": 0,
"hash": "39ee5132-eaa8-4e01-45d4-a0e2a9687d56",
"disconnect_cause": 17,
"nnp_is_mob": true,
"interconnect_rate": 0,
"number_service_id": 2396468,
"numA": "79000000011",
"our": true,
"cdr_id": 38983903,
"numB": "79000000010",
"nnp_own_city_id": 7345,
"geo_id": 7,
"src_number": "79000000011",
"nnp_pricelist_id": 991,
"geo_mob": true,
"is_include_vat": true,
"nnp_own_is_mobile": false,
"nnp_operator_id": 6720,
"nnp_rdr_count": 0,
"signalling_call_id": "831ed876-e04e-45df-e197-7223a5b6cf87",
"stub_worked": false,
"nnp_rdr_ndc": 0,
"nnp_filter_orig_id": 0,
"interconnect_cost": 0,
"account_id": 10002,
"orig": true,
"account_tariff_light_id": 0,
"nnp_own_is_mob": false,
"operator_id": 0,
"destination_id": 1,
"is_internal_trunk": false,
"mcc": 0,
"tax_rate": 0,
"pbx_id": 512,
"tax_cost": 0,
"nnp_rdr_city_id": 0,
"trunk_group_id": 0,
"nnp_pricelist_filter_a_id": 5484,
"trunk_service_id": 0,
"nnp_ndc": 931,
"server_id": 12,
"nnp_own_number_range_id": 1221086,
"hub_id": 2,
"nnp_own_country_code": 643,
"nnp_original_operator_id": 0,
"number_ported": false,
"nnp_filter_term_id": 0,
"nnp_rdr_country_prefix": 0,
"leg_type": 1,
"nnp_rdr_region_id": 0,
"nnp_city_id": 115125,
"weak_match": false,
"nnp_country_code": 643,
"nnp_package_minute_id": 0,
"nnp_rdr_operator_id": 0,
"session_time": 0,
"sim_imsi_profile_id": 0,
"peer_id": 65120939,
"nnp_pricelist_location_id": 19817,
"rate": 0,
"nnp_filter_term_ids": [
330
],
"nnp_own_ndc": 345,
"stats_nnp_package_minute_id": 0,
"call_type": 0,
"cost": 0,
"mnc": 0,
"nnp_own_country_prefix": 7,
"mcn_callid": "006a3b16-fd00-8001-0e7a-ad503229b5a2",
"nnp_country_prefix": 7,
"pdd": 0,
"billed_time": 0,
"nnp_package_pricelist_id": 17560,
"trunk_id": 2329,
"account_version": 5,
"nnp_rdr_country_code": 0,
"nnp_package_price_id": 0,
"nnp_rdr_is_mob": false,
"nnp_rdr_number_range_id": 0
},
"channame": "SIP/sip-node1-000174ee",
"last_linked_id": "213-1782257405.1107882",
"hangup_cause": "",
"did": "79000000011"
}
}
PasswordCall - Авторизационный звонок
Авторизационный звонок (Password Call)
Событие: Авторизация через звонок
Payload: allOf — общий Envelope + данные события.
Envelope
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
account_id | integer | ✓ | ID аккаунта в системе |
event_type | string | ✓ | Тип события — см. components/messages |
created_at | string (date-time) | ✓ | Момент события (UTC) |
idempotencyKey | string (uuid) | — | Ключ идемпотентности; используется для дедупликации повторных доставок |
data | object | ✓ | Данные, специфичные для event_type |
data
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
callId | string | ✓ | Идентификатор звонка |
redirect | boolean | ✓ | Признак переадресации |
linkedId | string | ✓ | ID связанного звонка |
code | string | ✓ | Код звонка |
finalStatus | string | ✓ | Статус ответа |
callerNumber | string | ✓ | Номер звонящего абонента |
dateReceivedAtUTC | string | ✓ | Время получения события Kafka-коннектором в UTC, до микросекунд |
channel | string | ✓ | Имя канала Asterisk (SIP/PJSIP, Local и др.) |
eventType | string | ✓ | Тип события |
uuid | string | ✓ | Уникальный ID авторизационного звонка |
duration | number | ✓ | Длительность вызова/сессии, секунды |
accountId | number | ✓ | Номер аккаунта |
lang | string | ✓ | Язык голосового оповещения |
event | string | ✓ | Дублирует event_type — служебное поле Asterisk UserEvent |
calledNumber | string | ✓ | Номер, на который был совершён звонок |
uniqueId | string | ✓ | Уникальный ID call-leg, формат {systemName}-{timestamp}.{seq} |
q931Status | string | ✓ | Код ответа |
timestamp | string | ✓ | Момент события (ISO 8601) |
vpbxId | string | ✓ | Номер ВАТС |
✓— обязательное поле;—— необязательное.
Пример: Payload
{
"account_id": 10001,
"event_type": "PasswordCall",
"created_at": "2026-07-01T22:16:34.924Z",
"idempotencyKey": "5b133904-6192-49d2-abbc-f95be887fb70",
"data": {
"callId": "120-1782933390.45553429",
"redirect": false,
"linkedId": "120-1782933390.45553423",
"code": "5 4 4 4",
"finalStatus": "CANCEL",
"callerNumber": "79000000023",
"dateReceivedAtUTC": "2026-07-01 19:16:30.889",
"channel": "SIP/sip-node2-003419e1",
"eventType": "PasswordCall",
"uuid": "ef2cf79ee507_10001",
"duration": 2,
"accountId": 10001,
"lang": "ru-RU",
"event": "task.target-call-result.completed",
"calledNumber": "79000000024",
"uniqueId": "120-1782933390.45553429",
"q931Status": "17",
"timestamp": "2026-07-01T19:16:34.444Z",
"vpbxId": "15613"
}
}
Balance - Состояние счёта
Баланс
Событие: Блокировка ЛС и состояние счёта
Payload: allOf — общий Envelope + данные события.
Envelope
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
account_id | integer | ✓ | ID аккаунта в системе |
event_type | string | ✓ | Тип события — см. components/messages |
created_at | string (date-time) | ✓ | Момент события (UTC) |
idempotencyKey | string (uuid) | — | Ключ идемпотентности; используется для дедупликации повторных доставок |
data | object | ✓ | Данные, специфичные для event_type |
data
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
accountId | number | ✓ | Номер лицевого счёта; дублирует account_id из Envelope |
sum_total | number | ✓ | Общая сумма |
is_blocked | boolean | ✓ | Состояние блокировки |
account_id | number | ✓ | Номер ЛС |
balance | number | ✓ | Баланс лицевого счёта |
balance_available | number | ✓ | Доступный баланс |
daily_available | number | ✓ | Ежедневный доступный баланс |
eventType | string | ✓ | Тип события |
credit | number | ✓ | Кредитный лимит лицевого счёта |
balance_without_credit | number | ✓ | Баланс лицевого счёта без учёта кредитного лимита |
✓— обязательное поле;—— необязательное.
Пример: Payload
{
"account_id": 10001,
"event_type": "Balance",
"created_at": "2026-07-01T23:40:29.931Z",
"idempotencyKey": "5b133904-6192-49d2-abbc-f95be887fb70",
"data": {
"accountId": 10001,
"sum_total": -5026.35,
"is_blocked": false,
"account_id": 10001,
"balance": -9000000,
"balance_available": 15994973.65,
"stats": [
{
"amount_day": "2026-07-01 00:00:00.000",
"account_id": 10001,
"amount_month": "2026-07-01 00:00:00.000",
"sum": -357.66,
"server_id": 99,
"amount_date": "2026-07-01 00:00:00.000"
},
{
"amount_day": "2026-07-01 00:00:00.000",
"account_id": 10001,
"amount_month": "2026-07-01 00:00:00.000",
"sum": -19.2,
"server_id": 1001,
"amount_date": "2026-07-01 00:00:00.000"
},
{
"amount_day": "2026-07-01 00:00:00.000",
"account_id": 10001,
"amount_month": "2026-07-01 00:00:00.000",
"sum": -1362.86,
"server_id": 9,
"amount_date": "2026-07-01 00:00:00.000"
},
{
"amount_day": "2026-07-01 00:00:00.000",
"account_id": 10001,
"amount_month": "2026-07-01 00:00:00.000",
"sum": -1842.73,
"server_id": 7,
"amount_date": "2026-07-01 00:00:00.000"
},
{
"amount_day": "2026-07-01 00:00:00.000",
"account_id": 10001,
"amount_month": "2026-07-01 00:00:00.000",
"sum": -1443.9,
"server_id": 6,
"amount_date": "2026-07-01 00:00:00.000"
},
{
"amount_day": "2026-05-13 00:00:00.000",
"account_id": 10001,
"amount_month": "2026-05-01 00:00:00.000",
"sum": 0,
"server_id": 1002,
"amount_date": "2026-07-01 00:00:00.000"
}
],
"client": {
"timezone_offset": 3,
"anti_fraud_disabled": false,
"voip_limit_day": 1000000,
"voip_limit_month": 0,
"price_include_vat": true,
"effective_vat_rate": 20,
"is_blocked": false,
"account_version": 5,
"balance": -9000000,
"last_payed_month": "",
"organization_id": 1,
"currency": "RUB",
"id": 10001,
"voip_limit_mn_day": 10000,
"credit": 25000000,
"voip_disabled": false,
"amount_date": "2026-07-01 00:00:00.000"
},
"daily_available": 994973.65,
"eventType": "Balance",
"credit": 25000000,
"balance_without_credit": -9005026.35
}
}
PushNotification - Нотификация для мобильных устройств
Push-сообщение
Событие: Нотификация для мобильных устройств
Payload: allOf — общий Envelope + данные события.
Envelope
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
account_id | integer | ✓ | ID аккаунта в системе |
event_type | string | ✓ | Тип события — см. components/messages |
created_at | string (date-time) | ✓ | Момент события (UTC) |
idempotencyKey | string (uuid) | — | Ключ идемпотентности; используется для дедупликации повторных доставок |
data | object | ✓ | Данные, специфичные для event_type |
data
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
eventType | string | ✓ | Тип события |
✓— обязательное поле;—— необязательное.
**Пример:** Payload
```json
{
"account_id": 0,
"event_type": "string",
"created_at": "2019-08-24T14:15:22Z",
"idempotencyKey": "0c14c6a6-6f50-4d1e-b0c4-b46ff43ba6a1",
"data": {
"eventType": "string"
}
}
Ticket_created - Контакт-центр: создание обращения
Контакт-центр: создание обращения
Схема события пока недоступна. Событие присутствует в продукте, но отсутствует в выгрузке БД — специфичные поля
dataи пример payload недоступны.
Payload: общий Envelope. Структура data не определена.
Envelope
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
account_id | integer | ✓ | ID аккаунта в системе |
event_type | string | ✓ | Тип события — см. components/messages |
created_at | string (date-time) | ✓ | Момент события (UTC) |
idempotencyKey | string (uuid) | — | Ключ идемпотентности; используется для дедупликации повторных доставок |
data | object | ✓ | Данные события; структура пока недоступна |
✓— обязательное поле;—— необязательное.
Пример: Payload
{
"account_id": 0,
"event_type": "string",
"created_at": "2019-08-24T14:15:22Z",
"idempotencyKey": "0c14c6a6-6f50-4d1e-b0c4-b46ff43ba6a1",
"data": {}
}
}
Subdialog_ended - Контакт-центр: завершение диалога
Контакт-центр: завершение диалога
Payload: allOf — общий Envelope + данные события.
Envelope
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
account_id | integer | ✓ | ID аккаунта в системе |
event_type | string | ✓ | Тип события — см. components/messages |
created_at | string (date-time) | ✓ | Момент события (UTC) |
idempotencyKey | string (uuid) | — | Ключ идемпотентности; используется для дедупликации повторных доставок |
data | object | ✓ | Данные, специфичные для event_type |
data
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
accountId | number | ✓ | Номер лицевого счёта; дублирует account_id из Envelope |
dialogText | string | ✓ | Полный текст диалога с разметкой по репликам оператора и клиента |
eventType | string | ✓ | Дублирует event_type события |
id | string | ✓ | Уникальный технический идентификатор события (UUID) |
✓— обязательное поле;—— необязательное.
Пример: Payload
{
"account_id": 10001,
"event_type": "subdialog_ended",
"created_at": "2026-07-01T20:44:41.013Z",
"idempotencyKey": "5b133904-6192-49d2-abbc-f95be887fb70",
"data": {
"accountId": 10001,
"eventData": {
"chatId": 49509938,
"projectsSettings": {},
"platformType": "vpbx",
"subdialog": {
"queueWaitId": null,
"startMessage": null,
"statuses": [
"in_queue"
],
"id": 17079410,
"dialogId": 49509938,
"operatorId": null,
"status": "in_queue",
"endMessageId": 46752533
},
"createdTs": "2026-07-01T17:44:33.891Z",
"eventTs": "2026-07-01T17:44:40.879Z",
"platform": "vpbx",
"operator": null,
"accountId": 10001,
"platformUserId": "125-1782927846.12192332",
"chatUserId": 49509938,
"context": {
"system": {},
"variable": {
"callId": "125-1782927846.12192332",
"callRecordFile": "20260701-204406-170-9410-125178292784612192332",
"vpbxId": "280"
}
},
"statuses": [
"in_queue"
],
"messages": [
{
"messageText": "Алло.",
"speechKitTranscribationLoaded": false,
"externalId": "2ba7eb566b15379f1fe13026d563f49c108431398ac4e4ebff1462a0f1215b0d",
"dialogId": 49509938,
"subdialogId": 17079410,
"platform": "vpbx",
"createdAt": "2026-07-01T17:44:42.080Z",
"accountId": 10001,
"deletedAt": null,
"messageType": "message",
"senderType": "operator",
"id": 46752533,
"operatorId": null,
"messageData": {
"isMarkdown": false,
"text": "Алло.",
"type": "message"
},
"updatedAt": null
},
{
"messageText": "Слушай, я че тебе еще звонил, я тебе в элемент там написал, типа Дина есть?",
"speechKitTranscribationLoaded": false,
"externalId": "3e40134d0aeb6a496873ba06f0dc0c1e35caf61f3ca064ba3b38316774fc4663",
"dialogId": 49509938,
"subdialogId": 17079410,
"platform": "vpbx",
"createdAt": "2026-07-01T17:44:42.671Z",
"accountId": 10001,
"deletedAt": null,
"messageType": "message",
"senderType": "user",
"id": 46752534,
"operatorId": null,
"messageData": {
"isMarkdown": false,
"text": "Слушай, я че тебе еще звонил, я тебе в элемент там написал, типа Дина есть?",
"type": "message"
},
"updatedAt": null
},
{
"messageText": "А",
"speechKitTranscribationLoaded": false,
"externalId": "d573cfbbfb164e4f72d0ed5d1bd4d2b29b18a46497f351a2b58469a14ea1867a",
"dialogId": 49509938,
"subdialogId": 17079410,
"platform": "vpbx",
"createdAt": "2026-07-01T17:44:43.841Z",
"accountId": 10001,
"deletedAt": null,
"messageType": "message",
"senderType": "operator",
"id": 46752535,
"operatorId": null,
"messageData": {
"isMarkdown": false,
"text": "А",
"type": "message"
},
"updatedAt": null
},
{
"messageText": "Давай.",
"speechKitTranscribationLoaded": false,
"externalId": "c15220e6d454317097c8be02762a7fc8e1d484a0380435aee94d0e211c7fd776",
"dialogId": 49509938,
"subdialogId": 17079410,
"platform": "vpbx",
"createdAt": "2026-07-01T17:44:45.161Z",
"accountId": 10001,
"deletedAt": null,
"messageType": "message",
"senderType": "operator",
"id": 46752536,
"operatorId": null,
"messageData": {
"isMarkdown": false,
"text": "Давай.",
"type": "message"
},
"updatedAt": null
},
{
"messageText": "Да, я вижу, сейчас я посмотрю, я сейчас посмотрю, тебе отвечу.",
"speechKitTranscribationLoaded": false,
"externalId": "dd7e168de5bcc698ea0018d97adee0f399536a323500e8af394c8bad8a95094d",
"dialogId": 49509938,
"subdialogId": 17079410,
"platform": "vpbx",
"createdAt": "2026-07-01T17:44:46.190Z",
"accountId": 10001,
"deletedAt": null,
"messageType": "message",
"senderType": "operator",
"id": 46752537,
"operatorId": null,
"messageData": {
"isMarkdown": false,
"text": "Да, я вижу, сейчас я посмотрю, я сейчас посмотрю, тебе отвечу.",
"type": "message"
},
"updatedAt": null
},
{
"messageText": "Да окей у меня в принципе все готово, если что я направлю все.",
"speechKitTranscribationLoaded": false,
"externalId": "8ff4f0d945c02527282b5090918c22049860445c124de165e29fcb3bd87b502f",
"dialogId": 49509938,
"subdialogId": 17079410,
"platform": "vpbx",
"createdAt": "2026-07-01T17:44:49.501Z",
"accountId": 10001,
"deletedAt": null,
"messageType": "message",
"senderType": "user",
"id": 46752538,
"operatorId": null,
"messageData": {
"isMarkdown": false,
"text": "Да окей у меня в принципе все готово, если что я направлю все.",
"type": "message"
},
"updatedAt": null
},
{
"messageText": "Да,",
"speechKitTranscribationLoaded": false,
"externalId": "599f7cbaa4303d75087dbef2fc3d6349e2026f5782441fb6a07505df82df4e01",
"dialogId": 49509938,
"subdialogId": 17079410,
"platform": "vpbx",
"createdAt": "2026-07-01T17:44:50.761Z",
"accountId": 10001,
"deletedAt": null,
"messageType": "message",
"senderType": "operator",
"id": 46752539,
"operatorId": null,
"messageData": {
"isMarkdown": false,
"text": "Да,",
"type": "message"
},
"updatedAt": null
},
{
"messageText": "Да давай давай, ага?",
"speechKitTranscribationLoaded": false,
"externalId": "be520f06e0c3aa5161becbcd22c381857f0d689e39f7e5fbdc4d1b1c0e4d642f",
"dialogId": 49509938,
"subdialogId": 17079410,
"platform": "vpbx",
"createdAt": "2026-07-01T17:44:53.041Z",
"accountId": 10001,
"deletedAt": null,
"messageType": "message",
"senderType": "operator",
"id": 46752540,
"operatorId": null,
"messageData": {
"isMarkdown": false,
"text": "Да давай давай, ага?",
"type": "message"
},
"updatedAt": null
},
{
"messageText": "Давай.",
"speechKitTranscribationLoaded": false,
"externalId": "279cd3c8a29adc79b221bb49813b8c198ba6fd7a1362fa371bad79740f2fd64c",
"dialogId": 49509938,
"subdialogId": 17079410,
"platform": "vpbx",
"createdAt": "2026-07-01T17:44:53.641Z",
"accountId": 10001,
"deletedAt": null,
"messageType": "message",
"senderType": "user",
"id": 46752541,
"operatorId": null,
"messageData": {
"isMarkdown": false,
"text": "Давай.",
"type": "message"
},
"updatedAt": null
}
],
"scenarioId": null,
"status": "in_queue"
},
"dialogText": "17:44:42 [ОПЕРАТОР]: Алло.\n17:44:42 [КЛИЕНТ]: Слушай, я че тебе еще звонил, я тебе в элемент там написал, типа Дина есть?\n17:44:43 [ОПЕРАТОР]: А\n17:44:45 [ОПЕРАТОР]: Давай.\n17:44:46 [ОПЕРАТОР]: Да, я вижу, сейчас я посмотрю, я сейчас посмотрю, тебе отвечу.\n17:44:49 [КЛИЕНТ]: Да окей у меня в принципе все готово, если что я направлю все.\n17:44:50 [ОПЕРАТОР]: Да,\n17:44:53 [ОПЕРАТОР]: Да давай давай, ага?\n17:44:53 [КЛИЕНТ]: Давай.",
"eventType": "subdialog_ended",
"id": "1c1a0c66-eecb-4809-96b5-0ccb1bf0800b"
}
}
Subdialog.created - Контакт-центр: создание диалога
Контакт-центр: создание диалога
Payload: allOf — общий Envelope + данные события.
Envelope
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
account_id | integer | ✓ | ID аккаунта в системе |
event_type | string | ✓ | Тип события — см. components/messages |
created_at | string (date-time) | ✓ | Момент события (UTC) |
idempotencyKey | string (uuid) | — | Ключ идемпотентности; используется для дедупликации повторных доставок |
data | object | ✓ | Данные, специфичные для event_type |
data
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
accountId | number | ✓ | Номер лицевого счёта |
subdialog_id | number | ✓ | ID под-диалога в контакт-центре |
external_id | string | ✓ | Внешний ID, связывающий под-диалог с исходным звонком/обращением |
source | string | ✓ | Источник обращения в контакт-центр (например vpbx) |
state | string | ✓ | Внутреннее состояние под-диалога; дублирует status |
eventType | string | ✓ | Дублирует event_type события |
status | string | ✓ | Статус под-диалога (например in_queue — в очереди) |
✓— обязательное поле;—— необязательное.
Пример: Payload
{
"account_id": 10001,
"event_type": "subdialog.created",
"created_at": "2026-07-01T22:48:49.036Z",
"idempotencyKey": "5b133904-6192-49d2-abbc-f95be887fb70",
"data": {
"accountId": 10001,
"subdialog_id": 17079732,
"external_id": "125-1782935328.12200710",
"source": "vpbx",
"state": "IN_QUEUE",
"eventType": "subdialog.created",
"status": "in_queue"
}
}
Также см.:
Каталог событий MCN Telecom - часть 1;
Каталог событий MCN Telecom - часть 2;
Каталог событий MCN Telecom - часть 3;
Каталог событий MCN Telecom - часть 4;
Каталог событий MCN Telecom - часть 6.