Webhooks
Вебхуки позволяют получать данные о событиях внутри Колизея сторонним сервисам или скриптам.
На данный момент события всего два:
Информация о покупке товара.
Открытие уровня пользователем.
Настройки
Переходим в раздел «Настройки»«Webhooks/API».
URL сервера Указываем адрес сервера, на который будет отправлен post-запрос с данными. Желательно добавить какой-то секрет в параметрах и после его проверять. События Включаем то, что хотим получать.
Обработка
В ответ на каждое уведомление о событии ваш сервер должен отправить любой ответ с кодом 200. Если ответа нет или он имеет другой код, тогда после нескольких повторных попыток Колизей приостановит на время отправку запросов.
Формат данных
Данные передаются в теле запроса в формате JSON. Пример кода на языке PHP для получения данных:
$data = json_decode(file_get_contents('php://input'));
Внимание! Данные не будут доступны в массиве $_POST.
Покупка товара через Колизей
{
type: "market_new_order", // тип события
group_id: 1233, // id вашего сообщества
object: {
id: 1, // id заказа товара внутри Колизея
owner_id: 1233, // id источника товаров, если не меняли, значит ваше сообщество
pid: 234234, // id товара / если покупка через корзину, id первого товара
uid: 6764474666, // id пользователя
price: 200, // сколько нужно доплатить в валюте, конечная цена в деньгах
points: 5000, // сколько баллов было списано,
products: [ // массив товаров из корзины
{
id: 12, // id товара
count: 2, // количество
name: "Ролл «Цезарь»", // название товара
type: "vk", // тип товара; vk - через метки, internal - внутренний товар
tag: "@sale10", // название метки, если тип товара vk
}
],
questions: [ // массив вопросов
{
text: "Укажите адрес доставки", // текст вопроса
answer: "СССР" // ответ пользователя
}
],
date: 1591691367 // дата-время в unixtime
}
}
Открытие нового уровня
{
type: "level_new_open", // тип события
group_id: 1233, // id вашего сообщества
object: {
uid: 746456458, // id пользователя
level: 2, // уровень, который был открыт
date: 1591691367 // дата-время в unixtime
}
}
Last updated
Was this helpful?