Переадресация звонка при помощи Webhook номер

Webhook номер переадресации — уникальный инструмент, который позволяет АТС Ringostat получать в ответ на http(s)-запрос номер телефона или sip-логин, на который будет дальнейшая переадресация звонка.

Данная функция позволяет получать направление переадресации с внешнего ресурса в зависимости от параметров входящего звонка. Параметры звонка могут приходить в соответствии с настройками hook-a в HTTP заголовках или JSON формате. Ответ должен содержать направление (номер в международном формате/sip) в теле ответа HTTP или в конкретном идентификаторе JSON формата.

WebHooks - упрощенный вариант rest-событий и rest-команд, не требующий написания приложения. Но, даже не смотря на это, работа с REST - непростая задача, требующая солидной квалификации от разработчика.
Настройка вебхук номера

Использовать 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 – отправка параметров в формате объекта(набор пар ключ/значение) в теле запроса;
  • Тип приёма данных – формат данных, в котором будут приняты параметры запроса.
    • http – отправка параметров в адресной строке(URL-адресе запроса);
    • json – отправка параметров в формате объекта(набор пар ключ/значение) в теле запроса;
  • Поле номера переадресации(для json) – имя параметра, в котором будут возвращено направление переадресации:
    • если в ответ на запрос будет отправлен номер телефона, рекомендуемое имя – dst_phone или dst_callee
    • если в ответ на запрос будет отправлено ID схемы переадресации, тогда нужно вернуть параметр schema
  • Таймаут в секундах – таймаут отправки дозвона на возвращенное направление звонка.

  • на номер телефона
  • на схему переадресации в проекте

Переадресация на номер телефона / 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 номеру список параметров, которые нужно обработать и в зависимости от входных данных вернуть в ответ направление переадресации звонка.

Имя параметра Описание параметра
Номер звонящего Номер клиента, который позвонил или заказал обратный звонок
Куда звонили Номер из пула подмены, на который позвонили
Дата Дата и время звонка
Тип Тип звонка: in
Какой по счёту звонок Какой по счёту звонок от клиента
Источник Источник перехода посетителя
UTM-метка – utm_source
Канал Канал трафика перехода посетителя
UTM-метка – utm_medium
Кампания Рекламная кампания перехода
UTM-метка – utm_campaign
Контент Содержимое объявления в кампании
UTM-метка – utm_content
Запись Уникальный ID звонка в Ringostat
UUID посетителя Google Analytics Client ID посетителя
IP постетителя IP-адрес посетителя
Шаг переадресации Направление, на которое был переадресован звонок
Уникальный (первый) звонок Указывает, является ли звонок самым 1м с этого номера клиента
Last Page Страница, с которой совершён звонок
Лэндинг Страница входа на сайт
Тип подмены Тип подмены: Динамический/Статический/Callback
Google Analytics resource UUID Идентификатор отслеживания Google Analytics
The number in E.164 format Номер звонящего согласно международного стандарта формата номеров
additional numaber Добавочный номер, который клиент ввёл в меню IVR
ID Call Уникальный ID звонка в Ringostat
custom Кастомный параметр захваченный на сайте
Roistat Visit ID Номер визита Roistat
{
"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 схемы переадресации
(имя параметра не обязательно указывать в Поле номера для переадресации);

<?php
$insertion_type = !empty($_GET['insertionType']) ? $_GET['insertionType']: '';

if($insertion_type === 'dynamic') {
echo '{"dst_phone":380443334455}';
}
else {
echo '{"schema":26076}';
}

?>
Была ли статья полезной?