Zum Hauptinhalt springen

🔗 Webhooks

Webhooks sind die Art, wie Kanalanbieter PulseHub benachrichtigen, wenn etwas passiert — ein Kunde sendet eine Nachricht, ein Zustellstatus ändert sich, etc.


Webhook-URL-Muster

https://ihredomain.com/webhooks/{channel_type}/{channel_id}

Webhook-Verifizierung (GET-Anfragen)

Einige Anbieter verifizieren Ihre Webhook-URL mit einer Challenge, bevor sie echte Nachrichten senden:

WhatsApp / Facebook / Instagram

PulseHub prüft hub.verify_token und gibt hub.challenge zurück.

Telegram

Keine Verifizierungs-GET — das Setzen des Webhooks über die Bot API reicht aus.

Viber

Sendet ein conversation_started-Event beim ersten Öffnen. PulseHub gibt {"status": 0} zurück.


Signaturverifizierung

AnbieterHeaderGeheimnis
WhatsApp/Facebook/InstagramX-Hub-Signature-256App Secret
ViberX-Viber-Content-SignatureAuth Token
TwilioURL-basierte Sicherheit
TelegramUUID-basierte URL-Sicherheit

Alle HMAC-Vergleiche verwenden hash_equals() (konstante Zeit).


Event-Protokollierung

Jeder Webhook-Payload wird in der webhook_events-Tabelle mit status = pending protokolliert. Nach Verarbeitung: processed. Bei Fehlschlag: failed.


Wiederholung fehlgeschlagener Webhooks

Der Cron-Job wiederholt fehlgeschlagene Events bis zu 5 Mal innerhalb von 24 Stunden.