Webhook номер переадресации — уникальный инструмент, который позволяет АТС Ringostat получать в ответ на http(s)-запрос номер телефона или sip-логин, на который будет дальнейшая переадресация звонка.
Данная функция позволяет получать направление переадресации с внешнего ресурса в зависимости от параметров входящего звонка. Параметры звонка могут приходить в соответствии с настройками hook-a в HTTP заголовках, JSON формате или с помощью JSON-RPC протокола. Ответ должен содержать направление (номер в международном формате/sip) в теле ответа HTTP или в конкретном идентификаторе JSON формата.
Настройка вебхук номера
Использовать Webhook номер для переадресации звонков вы сможете после его создания и настройки.
В меню навигации, выберите Виртуальная АТС -> Webhook номер и создайте webhook с произвольным именем
Чтобы попасть в меню настройки webhook номера выберите "Редактировать"
- Название – название webhook запроса
- URL – адрес обработчика, на который будет отправлен запрос. Стандартные порты: 80 для HTTP и 443 для HTTPS.
Для установки Webhook на URL с указанным портом можно передавать URL в виде: http://11.111.111.11:80 - Метод отправки данных:
- GET – запрос с передачей параметров в адресной строке(URL-адресе запроса);
- POST – запрос с передачей параметров в теле(body) запроса;
- PUT – запрос для изменения экземпляра с указанным ID;
- DELETE – запрос с передачей параметров для удаления экземпляра с указанным ID;
- Тип отправки данных – формат данных, в котором будут отправлены параметры запроса.
- http – отправка параметров в адресной строке(URL-адресе запроса);
- json – отправка параметров в формате объекта(набор пар ключ/значение) в теле запроса;
- json-rpc – протокол удаленного вызова процедур, использующий JSON для кодирования сообщений;
- Тип приёма данных – формат данных, в котором будут приняты параметры запроса.
- http – отправка параметров в адресной строке(URL-адресе запроса);
- json – отправка параметров в формате объекта(набор пар ключ/значение) в теле запроса;
- json-rpc – протокол удаленного вызова процедур, использующий JSON для кодирования сообщений;
- Поле номера переадресации(для json) – имя параметра, в котором будут возвращено направление переадресации:
- если в ответ на запрос будет отправлен номер телефона, рекомендуемое имя – dst_phone или dst_callee
- если в ответ на запрос будет отправлено ID схемы переадресации, тогда нужно вернуть параметр schema
- Json-rpc метод – название метода (функции), который нужно вызвать;
- Таймаут в секундах – таймаут отправки дозвона на возвращенное направление звонка.
- на номер телефона
- на схему переадресации в проекте
Переадресация на номер телефона / SIP аккаунт
В ответ на http-запрос, нужно вернуть параметр, который вы указали в Поле для переадресации звонка(для json).
Для возврата параметров рекомендуем использовать 1 из вариантов имён: dst_phone или dst_callee
Ответ должен быть в формате json и содержать направление(номер в международном формате или SIP URI нужного sip аккаунта).
Номер переадресации в международном формате выглядит так:
380ХХХХХХХХХ (12 цифр) – Украина;
7ХХХХХХХХХХ (11 цифр) – Россия;
7ХХХХХХХХХХ (11 цифр) – Казахстан.
Возврат SIP URI – sip/supportringostat_example@sip.ringostat.com
Возврат ID схемы переадресации в проекте
Для переадресации на уже существующую схему в проекте – нужно вернуть в формате json ID схемы переадресации из проекта в лк Ringostat. Это позволит настроить более гибкую переадресацию звонков в проекте.
Обратите внимание! Для возврата ID схемы переадресации используется специальный параметр schema
Пример настройки webhook запроса
Чтобы узнать какой ID присвоен нужной схеме переадресации, в меню навигации перейдите в раздел Виртуальная АТС -> Переадресация и у нужной схемы нажмите кнопку Редактировать схему
Добавление параметров
Для добавления параметров в соответствующей таблице выберите значение и укажите имя параметра, которые будут переданы.
Параметры для передачи
Вы можете добавить к webhook номеру список параметров, которые нужно обработать и в зависимости от входных данных вернуть в ответ направление переадресации звонка.
Имя параметра | Описание параметра |
---|---|
Номер звонящего | Номер клиента, который позвонил или заказал обратный звонок |
Куда звонили | Номер из пула подмены, на который позвонили |
Дата | Дата и время звонка |
Ценность | Данный параметр не может быть захвачен, поскольку Webhook номер приходит ДО звонка |
Длительность | Данный параметр возвращает всегда "0", поскольку Webhook номер приходит ДО звонка |
Тип | Тип звонка: in |
Ожидание | Данный параметр не может быть захвачен, поскольку Webhook номер приходит ДО звонка |
Длительность разговора | Данный параметр возвращает всегда "0", поскольку Webhook номер приходит ДО звонка |
С кем соединен | Данный параметр не может быть захвачен, поскольку Webhook номер приходит ДО звонка |
Какой по счёту звонок | Возвращает сумму, какой по счету звонок с данного номера |
Целевой | Данный параметр не может быть захвачен, поскольку Webhook номер приходит ДО звонка |
Повторный | Данный параметр не может быть захвачен, поскольку Webhook номер приходит ДО звонка |
Источник |
Источник перехода посетителя UTM-метка – utm_source |
Канал |
Канал трафика перехода посетителя UTM-метка – utm_medium |
Кампания |
Рекламная кампания перехода UTM-метка – utm_campaign |
Контент |
Содержимое объявления в кампании UTM-метка – utm_content |
Ключевое слово | Ключевое слово перехода на сайт |
Запись | Уникальный ID звонка в Ringostat |
Категория звонка | Данный параметр не может быть захвачен, поскольку Webhook номер приходит ДО звонка |
UUID посетителя | Google Analytics Client ID посетителя |
IP постетителя | IP-адрес посетителя |
Шаг переадресации | Этап распределения вызова, возвращает название метода и таймаут в секундах (пример:webhookNumber:120 |
Ссылка на аудиозапись | Данный параметр не может быть захвачен, поскольку Webhook номер приходит ДО звонка |
Уникальный (первый) звонок | Указывает, является ли звонок самым 1м с этого номера клиента |
Уникальный целевой звонок | Данный параметр не может быть захвачен, поскольку Webhook номер приходит ДО звонка |
Первый целевой звонок | Данный параметр не может быть захвачен, поскольку Webhook номер приходит ДО звонка |
Last Page | Страница, с которой совершён звонок |
Лэндинг | Страница входа на сайт |
Тип подмены | Тип подмены: Динамический/Статический/Callback |
Имя пула | Название динамического и статического пула подмены откуда был выдан номер |
Схема переадресации | Название схемы переадресации куда был переведен звонок |
ID звонка | Уникальный идентификатор звонка |
User-Agent | Данный параметр не может быть захвачен, поскольку Webhook номер приходит ДО звонка |
Google Analytics resource UUID | Идентификатор отслеживания Google Analytics |
The number in E.164 format | Номер звонящего согласно международного стандарта формата номеров |
ID менеджера | Данный параметр не может быть захвачен, поскольку Webhook номер приходит ДО звонка |
Добавочный номер | Добавочный номер, который клиент ввёл в меню IVR |
Ответственные менеджеры | Данный параметр не может быть захвачен, поскольку Webhook номер приходит ДО звонка |
custom | Кастомный параметр захваченный на сайте |
Roistat Visit ID | Номер визита Roistat |
ID проекта | Уникальный идентификатор проекта в Ringostat |
"caller":"380441112233",
"callee":"380442223344",
"date":"2018-08-13 11:11:11",
"type":"in",
"callnum":"1",
"source":"ringostat",
"medium":"support",
"campaign":"webhook_number",
"term":"test",
"content":"simple_webhook_number_test",
"record":"3333333333.3333333",
"useruuid":"1479099944.1534841744",
"userip":"10.10.10.10",
"callroute":"webhookNumber:90",
"uniquefirst":"1",
"lastpage":"ringostat.com/?utm_source=ringostat&utm_medium=support&utm_campaign=hook_number&utm_term=test",
"landing":"ringostat.com/?utm_source=ringostat&utm_medium=support&utm_campaign=hook_number&utm_term=test",
"replacetype":"dynamic",
"gaid":"UA-11111111-1",
"fullnum":"+380441112233",
"ivrnum":"3",
"callid":"3333333333.3333333",
"custom":"http://ringostat.com/?utm_source=ringostat&utm_medium=support&utm_campaign=hook_number&utm_term=test",
"roistat":"17541"
}
Настройка переадресации на webhook
Более детально ознакомиться с созданием, настройкой и функционалом схем переадресации, вы можете в
статье базы знаний
После создания Webhook номера, его нужно включить в схему переадресации.
Перейдите в раздел "Виртуальная АТС" -> "Переадресация" -> "Создать схему переадресации":
-
Далее:
- укажите понятное имя схемы переадресации
- выберите направление – Webhook номер перенаправления
- выберите созданный webhook запрос
- укажите доп параметры схемы переадресации(рабочее время/фоновые звуки и уведомления
Пример обработчика webhook номера
Возвращать ID схемы, можно даже без указания имени в параметре + сделать проверку и в случае, если по входным данным не получается вернуть номер, в параметре schema вернуть ID схемы переадресации.
Внимание! Пример условный и предоставлен для понимания принципа работы и реализации!
Пример обработчика на PHP, который проверяет параметр "Тип подмены".
Если значение равняется "Динамический" – в ответ будет отправлен номер телефона
(имя параметра указывается в Поле номера для переадресации);
Если значение отличается – в ответ будет отправлена ID схемы переадресации
(имя параметра не обязательно указывать в Поле номера для переадресации);
$insertion_type = !empty($_GET['insertionType']) ? $_GET['insertionType']: '';
if($insertion_type === 'dynamic') {
echo '{"dst_phone":380443334455}';
}
else {
echo '{"schema":26076}';
}
?>