# API Документация

Описание методов api для настройки интеграции Платформы "Диалог" с Вашей информационной системой.

**Ссылка на API документацию:** https://dialog-api.intersvyaz.it/

# Авторизация

Для работы с платформой вам потребуется токен авторизации.

Для выполнения методов в данном API необходимо получить токен авторизации. Получить его можно в методе /login, отправив логин и пароль от учётной записи платформы Диалог. Отправлять токен в методах необходимо в заголовке запроса: 'Authorization: Bearer \[токен\]'.

**Ссылка на API документацию:** [https://dialog-api.intersvyaz.it/#tag/Avtorizaciya](https://dialog-api.intersvyaz.it/#tag/Avtorizaciya)

<div class="translate-tooltip-mtz translator-hidden" id="bkmrk-translator"><div class="header"><div class="header-controls">  
</div></div><div class="translated-text"><div class="words">  
</div><div class="sentences">  
</div></div></div>

# Работа с обзвонами (Устарело)

[Актуальная версия](https://dialog-api.intersvyaz.it/#tag/Obzvony-v2)

# Создание обзвонов (Устарело)

<div class="translate-tooltip-mtz translator-hidden" id="bkmrk-translator-%C2%A0"></div><div class="translate-tooltip-mtz translator-hidden" id="bkmrk-translator"></div>#### Описание (Устарело)  


API позволяет создавать обзвоны с заданными параметрами.

Данная документация описывает API для создания обзвона с указанными параметрами. В случае успешного создания обзвона будет возвращен ID созданного обзвона для последующего получения результатов.

<table border="1" class="align-center" id="bkmrk-post-https%3A%2F%2Fai-assi" style="border-collapse: collapse; width: 101.111%; height: 474.9px; border-width: 1px; background-color: rgb(255, 255, 255); border-color: rgb(255, 255, 255);"><colgroup><col style="width: 12.8554%;"></col><col style="width: 87.1446%;"></col></colgroup><tbody><tr style="height: 70.85px;"><td class="align-left" style="height: 70.85px; border-color: rgb(255, 255, 255);">##### <span class="api-method text-mono" data-method="POST">POST</span>

</td><td class="align-center" style="height: 70.85px; border-color: rgb(255, 255, 255);">##### `https://ai-assistant.is74.ru/api/campaigns`

</td></tr><tr style="height: 404.05px;"><td class="align-left" colspan="2" style="border-color: rgb(255, 255, 255); height: 404.05px;">```json
{
  "campaign": {
    "project_id": 0,
    "name": "string",
    "description": "string",
    "start_block_id": 0,
    "schedule": {      
      "date": "string",
      "start_time": "string",
      "end_time": "string",
      "periods": {"id": 1, "title": "Однократно"},
      "attempts": {"id": 1, "title": "1"},
      "interval": "string"},
    "phone_id": 0
  },
  "phones": [
    {
      "phone": "string",
      "add_data": {}
    }
  ]
}
```

<p class="callout info">В **add\_data** передаются json {ключ: значение}, где ключ является параметром из стартового блока сценария </p>

</td></tr></tbody></table>

<details id="bkmrk-%D0%9F%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B-%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B0-ca"><summary>Параметры запроса</summary>

<table class="table" style="width: 100%; height: 314.067px;"><tbody><tr style="height: 41.8px;"><th style="width: 29.7818%; height: 41.8px;">Campaign</th><th style="width: 25.0285%; height: 41.8px;">Value Rules</th><th style="width: 45.1898%;">Description</th></tr><tr style="height: 42.4667px;"><td style="width: 29.7818%; height: 42.4667px;">project\_id</td><td style="width: 25.0285%; height: 42.4667px;">`required` `integer`   
</td><td style="width: 45.1898%;">ID проекта</td></tr><tr style="height: 42.4667px;"><td style="width: 29.7818%; height: 42.4667px;">name</td><td style="width: 25.0285%; height: 42.4667px;">`string` </td><td style="width: 45.1898%;">Название обзвона</td></tr><tr style="height: 42.4667px;"><td style="width: 29.7818%; height: 42.4667px;">description</td><td style="width: 25.0285%; height: 42.4667px;">`string` </td><td style="width: 45.1898%;">Описание обзвона</td></tr><tr style="height: 42.4667px;"><td style="width: 29.7818%; height: 42.4667px;">start\_block\_id</td><td style="width: 25.0285%; height: 42.4667px;">`required` `integer`</td><td style="width: 45.1898%;">ID стартового блока сценария</td></tr><tr><td style="width: 29.7818%;">schedule</td><td style="width: 25.0285%;">`required``json`   
</td><td style="width: 45.1898%;">Расписание обзвона</td></tr><tr><td style="width: 29.7818%;">phone\_id</td><td style="width: 25.0285%;">`required` `integer`</td><td style="width: 45.1898%;">ID номера телефона, с которого звонить</td></tr></tbody></table>

<details><summary>Schedule</summary>

<table class="table" style="width: 100%; height: 361.467px;"><tbody><tr style="height: 41.8px;"><th style="width: 29.6534%; height: 41.8px;">Schedule</th><th style="width: 25.2888%; height: 41.8px;">Value Rules</th><th style="width: 45.0578%; height: 41.8px;">Description</th></tr><tr style="height: 42.4667px;"><td style="width: 29.6534%; height: 42.4667px;">date</td><td style="width: 25.2888%; height: 42.4667px;">`required` `string`</td><td style="width: 45.0578%; height: 42.4667px;">Дата начала обзвона (формат: ГГГГ-ММ-ДД)</td></tr><tr style="height: 42.4667px;"><td style="width: 29.6534%; height: 42.4667px;">start\_time</td><td style="width: 25.2888%; height: 42.4667px;">`required` `string`</td><td style="width: 45.0578%; height: 42.4667px;">Время начала обзвона (формат: ЧЧ:ММ)</td></tr><tr style="height: 42.4667px;"><td style="width: 29.6534%; height: 42.4667px;">end\_time</td><td style="width: 25.2888%; height: 42.4667px;">`required` `string`</td><td style="width: 45.0578%; height: 42.4667px;">Время окончания обзвона (формат: ЧЧ:ММ)</td></tr><tr style="height: 59.9333px;"><td style="width: 29.6534%; height: 59.9333px;">periods</td><td style="width: 25.2888%; height: 59.9333px;">`required``json`</td><td style="width: 45.0578%; height: 59.9333px;">Периодичность обзвона</td></tr><tr style="height: 42.4667px;"><td style="width: 29.6534%; height: 42.4667px;">attempts</td><td style="width: 25.2888%; height: 42.4667px;">`required``json`</td><td style="width: 45.0578%; height: 42.4667px;">Количество попыток дозвона на номер</td></tr><tr style="height: 47.4px;"><td style="width: 29.6534%; height: 47.4px;">interval

</td><td style="width: 25.2888%; height: 42.4667px;">`required` `string`</td><td style="width: 45.0578%; height: 47.4px;">Время в минутах между попытками дозвона</td></tr></tbody></table>

<details><summary>Periods</summary>

<table class="table" style="width: 100%; height: 126.733px;"><tbody><tr style="height: 41.8px;"><th style="width: 29.6534%; height: 41.8px;">Periods</th><th style="width: 25.2888%; height: 41.8px;">Value Rules</th><th style="width: 45.0578%; height: 41.8px;">Description</th></tr><tr style="height: 42.4667px;"><td style="width: 29.6534%; height: 42.4667px;">id  
</td><td style="width: 25.2888%; height: 42.4667px;">`required` `integer`  
</td><td style="width: 45.0578%; height: 42.4667px;">Всегда выставлять значение: 1  
</td></tr><tr style="height: 42.4667px;"><td style="width: 29.6534%; height: 42.4667px;">title</td><td style="width: 25.2888%; height: 42.4667px;">`required` `string`</td><td style="width: 45.0578%; height: 42.4667px;">Всегда выставлять значение: "Однократно"  
</td></tr></tbody></table>

</details><details><summary>Attempts</summary>

<table class="table" style="width: 100%; height: 319px;"><tbody><tr style="height: 41.8px;"><th style="width: 29.6534%; height: 41.8px;">**Attempts**</th><th style="width: 25.2888%; height: 41.8px;">Value Rules</th><th style="width: 45.0578%; height: 41.8px;">Description</th></tr><tr style="height: 42.4667px;"><td style="width: 29.6534%; height: 42.4667px;">id  
</td><td style="width: 25.2888%; height: 42.4667px;">`required` `integer`  
</td><td style="width: 45.0578%; height: 42.4667px;">Значения от "1" до "5".

Значение в id соответствует значению в title.

</td></tr><tr style="height: 42.4667px;"><td style="width: 29.6534%; height: 42.4667px;">title</td><td style="width: 25.2888%; height: 42.4667px;">`required` `string`</td><td style="width: 45.0578%; height: 42.4667px;">Значения от "1" до "5".

Значение в title соответствует значению в id.

</td></tr></tbody></table>

</details></details></details><details id="bkmrk-%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80-%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B0-%7B-%C2%A0-%22"><summary>Пример запроса</summary>

```json
{
  "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}
    }
  ]
}
```

</details><details id="bkmrk-%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80-%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D0%B0-%D0%9A%D0%BE%D0%B4%3A-2"><summary>Пример ответа</summary>

**Код: <span style="color: rgb(45, 194, 107);">200</span>**

```json
{
  "campaign": {
    "id": 12345
  }
}
```

**Ошибки**

- В случае ошибки будет возвращен соответствующий HTTP статус код и сообщение об ошибке.

</details>

# Получение результатов диалогов

#### Описание  


API позволяет получить результаты обзвона с указанными параметрами.

Данная документация описывает API для получения результатов обзвона с заданными параметрами. В случае успешного запроса будут возвращены необходимые данные о звонках, их продолжительности и количество.

<table class="align-center" id="bkmrk-post-https%3A%2F%2Fai-assi" style="border-collapse: collapse; width: 101.111%; height: 474.9px; border-width: 1px; background-color: rgb(255,255,255); border-color: rgb(255,255,255);"><colgroup><col style="width: 12.8554%;"></col><col style="width: 87.1446%;"></col></colgroup><tbody><tr style="height: 70.85px;"><td class="align-left" style="height: 70.85px; border-color: rgb(255,255,255);">##### <span class="api-method text-mono">POST</span>

</td><td class="align-center" style="height: 70.85px; border-color: rgb(255,255,255);">##### `<a href="https://ai-assistant.is74.ru/api/analytics/">https://ai-assistant.is74.ru/api/analytics/</a>{project_id}/report`

</td></tr><tr><td class="align-left" colspan="2" style="border-color: rgb(255,255,255);"><p class="callout info">Значение **project\_id** вы можете уточнить у вашего личного менеджера или через техническую поддержку платформы.</p>

</td></tr><tr><td class="align-left" colspan="2" style="border-color: rgb(255,255,255);">```json
{
  "analytics_filter": {
    "scenario_id": 0,
    "start_block_id": 0,
    "outgoing_campaign_id": 12345,
    "date_start": "string",
    "date_end": "string"
  },
  "columns": [
    {
      "id": 0,
      "name": "string",
      "display_name": "string",
      "column_type": "string",
      "data_type": "equal",
      "filter_type": "equal",
      "filter_value": "string",
      "sorting": "equal"
    }
  ]
}
```

</td></tr></tbody></table>

<details id="bkmrk-%D0%9F%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B-%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B0-ca"><summary>Параметры запроса</summary>

<table class="table" style="height: 314.067px;"><tbody><tr style="height: 41.8px;"><th style="width: 29.7818%; height: 41.8px;">Analytics filter</th><th style="width: 25.0321%; height: 41.8px;">Value Rules</th><th style="width: 45.1861%;">Description</th></tr><tr style="height: 42.4667px;"><td style="width: 29.7818%; height: 42.4667px;">scenario\_id</td><td style="width: 25.0321%; height: 42.4667px;">`required` `integer`   
</td><td style="width: 45.1861%;">ID сценария</td></tr><tr style="height: 42.4667px;"><td style="width: 29.7818%; height: 42.4667px;">start\_block\_id</td><td style="width: 25.0321%; height: 42.4667px;">`required` `integer`</td><td style="width: 45.1861%;">ID стартового блока сценария</td></tr><tr style="height: 42.4667px;"><td style="width: 29.7818%; height: 42.4667px;">outgoing\_campaign\_id</td><td style="width: 25.0321%; height: 42.4667px;">`required` `integer`</td><td style="width: 45.1861%;">ID обзвона, результаты которого необходимо получить</td></tr><tr style="height: 42.4667px;"><td style="width: 29.7818%; height: 42.4667px;">start\_block\_id</td><td style="width: 25.0321%; height: 42.4667px;">`required` `integer`</td><td style="width: 45.1861%;">Дата начала периода для получения результатов</td></tr><tr><td style="width: 29.7818%;">schedule</td><td style="width: 25.0321%;">`required``json`   
</td><td style="width: 45.1861%;">Дата окончания периода для получения результатов</td></tr><tr><td style="width: 29.7818%;">columns</td><td style="width: 25.0321%;">`array`</td><td style="width: 45.1861%;">Информация о полях, которые необходимо получить

</td></tr></tbody></table>

<details><summary>Columns</summary>

<table class="table" style="height: 533.407px; width: 100%;"><tbody><tr style="height: 41.7969px;"><th style="width: 29.773%; height: 41.7969px;">Columns</th><th style="width: 24.9666%; height: 41.7969px;">Value Rules</th><th style="width: 45.1268%; height: 41.7969px;">Description</th></tr><tr style="height: 42.4375px;"><td style="width: 29.773%; height: 42.4375px;">id</td><td style="width: 24.9666%; height: 42.4375px;">`integer`   
</td><td style="width: 45.1268%; height: 42.4375px;">ID столбца</td></tr><tr style="height: 42.4375px;"><td style="width: 29.773%; height: 42.4375px;">name</td><td style="width: 24.9666%; height: 42.4375px;">`string`</td><td style="width: 45.1268%; height: 42.4375px;">Название столбца</td></tr><tr style="height: 58.5938px;"><td style="width: 29.773%; height: 58.5938px;">display\_name</td><td style="width: 24.9666%; height: 58.5938px;">`string`</td><td style="width: 45.1268%; height: 58.5938px;">Отображаемое название столбца</td></tr><tr style="height: 58.5938px;"><td style="width: 29.773%; height: 58.5938px;">column\_type</td><td style="width: 24.9666%; height: 58.5938px;">`string`</td><td style="width: 45.1268%; height: 58.5938px;">Тип данных в столбце</td></tr><tr style="height: 50.75px;"><td style="width: 29.773%; height: 50.75px;">data\_type</td><td style="width: 24.9666%; height: 50.75px;">`equal`</td><td style="width: 45.1268%; height: 50.75px;">Получить набор столбцов соответствующих типу:

- "text"
- "number"
- "datetime"
- "dialog"
- "goal"

</td></tr><tr style="height: 47.3906px;"><td style="width: 29.773%; height: 47.3906px;">filter\_type</td><td style="width: 24.9666%; height: 47.3906px;">`equal`</td><td style="width: 45.1268%; height: 47.3906px;">Тип фильтра применяемый к столбцу:

- "equal"
- "contains"
- "starts\_with"
- "ends\_with"
- "is\_empty"
- "not\_empty"
- "is\_true"
- "not\_true"

</td></tr><tr style="height: 47.3906px;"><td style="width: 29.773%; height: 47.3906px;">filter\_value</td><td style="width: 24.9666%; height: 47.3906px;">`string`</td><td style="width: 45.1268%; height: 47.3906px;">Значение выбранного фильтра. То с чем должно проводиться сравнение

</td></tr><tr style="height: 85.422px;"><td style="width: 29.773%; height: 85.422px;">sorting</td><td style="width: 24.9666%; height: 85.422px;">`equal`</td><td style="width: 45.1268%; height: 85.422px;">Сортировка, может принимать значения:

- "asc"
- "desc"

</td></tr></tbody></table>

</details></details><details id="bkmrk-%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80-%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B0-%7B-%C2%A0-%22"><summary>Пример запроса</summary>

```json
{
  "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"
    }
  ]
}
```

</details><details id="bkmrk-%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80-%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D0%B0-%D0%9A%D0%BE%D0%B4%3A-2"><summary>Пример ответа</summary>

**Код: <span style="color: rgb(45,194,107);">200</span>**

```json
{
  "columns": [
    {
      "field": "phone_number",
      "display_name": "Phone Number",
      "type": "text"
    }
  ],
  "data": [
    {
      // Результаты данных
    }
  ],
  "total_duration": 3600,
  "avg_duration": 120,
  "count": 30
}
```

**Ошибки**

- В случае ошибки будет возвращен соответствующий HTTP статус код и сообщение об ошибке.

</details><div class="translate-tooltip-mtz translator-hidden" id="bkmrk-translator"><div class="header"><div class="header-controls">  
</div><div class="header-controls">  
</div><div class="header-controls">  
</div></div><div class="translated-text"><div class="words">  
</div><div class="sentences">  
</div></div></div>

# Создание обзвонов (v2)

API позволяет создавать исходящие обзвоны, получать их статус и список номеров, смотреть обзвоны в работе и завершённые, отменять обзвон.

Для новых интеграций используйте методы <span class="font-semibold" data-streamdown="strong">v2</span>.  
Base URL: [https://dialog-api.intersvyaz.it](https://dialog-api.intersvyaz.it/#tag/Obzvony-v2)

Во всех методах (кроме [login](https://dialog-api.intersvyaz.it/#tag/Avtorizaciya)): HTTP Authorization Scheme: bearer

Рекомендуемый порядок вызовов

1. Получить токен: [POST /v1/auth/login](https://dialog-api.intersvyaz.it/#tag/Avtorizaciya/operation/login_v1_auth_login_post).
2. Получить проекты: [GET /v1/project/get\_user\_projects](https://dialog-api.intersvyaz.it/#tag/Proekt/operation/get_projects_v1_project_get_user_projects_get).
3. Получить start\_block\_id и phone\_id: [GET /v1/project/{project\_id}/info](https://dialog-api.intersvyaz.it/#tag/Proekt/operation/get_project_info_v1_project__project_id__info_get).
4. Создать обзвон: [POST /v2/calls](https://dialog-api.intersvyaz.it/#tag/Obzvony-v2/operation/create_campaign_v2_calls_post).  
    *Результаты диалогов - раздел ["](https://docs.ai-assistant.is74.ru/books/api-dokumentaciia/page/analitika-dialogov)<span class="font-semibold" data-streamdown="strong">[Аналитика диалогов"](https://docs.ai-assistant.is74.ru/books/api-dokumentaciia/page/analitika-dialogov) </span>(в фильтре отчёта передайте UUID обзвона в call\_id).*

Важные особенности

- ID обзвона в v2 - <span class="font-semibold" data-streamdown="strong">UUID</span> (в v1 - целое число)
- project\_id, start\_block\_id, phone\_id должны относиться к одному проекту
- start\_date / end\_date интерпретируются в <span class="font-semibold" data-streamdown="strong">часовом поясе проекта</span>. Если start\_date не передан - подставится текущие дата и время
- В params передаются переменные стартового блока: {ключ: значение}
- Для доп. данных номера в v2 поле называется params (в v1 было add\_data).
- После звонка появиться dialog\_uuid - его можно передать в [Получение информации о конкретном диалоге. v1](https://dialog-api.intersvyaz.it/#tag/Analitika-dialogov/operation/get_dialog_by_id_v1_analytics_dialogs__dialog_id__get).

# Аналитика диалогов

<div id="bkmrk-api-%D0%BF%D0%BE%D0%B7%D0%B2%D0%BE%D0%BB%D1%8F%D0%B5%D1%82-%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B8"><div>*API позволяет получить результаты диалогов по сценарию (в том числе по обзвону):*</div><div>*список колонок, отчёт в JSON/Excel и карточку конкретного диалога.*</div></div><div id="bkmrk-"></div><div id="bkmrk-%D0%92%D1%81%D0%B5-%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D1%82%D1%80%D0%B5%D0%B1%D1%83%D1%8E%D1%82-%D0%B7"><div><div>Все методы требуют заголовок: Authorization: Bearer [токен].</div><div>Base URL: [https://dialog-api.intersvyaz.it](https://dialog-api.intersvyaz.it)</div><div></div></div></div>Порядок работы с API ["Аналитика диалогов](https://dialog-api.intersvyaz.it/#tag/Analitika-dialogov)["](https://dialog-api.intersvyaz.it/#tag/Analitika-dialogov):

1. Узнать scenario\_id (при необходимости start block id) из UI или [метод API](https://dialog-api.intersvyaz.it/#tag/Proekt/operation/get_projects_v1_project_get_user_projects_get)
2. [Получение доступных колонок для отчета](https://dialog-api.intersvyaz.it/#tag/Analitika-dialogov/operation/get_columns_v1_analytics_report_columns_get)
3. <div><div>Из ответа выбрать нужные колонки, при необходимости задать filter_type / filter_value / sorting и запросить отчёт: [отчет](https://dialog-api.intersvyaz.it/#tag/Analitika-dialogov/operation/get_analytics_report_v1_analytics_report_post) или [в виде excel](https://dialog-api.intersvyaz.it/#tag/Analitika-dialogov/operation/get_analytics_report_file_v1_analytics_report_file_post)</div></div>
4. <div><div>При необходимости открыть диалог: [информации о конкретном диалоге](https://dialog-api.intersvyaz.it/#tag/Analitika-dialogov/operation/get_dialog_by_id_v1_analytics_dialogs__dialog_id__get)</div></div>

Особенности:

- Колонки <span class="font-semibold">нельзя выдумывать</span>: берите объект из [Получение доступных колонок для отчета](https://dialog-api.intersvyaz.it/#tag/Analitika-dialogov/operation/get_columns_v1_analytics_report_columns_get). Для variables / intents важен id.
- В отчёт попадают <span class="font-semibold">только</span> переданные columns.
- <div><div>Несколько фильтров на колонках работают как AND.</div></div>
- call\_id и outgoing\_campaign\_id - одно и то же (число = старый обзвон, UUID = v2).
- Сортировка по умолчанию: date\_start DESC. Своя - через sorting на колонке.
- <div><div>total_duration - минуты, avg_duration - секунды.</div></div>
- В API нет переключателей test/real диалогов - по умолчанию учитываются <span class="font-semibold">и те, и другие</span>.
- <div>limit / offset влияют только на строки в data. count, total_duration, avg_duration считаются по всей выборке с учетом фильтров.</div>
- <div><div>У целей (goals) из списка колонок часто id: null - тогда ключ будет goals__{name}</div><div> (например goals__Согласие).</div></div>

<details id="bkmrk-%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80-%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D1%8F-%D0%BA%D0%BE%D0%BB"><summary>Пример: получение колонок</summary>

```
[
  {
    "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
  }
]
```

</details><details id="bkmrk-%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%3A-%D0%97%D0%B0%D0%BF%D1%80%D0%BE%D1%81-%D0%BE%D1%82%D1%87%D0%B5%D1%82"><summary>Пример: запрос отчета</summary>

```
{
  "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
    }
  ]
}
```

</details><details id="bkmrk-%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%3A-%D0%BE%D1%82%D0%B2%D0%B5%D1%82-%D0%BE%D1%82%D1%87%D0%B5%D1%82%D0%B0"><summary>Пример: ответ отчета</summary>

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

</details><details id="bkmrk-%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%3A-%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81-%D1%81-%D0%BE%D0%B4%D0%BD"><summary>Пример: запрос с одной колонкой</summary>

```

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

</details><details id="bkmrk-%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%3A-%D0%BE%D1%82%D0%B2%D0%B5%D1%82-%D1%81-%D0%BE%D0%B4%D0%BD%D0%BE"><summary>Пример: ответ с одной колонкой из запроса</summary>

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

```

</details>

# Работа с обзвонами

API позволяет создавать исходящие обзвоны, получать их статус и список номеров, смотреть обзвоны в работе и завершённые, отменять обзвон.

Для новых интеграций используйте методы <span class="font-semibold">v2</span>.  
Base URL: [https://dialog-api.intersvyaz.it](https://dialog-api.intersvyaz.it/#tag/Obzvony-v2)

Во всех методах (кроме [login](https://dialog-api.intersvyaz.it/#tag/Avtorizaciya)): HTTP Authorization Scheme: bearer

Рекомендуемый порядок вызовов

1. [Получить токен](https://dialog-api.intersvyaz.it/#tag/Avtorizaciya/operation/login_v1_auth_login_post)
2. [Получить проекты](https://dialog-api.intersvyaz.it/#tag/Proekt/operation/get_projects_v1_project_get_user_projects_get)
3. [Получить start\_block\_id и phone\_id](https://dialog-api.intersvyaz.it/#tag/Proekt/operation/get_project_info_v1_project__project_id__info_get) необходимые для создания
4. [Создать обзвон](https://dialog-api.intersvyaz.it/#tag/Obzvony-v2/operation/create_campaign_v2_calls_post)  
    *Результаты диалогов - раздел ["](https://docs.ai-assistant.is74.ru/books/api-dokumentaciia/page/analitika-dialogov)<span class="font-semibold">[Аналитика диалогов"](https://docs.ai-assistant.is74.ru/books/api-dokumentaciia/page/analitika-dialogov) </span>(в фильтре отчёта передайте UUID обзвона в call\_id).*

Важные особенности

- ID обзвона в v2 - <span class="font-semibold">UUID</span> (в v1 - целое число)
- project\_id, start\_block\_id, phone\_id должны относиться к одному проекту
- start\_date / end\_date интерпретируются в <span class="font-semibold">часовом поясе проекта</span>. Если start\_date не передан - подставится текущие дата и время
- В params передаются переменные стартового блока: {ключ: значение}
- Для доп. данных номера в v2 поле называется params (в v1 было add\_data).
- После звонка появиться dialog\_uuid - его можно передать в [Получение информации о конкретном диалоге. v1](https://dialog-api.intersvyaz.it/#tag/Analitika-dialogov/operation/get_dialog_by_id_v1_analytics_dialogs__dialog_id__get).