Перейти к содержанию

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:

1.png

Настройки сохранятся после нажатия кнопки сохранения сценария .

Адрес URL будет отображаться в том же текстовом поле.

Внимание!

Уведомления могут отправляться только по 1-му адресу назначения.

Внимание!

Если на указанный адрес назначения не приходят уведомления о входящих звонках, необходимо проверить корректность указанного URL.

Для изменения URL достаточно указать в текстовом поле другой адрес и сохранить его с помощью кнопки «Сохранить сценарий».

Для отключения Webhook следует удалить адрес URL из поля и нажать кнопку «Сохранить сценарий».