Наверх
Подписаться

Интеграция Calltouch с сервисами обратных звонков через API ats.calltouch.ru

Содержание

 

Настройка интеграции на стороне сервиса обратного звонка

Для настройки интеграции с Calltouch, в стороннем сервисе необходимо реализовать интерфейс со следующими полями:

  • Идентификатора сайта Calltouch
    Передается в API-запросе создания звонка, параметр siteId.

Эти два параметра уникальны для каждого сайта в нашем ЛК, они должны заполняться пользователем в вашем ЛК, значения клиент сможет получить, обратившись к своему аккаунт-менеджеру Calltouch либо в тех. поддержку info@calltouch.net.

 

Константы, которые выдаются стороннему сервису для доступа к API ats.calltouch.ru:

  • Идентификатор АТС Calltouch
    Передается в API-запросе создания звонка, параметр {atsId} в урле запроса.

  • API-ключ к АТС
    Передается в API-запросе создания звонка, параметр apikey.

Эти два параметры одинаковы для всех сайтов в нашем ЛК, в которых стороннему сервису требуется создавать звонки. Получить их можно по запросу на info@calltouch.net.

 

В реализованный интерфейс настройки интеграции на вашей стороне мы рекомендуем добавить текст для пользователя: «Для включения интеграции на стороне Calltouch, отправьте запрос вашему аккаунт-менеджеру или на info@calltouch.net с просьбой включить интеграцию с <название вашего сервиса> и сообщить ID сайта и название переменной с ID сессией.».

 

Фиксирование переменной с ID сессий Calltouch на сайте

После того, как пользователь кликает на ваш виджет, вы должны обращаться к переменной window.название_переменной, где название переменной это то, что будет указано в настройках интеграции.

Пример с сайта https://www.calltouch.ru/:

1NSOFUjhLMnARMFcEz-jiuF5hDYWacpksMN8RCwM.png

 

В данном случае, клиент в настройках интеграции с Calltouch в вашем интерфейсе должен указать название переменной: call_value. После этого, при клике посетителя на сайте на Ваш виджет, необходимо производить обращение к глобальной переменной window.call_value, в которой будет значение нашей ID сессии Calltouch. Это значение необходимо передавать в параметре ctSessionId API-запроса создания звонка, см. далее.

 

Обратите внимание! Иногда значение переменной может быть window.call_value_ID, где ID – внутренний идентификатор скрипта в Calltouch, обычно значение находится в пределах от 1 до 100, например window.call_value_10.

 

API-запрос создания звонка в Calltouch

HTTP-запрос:

https://ats.calltouch.ru/event-service/platform/{atsId}/inbound-call

где {atsId} – значение поля “Идентификатор АТС Calltouch” в настройках интеграции.

Метод: GET

GET-параметры:

Параметр

Описание

Формат / Значение

Обязателен

model

Модель обработки вызова

sessionfact

Да

apikey

Значение поля “API-ключ к АТС” в настройках интеграции”.

-

Да

callid

Уникальный идентификатор звонка в вашей АТС. По этому идентификатору при необходимости можно выгрузить информацию по вашему звонку через отдельный API-метод выгрузки звонков, указав переданное значение в параметре callreferenceId.

-

Да

callerid

Номер клиента, заказавшего обратный звонок.

7XXXXXXXXXX

Да

ctSessionId

Значение переменной из поля “Название переменной с ID сессией Calltouch”, которое вы зафиксировали на сайте при клике на ваш виджет (см. пункт 2 выше).

-

Да

siteId

Значение поля “Идентификатора сайта Calltouch” из настроек интеграции.

-

Да

date

Дата/время звонка. %20 это в шаблоне справа – это пробел в URL-формате. Вы можете использовать любой часовой пояс.

YYYY-MM-DD%20HH:MM:SS

Да

duration

Полная длительность вызова + время ожидания ответа оператора, в секундах.

Т.е. в duration необходимо передавать значение duration + waitingtime.

-

Да

waitingtime

Время ожидания ответа оператора, в секундах. Если параметр не фиксируется на вашей стороне, отправляйте значение 0.

-

Да

status

Статус завершения вызова.

successful, unsuccessful

Да

clientdtmf

Тоновые dtmf-сигналы со стороны клиента. Могут быть использованы для тегирования звонков в ЛК.

-

Нет

operatordtmf

Тоновые dtmf-сигналы со стороны оператора. Могут быть использованы для тегирования звонков в ЛК.

-

Нет

callrecordurl

Ссылка на запись разговора в формате mp3.

http url

Да

service

Необходимо передавать название стороннего сервиса, например, MyCallbackService.

-

Да

 

Пример HTTP-запроса:

https://ats.calltouch.ru/event-service/platform/someservice/inbound-call?model=sessionfact&apikey=sdfdfKJnm4kSNzDhHIdfkvj&callid=dfjh21234245vbskdj245fvdfvdfsv&callerid=79855895281&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

 

Пример JSON-ответа на успешный HTTP-запрос:

{

"success": true,

"eventId": 61924734

}

где, значение true параметра success означает успешное выполнение HTTP-запроса, а в параметре eventId содержится идентификатор HTTP-запроса на стороне АТС Calltouch (техническая информация, вам она не пригодится).

 

Возможные ошибки HTTP-запроса

Не указан токен apikey или указан некорректно.

HTTP-код ответа: 403 Forbidden

Тело ответа HTML:

<html>

<head>

<title>Error</title>

</head>

<body>Access Denied</body>

</html>

 

Не указан один из параметров: callid, callerid, ctSessionId, siteId, date, duration, waitingtime, status или указан не в верном формате.

HTTP-код ответа: 400 Bad Request

Пример тела ответа JSON:

{

"success": false,

"errors": {

"duration": [

"Wrong format"

],

"waitingtime": [

"Missing data for required field"

]}}

 

Сервер АТС не доступен.

HTTP-код ответа: 500 Internal Server Error

Пример тела ответа JSON:

{
"success": false
}
Была ли эта статья полезной?
Пользователи, считающие этот материал полезным: 0 из 1
Еще есть вопросы? Отправить запрос

0 Комментарии

Войдите в службу, чтобы оставить комментарий.