- 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 Embedded Marketplace 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: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