Lightspeed — Adapter Guide¶
Provider Info¶
| Field | Value |
|---|---|
| Slug | lightspeed |
| Auth Type | oauth |
| Base URL | https://api.lightspeedapp.com (varies by region) |
| API Docs | https://developers.lightspeedhq.com |
Authentication¶
Lightspeed uses OAuth 2.0:
Authorization: Bearer {accessToken}
Input fields used¶
input.baseUrl // API base URL
input.config.accessToken // OAuth access token
input.config.refreshToken // OAuth refresh token (for token renewal)
input.config.companyId // Lightspeed company/account ID
Key Concepts¶
- OAuth tokens expire — scripts may need token refresh logic
- Multi-location accounts use
locationIdto identify outlets - Lightspeed has both Restaurant (L-Series) and Retail (R-Series) — different APIs
Quirks & Constraints¶
Pricing: Same PLU can only have different pricing via Order Profiles — cannot customize pricing externally. When integrated through Deliverect, pricing changes must be made in Lightspeed directly, not through Deliverect.
No Modifiers: Lightspeed has no concept of Modifiers — all items are treated as Items. To create an item with modifiers, you must create it as a Combo in Lightspeed.
Fees: Fees are treated as Items with open price (positive or negative). The adapter must create fee items instead of using a separate fee structure.
Bundle items: Items that exist only inside a bundle should NOT be required as standalone products in a menu section.
Topic: test_connection¶
TODO — Verify OAuth token by calling
GET /api/account.
Topic: list_remote_outlets¶
TODO — Fetch
GET /api/locationsand return location list.
Topic: sync_outlet¶
TODO
Topic: sync_products¶
TODO
Topic: order_dispatch¶
TODO
Topic: order_status_update¶
TODO