Skip to main content
POST
Webhooks API
Two separate webhook systems work together in a Vobiz WhatsApp integration. See the Webhooks overview for the conceptual split. All endpoints are under the base URL https://api.vobiz.ai/api/v1/messaging, except the inbound Meta callback which is at https://api.vobiz.ai/api/v1/webhooks/whatsapp.

Inbound (Meta → Vobiz)

These endpoints are called by Meta, not by your application. You normally configure the callback URL and verify token once inside your Meta App. The examples below are for understanding and local simulation only.

Verify webhook (challenge-response)

When you register the webhook in your Meta App, Meta sends a GET with the standard hub.* query params. Vobiz echoes the hub.challenge back as text/plain 200 only when hub.verify_token matches the token configured on the Vobiz side. No auth header is used on this endpoint.
Simulate Meta's verification
200 OK

Receive webhook (Meta callback)

Meta POSTs the WhatsApp Cloud API event here. Meta signs the request with X-Hub-Signature-256: sha256=<hex HMAC-SHA256 of the raw body, keyed by your Meta App Secret>. Vobiz verifies that signature and enforces a replay window, rejecting stale or future-dated payloads. The body is the standard Meta envelope (object = whatsapp_business_account, entry[].changes[].value carrying messaging_product, metadata, and any of contacts[], messages[], statuses[], calls[]).
Simulate a delivery status callback
200 OK
After Vobiz accepts an inbound Meta event, it fans it out to your registered subscriptions as an outbound webhook.

Outbound (Vobiz → your server)

Register an HTTPS endpoint and a shared secret. Vobiz then delivers a signed event envelope to your endpoint for the three supported event types. See the Event Reference for envelope and payload shapes, and the overview for signature verification. Authentication (subscription management): X-Auth-ID: MA_XXXXXXXX, X-Auth-Token: <token>. Get credentials from console.vobiz.ai.
string
required
Your Vobiz account ID, for example MA_XXXXXXXX.

Create webhook subscription

Register an HTTPS endpoint to receive events.
string
required
HTTPS endpoint that will receive event deliveries.
string
required
Shared secret used to sign deliveries (HMAC-SHA256 → X-Webhook-Signature). Store it securely - it is never returned in any response.
cURL
201 Created

List webhook subscriptions

Returns the webhook subscriptions for your account. The secret is never included.
cURL
200 OK

Delete webhook subscription

Remove a subscription by its UUID. Vobiz stops delivering events to that URL.
cURL
204 No Content

Delivery to your endpoint

When an event fires, Vobiz sends a POST to your registered url with: Headers Body - the common envelope (full reference):
The only event_type values emitted are message.inbound, message.status (with statussent/delivered/read/failed), and call.<event> (e.g. call.connect, call.terminate).
Verify X-Webhook-Signature against the raw body before processing - compute HMAC-SHA256 with your secret, hex-encode, and constant-time compare. See the signature example.