WebHook API — это инструмент, который позволяет после определенных событий отправлять запросы на указанный Вами адрес.
Чтобы начать использовать WebHook API, добавьте адрес для отправки уведомлений в разделе Настройки → WebHook API.
В ответ на каждое уведомление о событии Ваш сервер должен отправить любой ответ с кодом 200.
Сервис будет отправлять запросы, пока не получить правильный ответ. Максимум 10 попыток. Задержка: Номер Попытки * 10 сек.
По-умолчанию добавленный сервер будет находится в активном состоянии и на него будут отправляться уведомления.
Если при отправке запросов возникнет ошибка, в кабинете будет отображена эта информация.
Когда количество ошибок будет больше 200, то отправка уведомлений будет остановлена. Когда вы устраните все проблемы на своем сервере, то можно будет возобновить отправку уведомлений.
Данные передаются в теле запроса в формате JSON. Пример кода на языке PHP для получения данных:
// Получение данных$data = json_decode(file_get_contents('php://input'));
Внимание! Данные передаются НЕ в массиве $_POST.
type: 'check' (string) Тип уведомления
secret (string) Секретный ключ Callback API ВКонтакте
type: 'subscribe' (string) Тип уведомления
secret (string) Секретный ключ Callback API ВКонтакте
object (object) Информация о подписчике
vk_group_id: 123123 (int) Идентификатор сообщества ВК
date: '2019-09-09 17:48:25' (string) Дата подписки
unixtime: '1568065705' (int) Дата подписки в формате unixtime
subscription_id: 123123 (int) Идентификатор группы подписчиков (Если 0, то без группы)
vk_user_id: 123123 (int) Идентификатор пользователя ВК
source: 'subscription' (string) Источник подписки
first: 1 (int) Передается 1, если пользователя не было в базе до подписки
utm_id: 123123 (int) Передается идентификатор метки (если есть)
utm_source: 'test' (string) Передается utm_source (если есть)
utm_medium: 'test' (string) Передается utm_medium (если есть)
utm_campaign: 'test' (string) Передается utm_campaign (если есть)
utm_content: 'test' (string) Передается utm_content (если есть)
utm_term: 'test' (string) Передается utm_term (если есть)
type: 'unsubscribe' (string) Тип уведомления
secret (string) Секретный ключ Callback API ВКонтакте
object (object) Информация о подписчике
vk_group_id: 123123 (int) Идентификатор сообщества вконтакте
date: '2019-09-09 17:48:25' (string) Дата подписки
unixtime: '1568065705' (int) Дата подписки в формате unixtime
subscription_id: 123123 (int) Идентификатор группы подписчиков
vk_user_id: 1 (int) Идентификатор пользователя вконтакте
source: 'subscription' (string) Источник отписки
full_unsubscribe: 1 (int) Передается 1, если подписчик полностью отписался от сообщений
utm_id: 123123 (int) Передается идентификатор метки (если есть)
utm_source: 'test' (string) Передается utm_source (если есть)
utm_medium: 'test' (string) Передается utm_medium (если есть)
utm_campaign: 'test' (string) Передается utm_campaign (если есть)
utm_content: 'test' (string) Передается utm_content (если есть)
utm_term: 'test' (string) Передается utm_term (если есть)
В запросах добавляется заголовок user-agent:
Mozilla/5.0 (compatible; SenlerWebhook/1.0; +https://help.senler.ru/dev/webhook-api)