Главная » Webhooks » Работа с Webhooks

Работа с Webhooks

Вы можете обрабатывать события виджета в собственном обработчике. Чтобы задействовать свой обработчик, необходимо указать его в личном кабинете («Индивидуальные настройки» => «Настройка интеграций»).

Перенаправление доступных событий на указанный вами внешний адрес (который и будет заниматься их обработкой), осуществляется посредством вебхуков.

Для обеспечения высокого уровня безопасности мы подписываем данные вашим ключом, чтобы вы могли быть уверены в том, что они получены от нашей системы.

Соответствующий раздел настроек можно найти в категории индивидуальных настроек виджета.

Webhook адрес — это прямая ссылка на Ваш обработчик. Он может выглядеть, например, так: myownsite.com/callbackhunter_handler.php.

Webhook ключ — это ключ, которым будут подписаны данные, отсылаемые нашей системой на внешний обработчик.

События — список событий, при которых происходит отправка вебхуков на указанный адрес.

Информация будет отправляться на ваш внешний обработчик (webhook-адрес) через POST-запрос. Выглядеть она будет так:

{
"event": "Название события",
"status": "Статус или действие над событием",
"data": "Информация по событию в формате JSON",
"signature": "md5(Ваш_ключ + data)"
}

Реальный пример данных вебхука при заказе отложенного звонка

{
"event": "call",
"status": "deferred",
"data": {
"site": "yoursite.com",
"user_id": "123",
"user_language": "ru",
"widget_id": "456",
"widget_timezone_offset": "7200",
"call_client_name": "Артем Виляев",
"call_client_phone": "+79111111111",
"manager_phone": "+79222222222",
"referer": "yoursite.com\/somepage.html",
"referer_original": "yandex.ru\/click\/jsredir....",
"entrance_page": "yoursite.com\/somepage?somequery",
"planned_call_date": "2016-01-12 12:00:00",
"call_request_date": "2016-01-11 23:41:16",
"office_name": "Варшавский-Офис",
"custom_cookie": "{}",
"sess_ip": "194.186.207.1",
"geo_location": "Россия, Москва",
"utm_source": "yandex",
"utm_medium": "",
"utm_term": "",
"utm_content": "",
"utm_campaign": "",
"widget_show_reason": "1"
},
"signature": "60d6c9fa2d7c659fadb8420174eb8422"
}

Сигнатура сформирована ключом: adawdasda.

Простой пример PHP скрипта, который обрабатывает webhooks:

$mySecretKey = 'adawdasda'; //Ключ, который указывается в кабинете,и, который используется проверки валидности запроса извне.

if(isset($_POST['signature'], $_POST['data']) && md5($mySecretKey . $_POST['data']) === $_POST['signature']){
//Да, данные пришли от Callbackhunter/ Можно проводить обработку
} else {
//Не переданы данные или попытка передачи "фальшивых" данных(запрос не от Callbackhunter)
}

Подробную информацию по поводу работы с каждым событием можно найти в соответствующих инструкциях:

  • Magnet-машина
  • Вопрос
  • Звонок
  • Сообщение в чате

Включение webhooks не отключает обработку событий по ним со стороны нашего сервиса. Письма и уведомления будут отправляться вам в штатном режиме.

Полезные статьи