POST that Brudcast sends to a URL you own when something happens in your
organization. You register the URL once as a webhook endpoint, choose the events it cares about,
and Brudcast calls it. You don’t have to poll the API to find out.
How a delivery works
- Something happens in your organization. For example, Firebase Cloud Messaging rejects a device token.
- Brudcast records one delivery for each active endpoint that subscribes to that event type.
- Brudcast checks for due deliveries every five seconds. It sends each one as a JSON
POST, signed with the endpoint’s secret. - If your server sends back any HTTP response, the delivery is marked Delivered. If there’s no response before the endpoint’s timeout, or the connection fails, Brudcast tries again later. The wait doubles after each failed attempt, until the endpoint’s Max Retries is used up.
Why it works this way
Every request is signed. TheX-Webhook-Signature header is an HMAC of the exact request body,
keyed with your endpoint’s secret. Anyone can send a POST to a public URL, so check the signature
before you trust the body. See Verify signatures.
Any response ends the delivery. Brudcast records your status code but doesn’t retry on it. A
500 or 401 from your server counts as delivered, just like a 200. So store the event first,
return 200, and process it afterwards. If your code fails after that, you still have the event.
Only silence is retried. Brudcast tries again when it gets no HTTP response at all. That
includes timeouts, refused connections, DNS failures and TLS errors.
Every attempt sends the same body. delivery_id and timestamp don’t change between retries
or manual resends. If your server handled a request but Brudcast timed out waiting for the reply, a
retry brings the same event back. Record each delivery_id you process and skip repeats.
Rules and limits
Manage webhooks with the API
Everything in Developers > Webhooks is also available on the platform API, underhttps://core-service.prod.brudcast.com/api/v1/user. Your API key needs the scope shown.
Create an endpoint
Register a URL, pick events, save the secret and set retries.
Verify signatures
Check the HMAC in Node.js, Python, PHP or Go.
Payload reference
Headers, the envelope and each event’s data.
Event types
What each event means and which are delivered.