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

Отправка информации о звонке с помощью webhook

Общее описание

Webhook - это механизм получения уведомлений об определенном событии.

Webhook в подмене номеров - это механизм отслеживания ваших входящих звонков посредством отправки стороннему приложению уведомлений с параметрами звонков.

С помощью Webhook можно отправлять информацию о входящем звонке.

Принцип работы

Информацию о входящем звонке можно отправлять в стороннюю систему во время звонка и после него.

Информация в Webhook отправляется независимо от того, был ли отправлен проксилид (информация о заявке, передаваемая в Roistat). Ограничений на отправку данных нет.

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 может содержать одно из следующих значений:

  • 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-уведомлении, укажите дополнительные поля.

1.png

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

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

Обратите внимание:

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

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

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

Чтобы удалить Webhook, удалите адрес URL из поля и нажмите Сохранить сценарий.