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

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

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


# значение 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 документа

ПолеТипОписание

operator_id

(required) string

Идентификатор оператора в системе, с которым связан звонок (это может быть email оператора, ID в ActiveDirectory или что-то другое). Звонок добавляется в тот же отдел, к которому относится оператор. Если оператор не определен, звонок не записывается.

uid

string

id звонка в системе. если звонок с таким id уже существует он будет обновлен

client_phone_number

string

Телефонный номер клиента (независимо от direction он будет отображаться как номер клиента)

direction

string (incoming / outcoming)

Направление вызова ("в" или "из" организации)

duration

float

Продолжительность звонка в секундах

started_at

(required) string (date-time in iso8601 format)

Время начала звонка в iso 8601 формате. Параметр является обязательным.

media_url

(required) string (url)

Ссылка, по которой можно получить доступ к записи разговора. Эта ссылка будет передаваться в плеер сервиса DealApp.

phone_call_chain_uid

string

ID цепочки звонков, к которой принадлежит данный вызов

client

hash (object)

Объект, который описывает клиента, с которым совершается звонок

client.id

string

Идентификатор клиента. Объект клиента не создается снова, если у нас уже есть клиент с таким id.

client.company_name

string

Название компании клиента

client.first_name

string

Имя клиента

client.last_name

string

Фамилия клиента

custom_fields (бывшее metacontent)

hash (object)

Поля, которые не входят в стандартную схему Qolio. Поля передаются в виде простого соотношения ключ-значение, где у ключа и значения простой тип (string, integer, date iso8601)

nps

float

Значение NPS коммуникации

Возможные типы 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. Звонки для ненастроенных или неактивных пользователей не будут попадать в систему.

Last updated