Вебхуки: підключити платний канал до своїх сервісів
Коли підписників стає багато, дані з каналу потрібні деінде: у таблиці, CRM, чаті команди. Вебхук — це спосіб віддати їх туди автоматично.
Поки підписників двадцять, ви тримаєте все в голові. Коли їх дві тисячі, з'являються питання, на які адмінка не має відповідати: як передати нового платника в CRM, як скласти власний звіт у таблиці, як повідомляти команду в робочий чат про кожне скасування.
Для цього існують вебхуки. Пояснимо без технічного жаргону.
Що таке вебхук
Уявіть, що ви попросили платформу: «коли в мене щось стається — одразу повідом мене на цю адресу». Вебхук саме це й робить. Щойн настає подія — нова оплата, скасування, закінчення підписки — система сама надсилає коротке повідомлення на вказаний вами інтернет-адресу.
Різниця з ручним експортом принципова: вам не треба нічого запитувати й нічого перевіряти. Дані приходять самі, у момент події.
Найпростіша аналогія — сповіщення на телефон, тільки адресат не людина, а інша програма.
Що з цим роблять на практиці
Складають власні звіти. Кожен платіж падає рядком у вашу таблицю. Далі рахуйте що завгодно: динаміку по тарифах, сезонність, ефективність акцій — так, як зручно вам, а не як передбачила адмінка.
Ведуть CRM. Новий платник автоматично з'являється у вашій базі клієнтів з тарифом і датою. Особливо цінно, якщо у вас є ще й офлайн-послуги або консультації, і ви хочете бачити одну людину цілком.
Повідомляють команду. Кожне скасування падає в робочий чат — і той, хто відповідає за утримання, реагує сьогодні, а не дізнається наприкінці місяця.
Запускають автоматизації. Через сервіси-конектори подію можна перетворити на будь-яку дію: лист із бонусом новому підписнику, задача в таскері, позначка в розсилці.
Синхронізують із чимось своїм. Якщо у вас є власний сайт чи застосунок, вебхук — найпростіший спосіб тримати доступи в актуальному стані.
Які події справді варто ловити
Не намагайтеся обробляти все. Практична цінність зосереджена у життєвому циклі підписки:
- оплата пройшла — головна подія, з неї починається будь-яка автоматизація;
- підписка активована — людина отримала доступ;
- підписка скасована — сигнал для утримання, найцінніша подія після оплати;
- підписка закінчилась — привід для win-back;
- повернення коштів — важливо для обліку.
Починайте з двох: оплата й скасування. Це покриває 80% практичної користі.
Про що варто знати заздалегідь
Підпис. Разом із повідомленням надсилається криптографічний підпис, зроблений вашим секретним ключем. Він потрібен, щоб ваш сервіс міг переконатися: повідомлення справді від платформи, а не від сторонньої людини, яка вгадала адресу. Перевіряйте підпис завжди — інакше будь-хто зможе надсилати вам фальшиві «оплати».
Доставка не гарантована абсолютно. Якщо ваш сервер лежить, спроби повторюються кілька разів, але не вічно. Тому вебхук — чудовий інструмент для автоматизації й поганий — як єдине джерело правди для бухгалтерії. Первинні дані завжди лишаються в системі.
Повторні надсилання можливі. Ваш обробник має бути готовий отримати ту саму подію двічі й не створити другого клієнта. Технічно це вирішується перевіркою ідентифікатора події.
Адреса має бути публічною й захищеною. Локальні й внутрішні адреси не приймаються — це захист від зловживань.
Кому це потрібно, а кому ні
Вебхуки — інструмент масштабу. Якщо у вас сто підписників і одна таблиця, ви витратите на налаштування більше часу, ніж зекономите.
Вони починають окупатися, коли: у вас є команда, якій потрібні сповіщення; є зовнішня система, де клієнт має існувати; або ви хочете аналітику, якої немає в стандартній адмінці.
Технічна частина
У RybkaOS вихідний вебхук налаштовується в кабінеті: ви вказуєте адресу свого сервісу й отримуєте секретний ключ для перевірки підпису. Події життєвого циклу підписки — оплати, активації, скасування, закінчення, повернення — надсилаються автоматично, підписані за алгоритмом HMAC-SHA256. Доставка виконується з кількома повторними спробами, а останні надсилання видно в кабінеті разом із кнопкою тестового виклику — тож перевірити інтеграцію можна одразу, не чекаючи реальної оплати.
Якщо ви досі копіюєте платежі в таблицю руками — саме тут ця робота закінчується.