Which path you build depends on whether your system fulfills orders or only keeps stock counts, and it decides which events your platform receives. On both paths, your platform pushes each seller’s listings to Snapcaster, which handles buyer browse, checkout, and payment.

What differsPath A, inventory syncPath B, order fulfillment
Who fulfillsThe seller in the Snapcaster dashboardYour platform in its own system
What your platform receivesinventory.adjusted deltasorder.created and lifecycle events
What you learn about buyersNothingName, email, and shipping address
Your subscriptioninventoryorders, or both
Typical fitA POS or inventory systemAn order-fulfillment system

Choose Path A when your system owns on-hand counts but does not model or fulfill orders. Choose Path B when your system receives and fulfills orders. A company whose sellers need both paths registers one platform for each, because each platform has one subscription.

Snapcaster sends a platform only the events its subscription includes. Every subscription can also request webhook.test.

EventWhat it reportsPath APath B
inventoryordersboth
order.createdOrder createdNoYesYes
inventory.adjustedInventory adjustedYesNoYes
order.cancelledOrder cancelledNoYesYes
order.refundedOrder refundedNoYesYes
order.updatedOrder updatedNoYesYes
order.cancellation_request.createdCancellation request createdNoYesYes
order.cancellation_request.withdrawnCancellation request withdrawnNoYesYes
order.cancellation_request.resolvedCancellation request resolvedNoYesYes
order.dispatch_overdueOrder dispatch overdueNoYesYes
order.change_request.createdChange request createdNoYesYes
order.change_request.resolvedChange request resolvedNoYesYes
webhook.testWebhook testYesYesYes
order.addition_request.createdAdd-on request created (not yet available)NoYesYes
order.addition_request.resolvedAdd-on request resolved (not yet available)NoYesYes
order.addition_offer.updatedAdd-on offer updated (not yet available)NoYesYes

Both Path B subscriptions send every order event, and both also sends inventory.adjusted for each stock change. Exactly one event must move your stock, so choose by which part of your system deducts stock today. If your order desk deducts stock for every channel’s orders, take orders, because the desk deducts a Snapcaster order the same way when order.created arrives.

Your subscriptionChoose it when
ordersYour order desk deducts stock when it records an order, as it does for other channels
bothA separate stock service applies signed quantity changes, and your order desk only picks, packs and ships

This table is the stock rule for every subscription. Apply each change before you return 2xx for its event, because that 2xx acknowledges the stock a sale moved. For an event that moves no stock, store it, then return 2xx.

Eventinventoryordersboth
inventory.adjustedAdd deltaNot sentAdd delta
order.createdNot sentSubtract each line’s quantityNo change
order.updated with line_substitutedNot sentAdd back each original_sku_id and subtract each substitute_sku_id, once per substitution idNo change
order.cancelledNot sentAdd back each line’s quantityNo change
order.refunded with restock: trueNot sentAdd back each line’s quantityNo change
order.refunded with restock: falseNot sentNo changeNo change
Any other eventNo changeNo changeNo change

delta is negative for a sale and positive for a cancellation or a restocking refund. On order.refunded, restock is the seller’s statement that the refunded cards came back and can be sold again. With both, the same cancellation or restocking refund also sends a positive inventory.adjusted, so add the units back from that event only. Every order.updated lists all of the order’s substitutions so far, so apply each substitution once, keyed by its id. For each of its lines, add back quantity units of original_sku_id. For a line with action: "substitute", also subtract quantity units of substitute_sku_id. A line with action: "remove" means the same report removed that line. No order.cancelled follows for it, so this event is the only one that returns its units.

Deducting on both events counts each sale twice, and deducting on neither leaves sold cards in your stock. After an event moves your stock, push a newer snapshot to release the hold on sold units.

Every platform first builds three shared blocks: Sync a full catalog, Build a webhook receiver, and Webhook signing. Each path page then opens with its build checklist.

Snapcaster sets your subscription when it onboards your platform, and GET /me returns it as subscription. To change it, email info@snapcaster.gg. One subscription covers every seller on your platform, and each seller connects to one platform. To serve sellers on different subscriptions, register a second platform through Onboard your platform. Each platform has its own webhook endpoint and signing secret, and in the sandbox its own seller and marketplace API key. In production, name the platform when you ask Snapcaster to admit a seller, so the seller connects to the platform with the subscription it needs.

Need help?

Email Marketplace support.

The email includes this page and selects sandbox as the environment. Update it if you need help with production.

Never include an API key or signing secret in the message.