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



# Создание обзвонов

<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 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);">##### `<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>