Webhook номер переадресации — уникальный инструмент, который позволяет АТС Ringostat получать в ответ на http(s)-запрос номер телефона или sip-логин, на который будет дальнейшая переадресация звонка.
Данная функция позволяет получать направление переадресации с внешнего ресурса в зависимости от параметров входящего звонка. Параметры звонка могут приходить в соответствии с настройками hook-a в HTTP заголовках, JSON формате или с помощью JSON-RPC протокола. Ответ должен содержать направление (номер в международном формате/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
– отправка параметров в формате объекта(набор пар ключ/значение) в теле запроса;json-rpc
– протокол удаленного вызова процедур, использующий JSON для кодирования сообщений;
Тип приёма данных – формат данных, в котором будут приняты параметры запроса.
http
– отправка параметров в адресной строке(URL-адресе запроса);json
– отправка параметров в формате объекта(набор пар ключ/значение) в теле запроса;json-rpc
– протокол удаленного вызова процедур, использующий JSON для кодирования сообщений;
Поле номера переадресации(для json) – имя параметра, в котором будут возвращено направление переадресации:
если в ответ на запрос будет отправлен номер телефона, рекомендуемое имя –
dst_phone
илиdst_callee
если в ответ на запрос будет отправлено ID схемы переадресации, тогда нужно вернуть параметр
schema
Json-rpc метод – название метода (функции), который нужно вызвать;
Таймаут в секундах – таймаут отправки дозвона на возвращенное направление звонка.
Варианты настроек переадресации звонка
Переадресовать звонок с помощью Webhook можно:
на номер телефона/sip аккаунт
на схему переадресации в проекте
Переадресация на номер телефона / SIP аккаунты / несколько номеров
Пример настройки:
URL: адрес обработчика
Метод отправки данных:
GET
Тип отправки данных:
http
илиjson
, не имеет значенияТип приема данных: всегда
json
Поле для переадресации звонка (для json): рекомендуем использовать 1 из вариантов имён:
dst_phone
илиdst_callee
для возврата параметровВ ответ на http-запрос, должен вернуться этот параметр в формате json и содержать направление (номер в международном формате или SIP URI нужного sip аккаунта).
Номер переадресации в международном формате выглядит так:
380ХХХХХХХХХ (12 цифр) – Украина;
7ХХХХХХХХХХ (11 цифр) – Казахстан.
Пример возврата SIP URI – sip/[email protected]
Также возможна переадресация одновременно сразу на несколько номеров телефонов. Для этого необходимо перечислить номера через запятую.
Пример: 380441111111,380441111112,380441111113
Пример полного ответа с сервера в формате json:
{ dst_phone: '380441111111,380441111112,380441111113' }
Направление звонка на схему переадресации в проекте
Пример настройки:
URL: адрес обработчика
Метод отправки данных: GET
Тип отправки данных: http
или json
, не имеет значения
Тип приема данных: всегда json
Поле для переадресации звонка (для json): для возврата ID схемы переадресации используется специальный параметр schema
В ответ на http-запрос
, должен вернуться этот параметр в формате json
и содержать ID схемы переадресации
Чтобы узнать какой ID присвоен нужной схеме переадресации, в меню навигации перейдите в раздел Виртуальная АТС -> Переадресация и у нужной схемы нажмите кнопку Редактировать схему
Добавление параметров Webhook
Вы можете добавить к webhook номеру список параметров, которые нужно обработать и в зависимости от входных данных вернуть в ответ направление переадресации звонка. Такая настройка будет полезна, если вам, например, необходимо настроить переадресацию на разных менеджеров/отделы.
К примеру - в зависимости от выбранного параметра из списка ниже.
Или даже кастомного параметра, захваченного на сайте с помощью отслеживаемых сущностей (например город, страница сайта и т.д.)
Для добавления параметров в соответствующей таблице выберите значение и укажите имя параметров, которые будут переданы.
Параметры для передачи
Вы можете добавить к webhook номеру список параметров, которые нужно обработать и в зависимости от входных данных вернуть в ответ направление переадресации звонка.
Имя параметра | Описание параметра |
Номер звонящего | Номер клиента, который позвонил или заказал обратный звонок |
Куда звонили | Номер из пула подмены, на который позвонили |
Дата | Дата и время звонка |
Ценность | Данный параметр не может быть захвачен, поскольку Webhook номер приходит ДО звонка |
Длительность | Данный параметр возвращает всегда "0", поскольку Webhook номер приходит ДО звонка |
Тип | Тип звонка: in |
Ожидание | Данный параметр не может быть захвачен, поскольку Webhook номер приходит ДО звонка |
Длительность разговора | Данный параметр возвращает всегда "0", поскольку Webhook номер приходит ДО звонка |
С кем соединен | Данный параметр не может быть захвачен, поскольку Webhook номер приходит ДО звонка |
Какой по счёту звонок | Возвращает сумму, какой по счету звонок с данного номера |
Целевой | Данный параметр не может быть захвачен, поскольку Webhook номер приходит ДО звонка |
Повторный | Данный параметр не может быть захвачен, поскольку Webhook номер приходит ДО звонка |
Источник | Источник перехода посетителя |
Канал | Канал трафика перехода посетителя |
Кампания | Рекламная кампания перехода |
Контент | Содержимое объявления в кампании |
Ключевое слово | Ключевое слово перехода на сайт |
Запись | Уникальный 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 |
ID менеджера | Данный параметр не может быть захвачен, поскольку Webhook номер приходит ДО звонка |
Добавочный номер | Добавочный номер, который клиент ввёл в меню IVR |
Ответственные менеджеры | Данный параметр не может быть захвачен, поскольку Webhook номер приходит ДО звонка |
custom | Кастомный параметр захваченный на сайте |
Roistat Visit ID | Номер визита Roistat |
ID проекта | Уникальный идентификатор проекта в Ringostat |
Сотрудник | ФИО сотрудника, который обработал звонок Данный параметр не может быть захвачен, поскольку Webhook номер приходит ДО звонка |
Отдел | Название отдела, в котором находится сотрудник, который обработал звонок. Данный параметр не может быть захвачен, поскольку Webhook номер приходит ДО звонка |
Целевой | Параметр принимает значение 0 или 1 в зависимости от того был ли звонок целевым |
Повторный | Параметр принимает значение 0 или 1 в зависимости от того был ли звонок повторным |
Код сотрудника | ID сотрудника, который обработал звонок. Данный параметр не может быть захвачен, поскольку Webhook номер приходит ДО звонка |
Исходящий номер | Номер, который отобразился клиенту при исходящем звонке от менеджера |
User agent | Все данные об устройстве пользователя, а также о браузере перехода |
Номер в формате E.164 | Номер в формате E.164. Номера по E.164 могут иметь максимум 15 цифр и обычно записываются с префиксом «+». |
Пример отправки параметров:
{
"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_med...
"roistat":"17541"
"employee_fio":"Иван Иванов"
"department":"Отдел продаж"
"proper_flag":"1"
"repeated_flag":"0"
"staffid":"1111"
"outbound_number":"380671234567"
"useragent":“Mozilla/5.0 (Linux; Android 8.0.0; LND-L29 Build/HONORLND-L29; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/96.0.4664.45 Mobile Safari/537.36”,
"project_id": “0000”,
"add_num_id":“102"
"E164":"+380561234567",
"agent_id":"1111"
"recording_wav":"https://app.ringostat.com/recordings/ua8_-11111111111.1111111.wav?token=462908f128343fc23862397ddd638953"
}
Это набор параметров, которые получит ваш обработчик
Настройка переадресации на 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}';
}
?>