Skip to main content

Owned sales channels

The Storefront API is how you build your own sales channels on Fire spark. Use it to power a mobile app, an ordering website, a kiosk, or any customer-facing experience you control — while Fire spark handles menus, stores, orders, and fulfillment behind a single omnichannel layer. Aggregators like Uber Eats or Rappi are channels Fire spark connects for you through the Integrations API. The Storefront API is for owned channels: the surfaces you design, brand, and ship yourself.

New to Fire spark?

Connect a merchant in the dashboard before building your first channel.

What you can build

ChannelTypical use
Mobile appLoyalty, reorder, push notifications, saved preferences
WebBranded ordering site, delivery and pickup flows
KioskIn-store self-service ordering
Call centerOrdering through a call center
Embedded flowsOrder widgets inside an existing product
Every owned channel loads menus through Fire spark — full catalog or a composed variant per surface. Operational updates from your POS still flow through one sync; you control whether app, web, and kiosk show the same assortment or tailored menus for each context.

How a custom channel works

1

Customer signs in with your identity provider

Your channel authenticates customers with an OIDC provider you already use (Auth0, Clerk, Supabase, Firebase, Cognito, and others). Fire spark does not replace your login — it trusts the ID token your client obtains after sign-in.
2

Exchange the ID token for a Fire spark access token

Your app calls POST /auth/exchange with the customer’s ID token. Fire spark validates it, resolves the merchant from the token issuer, and returns a short-lived access token bound to that customer.
3

Browse menus and stores

Fetch stores near the customer, load menus with categories and products, and read fulfillment options (pickup, delivery, dine-in) for the selected location.
4

Place and manage orders

Create orders on behalf of the authenticated customer. Track status, update details, or cancel while the order is still open.
5

Fire spark routes the order to operations

The order enters the same pipeline as aggregator channels. Fire spark injects it into the merchant’s POS or RMS through the Integrations API layer.

API areas

The Storefront API exposes the resources your channel needs to run a complete ordering experience.

Authentication

Customers authenticate through your OIDC provider. Your client exchanges the ID token for a Fire spark access token — no client_secret required on the device.

Exchange token

Exchange an OIDC ID token for a Fire spark access token.

Customers

Register and manage customer profiles, consent preferences, devices, and anonymous-to-identified transitions.

Register customers

Create and update customer records from your channel.

Stores

List merchant locations and read store details so customers can pick where they order from. Load menus, browse categories, and fetch product details with pricing and availability for the selected store.

Displaying menus

Render menus in your app, web, or kiosk.

Orders

Create orders, retrieve order history, update open orders, and cancel when allowed.

Placing orders

Build the checkout and order submission flow.

Fulfillment

Read delivery, pickup, and other fulfillment options available per store so your channel can offer the right checkout choices.

Storefront API vs Integrations API

Storefront APIIntegrations API
Who builds itYou — app, web, kiosk teamsPOS/RMS partners, system integrators
Who signs inEnd customers (via your OIDC provider)Your server (client credentials)
Primary goalCustomer-facing ordering experienceMenu sync and order injection into POS/RMS
ChannelsOwned: app, web, kioskOperational + aggregators: Uber Eats, Rappi, etc.
Most merchants use both: the Storefront API powers channels customers interact with directly, while the Integrations API keeps those channels connected to the kitchen.

Base URL

https://firespark.vercel.app/api/storefront/v1

Next steps

Exchange token

Authenticate customers with OIDC

OIDC authentication

Set up your identity provider

Displaying menus

Load menus in your channel

Placing orders

Submit orders from your channel