Вебхуки (Webhooks) – это метод передачи данных, который позволяет отправлять события в реальном времени от одной системы к другой. В качестве примера можно привести показ карточки звонка в CRM-системе (для таких CRM систем как АМО и Bitrix24 у Call-tracking.by есть готовые интеграции, которые настраиваются в личном кабинете на вкладке "Интеграции").
В нашем случае, вебхуки используются для отправки уведомлений о звонках от all-tracking.by к другим системам. Данная документация предназначена для разработчиков, которые хотят интегрировать нашу систему с другой системой с помощью вебхуков.
Данное решение поддерживают только номера А1 и МТС, так как обновление статистики производится в режиме реального времени (недоступно при использовании номеров колл-трекинг оператора Белтелеком)
Для того, чтобы настроить получение уведомлений, вам необходимо в личном кабинете Call-tracking,by перейти на вкладку "Интеграции" и выбрать создание собственной интеграции.
Настройка вебхуков для отправки уведомлений о звонках
Блок "Основные"
1. Настройте URL-адрес конечной точки (endpoint URL), на который будут отправляться уведомления о звонках.
2. Выберите подходящий HTTP-метод для отправки уведомлений.
3. Решите, требуется ли проверка SSL-сертификата при установлении соединения с вашим сервером. Если требуется, убедитесь, что ваш сервер поддерживает SSL и имеет действующий SSL-сертификат.
Блок "События"
Решите, какие ивенты (события) вы хотите получать. По умолчанию будут отправляться все события о звонках, однако вы можете выбрать конкретные события.
Блок "Передача данных"
Определите параметры, которые вы хотите получать.
Вы можете также изменить имена параметров, чтобы они соответствовали вашей системе или требованиям.
Подробнее про параметры читайте ниже.
Блок "Дополнительно" (опциональный)
Определите дополнительные параметры, которые вы хотите получать. Вы можете выбрать до 5 параметров и указать для каждого параметра имя и значение. Эти параметры можно использовать, например, для аутентификации. Наиболее распространенный пример - некоторый ключ, чтобы никто больше не мог отправить вам запросы, или же указание о том, что запросы приходят из системы Call-tracking.by. Для этого предусмотрены дополнительные настройки.
Настройка завершена. Все поля можно изменить при необходимости.
На указанный адрес вам будут отправлены следующие параметры:
{ "webhook_name" => call_end",
"time" => "2019-05-10T15:24:49+03:00",
"call_status" => "end", "pbx_id" => "1557491089.930439", "campaign_id" => "777", "campaign_name" => "Контекст", "stat_source" => "Контекст гугл", "duration" => "102.0", "caller_number" => "+375290000000", "ads_number" => "+375295555555", "answer_number" => "+375297777777", "audio_path" => "https://vrecords.call-tracking.by/monitor/04ec5d3b", "utm_keyword" => "купить минск", "utm_campaign" => "minsk-t", "utm_source" => "google", "utm_medium" => "cpc", "utm_content" => "content", "roistat_id" => "",
"calltouch_id" => "asasasas", "google_analytics_id" => "", "yandex_metrica_id" => "", "custom_param" => "custom_value" }
Параметры
webhook_name: название события | string | Возможные значения: call_start, call_answer, call_end |
time: время звонка | string | Время в формате iso8601 |
call_status: статус звонка | string | Текущее событие (статус). Возможные значения: start, answer, end, busy, abandon. |
pbx_id: уникальный идентификатор звонка | string | |
campaign_id: уникальный идентификатор рекламной кампании колл-трекинг | integer | |
campaign_name: имя кампании в системе колл-трекинг. | integer | Имя кампании задается системой колл-трекинга. Можно посмотреть в личном кабинете на вкладке "Настройки", блок "Активные кампании". |
stat_source: нормализованный источник звонка | string | Сформирован на основании utm-меток, реферала и названия отслеживаемого источника. |
duration: продолжительность звонка | double | Для события начала звонка и ответа - продолжительность звонка нулевая. |
caller_number: номер звонившего | string | |
ads_number: номер колл-трекинг, на который поступил звонок | string | Номер колл-трекинг, который был показан клиенту на сайте или размещен офлайн. |
answer_number: номер, который ответил на звонок | string | Пустая строка в случае, если звонок не отвечен. |
audio_path: ссылка на запись разговора | string | Запись по ссылке доступна, пока запись хранится в личном кабинете (исходя из настроек хранения записей в личном кабинете клиента). |
utm_keyword: ключевое слово | string | В случае, если звонок поступил по динамической кампании. |
utm_source: источник трафика | string | В случае, если звонок поступил по динамической кампании. |
utm_campaign: рекламная кампания | string | В случае, если звонок поступил по динамической кампании. |
utm_medium: тип трафика | string | В случае, если звонок поступил по динамической кампании. |
utm_content: содержание рекламной кампании | string | В случае, если звонок поступил по динамической кампании. |
roistat_id: уникальный идентификатор Roistat | string | Доступен только при использовании динамического коллтрекинга и при наличии на сайте скрипта Roistat. |
google_analytics_id: уникальный идентификатор Google Analytics | string | Доступен только при использовании динамического коллтрекинга и при наличии на сайте скрипта Google Analytics. |
yandex_metrica_id: уникальный идентификатор Яндекс Метрики | string | Доступен только при использовании динамического коллтрекинга и при наличии на сайте скрипта Яндекс Метрики. |
calltouch_id: уникальный идентификатор сквозной аналитики Calltouch | string | Доступен только при использовании динамического коллтрекинга и при наличии на сайте скрипта сквозной аналитики Calltouch. Сбор данного параметра включается по запросу личному менеджеру Call-tracking.by |
custom_param: дополнительный параметр | string | Параметр, который вы прописываете в блоке "Дополнительно". |