Webhook Интеграция
Синхронизация данных с внешними системами.
Обзор
Ваша система отправляет HTTP POST запросы на URL Gupil при событиях (покупка, регистрация). Gupil обрабатывает их и обновляет балансы.
URL: https://yourdomain.com/api/webhook/{secret_key}
Method: POST
Content-Type: application/json
События
Регистрация (register_user)
{
"action": "register_user",
"payload": {
"email": "client@mail.com",
"phone": "+79000000000",
"first_name": "Name"
}
}Покупка (purchase)
{
"action": "purchase",
"payload": {
"user_email": "client@mail.com",
"order_id": "12345",
"amount": 1000,
"products": []
}
}Списание (spend_bonuses)
{
"action": "spend_bonuses",
"payload": {
"user_email": "client@mail.com",
"bonuses_amount": 100,
"order_total": 1000
}
}Безопасность
Используйте заголовок X-Webhook-Signature HMAC SHA256 для верификации отправителя.
Секретный ключ доступен в настройках проекта.
Примеры кода
PHP
$data = ['action' => 'purchase', ...];
curl_setopt($ch, CURLOPT_URL, $webhook_url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_exec($ch);Node.js
await axios.post(webhook_url, {
action: 'purchase',
payload: { ... }
});Тестирование
Используйте Postman или cURL для отправки тестовых запросов. Проверяйте результат в разделе Логи админ панели.
Last updated on