Вебхук — це ваша адреса, на яку ми робимо POST, коли на підключеному обліковому записі щось відбувається: приходить повідомлення, додається контакт, обліковий запис потребує уваги. Він замінює опитування в циклі, а в API з обмеженнями це не питання смаку, а різниця між «працює» і «не працює».
Перевіряйте підпис. Щоразу.
Ваша точка прийому стоїть у відкритому інтернеті, і все, що до неї дотягнеться, може надіслати туди що завгодно. Кожна доставка несе підпис, обчислений із секрету, який є лише у вас і в нас; перевірте його до читання тіла й порівнюйте за сталий час, а не порівнянням рядків, що виходить на першій же відмінності.
Розраховуйте отримати ту саму подію двічі
Доставка — щонайменше один раз. Якщо ваша точка прийому повільна, повернула 500 або просто так виглядає, та сама подія прийде знову. Це не збій, про який треба повідомляти; це домовленість. Зробіть обробник ідемпотентним, і проблема зникне.
Відповідайте 200 швидко, а роботу робіть після. Обробник, що десять секунд кличе інші API, перш ніж відповісти, — це обробник, який повторять, доки він ще працює.
Часті запитання
У мого асистента немає сервера. Чи можуть до нього надходити вебхуки?
Так — через вхідні вашого ШІ: вебхук, який ми тримаємо для вашого ШІ, а не надсилаємо кудись. У ньому зберігається кожна подія у ваших підключених облікових записах за 30 днів, і асистент або агент кімнати з позначеним MakeHybrid читає її на запит.
Чи може вебхук запустити ШІ-агента в проєктній кімнаті?
Напряму ні, бо кімнати відповідають на повідомлення. Обробник вашого вебхука може увійти в кімнату як зовнішній ШІ-агент і написати туди подію, згадавши агента, який має на неї відреагувати.