“Your platform displays the catalog and collects the order, Snappy handles the fulfillment.” Use this recipe when you want to embed Snappy’s product catalog inside your own platform and let your users select items directly. Your system handles the UI, collects the shipping address, and places the order. Snappy handles fulfillment. Common use cases include:Documentation Index
Fetch the complete documentation index at: https://docs.snappy.com/llms.txt
Use this file to discover all available pages before exploring further.
- Swag stores
- Procurement portals
- Rewards redemption platforms
Overview
In this model, your system handles catalog display, product selection, and address collection. Once your user has made their selection, you pass all the required information to Snappy in two sequential API calls and Snappy processes the order immediately. Your integration only needs to handle three things: retrieving products, placing orders, and listening for status updates via Webhooks.Setting Up Your API Client
Before making any API calls, initialize your HTTP client with your API key. This setup is used throughout all steps below.Step 1: Identify your Campaign
Every gift is created within a Campaign. Before making any API calls, you need the id of the Campaign you want to send under. If you haven’t created a Campaign yet, you can do so either through the Snappy Dashboard or via the API using POST /campaigns. When created via the API, the Campaign is automatically assigned the Account’s default Billing Method.Every Campaign requires a default Collection or Product to be configured. In the Direct Fulfillment model, this is not used — you will specify the exact product and variant when placing the order.
Step 2: Retrieve and Display the Product Catalog
Retrieve the available products and display them in your own platform UI. Call GET /products to return the full product catalog available to your account. Each Product object contains a variants array representing the available options (e.g. size, color). Your UI should present these variants to the user so they can make their selection. The response includes full product details. The fields most relevant to your UI are id, name, and the variants array. For example:Step 3: User Selects an Item
This step happens within your platform — no API calls required yet. Your user browses the catalog you’ve displayed, selects their preferred item and variant, and provides their shipping address if you don’t already have it on file. Once you have all three pieces of information — Campaign ID, Variant ID, and shipping address — you’re ready to place the order.Step 4: Create the Gift
Call POST /gifts with your Campaign ID and recipient details. This creates the Gift object and returns a giftId which you’ll need in the next step.In this approach the Gift is created without a variant or shipping address. The recipient will not receive a notification — the Claim step immediately completes the order.
Step 5: Claim the Gift
Call POST /gifts//claim with the selected Variant ID and the recipient’s shipping address. This finalizes the Gift and places the Order immediately.Step 6: Track Fulfillment via Webhooks
Listen for Webhook events to track fulfillment progress. Key events to handle:| Event | Meaning |
|---|---|
| gift-delivery-status-changed (status: orderReceived) | Order has been placed with the fulfillment partner |
| gift-delivery-status-changed (status: inTransit) | Product has shipped |
| gift-delivery-status-changed (status: delivered) | Product has reached its final destination |
Full Flow Summary
- GET /campaigns → retrieve your campaign ID
- GET /products → retrieve catalog to display in your platform
- [User selects item, variant, and provides shipping address]
- POST /gifts → create the gift, get back the giftId
- POST /gifts/claim → claim the gift with variant and shipping address
- Webhooks → track order fulfillment and delivery