Skip to main content
Webhooks let your systems react to events in Sotto in real time. You subscribe to a topic by registering a callback address; when a matching event occurs, Sotto sends an HTTP POST to that address. Manage subscriptions with the Webhooks endpoints (create, list, retrieve, and update).

Topics

You can subscribe to the following topics:
A brand may register multiple webhooks, and the same address may subscribe to the same topic more than once. In non-development environments, callback addresses must use HTTPS.

Callback requests

Sotto delivers events as a POST to your registered address. Callbacks are signed with the same HMAC scheme as API requests (see Authentication) and include these additional headers:
string
The API version for the callback (e.g. v1).
string
The UUID of the webhook subscription that triggered this callback.
string
The topic of the event (e.g. user/opt-in).

Payload

The body contains the time the event occurred and the associated resource:
For user/* topics, data is a User object.

Responding

Your endpoint must return a 2xx status code within 10 seconds. Any other response — or a timeout — is treated as a failure and the callback is retried up to 20 times before being dropped.

Best practices

Retries mean your endpoint may receive the same event more than once. Use x-bigco-webhook-id together with date_occurred to detect and safely ignore duplicates.
Always validate the HMAC signature on incoming callbacks before acting on them, and serve your endpoint over HTTPS.
Queue the event and return 200 immediately rather than doing heavy work inline. This keeps you within the 10-second window and avoids unnecessary retries.