Підключити власний
канал до HAPP
Вхідний webhook + outgoing endpoint —
і будь-яка платформа отримає AI-асистента за 10 хвилин.
Власна AI-інтеграція — дорого і довго
HAPP бере на себе AI, чергу повідомлень і безпеку — ви лише підключаєте два ендпоінти.
Розробка
6+
місяців розробки
NLP, обробка діалогів, зберігання контексту — без готового рішення команда витрачає місяці на розробку замість бізнес-логіки.
Масштаб
3×
більше інфраструктури
Надійна доставка повідомлень вимагає черг, retry-логіки і алертів — це окрема інфраструктура, яка потребує підтримки.
Безпека
HMAC
Без підпису HMAC будь-хто може надсилати підроблені повідомлення. Реалізувати і підтримувати безпеку коштує часу.
Ендпоінти
2
Що дає інтеграція
Підключіть будь-яку платформу — сайт, мобільний застосунок, CRM — до AI-асистента HAPP через два ендпоінти.
Вхідний webhook — будь-яка платформа
Надсилайте POST-запит із sender_id і text — HAPP обробить повідомлення і поверне відповідь AI.
AI відповідає миттєво цілодобово
Будь-яка платформа отримує AI-асистента, який відповідає вночі, у вихідні та на святах.
Будь-яка платформа за 10 хвилин
Сайт, CRM, мобільний застосунок, внутрішній інструмент — два ендпоінти і інтеграція готова.
Журнал усіх запитів для дебагінгу
Кожен вхідний і вихідний запит — payload, статус-код і час відповіді — зберігається в HAPP.
Мінімальний payload — максимальна гнучкість
Два поля для вхідного запиту, HMAC-підпис для безпеки. Передайте metadata — HAPP поверне їх у відповіді.
Що потрібно для підключення
HTTPS-endpoint на вашому боці і акаунт HAPP — більше нічого не потрібно.
Акаунт HAPP
Активний акаунт із налаштованим асистентом. Ще немає? Зареєструйтесь на my.happ.tools.
HTTPS outgoing endpoint
URL вашого сервера, на який HAPP надсилатиме відповіді AI. Тільки HTTPS — HTTP не підтримується з міркувань безпеки.
Доступ до коду вашої платформи
Потрібно додати відправку POST-запиту на HAPP webhook URL при отриманні повідомлення від користувача.
HMAC-секрет (опціонально)
HAPP підписує кожен запит HMAC-SHA256. Перевіряйте підпис на своєму боці — захист від підробки запитів.
Як підключити власний канал
Три кроки: скопіюйте webhook URL, налаштуйте надсилання повідомлень і вкажіть outgoing endpoint для відповідей.
Integrations
Messengers







Push Notifications
Крок 1: Знайдіть Custom Messenger
Відкрийте Інтеграції → Месенджери → Custom Messenger → Підключити
Простий JSON — будь-яка мова, будь-який фреймворк
Вхідний та вихідний payload — мінімальний JSON. Інтегруєте за лічені рядки коду на будь-якій мові.
Мій сайт
АктивноCustom Messenger
Нещодавні запити
/cm/abc12xyz
щойно
/cm/abc12xyz
2m
/cm/abc12xyz
5m
/cm/abc12xyz
12m
/cm/abc12xyz
18m
Деталі запиту
Вхідний запит
{
"sender_id": "user_42",
"text": "Привіт!",
"sender_name": "Dmytro",
"metadata": { "source": "website" }}Вихідна відповідь
{
"reply": "Привіт, Dmytro!",
"sender_id": "user_42",
"channel": "custom_messenger",
"metadata": { "source": "website" }}Мінімальна схема
Обов'язкові поля: sender_id і text. Додаткові: sender_name, metadata — ваші довільні дані, HAPP передає їх назад у відповіді.
Підпис HMAC-SHA256
HAPP додає заголовок X-HAPP-Signature з HMAC-SHA256 підписом тіла запиту. Перевіряйте на своєму боці для захисту від підробок.
Автоматичні повторні спроби
Якщо outgoing endpoint повертає помилку або не відповідає за 10 секунд — HAPP повторює запит 3 рази з експоненціальним відступом.
Що робити, якщо не підключається
Кожна помилка має конкретну причину — знайдіть свою і виправте за хвилину.
Підтримка
Не знайшли свою помилку?
Наша підтримка розбере вашу ситуацію індивідуально — напишіть нам у Telegram.
Написати в підтримку →Received
Computed from secret
HMAC_MISMATCH
Підпис
Підпис запиту не збігається
Перевірте, що ви обчислюєте HMAC-SHA256 від тіла запиту (не від URL) з правильним секретом із налаштувань HAPP.
Payload
Невалідний JSON або відсутні поля
Переконайтесь, що тіло запиту — валідний JSON і містить обов'язкові поля sender_id та text. Content-Type має бути application/json.
Таймаут
Outgoing endpoint не відповів вчасно
HAPP чекає відповідь 10 секунд. Якщо endpoint не відповідає — оптимізуйте обробник або поверніть HTTP 200 одразу, а обробку виконуйте асинхронно.
SSL
Outgoing endpoint без HTTPS
HAPP надсилає відповіді тільки на HTTPS-адреси. Встановіть TLS-сертифікат на вашому сервері або використайте реверс-проксі (nginx, Caddy).
Обмеження
Перевищено ліміт вхідних запитів
Custom Messenger приймає до 100 вхідних повідомлень на секунду на канал. Додайте чергу на стороні вашої платформи для рівномірного навантаження.
Endpoint
Outgoing endpoint недоступний
HAPP не може з'єднатися з вашим outgoing endpoint. Перевірте, що сервер запущений, порт відкритий і URL доступний ззовні.
Відключення та повторне підключення
Що відбувається з даними і як правильно відключити або відновити Custom Messenger канал.
Відключення
Як відключити канал
Три кроки — канал зупиниться, дані залишаться.
- 1Перейдіть до HAPP → Інтеграції → Custom Messenger.
- 2Натисніть «Відключити» поряд із назвою каналу.
- 3Підтвердіть дію у діалозі.
Що станеться після відключення
- Incoming Webhook URL перестане приймати запити
- Outgoing endpoint більше не отримуватиме відповіді
- Webhook URL можна повторно активувати в будь-який час
- Журнал запитів і діалоги збережуться в HAPP
Переподключення
Як перепідключити канал
Повторна активація — всі налаштування і дані збережуться.
- 1Перейдіть до HAPP → Інтеграції → Custom Messenger.
- 2Натисніть «Підключити» і підтвердіть outgoing endpoint.
- 3Натисніть «Перевірити підключення» — канал готовий.
Що збережеться після перепідключення
- Incoming Webhook URL залишається тим самим
- Всі налаштування каналу і HMAC-секрет
- Журнал запитів і вся історія діалогів
- Налаштування асистента і фільтрів
FAQ
Відповіді на найпоширеніші запитання про Custom Messenger інтеграцію.
Які поля обов'язкові у вхідному запиті?
Обов'язкові: sender_id (рядок — унікальний ID відправника у вашій системі) і text (рядок — текст повідомлення). Необов'язкові: sender_name (відображуване ім'я), metadata (об'єкт — довільні дані, HAPP повертає їх у відповіді).
Що HAPP надсилає на outgoing endpoint?
POST-запит із JSON: { "to": "<sender_id>", "text": "<відповідь AI>", "channel_id": "<id каналу>", "metadata": <ваш metadata> }. Заголовок X-HAPP-Signature містить HMAC-SHA256 підпис тіла запиту.
Як перевірити підпис HMAC-SHA256?
Обчисліть HMAC-SHA256 від тіла запиту (raw bytes) використовуючи HMAC-секрет із налаштувань каналу HAPP. Порівняйте hex-результат із значенням заголовку X-HAPP-Signature. Порівнюйте у constant-time щоб уникнути timing-атак.
Скільки каналів можна підключити?
Кількість Custom Messenger каналів не обмежена. Кожен канал отримує окремий Incoming Webhook URL, HMAC-секрет і може мати власний асистент або команду операторів.
Чи підтримуються медіафайли (зображення, файли)?
Так. Передайте поле attachments у вхідному запиті — масив об'єктів із полями type (image/file/audio) і url. HAPP передає медіа асистенту та зберігає у журналі діалогів.
Що станеться, якщо мій endpoint поверне помилку?
Якщо outgoing endpoint повертає HTTP 4xx або 5xx або не відповідає за 10 секунд — HAPP повторює запит ще 3 рази з інтервалами 5, 15 і 60 секунд. Всі невдалі спроби фіксуються у журналі.
Як протестувати інтеграцію локально?
Використайте ngrok або Cloudflare Tunnel для отримання публічного HTTPS URL для вашого локального сервера. Після підключення скористайтесь кнопкою «Надіслати тест» у налаштуваннях каналу HAPP — HAPP надішле реальний запит на ваш endpoint.