Overview
Webhooks allow your application to receive real-time, asynchronous notifications when specific events occur within the Snappy system. Instead of constantly polling the API for updates, Snappy will push data to your server as soon as a gift is sent, viewed, or redeemed.Setup
1
Set up your Endpoint
Set up a public endpoint in your application that can accept incoming
POST requests with a JSON payload.Performance & Response: Your endpoint must quickly return a
200 OK response. If your server does not respond within 10 seconds, Snappy will assume a delivery failure and will continue to retry sending the same event based on our retry policy.2
Enable Webhooks in the Snappy Dashboard
To activate webhooks and start receiving events:
- Log in to your Snappy Dashboard https://login.snappy.com/login
- Navigate to Sharing & Access tab under the Company Settings page in the Snappy Dashboard (https://login.snappy.com/company-settings/sharing-access).
- Scroll down to the ‘Webhooks’ section and toggle Enable webhooks for your organization.
- Click Add Webhook.
- Specify your Destination URL, choose the relevant Event Types, and click Add.
3
Verify your Setup
Once your webhook is saved, send a test event from the dashboard to confirm Snappy can reach your endpoint:
- In the Webhooks section of Sharing & Access, hover over the webhook you just added.
- Click Test.
- Snappy will send a template
POSTrequest to your destination URL containing a verification token. - Confirm your endpoint received the request and returned a
200 OK.
If the test event doesn’t arrive, double-check your firewall settings, your endpoint URL, and that your server is publicly reachable. You can re-run this test at any time to verify endpoint health.
4
Secure the Connection
To ensure that incoming requests are legitimately from Snappy and have not been tampered with, you must verify the X-Snappy-Signature header.Under your webhook configurations, you will find a Security Token. This token is unique to your organization and can be regenerated if it is ever compromised.The Signature Logic: The signature is a SHA-256 hash, where the key is your UTF-8 encoded token and the raw request body serves as the data.
Delivery & Retries
If your endpoint is unavailable or returns a non-2xx status code, Snappy will attempt to redeliver the event.- Retry Strategy: We use exponential backoff over a 24-hour period.
- Timeout: Requests time out after 10 seconds.
- Manual Test: Re-run the dashboard Test action at any time to verify endpoint health.