Appearance
KitchenClick Ecommerce API
The KitchenClick Ecommerce API enables you to build ordering experiences for restaurants - from self-service kiosks to mobile ordering apps and third-party integrations.
Overview
KitchenClick provides a comprehensive REST API for restaurant ordering operations:
- Menu Browsing - Hierarchical menus with categories, items, and modifiers
- Item Configurator - Guided "build your own" item flows
- Order Management - Create, calculate, and track orders
- Order Scheduling - Let customers schedule orders ahead with time slot selection
- Delivery - Quote third-party delivery for delivery orders
- Payment Processing - Integrated payment with Stripe
- Catering - Time-boxed event menus and pre-orders
- Invoices - Collect outstanding balances via a public pay link
- Customer History - Retrieve past orders for reordering
- Kiosk Support - Bootstrap and manage self-service kiosks
- Real-time Tracking - Track order status from placed to ready
API Architecture
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Your App │ │ KitchenClick │ │ Kitchen │
│ (Kiosk/Mobile) │ │ API │ │ Operations │
└────────┬────────┘ └────────┬────────┘ └────────┬────────┘
│ │ │
│ GET /menus │ │
│──────────────────────>│ │
│ Menu Data │ │
│<──────────────────────│ │
│ │ │
│ POST /orders │ │
│──────────────────────>│ │
│ │ Order Created │
│ │──────────────────────>│
│ Order Confirmed │ │
│<──────────────────────│ │
│ │ │
│ GET /orders/.../track│ │
│──────────────────────>│ │
│ Status: Ready │ │
│<──────────────────────│ │Base URLs
| Environment | Base URL |
|---|---|
| Staging | https://api-staging.kitchenclick.retailsuccessplatform.com/api |
| Production | https://api.kitchenclick.retailsuccessplatform.com/api |
Every endpoint path shown in this reference (e.g. GET /v1/ecommerce/locations/{location}) is appended to the base URL to form the full request URL — for example, https://api.kitchenclick.retailsuccessplatform.com/api/v1/ecommerce/locations/loc_xxxxx. The curl examples throughout the docs show complete URLs.
Quick Start
1. Browse a Location's Menu (Public)
No authentication required for menu browsing:
bash
# Get location info
curl https://api.kitchenclick.retailsuccessplatform.com/api/v1/ecommerce/locations/loc_xxxxx
# Get available concepts (restaurant brands)
curl https://api.kitchenclick.retailsuccessplatform.com/api/v1/ecommerce/locations/loc_xxxxx/concepts
# Get menus for a concept
curl https://api.kitchenclick.retailsuccessplatform.com/api/v1/ecommerce/locations/loc_xxxxx/concepts/con_yyyyy/menus
# Get menu items with hierarchy
curl https://api.kitchenclick.retailsuccessplatform.com/api/v1/ecommerce/locations/loc_xxxxx/concepts/con_yyyyy/menus/mnu_zzzzz/items2. Create an Order (Authenticated)
Orders require authentication via OAuth 2.0:
bash
# First, get a token from Identity service
curl -X POST https://identity.retailsuccessplatform.com/oauth/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials" \
-d "client_id=${CLIENT_ID}" \
-d "client_secret=${CLIENT_SECRET}" \
-d "scope=kitchenclick:orders.create"
# Then create an order
curl -X POST https://api.kitchenclick.retailsuccessplatform.com/api/v1/ecommerce/orders \
-H "Authorization: Bearer ${TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"location_id": "loc_xxxxx",
"customer": {
"name": "John Doe",
"phone": "(555) 123-4567"
},
"order_type": "pickup",
"items": [
{
"item_id": "itm_aaaaa",
"quantity": 2
}
]
}'3. Track Order Status (Public)
Order tracking is public - no authentication required:
bash
curl https://api.kitchenclick.retailsuccessplatform.com/api/v1/ecommerce/orders/ord_xxxxx/trackAuthentication
| Endpoint Type | Authentication | Rate Limit |
|---|---|---|
| Menu Browsing | None (Public) | 100/min per IP |
| Concept Lookup / Branding | None (Public) | 100/min per IP |
| Order Tracking | None (Public) | 100/min per IP |
| Scheduling Config | None (Public) | 100/min per IP |
| Item Configurator | None (Public) | 100/min per IP |
| Delivery Quote | None (Public) | 100/min per IP |
| Event Menu Discovery | None (Public) | 100/min per IP |
| Invoice (view) | None (Public token) | 100/min per IP |
| Item Availability | OAuth Token | 200/min per client |
| Customer Order History | OAuth Token | 200/min per client |
| Stripe Config | OAuth Token | 200/min per client |
| Order Calculate | OAuth Token | 30/min per client |
| Order / Event Order Create | OAuth Token | 30/min per client |
| Payment / Invoice Balance | OAuth Token | 30/min per client |
| Kiosk Bootstrap | OAuth Token | 200/min per client |
Available Scopes
| Scope | Description |
|---|---|
kitchenclick:* | Full ecommerce access |
kitchenclick:menus.read | Check item availability |
kitchenclick:orders.calculate | Calculate order totals |
kitchenclick:orders.create | Create guest orders |
kitchenclick:payments.read | Check payment status |
kitchenclick:payments.create | Create payment requests |
kitchenclick:kiosks.bootstrap | Initialize kiosks |
kitchenclick:kiosks.heartbeat | Send kiosk heartbeats |
Use Cases
Self-Service Kiosk
Build a touchscreen kiosk for customer self-ordering:
- Bootstrap kiosk via PIN code
- Display location menus with categories
- Allow item customization with modifiers
- Calculate totals with tax
- Process payment
- Display order confirmation
Mobile Ordering App
Enable customers to order ahead:
- Show nearby locations with operating hours
- Browse hierarchical menus
- Build orders with modifiers
- Checkout with saved payment methods
- Track order status in real-time
Third-Party Integration
Integrate with delivery platforms or POS systems:
- Sync menu data programmatically
- Create orders from external systems
- Track order lifecycle events
- Reconcile payments
Next Steps
- Getting Started - Detailed setup guide
- Authentication - OAuth setup and scopes
- End-to-End Integration Flow - The full ordering journey, call by call
- Menus Reference - Menu browsing endpoints
- Orders Reference - Order management
Changelog
| Date | Change |
|---|---|
| 2026-06-17 | Documented Configurator, Delivery, Catering (Event Menus), Invoices, and Concept Branding endpoints; added the End-to-End Integration Flow guide; corrected the base URL to the /api root. |
| 2026-03-14 | Added e-commerce API endpoints. |
| 2026-01-15 | Initial publication. |