# API запрос для добавления звонков

Звонок создается через API endpoint, который вы можете найти в настройках интеграции приложения. Вам нужно сделать POST запрос на этот API endpoint в документе JSON и передать Authorization Token в headers. Authorization Token также можно найти в диалоге настройки интеграции.

**Пример запроса с помощью утилиты curl**

```json

# значение AUTHORIZATION_TOKEN берется из модального диалога интеграции (Токен интеграции)
export AUTHORIZATION_TOKEN="0b23ffc3e579f863288f4462c8..."
# значение INTEGRATION_URL берется из модального диалога интеграции (URL интегрируемого приложения)                                       
export INTEGRATION_URL="https://api.prod1.qolio.ru/api/v1/integrations/c34f637a-..../phone_calls"  

curl --header "Content-Type: application/json" \
     --request POST \
     --header "Authorization: $AUTHORIZATION_TOKEN" \
     --data '{
         "operator_id": "operator@email.com",
         "started_at": "2020-06-21T09:51:13.588Z+03",
         "direction": "incoming",
         "duration": 410.1,
         "client_phone_number": "+375332222453",
         "media_url": "https://file-examples.com/wp-content/uploads/2017/11/file_example_WAV_1MG.wav",
         "uid": "7b2331ca-adcb-4f15-811b-6b6cfddb2baf",
         "client": {
            "id": "client@email.com",
            "company_name": "Test Company",
            "first_name": "John",
            "last_name": "Doe"
         },
         "custom_fields": {
           "opened_at": "2020-06-21T09:51:13.588Z",
           "reopen_count": 5,
           "topic": "Поддержка",
           "sub-topic": "Возобновление доступа"
         }
     }' \
     $INTEGRATION_URL
```

## Описание полей JSON документа

<table><thead><tr><th>Поле</th><th width="213.33333333333331">Тип</th><th>Описание</th></tr></thead><tbody><tr><td>operator_id</td><td>(required) string</td><td>Идентификатор оператора в системе, с которым связан звонок (это может быть email оператора, ID в ActiveDirectory или что-то другое). Звонок добавляется в тот же отдел, к которому относится оператор. Если оператор не определен, звонок не записывается.</td></tr><tr><td>uid</td><td>string</td><td>id звонка в системе. если звонок с таким id уже существует он будет обновлен</td></tr><tr><td>client_phone_number</td><td>string</td><td>Телефонный номер клиента (независимо от direction он будет отображаться как номер клиента)</td></tr><tr><td>direction</td><td>string (incoming / outcoming)</td><td>Направление вызова ("в" или "из" организации)</td></tr><tr><td>duration</td><td>float</td><td>Продолжительность звонка в секундах</td></tr><tr><td>started_at</td><td>(required) string (date-time in iso8601 format)</td><td>Время начала звонка в iso 8601 формате. Параметр является обязательным.</td></tr><tr><td>media_url</td><td>(required) string (url)</td><td>Ссылка, по которой можно получить доступ к записи разговора. Эта ссылка будет передаваться в плеер сервиса DealApp.</td></tr><tr><td>phone_call_chain_uid</td><td>string</td><td>ID цепочки звонков, к которой принадлежит данный вызов</td></tr><tr><td>client</td><td>hash (object)</td><td>Объект, который описывает клиента, с которым совершается звонок</td></tr><tr><td>client.id</td><td>string</td><td>Идентификатор клиента. Объект клиента не создается снова, если у нас уже есть клиент с таким id.</td></tr><tr><td>client.company_name</td><td>string</td><td>Название компании клиента</td></tr><tr><td>client.first_name</td><td>string</td><td>Имя клиента</td></tr><tr><td>client.last_name</td><td>string</td><td>Фамилия клиента</td></tr><tr><td>custom_fields (бывшее metacontent)</td><td>hash (object)</td><td>Поля, которые не входят в стандартную схему Qolio. Поля передаются в виде простого соотношения ключ-значение, где у ключа и значения простой тип (string, integer, date iso8601)</td></tr><tr><td>nps</td><td>float</td><td>Значение NPS коммуникации</td></tr></tbody></table>

## Возможные типы custom-fields

| Тип           | Пример                                                                                      | Описание                                                                 |
| ------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ |
| string        | “city”: “Минск”                                                                             | Используется для строковых значений                                      |
| number        | “index”: 220010                                                                             | Используется для числовых значений (int, float)                          |
| string\_array | “languages”: \[”ru”, “by”, “kz”]                                                            | Используется для массива строковых значений                              |
| string\_url   | “logo\_link”: “<https://static.tildacdn.com/tild3631-3732-4432-b964-653935636664/\\_4.png”> | Используется для ссылок (не выпущено), записывается строковым значением. |
| number\_array | “cars\_index”: \[175, 998, 556]                                                             | Используется для массива числовых значений int, float.                   |
| datetime      | “discount\_started\_at”: “2020-06-21T09:51:13.588Z”                                         | Используется для записи информации о дате.                               |
| boolean       | “is\_active\_discount”: “true”                                                              | Используется для записи значений true false                              |
| duration      | “answer\_time”: 120                                                                         | Используется для записи значений продолжительности в секундах            |

**Вещи, на которые следует обратить внимание:**

* Данные должны передаваться в формате JSON и тип запроса должен быть POST для этого выставьте Header "Content-Type: application/json".
* Данные о времени совершения звонка передаются через поле started\_at, время должно быть в формате ISO 8601 с указанием временной зоны (пример: 2019-08-09T18:31:42\*\*+03\*\* для Москвы или Минска).
* Duration это продолжительность звонка в секундах в формате float.
* Звонок присваивается оператору, значение "ID в интегрируемой системе" (на странице управления сотрудниками) у которого совпадает с полем operator\_id. Звонки для ненастроенных или неактивных пользователей не будут попадать в систему.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.qolio.ru/qolio-or-baza-znanii/integracii/podklyuchenie-po-api/integraciya-po-api-dlya-ip-telefonii-i-chatov/api-zapros-dlya-dobavleniya-zvonkov.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
