WebHook API

Описание

WebHook API — это инструмент, который позволяет после определенных событий автоматически отправлять запросы на указанный Вами адрес.

Чтобы начать использовать WebHook API, добавьте адрес для отправки уведомлений в разделе Настройки → WebHook API.

Раздел WebHook API

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

Сервис будет отправлять запросы, пока не получить правильный ответ. Максимум 10 попыток. Задержка: Номер Попытки * 10 сек.

Состояния

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

Если при отправке запросов возникнет ошибка, в кабинете будет отображена эта информация.

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

Обработка ответа

Данные передаются в теле запроса в формате JSON. Пример кода на языке PHP для получения данных:

// Получение данных
$data = json_decode(file_get_contents('php://input'));

Внимание! Данные не будут доступны в массиве $_POST.

Формат данных

Проверка запроса

Оформление подписки

  • type: 'subscribe' (string) Тип уведомления

  • 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) Тип уведомления

  • object (array) Информация о подписчике

    • 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 (если есть)