Webhook
Register and manage webhook endpoints so Aexrux POSTs real-time events to your server — including inbound messages on EVERY channel (WhatsApp, Facebook, Instagram, Telegram and more): subscribe to `conversation.received` and read `data.channel` + `data.message`. Also message sent / delivered / read / failed, plus campaign and contact events. When you set a signing secret each delivery carries an HMAC-SHA256 signature header you can verify.
httpAuthorizationBearer <token>application/json- response
data*array<string>meta*curl -X GET 'https://aexrux.com/api/v1/webhooks'{ "data": [ "string" ], "meta": { "count": 0, "available_events": [ null ] }}httpAuthorizationBearer <token>application/json- body
Register an outbound webhook endpoint for the current workspace. Scramble reads these rules to document the request body. Mirrors the validation in the in-app WebhooksController::store.
The platform POSTs a JSON envelope to the registered url whenever a
subscribed event fires. When a signing secret is configured the request
carries an X-Aexrux-Signature header (HMAC-SHA256 of the body).
url*stringPublic HTTPS endpoint the platform POSTs events to. Required.
urilength <= 2048name?|Optional friendly label shown in the dashboard.
length <= 191secret?|Optional HMAC signing secret. When set, deliveries carry an X-Aexrux-Signature header so receivers can verify authenticity.
length <= 191active?|Whether the endpoint is active and should receive events. Defaults to true.
events?array<>|Event names to subscribe to. Omit (or pass [""]) to receive all. Supported events fired by the system: message_received — inbound message received message_sent — outbound message sent message_delivered — outbound message delivered message_read — outbound message read message_failed — outbound message failed broadcast_created — broadcast created broadcast_status_updated — broadcast status changed broadcast_message_status_updated — per-recipient broadcast status changed campaign_created — campaign created campaign_status_updated — campaign status changed campaign_contact_status_updated — per-contact campaign status changed campaign_contact_clicked — campaign contact clicked a link campaign_contact_replied — campaign contact replied contact_opt_in — contact opted in contact_updated — contact updated device_status_updated — device (number) status changed "" — subscribe to every event
application/json- response
data*array<unknown>meta*stringcurl -X POST 'https://aexrux.com/api/v1/webhooks' \ -H 'Content-Type: application/json' \ -d '{ "url": "http://example.com"}'{ "data": [ null ], "meta": "string"}httpAuthorizationBearer <token>id*integerapplication/json- response
data*meta*stringcurl -X DELETE 'https://aexrux.com/api/v1/webhooks/0'{ "data": { "id": 0, "deleted": true }, "meta": "string"}