Skip to main content

Event Structure

Every payload received at your endpoint follows this standard structure:
Use these example payloads to build and test your webhook listener locally before receiving real events. Tools like Ngrok or Webhook.site let you simulate incoming webhook calls by sending these payloads directly to your local endpoint - no real gift sends required.

Webhooks and Events Types

Snappy currently supports the following:

Gift Status Events

These events track the core lifecycle of a gift. Optional statuses: Example Payload:

Order Lifecycle Events

These events expose the order behind a claimed gift using the v3 Orders vocabulary. Use them when you integrate at the order level rather than the recipient-facing gift level. order-status-changed statuses: order-delivery-status-changed statuses:
Order delivery statuses use the public v3 snake_case vocabulary, whereas the gift-delivery-status-changed event (under Delivery & Fulfillment Events) reports the recipient-facing camelCase milestones.
order-status-changed Example Payload:
order-delivery-status-changed Example Payload:

Delivery & Fulfillment Events

These events track the physical movement of a gift after it has been claimed. Delivery statuses:
This event only fires for the inTransit, outForDelivery, and delivered milestones. For the full order-level delivery lifecycle (including confirmed and processing), use the order-delivery-status-changed event under Order Lifecycle Events instead.
Example Payload:
deliveredAt is included when deliveryStatus is delivered; outForDeliveryDate when outForDelivery. triggerEvent is created for the first tracking update and updated for subsequent ones.

Recipient Notification Events

Use these events to track the communications Snappy sends to your recipients. Event Data fields: Example Payload:

Catalog & Stock Events

Use these events to keep your local catalog in sync. Optional statuses: Example Payload:

Recipient Engagement Events

Triggered when a recipient interacts with the platform after claiming their gift, such as sending a message to the gift sender. Example Payload:

Exceptions & Operational Events

Use these events to track critical edge cases in your integration.
The eventData for operational events always contains the relevant orderId and companyId so you can map the failure back to the specific order and recipient.
order-canceled Example Payload:
order-out-of-stock Example Payload:

Billing Events

Use these events to react to invoicing changes. gift-invoice-sent Example Payload:

Metadata in Webhooks

As discussed in the API Standards section, any metadata you attach during gift creation is echoed back in the eventData of the gift-lifecycle, notification, and shipping events - specifically gift-status-changed, order-status-changed, the gift-notification-* events, gift-delivery-status-changed, and order-delivery-status-changed. This ensures you can always map a Snappy event back to your internal IDs (e.g., internalReferenceId).
Billing, catalog, and operational events (such as order-canceled and order-out-of-stock) do not carry gift metadata. Map these back to your records using the orderId or companyId included in the payload.
Proactive Support: By listening for order-out-of-stock or expired events, your system can automatically trigger follow-up actions, ensuring a high-quality experience even when things don’t go as planned.
Last modified on July 13, 2026