Для розробників

Підключити власний канал до HAPP

Вхідний webhook + outgoing endpoint — і будь-яка платформа отримає AI-асистента за 10 хвилин.

Без HAPP

Власна AI-інтеграція — дорого і довго

HAPP бере на себе AI, чергу повідомлень і безпеку — ви лише підключаєте два ендпоінти.

Розробка

6+

місяців розробки

NLP, обробка діалогів, зберігання контексту — без готового рішення команда витрачає місяці на розробку замість бізнес-логіки.

Масштаб

3×

більше інфраструктури

Надійна доставка повідомлень вимагає черг, retry-логіки і алертів — це окрема інфраструктура, яка потребує підтримки.

Безпека

HMAC

Без підпису HMAC будь-хто може надсилати підроблені повідомлення. Реалізувати і підтримувати безпеку коштує часу.

Ендпоінти

2

Можливості

Що дає інтеграція

Підключіть будь-яку платформу — сайт, мобільний застосунок, CRM — до AI-асистента HAPP через два ендпоінти.

POST/webhook/cm_abc123
sender_id"user_42"
text"Привіт!"
metadata{…}

Вхідний webhook — будь-яка платформа

Надсилайте POST-запит із sender_id і text — HAPP обробить повідомлення і поверне відповідь AI.

24/7

AI відповідає миттєво цілодобово

Будь-яка платформа отримує AI-асистента, який відповідає вночі, у вихідні та на святах.

Website
iOS App
Android
CRM
Telegram
Custom

Будь-яка платформа за 10 хвилин

Сайт, CRM, мобільний застосунок, внутрішній інструмент — два ендпоінти і інтеграція готова.

POST/webhook/cm_abc123200
POST/your-endpoint200
POST/webhook/cm_abc123200
POST/your-endpoint500

Журнал усіх запитів для дебагінгу

Кожен вхідний і вихідний запит — payload, статус-код і час відповіді — зберігається в HAPP.

Вхідний запит
sender_id"user_42"
text"Привіт!"
metadata{…}
Відповідь HAPP
to"user_42"
text"Привіт! Чим допомогти?"
channel_id"cm_abc123"

Мінімальний payload — максимальна гнучкість

Два поля для вхідного запиту, HMAC-підпис для безпеки. Передайте metadata — HAPP поверне їх у відповіді.

sender_id + text — єдині обов'язкові поля
X-HAPP-Signature: HMAC-SHA256 у кожній відповіді
metadata передається без змін туди і назад
Перед початком

Що потрібно для підключення

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 для відповідей.

my.happ.tools / integrations

Integrations

Messengers

Telegram
Telegram
Receive incoming messages from customers
Send messages on behalf of the assistant
Telegram Bot
Telegram Bot
Connect your Telegram bot to receive messages
Automated responses via Bot API
Instagram
Instagram
Receive incoming messages and requests
Send messages and automate responses
Messenger
Messenger
Integration with Facebook Messenger
Receive and send messages
WhatsApp Bus...
WhatsApp Bus...
Receive messages from customers in WhatsApp Business
Send messages and automated replies
WhatsApp
WhatsApp
Receive messages from customers in WhatsApp
Send messages and auto-replies
Viber E-chat
Viber E-chat
Template responses and automated messaging
Customer correspondence and chat management
Cu
Custom Messe...
Connect your own messenger via webhooks
Send AI replies back to your system
Wi
Widget
Embeddable chat widget for your website
Real-time conversations with AI assistant

Push Notifications

Крок 1: Знайдіть Custom Messenger

Відкрийте Інтеграції → Месенджери → Custom Messenger → Підключити

Формат payload

Простий JSON — будь-яка мова, будь-який фреймворк

Вхідний та вихідний payload — мінімальний JSON. Інтегруєте за лічені рядки коду на будь-якій мові.

my.happ.tools / integrations / custom-messenger
CM

Мій сайт

Активно

Custom Messenger

Налаштування
Webhook URL
Журнал запитів

Нещодавні запити

POST

/cm/abc12xyz

щойно

2000.6s
POST

/cm/abc12xyz

2m

2000.5s
POST

/cm/abc12xyz

5m

2000.7s
POST

/cm/abc12xyz

12m

2000.4s
POST

/cm/abc12xyz

18m

2000.8s

Деталі запиту

200 OK0.6s

Вхідний запит

{
  "sender_id": "user_42",
  "text": "Привіт!",
  "sender_name": "Dmytro",
  "metadata": {    "source": "website"  }}
POSTapplication/json

Вихідна відповідь

{
  "reply": "Привіт, Dmytro!",
  "sender_id": "user_42",
  "channel": "custom_messenger",
  "metadata": {    "source": "website"  }}
X-HAPP-Signature: sha256=a1b2c3…

Мінімальна схема

Обов'язкові поля: sender_id і text. Додаткові: sender_name, metadata — ваші довільні дані, HAPP передає їх назад у відповіді.

Підпис HMAC-SHA256

HAPP додає заголовок X-HAPP-Signature з HMAC-SHA256 підписом тіла запиту. Перевіряйте на своєму боці для захисту від підробок.

Автоматичні повторні спроби

Якщо outgoing endpoint повертає помилку або не відповідає за 10 секунд — HAPP повторює запит 3 рази з експоненціальним відступом.

Типові помилки

Що робити, якщо не підключається

Кожна помилка має конкретну причину — знайдіть свою і виправте за хвилину.

?

Підтримка

Не знайшли свою помилку?

Наша підтримка розбере вашу ситуацію індивідуально — напишіть нам у Telegram.

Написати в підтримку
X-HAPP-Signature✗ invalid

Received

sha256=a1b2c3d4e5f6…

Computed from secret

●●●●●●●●●●●●●

HMAC_MISMATCH

Підпис

Підпис запиту не збігається

Перевірте, що ви обчислюєте HMAC-SHA256 від тіла запиту (не від URL) з правильним секретом із налаштувань HAPP.

request.json
422
{
"text":"Hello"
"sender_id"required
}

Payload

Невалідний JSON або відсутні поля

Переконайтесь, що тіло запиту — валідний JSON і містить обов'язкові поля sender_id та text. Content-Type має бути application/json.

POST /webhooktimeout
Response time10.0s
0s5s10s
No response received

Таймаут

Outgoing endpoint не відповів вчасно

HAPP чекає відповідь 10 секунд. Якщо endpoint не відповідає — оптимізуйте обробник або поверніть HTTP 200 одразу, а обробку виконуйте асинхронно.

Endpoint URL
http://api.site…
https://api.site…

SSL

Outgoing endpoint без HTTPS

HAPP надсилає відповіді тільки на HTTPS-адреси. Встановіть TLS-сертифікат на вашому сервері або використайте реверс-проксі (nginx, Caddy).

Request rate429
limit 100

Обмеження

Перевищено ліміт вхідних запитів

Custom Messenger приймає до 100 вхідних повідомлень на секунду на канал. Додайте чергу на стороні вашої платформи для рівномірного навантаження.

Outbound delivery503
HAPP
your server
connect ECONNREFUSED https://api…

Endpoint

Outgoing endpoint недоступний

HAPP не може з'єднатися з вашим outgoing endpoint. Перевірте, що сервер запущений, порт відкритий і URL доступний ззовні.

Управління інтеграцією

Відключення та повторне підключення

Що відбувається з даними і як правильно відключити або відновити Custom Messenger канал.

Відключення

Як відключити канал

Три кроки — канал зупиниться, дані залишаться.

  1. 1Перейдіть до HAPP → Інтеграції → Custom Messenger.
  2. 2Натисніть «Відключити» поряд із назвою каналу.
  3. 3Підтвердіть дію у діалозі.

Що станеться після відключення

  • Incoming Webhook URL перестане приймати запити
  • Outgoing endpoint більше не отримуватиме відповіді
  • Webhook URL можна повторно активувати в будь-який час
  • Журнал запитів і діалоги збережуться в HAPP

Переподключення

Як перепідключити канал

Повторна активація — всі налаштування і дані збережуться.

  1. 1Перейдіть до HAPP → Інтеграції → Custom Messenger.
  2. 2Натисніть «Підключити» і підтвердіть outgoing endpoint.
  3. 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.

Готові підключити
власний канал?

Наші контакти

+380

Ми використовуємо cookies для аналізу трафіку та покращення вашого досвіду. Політика конфіденційності