Импорт звонков (с привязкой источника по номеру телефона и дате звонка)
Как это работает
Если вы желаете использовать собственные телефонные номера, настроенные в Вашей АТС, для отслеживания источников звонков, Calltouch может с легкостью интегрироваться с ней.
Для настройки интеграции вам необходимо отправить заявку вашему личному аккаунт-менеджеру Calltouch либо на почту info@calltouch.net. Укажите в заявке, что вам необходимо получить логин и токен к АТС Calltouch, чтобы импортировать в нее звонки из своей АТС. Далее мы произведем необходимые настройки с нашей стороны и вышлем вам авторизационные данные (логин и токен), по которым вы сможете отправлять http-запросы в нашу АТС и создавать звонки в статистики.
Таким образом, после завершения звонка на ваш номер, ваша АТС будет должна отправлять http-запрос в наш сервис, содержащий всю информацию о поступившем звонке, а Calltouch на своей стороне будет склеивать эту информацию со своими данными о посетителе на сайте, которому был выделен в этот момент времени номер, на который поступил звонок. Таким образом Calltouch установит источник звонка.
Отправка запроса на импорт звонка в Calltouch
HTTP-запрос
https://ats.calltouch.ru/event-service/platform/{ATS_CODE}/inbound-call
Поддерживаемые методы отправки: GET.
Передаваемые параметры
Параметр | Описание | Формат / Значение | Обязательный |
model | Модель обработки вызова | telemirfact, sessionfact | Да |
apikey |
API ключ, предоставляется по заявке вашему личному аккаунт-менеджеру Calltouch либо на почту info@calltouch.net.
|
- | Да |
callid |
Уникальный идентификатор звонка в вашей АТС.
|
- | Да |
callerid | Номер вызывающего абонента (АОН). | - | Да |
ctSessionId |
ID сессии Calltouch. Пользователь, отправляющий данный запрос, должен заранее получить ID сессии с сайта, для этого используется JS-функция calltracking_params. Подробнее о получении sessionId в статье: Получение id сессии Calltouch |
Целое число | Да, если model=sessionfact |
siteId | ID сайта в Calltouch. | Целое число | Да, если model=sessionfact |
service | В этом параметре вы можете передать то, что будет отображаться в Журнале звонков в качестве номера, на который звонил клиент (или заказывал обратный звонок). | Любые символы, максимум 20. | Да, если model=sessionfact |
phonenumber |
Отслеживаемый номер, на который позвонили (номер, подключенный к Calltouch). Необходимо указывать в международном формате: 7ХХХХХХХХХХ |
- | Да, если model=telemirfact |
destphonenumber |
Отслеживаемый номер, на который позвонили (номер, подключенный к Calltouch).
Необходимо указывать в международном формате: 7ХХХХХХХХХХ |
Да, если model=telemirfact | |
date | Дата/время вызова. | YYYY-MM-DD HH:MI:SS | Да |
duration | Полная длительность вызова, в секундах. | - | Да |
waitingtime | Время ожидания ответа оператора, в секундах. | - | Да |
status | Статус завершения вызова. | successful, unsuccessful | Да |
clientdtmf | Тоновые dtmf-сигналы со стороны клиента. Могут быть использованы для тегирования звонков в ЛК. | - | Нет |
operatordtmf | Тоновые dtmf-сигналы со стороны оператора. Могут быть использованы для тегирования звонков в ЛК. | - | Нет |
callrecordurl | Ссылка на запись разговора в формате mp3. | http url | Нет |
Создание звонка по номеру телефона клиента и дате/времени звонка
Вы можете создавать звонки в Calltouch по номеру телефона клиента и дате/времени звонка. Для этого используйте параметр model=telemirfact и передавайте соответствующие значения.
Пример заполненных параметров
- model=telemirfact
- apikey=dL9juaKJnm4kSNzDhHIxtgeb9ZCxRoDE
- callid=dfjhvbskdjfvlsdkfjb1233443
- callerid=74955550101
- phonenumber=78126007428
- destphonenumber=78126007428
- date=2019-02-27%2012:03:00
- duration=30
- waitingtime=10
- status=successful
- clientdtmf=567,789
- operatordtmf=123,456
- callrecordurl=https://test.ru/calltouch/mp3/dialup.mp3
Пример HTTP-запроса
https://ats.calltouch.ru/event-service/platform/{ATS_CODE}/inbound-call?model=telemirfact&apikey=dL9juaKJnm4kSNzDhHIxtgeb9ZCxRoDE&callid=dfjhvbskdjfvlsdkfjb1233443&callerid=74955550101&phonenumber=78126007428&destphonenumber=78126007428&date=2019-02-27%2012:03:00&duration=30&waitingtime=10&status=successful&clientdtmf=567,789&operatordtmf=123,456&callrecordurl=https://test.ru/calltouch/mp3/dialup.mp3
Пример JSON-ответа на успешный HTTP-запрос:
{
"success": true,
"eventId": 61924734
}
где, значение true параметра success означает успешное выполнение HTTP-запроса, а в параметре eventId содержится идентификатор HTTP-запроса на стороне АТС Calltouch (техническая информация, вам она не пригодится).
По импортированному звонку будут доступны все возможности отправки этого звонка из ЛК во внешние сервисы по событию завершения вызова (Webhook'и, amoCRM, Google Analytics и т.д).
Создание звонка по id сессии
Вы можете создавать звонки в Calltouch по id сессии. Для этого используйте параметр model=sessionfact и передавайте соответствующие значения.
Пример заполненных параметров
- model=sessionfact
- apikey=dL9juaKJnm4kSNzDhHIdfkvj
- callid=dfjh21234245vbskdj245fvdfvdfsv
- callerid=74955550101
- ctSessionID=12312424234
- siteId=6969
- date=2019-02-27%2012:03:00
- duration=30
- waitingtime=10
- status=successful
- clientdtmf=567,789
- operatordtmf=7
- callrecordurl=https://test.ru/calltouch/mp3/dialup.mp3
Пример HTTP-запроса
https://ats.calltouch.ru/event-service/platform/{ATS_CODE}/inbound-call?model=sessionfact&apikey=dL9juaKJnm4kSNzDhHIdfkvj&callid=dfjh21234245vbskdj245fvdfvdfsv&callerid=74955550101&ctSessionId=12312424234&siteId=6969&date=2019-02-27%2012:03:00&duration=30&waitingtime=10&status=successful&clientdtmf=567,789&operatordtmf=7&callrecordurl=https://alftest.ru/calltouch/mp3/dialup.mp3
Возможные ошибки HTTP-запроса
HTTP-код ответа: 403 Forbidden
Тело ответа HTML:
<html>
<head>
<title>Error</title>
</head>
<body>Access Denied</body>
</html>
HTTP-код ответа: 400 Bad Request
Пример тела ответа JSON:
"success": false,
"errors": {
"destphonenumber": [
"Номер телефона 7XXXXXXXXXX не найден"
]
}
}
HTTP-код ответа: 400 Bad Request
Пример тела ответа JSON:
{
"success": false,
"errors": {
"duration": [
"Wrong format"
],
"waitingtime": [
"Missing data for required field"
]
}
}
HTTP-код ответа: 500 Internal Server Error
{
"success": false
}
5. Не найден ID сайта или ID сессии, звонок в котором необходимо создать.
Статус: 400 Bad Request
Тело ответа JSON:
{
"success": false,
"errors": {
"ctSessionId": [
"Сессия 191834719834 не найдена"
]
}
}
{
"success": false,
"errors": {
"siteId": [
"Сайт 1223 не найден"
]
}
}
Кол-во запросов в секунду к API Calltouch ограничено – не более 5 запросов (+5 запросов в очередь) в секунду с одного IP-адреса. Например, если в 1 секунду с одного IP-адреса поступит 11 API-запросов, то 5 выполнятся сразу, 5 поставятся в очередь, и 1 API-запрос завершится с ошибкой.