Отправка информации о звонке с помощью webhook¶
Общее описание¶
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": "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",
"status": "ANSWER", // статус звонка
"file_id": null,
"duration": 20, // длительность вызова
"link": "" // запись разговора
}
Поле status может содержать одно из следующих значений:
-
ACRIVE - звонок в процессе;
-
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. Для этого в настройках сценария коллтрекинга перейдите к блоку Настройте интеграцию и в поле Webhook в момент звонка и/или Webhook после звонка укажите скопированный URL. Если вы хотите передавать дополнительную информацию в Webhook-уведомлении, укажите дополнительные поля.
Настройки сохранятся после нажатия кнопки сохранения сценария.
Адрес URL будет отображаться в том же текстовом поле.
Обратите внимание:
-
Уведомления могут отправляться только по одному адресу назначения.
-
Если на указанный адрес назначения не приходят уведомления о входящих звонках, необходимо проверить корректность указанного URL.
Для изменения URL укажите в текстовом поле другой адрес и нажмите Сохранить сценарий.
Чтобы удалить Webhook, удалите адрес URL из поля и нажмите Сохранить сценарий.