Импорт звонков
Запрос на импорт
После отправки запроса на импорт звонков, они ставятся в очередь и импортируются в порядке очереди. В ответ на запрос импорта вы получите ID лога очереди импорта, по которому отдельным запросом можно будет узнать результат импорта.
POST: https://api.calltouch.ru/lead-service/v1/api/call/import
HTTP-заголовки:
- Access-Token – API-ключ
- SiteId – ID ЛК Calltouch
Тело запроса в формате JSON:
{
"calls": [
// Звонок 1
{
"referenceId": "Уникальный ID звонка в АТС",
"clientPhoneNumber": "Номер телефона клиента",
"callCenterPhoneNumber": "Номер телефона, на который звонит клиент",
"callStartTime": "Дата звонка в формате yyyy-mm-dd hh:mm:ss2020-10-01 02:10:00",
"duration": 120,
"waitingTime": 10,
"status": "successful",
"recordUrl": "Ссылка на запись звонка в формате mp3",
"comment": {
"text": "Комментарий"
},
"addTags": [
{
"tag": "Тег 1"
}
],
"customSources": {
"source": "Произвольный источник",
"medium": "Произвольный канал",
"campaign": "Произвольная кампания",
"content": "Произвольное объявление",
"term": "Произвольная ключевая фраза"
},
"sessionId": "ID сессии Calltouch"
},
// Звонок N
...
]
}
Параметры запроса
Параметр | Формат | Обязательный | Описание |
calls | array | Да | Массив звонков. Можно перечислить до 100 звонков за 1 запрос. После отправки запроса на импорт звонков, они ставятся в очередь и импортируются в порядке очереди. В ответ на запрос импорта вы получите ID лога очереди импорта, по которому отдельным запросом можно будет узнать результат импорта. Обязательно. |
calls.referenceId | string | Да |
Уникальный ID звонка в АТС. Любые символы, максимум 100. Обратите внимание! Необходимо использовать всегда уникальный referenceId для разных запросов. Нельзя повторно загружать звонки с повторным referenceId, даже если ранее загруженный звонок был удален. |
calls.clientPhoneNumber | string | Да | Номер телефона клиента в 11-значном формате 7xxxxxxxxxx. |
calls.callCenterPhoneNumber |
string | Да | Номер телефона, на который звонит клиент |
calls.callStartTime | string | Да | Дата звонка в формате yyyy-mm-dd hh:mm:ss2020-10-01 02:10:00", |
calls.duration | integer | Да |
Полная длительность звонка в секундах включая ожидание. Обратите внимание, что в ЛК длительность будет показываться, как разница duraton - waitingTime. |
calls.waitingTime | integer | Да | Ожидание в секундах. |
calls.status | string | Да |
Статус звонка. Возможные значения:
|
calls.recordUrl | string | Нет | Ссылка на запись звонка в формате mp3 |
calls.comment.text | string | Нет | Комментарий к звонку. Любые символы, максимум 1000. |
calls.addTags | array | Нет |
Добавление тегов к звонку. Если такие теги уже есть в ЛК, новые не создаются, а используются существующие. Любые символы, максимум 100 в каждом теги. Максимум 100 тегов. Формат:
"addTags": [ |
calls.customSources | object | Нет | Произвольные источники звонка. Используются только когда не указан sessionId. Необязательно. Если не указан ни sessionId ни произвольные источники, то звонок создается без источника. |
calls.customSources. source |
string | Да, если указан customSources. | Произвольный источник |
calls.customSources. medium |
string | Да, если указан customSources. | Произвольный канал |
calls.customSources. campaign |
string | Да, если указан customSources. | Произвольная кампания |
calls.customSources. content |
string | Нет | Произвольное объявление |
calls.customSources. term |
string | Нет | Произвольная ключевая фраза |
calls.sessionId | string | Нет |
ID сессии Calltouch. Любые символы, максимум 100. Если не указано, то звонку будет присвоен произвольный источник customSources. Подробнее о получении sessionId в статье: Получение id сессии Calltouch |
Ответ на импорт
Если валидация всех параметров прошла успешно, то запускается процесс импорта звонков и в ответ отдается ID ID лога очереди импорта, по которому отдельным запросом можно будет узнать результат импорта, пример:
{
"meta": [],
"data": {
"logId": 471
}
}
Если API-токен не указан, то импорт звонков не выполняется и выводится ошибка:
{
"meta": [],
"data": {
"message": "Ошибка доступа"
}
}
Если API-токен указан не верно, то импорт звонков не выполняется и выводится ошибка:
{
"meta": [],
"data": {
"message": "Ошибка доступа"
}
}
Если в запросе обнаруживаются ошибки валидации, то импорт звонков не выполняется и выводится ошибка:
{
"meta": [],
"data": {
"type": "validationError",
"apiErrorData": null,
"validationErrorData": {
"violations": [
{
"fieldPath": "calls[0].clientPhoneNumber",
"message": "Значение должно быть равно 11 символам."
}
]
}
}
}
Запрос на лог импорта
POST: https://api.calltouch.ru/lead-service/v1/api/call/import/log?logId={ID лога}
- Access-Token – API-ключ
- SiteId – ID ЛК Calltouch
GET-параметры:
- lodId – ID лога импорта звонков
Ответ на лог импорта
{
"meta": [],
"data": {
"calls": [
{
"imported": true,
"referenceId": "5lBNQaPvlR8IKP71",
"callId": 2319960
}
]
}
}
Параметры ответа
Параметр | Формат | Описание |
data.calls.imported | boolean | Флаг импортирован ли звонок или нет |
data.calls.referenceId | string | ID звонка с АТС из API-метода импорта звонков |
data.calls.callId | string | ID звонка в Calltouch, может быть null |