События и нотификаторы¶
Типы нотификаторов¶
- iqtek_web_panel (centrifugo)
- rabbitmq
- http webhook
Последовательность отправки событий в процессе совершения вызова¶
В версии 3.7.0 были добавлены небольшие изменения в наименования событий.
Для стратегий с участием операторов:
Для стратегий без участия оператора:
Примеры событий¶
Звонки¶
- Начало вызова. Отправляется в момент начала вызова (отправки вызова к клиенту).
{
"event": 'call:start',
"timestamp": '2025-08-26 14:00:00',
"data": {
'campaign': {
'id': '7a673f3e-ae0c-43d6-b725-649b63d89cd0',
'external_id': null,
'name': 'informer_ts_stage-2',
'priority': 50,
'strategy': 'informer',
} if event.campaign else {},
'bucket': {
'id': '28edcaa6-3c8b-4b78-9ceb-aacb2eea5f73',
'external_id': 'test_with_operator',
'name': 'test_with_operator',
'priority': 0,
} if event.lead and event.lead.bucket else {},
'lead': {
'id': '42426873-25eb-44f3-88e3-6c7f9b54e132',
'external_id': null,
'name': 'TEST',
'priority': 100,
'timezone': 3,
'data': {},
'status': 'INITIALIZE',
'attempts': 1,
'attempts_current_campaign': 1,
'attempts_current_scheduler_rule': 1,
} if event.lead else {},
'lead_selected_data': {
'phone': {
'id': 'e2270f69-92e9-44de-ac86-d40117740a52',
'external_id': null,
'priority': 1,
'type': 'mobile',
'phone': '8923036250',
},
'route': {
'id': '13eb5398-a986-463a-9113-b06378538498',
'external_id': 'all_to_FreePbx',
'name': 'all_to_FreePbx',
},
'cid': null,
'agent': {
'id': '3ddc2ef5-98cb-4d9b-90b6-d2097daada61',
'external_id': null,
'name': '2002',
'ext': 505,
} if event.lead_selected_data.agent else {},
} if event.lead_selected_data else {},
'call': event.call.model_dump() if event.call else {}
}
}
- Перевод вызова на другого оператора.
{
"event": 'call:transfer',
"timestamp": '2025-08-26 14:00:00',
"data": {
'campaign': {
'id': 'e470a5f6-dbc8-4711-aab0-44bc2cd5e52f',
'external_id': null,
'name': 'informer_ts_stage-2',
'priority': 50,
'strategy': 'informer',
} if event.campaign else {},
'bucket': {
'id': 'f4535d8e-32bc-4d4e-9733-9c600773dcee',
'external_id': 'test_with_operator',
'name': 'test_with_operator',
'priority': 0,
} if event.lead and event.lead.bucket else {},
'lead': {
'id': '7adc5ad4-255b-43de-b0bf-a54ba306579e',
'external_id': null,
'name': 'TEST',
'priority': 100,
'timezone': 3,
'data': {},
'status': 'INITIALIZE',
'attempts': 1,
'attempts_current_campaign': 1,
'attempts_current_scheduler_rule': 1,
} if event.lead else {},
'lead_selected_data': {
'phone': {
'id': '488b1070-7d98-4b29-878d-b4719bdf59eb',
'external_id': null,
'priority': 1,
'type': 'mobile',
'phone': '8923036250',
},
'route': {
'id': '7ba6c7d7-d5d7-49f8-9cd7-5a969d7470d5',
'external_id': 'all_to_FreePbx',
'name': 'all_to_FreePbx',
},
'cid': null,
'agent': {
'id': '41cbfbe6-4b07-49cd-85c1-a69dd677cb6f',
'external_id': null,
'name': '2002',
'ext': 505,
} if event.lead_selected_data.agent else {},
} if event.lead_selected_data else {},
'agent_ext': event.agent_ext,
}
}
- Завершение вызовов. Отправляется в момент завершения вызова к клиенту.
{
"event": 'calls:end',
"timestamp": '2025-08-26 14:00:00',
"data": [{
'campaign': {
'id': '7a673f3e-ae0c-43d6-b725-649b63d89cd0',
'external_id': null,
'name': 'informer_ts_stage-2',
'priority': 50,
'strategy': 'informer',
},
'bucket': {
'id': '28edcaa6-3c8b-4b78-9ceb-aacb2eea5f73',
'external_id': 'test_with_operator',
'name': 'test_with_operator',
'priority': 0,
} if event.lead.bucket else {},
'lead': {
'id': '91b87f49-1bfd-4fe4-b13a-d1108f21f4b0',
'external_id': null,
'name': 'TEST',
'priority': 100,
'timezone': 6,
'data': {},
'status': 'INITIALIZE',
'attempts': 1,
'attempts_current_campaign': 1,
'attempts_current_scheduler_rule': 1,
},
'lead_selected_data': {
'phone': {
'id': 'd46e45aa-bcc1-4f51-b5ec-4815aa015712',
'external_id': null,
'priority': 1,
'type': 'mobile',
'phone': '89000000001',
},
'route': {
'id': '13eb5398-a986-463a-9113-b06378538498',
'external_id': 'all_to_FreePbx',
'name': 'all_to_FreePbx',
},
'cid': null,
'agent': {
'id': 'b1d7b56e-9163-4165-a3e4-1f53e196f44f',
'external_id': null,
'name': '2002',
'ext': 505,
} if event.lead_selected_data.agent else {}
},
'call': event.call.model_dump() if event.call else {}
} for event in event.calls]
}
Лиды¶
Завершение обработки лида.
Событие отправляется в момент завершения обработки лида по завершении очередного вызова (клиент ответил на вызов или закончились попытки дозвона).
{
"event": "lead:processed",
"data": [
{
"campaign": {
"id": "7a673f3e-ae0c-43d6-b725-649b63d89cd0",
"external_id": null,
"name": "informer_ts_stage-2",
"priority": 50,
"strategy": "informer"
},
"lead": {
"id": "91b87f49-1bfd-4fe4-b13a-d1108f21f4b0",
"external_id": null,
"name": "TEST",
"priority": 100,
"timezone": 6,
"data": {},
"status": "COMPLITED",
"attempts": 10,
"attempts_current_campaign": 5,
"attempts_current_scheduler_rule": 2
},
"lead_selected_data": {
"phone": {
"id": "d46e45aa-bcc1-4f51-b5ec-4815aa015712",
"external_id": null,
"priority": 1,
"type": "mobyle",
"phone": "89000000001"
},
"route": {
"id": "13eb5398-a986-463a-9113-b06378538498",
"external_id": "all_to_FreePbx",
"name": "all_to_FreePbx"
},
"cid": null,
"agent": {}
},
"call": {
"id": 3867,
"agent_id": null,
"agent_ext": null,
"uniqueid": "1601973054.3422",
"date": "2020-10-06",
"calldate": 1601973054,
"duration": 30,
"billsec": 0,
"time_client_ringing": 30,
"time_agent_ringing": null,
"time_client_hold_queue": null,
"time_talk_call": null,
"disposition": "NOANSWER",
"causecode": 34,
"clid": "<74993809012>",
"timestamp": 1601973054.3584647,
"talk_stop_leads": true,
"talk_stop_flow": true,
"delay_talk_completed": 1601973204,
"tracking": null,
"error": null
}
}
]
}
Агенты¶
События данного раздела генерируются на основании событий от модуля app_queue, подробнее о событиях и условии их генерации можно ознакомится в документации.
{
"event": 'agent:ringing',
"timestamp": '2025-08-25 11:25:25',
"data": {
'campaign': {
'id': 'db2cdddb-0a67-4b3b-9af9-6b7bf95d4bdc',
'external_id': null,
'name': 'stage-campaign_10000',
'priority': 1,
'strategy': 'progressive',
} if event.campaign else {},
'bucket': {
'id': 'eb498260-ca68-4afc-9459-e42216e19e49',
'external_id': null,
'name': 'stage_bucket_1000',
'priority': 1,
} if event.lead and event.lead.bucket else {},
'lead': {
'id': '442e7245-3527-499e-958b-1b0d0d8930ea',
'external_id': null,
'name': 'TEST',
'priority': 100,
'timezone': 3,
'data': {},
'status': 'INITIALIZE',
'attempts': 1,
'attempts_current_campaign': 1,
'attempts_current_scheduler_rule': 1,
} if event.lead else {},
'lead_selected_data': {
'phone': {
'id': '801dcd49-e3f2-481b-85b2-b457c36b34bd',
'external_id': null,
'priority': 1,
'type': 'mobyle',
'phone': '89210000000',
},
'route': {
'id': '88b2a87c-ed94-4b3d-8259-07bbc2eaa5b5',
'external_id': null,
'name': 'all_to_FreePbx: Emulate',
},
'cid': '880000313',
'agent': {
'id': '8bd89c54-dfc9-41fc-a79b-23429f14771f',
'external_id': null,
'name': '2002',
'ext': 505,
} if event.lead_selected_data.agent else {},
} if event.lead_selected_data else {},
'agent_ext': 505,
}
}
{
"event": 'agent:connected',
"timestamp": '2025-08-26 14:00:00',
"data": {
'campaign': {
'id': 'db2cdddb-0a67-4b3b-9af9-6b7bf95d4bdc',
'external_id': null,
'name': 'stage-campaign_10000',
'priority': 50,
'strategy': 'progressive',
} if event.campaign else {},
'bucket': {
'id': '752aff79-e000-4757-a5f7-b1aba1747198',
'external_id': null,
'name': 'stage_bucket_1000',
'priority': 1,
} if event.lead and event.lead.bucket else {},
'lead': {
'id': '442e7245-3527-499e-958b-1b0d0d8930ea',
'external_id': null,
'name': 'TEST',
'priority': 100,
'timezone': 3,
'data': {},
} if event.lead else {},
'lead_selected_data': {
'phone': {
'id': '801dcd49-e3f2-481b-85b2-b457c36b34bd',
'external_id': null,
'priority': 1,
'type': 'mobyle',
'phone': '89210000000',
},
'route': {
'id': 'd94e100c-0be8-4bed-a171-b0dc366eeb55',
'external_id': null,
'name': 'all_to_FreePbx: Emulate',
},
'cid': null,
'agent': {
'id': 'a788ec93-5dbe-473f-8ade-2a382352d179',
'external_id': null,
'name': '2002',
'ext': 505,
} if event.lead_selected_data.agent else {},
} if event.lead_selected_data else {},
'agent_ext': 505,
}
}
{
"event": 'agent:completed',
"timestamp": '2025-08-26 14:00:00',
"data": {
'campaign': {
'id': 'db2cdddb-0a67-4b3b-9af9-6b7bf95d4bdc',
'external_id': null,
'name': 'stage-campaign_10000',
'priority': 1,
'strategy': 'progressive',
} if event.campaign else {},
'bucket': {
'id': '3b8cd085-f228-4447-9ac3-aa80a20e829b',
'external_id': null,
'name': 'stage_bucket_1000',
'priority': 1,
} if event.lead and event.lead.bucket else {},
'lead': {
'id': '442e7245-3527-499e-958b-1b0d0d8930ea',
'external_id': null,
'name': 'TEST',
'priority': 100,
'timezone': 3,
'data': {},
},
'lead_selected_data': {
'phone': {
'id': '534b51a4-5198-4896-8e57-56a3fe999d55',
'external_id': null,
'priority': 1,
'type': 'mobyle',
'phone': '89210000000',
},
'route': {
'id': 'd1f6e697-03ac-4411-9571-430f69228008',
'external_id': null,
'name': 'all_to_FreePbx: Emulate',
},
'cid': null,
'agent': {
'id': 'fdb687ca-52ce-4586-ad8d-4398b55e38b2',
'external_id': null,
'name': '2002',
'ext': 505,
} if event.lead_selected_data.agent else {}
} if event.lead_selected_data else {},
'agent_ext': event.agent_ext,
}
}
{
"event": 'agent:ring_no_answer',
"timestamp": '2025-08-25 11:25:25',
"data": {
'campaign': {
'id': 'e8a4cca2-16ba-4296-b245-889f2d9732ff',
'external_id': null,
'name': 'stage-campaign_10000',
'priority': 1,
'strategy': 'progressive',
} if event.campaign else {},
'bucket': {
'id': 'f013973c-15be-496e-aaa2-68356d7e6fa6',
'external_id': null,
'name': 'stage_bucket_1000',
'priority': 1,
} if event.lead and event.lead.bucket else {},
'lead': {
'id': 'dfe195af-489f-47b3-a640-a3bc99a0a6ea',
'external_id': null,
'name': 'TEST',
'priority': 100,
'timezone': 3,
'data': {},
} if event.lead else {},
'lead_selected_data': {
'phone': {
'id': 'd0272f57-7fbd-4f8d-a932-7e778397fb00',
'external_id': null,
'priority': 1,
'type': 'mobyle',
'phone': '89210000000',
},
'route': {
'id': '5385fd89-faac-4939-a535-a1d30bf7fad3',
'external_id': null,
'name': 'all_to_FreePbx: Emulate',
},
'cid': null,
'agent': {
'id': 'd6ad7c3c-7875-4b18-a1b7-e79e39a2051c',
'external_id': null,
'name': '2002',
'ext': 505,
} if event.lead_selected_data.agent else {},
} if event.lead_selected_data else {},
'agent_ext': event.agent_ext,
}
}
Из события agent:connected есть возможность брать данные для обогащения шаблонной ссылки с данными о лиде в настройках кампании.
Сопоставление этих данных осуществляется путем указания в настройках пар <будущий_ключ_в_ссылке>: <путь_на_языке_jsonpath_до_поля_в_отправляемом_событии>.
Пример отправляемого события (добавлены $.call.channel, $.url и $.campaign.settings.url_parameters_mapping):
{
"event": "AgentConnect",
"url": "http://localhost:8910?phone=89230360000&channel=Local%2F89230360000%40dialer-call_lead-v4-0000012b%3B1&queue_param=4001",
"call": {
"call_id": "",
"caller_name": "Agentik",
"caller_num": "89230360000",
"channel": "Local/89230360000@dialer-call_lead-v4-0000012b;1",
"hold_time": "2",
"queue": "4001",
"ring_time": "0",
"uniqueid": "1737367051.3894"
},
"campaign": {
"external_id": null,
"id": "81547d63-08dc-4ef2-8823-25ee8ba4827d",
"name": "aaaaaaa",
"settings": {
"external_urls": null,
"openUrlNewTab": false,
"url": "http://localhost:8910",
"url_parameters_mapping": {
"any_name": "not.existing.path:p",
"channel": "call.channel:p",
"phone": "lead.phone.phone:p",
"queue_param": "call.queue:p"
}
},
"strategy": "progressive"
},
"lead": {
"data": {},
"external_id": null,
"id": "63d50469-19a4-414c-b445-8680af48e3f1",
"name": "Agentik",
"phone": {
"external_id": null,
"id": "b75c1e7d-413b-4979-a347-86bbd224eae2",
"phone": "89230360000",
"priority": 100,
"type": null
},
"priority": 100,
"timezone": 6
}
}
{
"event": "AgentRingNoAnswer",
"data": {
"call": {
"call_id": "",
"queue": "10000",
"caller_name": "None",
"caller_num": "<unknown>",
"hold_time": "",
"ring_time": "4000"
},
"campaign": {
"id": "db2cdddb-0a67-4b3b-9af9-6b7bf95d4bdc",
"external_id": null,
"name": "stage-campaign_10000",
"strategy": "progressive",
"settings": {
"url": "http://example.com/{PHONE}",
"external_urls": null,
"openUrlNewTab": null
}
},
"lead": {
"id": "21e24ee8-8b55-4536-9948-53b47f8d28b1",
"external_id": null,
"name": "TEST",
"priority": 100,
"timezone": 6,
"data": {},
"phone": {
"id": "b3c0c2af-5420-48e8-ade2-068f32d1c829",
"external_id": null,
"priority": 1,
"phone": "89210000000",
"type": "mobyle"
}
}
}
}

