Документация / Вебхуки
Вебхуки
Настройте эндпоинт в разделе «Настройки → Вебхуки», и Meshwire будет отправлять POST-запросом подписанную JSON-нагрузку для каждого подписанного события.
Каталог событий
| Событие | Описание |
|---|---|
| bot.published | Опубликована новая версия сценария |
| subscriber.created | Новый подписчик присоединился к боту |
| subscriber.blocked | Подписчик заблокировал бота |
| broadcast.completed | Рассылка завершила отправку |
| broadcast.failed | Не удалось отправить рассылку |
| message.inbound | Получено входящее сообщение |
Проверка подписей
Каждый запрос включает заголовок X-Meshwire-Signature : шестнадцатеричный дайджест HMAC-SHA256 от исходного тела запроса, подписанный секретом вашего эндпоинта.
const expected = crypto
.createHmac("sha256", endpointSecret)
.update(rawBody)
.digest("hex");
if (expected !== req.headers["x-botforge-signature"]) {
return res.status(401).end();
}Повторы и задержка
Доставки, не получившие ответ 2xx в течение 5 секунд, повторяются с экспоненциальной задержкой: 1 мин, 5 мин, 30 мин, 2 ч, затем 12 ч, в течение до 24 часов. После неудачи последней попытки эндпоинт помечается, и вам придёт уведомление по электронной почте. Эндпоинты с частотой сбоев более 50% за 1 час временно отключаются.
Пример полезной нагрузки
{
"id": "evt_3n7f",
"type": "broadcast.completed",
"createdAt": "2024-05-02T14:03:11Z",
"data": {
"broadcastId": "bcast_7f1",
"botId": "bot_9k2",
"stats": { "total": 4210, "delivered": 4180, "blocked": 19, "failed": 11 }
}
}