Event Structure
Every payload received at your endpoint follows this standard structure:Webhooks and Event Types
Snappy webhook events fall into four groups: Order & Fulfillment for the order and its physical fulfillment, Gift & Recipient for the recipient-facing gift experience, Catalog & Inventory for keeping your local catalog in sync, and Account & Billing for account and invoicing changes.Order & Fulfillment
Track the order and its physical fulfillment - from placement through carrier delivery.order-status-changed statuses:
order-delivery-status-changed delivery statuses:
Order delivery statuses use the public v3
snake_case vocabulary, whereas the gift-delivery-status-changed event (under Gift & Recipient) reports the recipient-facing camelCase milestones.order-status-changed Example Payload:
order-delivery-status-changed Example Payload:
order-canceled Example Payload:
order-out-of-stock Example Payload:
Gift & Recipient
Track the recipient-facing gift experience - from the initial notification through claim, delivery, and thank-you.gift-status-changed statuses:
gift-delivery-status-changed statuses:
gift-delivery-status-changed only fires for the inTransit, outForDelivery, and delivered milestones. For the full order-level delivery lifecycle (including confirmed and processing), use order-delivery-status-changed under Order & Fulfillment.gift-notification-* event data fields:
gift-status-changed Example Payload:
gift-delivery-status-changed 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.gift-notification-reminder Example Payload:
gift-thank-you-note-received Example Payload:
Catalog & Inventory
Use these events to keep your local catalog in sync with Snappy’s.
How the
status field signals availability:
The status field is only present when a product goes out of stock. When present, its value is always out_of_stock. Absence of status means the product is in stock and available for ordering.
stock-availability-updates Example Payload:
The eventData matches the response shape of the V2 GET /variants/{variantId} endpoint - the same product-and-variants object your integration already uses elsewhere. The example below shows the in-stock case (no status field). When a product goes out of stock, an additional field "status": "out_of_stock" is included at the top of eventData.
Account & Billing
Events related to your Snappy account and gift billing.gift-invoice-sent Example Payload:
Metadata in Webhooks
As discussed in the API Standards section, anymetadata 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).
Catalog, billing, and operational events (such as
stock-availability-updates, gift-invoice-sent, order-canceled, and order-out-of-stock) do not carry gift metadata. Map these back to your records using the orderId, companyId, or product id included in the payload.