API Документация
Описание методов api для настройки интеграции Платформы "Диалог" с Вашей информационной системой.
Ссылка на API документацию: https://dialog-api.intersvyaz.it/
Авторизация
Для работы с платформой вам потребуется токен авторизации.
Для выполнения методов в данном API необходимо получить токен авторизации. Получить его можно в методе /login, отправив логин и пароль от учётной записи платформы Диалог. Отправлять токен в методах необходимо в заголовке запроса: 'Authorization: Bearer [токен]'.
Ссылка на API документацию: https://dialog-api.intersvyaz.it/#tag/Avtorizaciya
Работа с обзвонами (Устарело)
Создание обзвонов (Устарело)
Описание (Устарело)
API позволяет создавать обзвоны с заданными параметрами.
Данная документация описывает API для создания обзвона с указанными параметрами. В случае успешного создания обзвона будет возвращен ID созданного обзвона для последующего получения результатов.
POST |
|
В add_data передаются json {ключ: значение}, где ключ является параметром из стартового блока сценария |
|
Параметры запроса
| Campaign | Value Rules | Description |
|---|---|---|
| project_id | required integer |
ID проекта |
| name | string |
Название обзвона |
| description | string |
Описание обзвона |
| start_block_id | required integer |
ID стартового блока сценария |
| schedule | requiredjson |
Расписание обзвона |
| phone_id | required integer |
ID номера телефона, с которого звонить |
Schedule
| Schedule | Value Rules | Description |
|---|---|---|
| date | required string |
Дата начала обзвона (формат: ГГГГ-ММ-ДД) |
| start_time | required string |
Время начала обзвона (формат: ЧЧ:ММ) |
| end_time | required string |
Время окончания обзвона (формат: ЧЧ:ММ) |
| periods | requiredjson |
Периодичность обзвона |
| attempts | requiredjson |
Количество попыток дозвона на номер |
|
interval |
required string |
Время в минутах между попытками дозвона |
Periods
| Periods | Value Rules | Description |
|---|---|---|
| id |
required integer |
Всегда выставлять значение: 1 |
| title | required string |
Всегда выставлять значение: "Однократно" |
Attempts
| Attempts | Value Rules | Description |
|---|---|---|
| id |
required integer |
Значения от "1" до "5". Значение в id соответствует значению в title. |
| title | required string |
Значения от "1" до "5". Значение в title соответствует значению в id. |
Пример запроса
{
"campaign": {
"project_id": 1,
"name": "Обзвон клиентов",
"description": "Обзвон клиентов для опроса удовлетворенности",
"start_block_id": 10,
"schedule": {
"date": "2000-01-01",
"start_time": "09:00",
"end_time": "17:00",
"periods": {"id": 1, "title": "Однократно"},
"attempts": {"id": 1, "title": "1"},
"interval": "5"
},
"state": "Создано",
"phone_id": 5
},
"phones": [
{
"phone": "+79999999999",
"add_data": {"name":"Иванов Иван", "time":"10:00", "phone": 123456}
}
]
}
Пример ответа
Код: 200
{
"campaign": {
"id": 12345
}
}
Ошибки
- В случае ошибки будет возвращен соответствующий HTTP статус код и сообщение об ошибке.
Получение результатов диалогов
Описание
API позволяет получить результаты обзвона с указанными параметрами.
Данная документация описывает API для получения результатов обзвона с заданными параметрами. В случае успешного запроса будут возвращены необходимые данные о звонках, их продолжительности и количество.
POST |
|
|
Значение project_id вы можете уточнить у вашего личного менеджера или через техническую поддержку платформы. |
|
|
|
Параметры запроса
| Analytics filter | Value Rules | Description |
|---|---|---|
| scenario_id | required integer |
ID сценария |
| start_block_id | required integer |
ID стартового блока сценария |
| outgoing_campaign_id | required integer |
ID обзвона, результаты которого необходимо получить |
| start_block_id | required integer |
Дата начала периода для получения результатов |
| schedule | requiredjson |
Дата окончания периода для получения результатов |
| columns | array |
Информация о полях, которые необходимо получить |
Columns
| Columns | Value Rules | Description |
|---|---|---|
| id | integer |
ID столбца |
| name | string |
Название столбца |
| display_name | string |
Отображаемое название столбца |
| column_type | string |
Тип данных в столбце |
| data_type | equal |
Получить набор столбцов соответствующих типу:
|
| filter_type | equal |
Тип фильтра применяемый к столбцу:
|
| filter_value | string |
Значение выбранного фильтра. То с чем должно проводиться сравнение |
| sorting | equal |
Сортировка, может принимать значения:
|
Пример запроса
{
"analytics_filter": {
"scenario_id": 951,
"start_block_id": 10,
"outgoing_campaign_id": 12345,
"date_start": "2000-01-01T08:00:59.096Z",
"date_end": "2000-01-01T18:04:59.096Z"
},
"columns": [
{
"id": 1,
"name": "phone_number",
"display_name": "Phone Number",
"column_type": "field",
"data_type": "number",
"filter_type": "contains",
"filter_value": "79999999999",
"sorting": "asc"
}
]
}
Пример ответа
Код: 200
{
"columns": [
{
"field": "phone_number",
"display_name": "Phone Number",
"type": "text"
}
],
"data": [
{
// Результаты данных
}
],
"total_duration": 3600,
"avg_duration": 120,
"count": 30
}
Ошибки
- В случае ошибки будет возвращен соответствующий HTTP статус код и сообщение об ошибке.
Создание обзвонов (v2)
API позволяет создавать исходящие обзвоны, получать их статус и список номеров, смотреть обзвоны в работе и завершённые, отменять обзвон.
Для новых интеграций используйте методы v2.
Base URL: https://dialog-api.intersvyaz.it
Во всех методах (кроме login): HTTP Authorization Scheme: bearer
Рекомендуемый порядок вызовов
- Получить токен: POST /v1/auth/login.
- Получить проекты: GET /v1/project/get_user_projects.
- Получить start_block_id и phone_id: GET /v1/project/{project_id}/info.
- Создать обзвон: POST /v2/calls.
Результаты диалогов - раздел "Аналитика диалогов" (в фильтре отчёта передайте UUID обзвона в call_id).
Важные особенности
- ID обзвона в v2 - UUID (в v1 - целое число)
- project_id, start_block_id, phone_id должны относиться к одному проекту
- start_date / end_date интерпретируются в часовом поясе проекта. Если start_date не передан - подставится текущие дата и время
- В params передаются переменные стартового блока: {ключ: значение}
- Для доп. данных номера в v2 поле называется params (в v1 было add_data).
- После звонка появиться dialog_uuid - его можно передать в Получение информации о конкретном диалоге. v1.
Аналитика диалогов
Порядок работы с API "Аналитика диалогов":
- Узнать scenario_id (при необходимости start block id) из UI или метод API
- Получение доступных колонок для отчета
-
Из ответа выбрать нужные колонки, при необходимости задать filter_type / filter_value / sorting и запросить отчёт: отчет или в виде excel
-
При необходимости открыть диалог: информации о конкретном диалоге
Особенности:
-
Колонки нельзя выдумывать: берите объект из Получение доступных колонок для отчета. Для variables / intents важен id.
- В отчёт попадают только переданные columns.
-
Несколько фильтров на колонках работают как AND.
- call_id и outgoing_campaign_id - одно и то же (число = старый обзвон, UUID = v2).
- Сортировка по умолчанию: date_start DESC. Своя - через sorting на колонке.
-
total_duration - минуты, avg_duration - секунды.
- В API нет переключателей test/real диалогов - по умолчанию учитываются и те, и другие.
-
limit / offset влияют только на строки в data. count, total_duration, avg_duration считаются по всей выборке с учетом фильтров.
-
У целей (goals) из списка колонок часто id: null - тогда ключ будет goals__{name}(например goals__Согласие).
Пример: получение колонок
[
{
"id": null,
"name": "uuid",
"display_name": "UUID",
"column_type": "default_dialogs",
"data_type": "text",
"table_type": "string",
"filter_type": null,
"filter_value": null,
"sorting": null
},
{
"id": null,
"name": "duration",
"display_name": "Длительность (сек.)",
"column_type": "analytics_dialogs",
"data_type": "number",
"table_type": "string",
"filter_type": "greater_than",
"filter_value": 30,
"sorting": "desc"
},
{
"id": 101,
"name": "client_name",
"display_name": "client_name",
"column_type": "variables",
"data_type": "text",
"table_type": "string",
"filter_type": "not_empty",
"filter_value": null,
"sorting": null
},
{
"id": null,
"name": "Согласие",
"display_name": "Согласие",
"column_type": "goals",
"data_type": "goal",
"table_type": "string",
"filter_type": "is_true",
"filter_value": null,
"sorting": null
}
]
Пример: запрос отчета
{
"analytics_filter": {
"scenario_id": 951,
"call_id": "019cb965-869a-7fe0-8b53-bd7e6c5edf24",
"date_start": "2026-09-01T00:00:00.000",
"date_end": "2026-09-10T23:59:59.000",
"offset": 0,
"limit": 50
},
"columns": [
{
"id": null,
"name": "uuid",
"display_name": "UUID",
"column_type": "default_dialogs",
"data_type": "text",
"table_type": "string",
"filter_type": null,
"filter_value": null,
"sorting": null
},
{
"id": null,
"name": "duration",
"display_name": "Длительность (сек.)",
"column_type": "analytics_dialogs",
"data_type": "number",
"table_type": "string",
"filter_type": "greater_than",
"filter_value": 30,
"sorting": "desc"
},
{
"id": 101,
"name": "client_name",
"display_name": "client_name",
"column_type": "variables",
"data_type": "text",
"table_type": "string",
"filter_type": "not_empty",
"filter_value": null,
"sorting": null
},
{
"id": null,
"name": "Согласие",
"display_name": "Согласие",
"column_type": "goals",
"data_type": "goal",
"table_type": "string",
"filter_type": "is_true",
"filter_value": null,
"sorting": null
}
]
}
Пример: ответ отчета
{
"columns": [
{
"field": "default_dialogs__uuid",
"display_name": "UUID",
"type": "text"
},
{
"field": "analytics_dialogs__duration",
"display_name": "Длительность (сек.)",
"type": "number"
},
{
"field": "variables__101",
"display_name": "client_name",
"type": "text"
},
{
"field": "goals__Согласие",
"display_name": "Согласие",
"type": "goal"
}
],
"data": [
{
"id": 5001,
"uuid": "01950454-d67f-7932-9076-deb40bfadecc",
"default_dialogs__uuid": "01950454-d67f-7932-9076-deb40bfadecc",
"analytics_dialogs__duration": 120,
"variables__101": "Иванов Иван",
"goals__Согласие": true
},
{
"id": 5002,
"uuid": "01950454-d67f-7932-9076-deb40bfadedd",
"default_dialogs__uuid": "01950454-d67f-7932-9076-deb40bfadedd",
"analytics_dialogs__duration": 95,
"variables__101": "Петров Пётр",
"goals__Согласие": true
}
],
"total_duration": 4,
"avg_duration": 107,
"count": 2
}
Пример: запрос с одной колонкой
"analytics_filter": {
"scenario_id": 951,
"date_start": "2026-09-01T00:00:00.000",
"date_end": "2026-09-10T23:59:59.000",
"offset": 0,
"limit": 10
},
"columns": [
{
"id": 101,
"name": "client_name",
"display_name": "client_name",
"column_type": "variables",
"data_type": "text",
"table_type": "string",
"filter_type": "not_empty",
"filter_value": null,
"sorting": null
}
]
}
Пример: ответ с одной колонкой из запроса
{
"columns": [
{
"field": "variables__101",
"display_name": "client_name",
"type": "text"
}
],
"data": [
{
"id": 5001,
"uuid": "01950454-d67f-7932-9076-deb40bfadecc",
"variables__101": "Иванов Иван"
},
{
"id": 5002,
"uuid": "01950454-d67f-7932-9076-deb40bfadedd",
"variables__101": "Петров Пётр"
}
],
"total_duration": 4,
"avg_duration": 107,
"count": 2
}
Работа с обзвонами
API позволяет создавать исходящие обзвоны, получать их статус и список номеров, смотреть обзвоны в работе и завершённые, отменять обзвон.
Для новых интеграций используйте методы v2.
Base URL: https://dialog-api.intersvyaz.it
Во всех методах (кроме login): HTTP Authorization Scheme: bearer
Рекомендуемый порядок вызовов
- Получить токен
- Получить проекты
- Получить start_block_id и phone_id необходимые для создания
- Создать обзвон
Результаты диалогов - раздел "Аналитика диалогов" (в фильтре отчёта передайте UUID обзвона в call_id).
Важные особенности
- ID обзвона в v2 - UUID (в v1 - целое число)
- project_id, start_block_id, phone_id должны относиться к одному проекту
- start_date / end_date интерпретируются в часовом поясе проекта. Если start_date не передан - подставится текущие дата и время
- В params передаются переменные стартового блока: {ключ: значение}
- Для доп. данных номера в v2 поле называется params (в v1 было add_data).
- После звонка появиться dialog_uuid - его можно передать в Получение информации о конкретном диалоге. v1.