> ## Documentation Index
> Fetch the complete documentation index at: https://firespark.cloud/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> Connect your POS and RMS to every sales channel through Fire spark's Integrations API.

## Connect POS and RMS to every channel

The Integrations API connects your **POS and RMS** with every sales channel your merchant operates. If you have built or used an integration like [Uber Eats Marketplace](https://developer.uber.com/docs/eats/guides/getting-started), the building blocks will feel familiar: authentication, stores, menus, and orders. The difference is scope — Uber Eats is one channel. Fire spark is your **omnichannel aggregator intelligence** layer.

Instead of integrating each aggregator separately, you connect once to Fire spark. We sync menus with your POS and RMS, apply intelligence across all your channels, and inject orders back into the system where your kitchen and operations already run.

<Card title="New to Fire spark?" icon="lightbulb" href="/docs/guides/connecting-a-merchant">
  Start by connecting a merchant before building against the Integrations API.
</Card>

## What this integration does

Fire spark sits between your **operational stack** (POS, RMS, inventory) and your **sales channels** (app, web, kiosk, call center, Uber Eats, Rappi, PedidosYa, and more).

| Layer          | Role                                                                    |
| -------------- | ----------------------------------------------------------------------- |
| POS / RMS      | Source of truth for menus, pricing, availability, and order fulfillment |
| Fire spark     | Syncs menus, enriches channels with intelligence, routes orders         |
| Sales channels | Where customers discover, order, and pay                                |

A single-channel integration like Uber Eats typically handles:

* **Authentication** — secure API access for your integration
* **Store management** — which locations are live and how they operate
* **Menu synchronization** — what customers see in the aggregator app
* **Order processing** — receiving orders and sending them to your POS

Fire spark covers the same responsibilities, but across **every channel** connected to the merchant. Uber Eats is one entry in your channel list, not the entire integration.

## How it works end to end

<Steps>
  <Step title="Authenticate your integration">
    Your server obtains an access token using OAuth 2.0 client credentials. All
    Integrations API requests use this token.
  </Step>

  <Step title="Sync menus with POS and RMS">
    Fire spark pulls menu structure, items, pricing, and availability from your
    POS or RMS. Operational changes flow from that source; you compose what
    customers see per channel, store, fulfillment type, or schedule.
  </Step>

  <Step title="Apply intelligence across channels">
    Fire spark shapes each selling context — channel-specific menus, scheduling,
    availability rules, and fulfillment options — without separate integrations
    per variation. Your app, aggregators, and in-store surfaces can show
    different assortments from the same synced foundation.
  </Step>

  <Step title="Receive orders from any channel">
    When a customer places an order on any connected channel, Fire spark sends a
    webhook to your integration with the order payload.
  </Step>

  <Step title="Send orders to POS and RMS">
    When Fire spark fires the `order.injected` webhook, your integration creates
    the ticket in the merchant's POS or RMS using the payload as-is — no manual
    re-entry.
  </Step>
</Steps>

## Integration areas

The API is organized around the same domains you would expect from a marketplace integration, extended for omnichannel operations.

### Authentication

OAuth 2.0 client credentials secure server-to-server access. Your integration authenticates once and calls endpoints for menus, stores, channels, orders, and fulfillment.

<Card title="Token" icon="key" href="/docs/integrations-api/oauth/token/post">
  Obtain an access token with client credentials.
</Card>

### Stores

Stores represent merchant locations. Map each Fire spark store to a location in your POS or RMS so menus and orders stay aligned per site.

### Menus

Upload and maintain menu structures customers see on each surface. Fire spark synchronizes with your POS and RMS for item changes, pricing, and availability, then applies **menu composition** — different catalogs by channel, store, fulfillment, or schedule when your strategy requires it.

<Card title="Menu sync guide" icon="utensils" href="/docs/integrations-api/guides/menu-sync">
  Learn how to keep POS, Fire spark, and channels in sync.
</Card>

### Channels

Channels are the surfaces where customers order: owned channels (app, web, kiosk) and aggregators (Uber Eats, Rappi, PedidosYa). Fire spark manages channel configuration and applies intelligence per channel without duplicating integrations.

### Orders

Orders arrive via webhooks when a customer checks out on any channel. Your integration acknowledges each event and creates the POS ticket when **`order.injected`** fires — with the order in whatever state it is at that moment.

<Card title="Order webhooks" icon="webhook" href="/docs/integrations-api/orders/webhooks">
  Learn webhook events and how `order.injected` sends orders to your POS or RMS.
</Card>

### Fulfillment

Fulfillment options (delivery, pickup, dine-in) define how orders are completed per store and channel. Keep fulfillment rules consistent between Fire spark and your operational stack.

## Uber Eats vs Fire spark

|              | Uber Eats API            | Fire spark Integrations API                                             |
| ------------ | ------------------------ | ----------------------------------------------------------------------- |
| Channels     | Uber Eats only           | App, web, kiosk, call center, Uber Eats, Rappi, PedidosYa, and more     |
| Menu source  | Push to Uber Eats        | Sync from POS/RMS; compose per channel, store, fulfillment, or schedule |
| Orders       | Uber Eats → your POS     | Any channel → Fire spark → your POS/RMS                                 |
| Intelligence | Channel-specific to Uber | Cross-channel rules and enrichment in one layer                         |

If you already integrated with Uber Eats or a similar aggregator API, reuse the same patterns: authenticate, map stores, sync menus, listen for webhooks, and fulfill orders. Fire spark generalizes that model so you build it once and cover every channel.

## Base URL

```
https://firespark.cloud/api/integrations/v1
```

<Card title="Postman collection" icon="download" href="/docs/assets/fire-spark-integrations-api-2026-07-26.postman_collection.json">
  Download all Integrations API endpoints. Set `client_id` and `client_secret`,
  then run the Token request to populate `bearerToken`.
</Card>

## Next steps

<CardGroup cols={2}>
  <Card title="Token" icon="key" href="/docs/integrations-api/oauth/token/post">
    Get an access token
  </Card>

  <Card title="Menu sync" icon="utensils" href="/docs/integrations-api/guides/menu-sync">
    Sync menus with POS and RMS
  </Card>

  <Card title="Order webhooks" icon="webhook" href="/docs/integrations-api/orders/webhooks">
    Receive orders and send them to POS
  </Card>

  <Card title="Architecture" icon="blocks" href="/docs/integrations-api/guides/architecture">
    architecture of the Integrations API
  </Card>
</CardGroup>
