Webhook-уведомление от Roistat¶
Общее описание¶
Webhook - это механизм получения уведомлений об определенном событии.
Webhook в подмене номеров - это механизм отслеживания ваших входящих звонков посредством отправки стороннему приложению уведомлений с параметрами звонков.
С помощью Webhook можно отправлять информацию о входящем звонке.
Принцип работы¶
Информацию о входящем звонке можно отправлять в стороннюю систему во время звонка и после него.
Информация в Webhook отправляется независимо от того, был ли отправлен проксилид. Ограничений на отправку данных нет.
Webhook в момент звонка¶
В момент звонка автоматически отправляется POST-запрос по адресу назначения.
Под моментом звонка подразумевается тот момент, когда Roistat набирает номер телефона клиента.
Данные о звонке передаются в теле POST-запроса в виде JSON-объекта:
{
"id": "313", // уникальный номер звонка
"caller": "79990009911", // номер абонента
"callee": "78005552233", // набранный номер
"visit_id": "123456", // номер визита
"marker": "vk_new", // источник визита
"order_id": 123456789, // ID сделки в CRM-системе
"date": "2019-02-19 00:00:00", // дата звонка
"google_client_id": "111111111.1111111111", // номер клиента в Google Analytics
"custom_fields": [], // дополнительные поля сделки
"landing_page": "test.com/new", // посадочная страница
"domain": "test.com",
"city": "Москва", // город
"country": "Россия", // страна
"ip": "100.100.1.1", // IP-адрес
"first_visit": "1001", // первый визит
"referrer": "vk.com", // страница источника
"utm_source": null,
"utm_medium": null,
"utm_campaign": null,
"utm_term": null,
"utm_content": null,
"roistat_param_1": null,
"roistat_param_2": null,
"roistat_param_3": null,
"roistat_param_4": null,
"roistat_param_5": null,
"metrika_client_id": null,
"source_level_1": "vk",
"source_level_2": "new"
}
Webhook после звонка¶
После завершения входящего звонка Webhook автоматически отправляет POST-запрос по адресу назначения.
Данные о звонке передаются в теле POST-запроса в виде JSON-объекта:
{
"id": "313", // уникальный номер звонка
"caller": "79990009911", // номер абонента
"callee": "78005552233", // набранный номер
"visit_id": "123456", // номер визита
"marker": "vk_new", // источник визита
"order_id": 123456789, // ID сделки в CRM-системе
"date": "2019-02-19 00:00:00", // дата звонка
"google_client_id": "111111111.1111111111", // номер клиента в Google Analytics
"custom_fields": [], // дополнительные поля сделки
"landing_page": "test.com/new", // посадочная страница
"domain": "yartsew94.myjino.ru",
"city": "Москва", // город
"country": "Россия", // страна
"ip": "100.100.1.1", // IP-адрес
"first_visit": "1001", // первый визит
"referrer": "vk.com", // страница источника
"utm_source": null,
"utm_medium": null,
"utm_campaign": null,
"utm_term": null,
"utm_content": null,
"roistat_param_1": null,
"roistat_param_2": null,
"roistat_param_3": null,
"roistat_param_4": null,
"roistat_param_5": null,
"metrika_client_id": null,
"source_level_1": "vk",
"source_level_2": "new",
"status": "ANSWER", // статус звонка
"file_id": null,
"duration": 20, // длительность вызова
"link": "" // запись разговора
}
Поле status может содержать одно из следующих значений:
-
ANSWER - звонок был принят и обработан сотрудником;
-
BUSY - входящий звонок был, но линия была занята;
-
NOANSWER - входящий вызов состоялся, но в течение времени ожидания ответа не был принят сотрудником;
-
CANCEL - входящий вызов состоялся, но был завершен до того, как сотрудник ответил;
-
CONGESTION - вызов не состоялся из-за технических проблем;
-
CHANUNAVAIL - вызываемый номер был недоступен;
-
DONTCALL - входящий вызов был отменен;
-
TORTURE - входящий вызов был перенаправлен на автоответчик.
Пример обработчика, дополняющего лог:
<?php
$data = json_decode(trim(file_get_contents('php://input')), true);
file_put_contents('webhook-log.txt', "{$data['caller']} -> {$data['callee']}\n", FILE_APPEND); // В $data будет массив ключ => значение с информацией о звонке, описанной выше
Внимание!
Обратите внимание, что информация передается в JSON формате $id = $_POST['id']; // Неверно
Настройка Webhook¶
Настройка Webhook проводится в 2 шага.
1 шаг. Определение URL стороннего приложения .
Скопируйте адрес URL стороннего приложения, на который должны приходить уведомления из Roistat.
2 шаг. Настройка URL в Roistat.
Чтобы настроить Webhook, достаточно указать адрес URL, на который должны отправляться оповещения из Roistat.
Для этого в настройках сценария коллтрекинга перейдите к Шагу 5 «Настройте интеграции» и в поле «Webhook в момент звонка» и/или «Webhook после звонка» укажите скопированный URL:
Настройки сохранятся после нажатия кнопки сохранения сценария .
Адрес URL будет отображаться в том же текстовом поле.
Внимание!
Уведомления могут отправляться только по 1-му адресу назначения.
Внимание!
Если на указанный адрес назначения не приходят уведомления о входящих звонках, необходимо проверить корректность указанного URL.
Для изменения URL достаточно указать в текстовом поле другой адрес и сохранить его с помощью кнопки «Сохранить сценарий».
Для отключения Webhook следует удалить адрес URL из поля и нажать кнопку «Сохранить сценарий».