Real-time
Webhooks & events.
Subscribe your backend to WhatsApp events. Buzpo delivers HMAC-signed POSTs with retries; the engine mirrors Baileys's "log + continue" semantics so a slow webhook never blocks delivery.
Per-session URLs
Each session can have its own webhook endpoint and HMAC secret.
No sessions configured yet.
Event types
v1- livemessage_receivedInbound text/media from any peer or group
- livemessage_sentOutbound message acked by WhatsApp
- livemessage_failedSend failure surfaced from the gateway
- liveqr_updatedFresh QR ready during pairing
- livesession.connectedSession opened a live WhatsApp Web socket
- livesession.disconnectedSocket closed (auto-reconnect pending)
- livesession.logged_outPhone unlinked — fresh QR required
Verify signatures
Every delivery includes X-Buzpo-Signature: sha256=<hex> computed over the raw body.
import crypto from "node:crypto";
export function verifyBuzpo(req: Request, secret: string, raw: string) {
const sig = req.headers.get("x-buzpo-signature")?.replace("sha256=", "");
const expected = crypto.createHmac("sha256", secret).update(raw).digest("hex");
return sig === expected;
}