Dokumentation / Webhooks
Webhooks
Richten Sie unter Einstellungen → Webhooks einen Endpunkt ein, und Meshwire sendet für jedes abonnierte Ereignis eine signierte JSON-Payload per POST.
Ereigniskatalog
| Ereignis | Beschreibung |
|---|---|
| bot.published | Eine neue Flow-Version wurde veröffentlicht |
| subscriber.created | Ein neuer Abonnent ist einem Bot beigetreten |
| subscriber.blocked | Ein Abonnent hat den Bot blockiert |
| broadcast.completed | Ein Broadcast wurde vollständig gesendet |
| broadcast.failed | Ein Broadcast konnte nicht gesendet werden |
| message.inbound | Eine eingehende Nachricht wurde empfangen |
Signaturen überprüfen
Jede Anfrage enthält einen X-Meshwire-Signature Header: einen HMAC-SHA256-Hex-Digest des rohen Anfragetexts, signiert mit Ihrem Endpunkt-Geheimnis.
const expected = crypto
.createHmac("sha256", endpointSecret)
.update(rawBody)
.digest("hex");
if (expected !== req.headers["x-botforge-signature"]) {
return res.status(401).end();
}Wiederholungen und Backoff
Zustellungen, die innerhalb von 5 Sekunden keinen 2xx-Status erhalten, werden mit exponentiellem Backoff wiederholt: 1 Min, 5 Min, 30 Min, 2 Std, dann 12 Std, für bis zu 24 Stunden. Nach dem letzten fehlgeschlagenen Versuch wird der Endpunkt markiert und Sie werden per E-Mail benachrichtigt. Endpunkte mit einer Fehlerrate von über 50 % innerhalb einer Stunde werden vorübergehend deaktiviert.
Payload-Beispiel
{
"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 }
}
}