Overview
Lightweight, token-based endpoints for building mobile POS, delivery, and admin experiences without touching core POS logic.
Authentication & Tokens
Issue scoped bearer tokens per staff account. Tokens inherit restaurant and branch context.
POST /auth/login
Exchange staff credentials for a bearer token.
| Header | Value |
|---|---|
| Accept | application/json |
| Content-Type | application/json |
{
"email": "admin@example.com",
"password": "secret"
}
const res = await fetch('https://onepe.in/api/application-integration/auth/login', {
method: 'POST',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
,body: JSON.stringify({
"email": "admin@example.com",
"password": "secret"
})
});
const data = await res.json();
console.log(data);
// Response
{
"status": true,
"message": "success",
"data": {
"token_type": "Bearer",
"access_token": "eyJhbGciOi..."
}
}
GET /auth/me
Return the authenticated profile and enabled modules.
| Header | Value |
|---|---|
| Authorization | Bearer <token> |
| Accept | application/json |
const res = await fetch('https://onepe.in/api/application-integration/auth/me', {
method: 'GET',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
});
const data = await res.json();
console.log(data);
// Response
{
"user": {
"id": 12,
"name": "API Admin",
"email": "admin@example.com",
"roles": [
"owner",
"manager"
]
},
"modules": [
"POS",
"Order",
"Delivery"
]
}
Platform & Config
Locale, currency, features, branches, and payment gateway flags to bootstrap clients.
GET /platform/config
Bootstrap restaurant, branch, modules, and feature flags for the current token.
const res = await fetch('https://onepe.in/api/application-integration/platform/config', {
method: 'GET',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
});
const data = await res.json();
console.log(data);
// Response
{
"restaurant": {
"id": 2,
"name": "Demo",
"currency": {
"code": "USD"
}
},
"branch": {
"id": 1,
"name": "HQ"
},
"features": {
"pos": true,
"order": true
},
"modules": [
"POS",
"Order",
"Delivery"
],
"languages": [
{
"language_name": "English",
"language_code": "en"
}
]
}
GET /languages
List active languages with codes and status.
const res = await fetch('https://onepe.in/api/application-integration/languages', {
method: 'GET',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
});
const data = await res.json();
console.log(data);
// Response
[
{
"language_name": "English",
"language_code": "en",
"status": 1
}
]
GET /platform/permissions
Return role names and granular permissions for the token.
const res = await fetch('https://onepe.in/api/application-integration/platform/permissions', {
method: 'GET',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
});
const data = await res.json();
console.log(data);
// Response
{
"roles": [
"owner",
"manager"
],
"permissions": [
"orders.view",
"orders.create"
]
}
GET /platform/printers
List branch printers for routing tickets.
const res = await fetch('https://onepe.in/api/application-integration/platform/printers', {
method: 'GET',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
});
const data = await res.json();
console.log(data);
// Response
[
{
"id": 2,
"name": "Kitchen Printer",
"branch_id": 1
}
]
GET /platform/receipt-settings
Fetch receipt header/footer and formatting.
const res = await fetch('https://onepe.in/api/application-integration/platform/receipt-settings', {
method: 'GET',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
});
const data = await res.json();
console.log(data);
// Response
{
"title": "Demo Restaurant",
"footer": "Thanks for visiting"
}
POST /platform/switch-branch
Switch the active branch for the current token.
{
"branch_id": 1
}
const res = await fetch('https://onepe.in/api/application-integration/platform/switch-branch', {
method: 'POST',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
,body: JSON.stringify({
"branch_id": 1
})
});
const data = await res.json();
console.log(data);
// Response
{
"success": true,
"branch": {
"id": 1,
"name": "HQ"
}
}
POS Endpoints
Menu, items, orders, and reservations for FOH and KDS workflows.
GET /pos/menus
List active menus for the current branch.
const res = await fetch('https://onepe.in/api/application-integration/pos/menus', {
method: 'GET',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
});
const data = await res.json();
console.log(data);
// Response
[
{
"id": 3,
"name": "Main Menu",
"branch_id": 1
}
]
GET /pos/categories
List menu categories for the branch.
const res = await fetch('https://onepe.in/api/application-integration/pos/categories', {
method: 'GET',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
});
const data = await res.json();
console.log(data);
// Response
[
{
"id": 5,
"name": "Coffee"
}
]
GET /pos/items
List menu items with pricing. Use filters for menus/categories.
const res = await fetch('https://onepe.in/api/application-integration/pos/items', {
method: 'GET',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
});
const data = await res.json();
console.log(data);
// Response
[
{
"id": 10,
"name": "Espresso",
"price": 3.5,
"menu_id": 3
}
]
GET /pos/items/category/{categoryId}
Fetch items by category.
const res = await fetch('https://onepe.in/api/application-integration/pos/items/category/{categoryId}', {
method: 'GET',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
});
const data = await res.json();
console.log(data);
// Response
[
{
"id": 11,
"name": "Latte"
}
]
GET /pos/items/menu/{menuId}
Fetch items for a specific menu.
const res = await fetch('https://onepe.in/api/application-integration/pos/items/menu/{menuId}', {
method: 'GET',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
});
const data = await res.json();
console.log(data);
// Response
[
{
"id": 10,
"name": "Espresso"
}
]
GET /pos/items/{itemId}/variations
List variations for an item.
const res = await fetch('https://onepe.in/api/application-integration/pos/items/{itemId}/variations', {
method: 'GET',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
});
const data = await res.json();
console.log(data);
// Response
[
{
"id": 101,
"name": "Large",
"price": 4.5
}
]
GET /pos/items/{itemId}/modifier-groups
List modifier groups for an item.
const res = await fetch('https://onepe.in/api/application-integration/pos/items/{itemId}/modifier-groups', {
method: 'GET',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
});
const data = await res.json();
console.log(data);
// Response
[
{
"id": 55,
"name": "Milk"
}
]
GET /pos/extra-charges/{orderType}
Fetch extra charges by order type.
const res = await fetch('https://onepe.in/api/application-integration/pos/extra-charges/dine-in', {
method: 'GET',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
});
const data = await res.json();
console.log(data);
// Response
[
{
"name": "Service",
"amount": 5
}
]
POST /pos/orders
Create a POS order with items, actions, and routing.
{
"order_type": "Dine In",
"table_id": 12,
"actions": [
"kot"
],
"items": [
{
"id": 10,
"quantity": 1,
"price": 15
}
]
}
const res = await fetch('https://onepe.in/api/application-integration/pos/orders', {
method: 'POST',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
,body: JSON.stringify({
"order_type": "Dine In",
"table_id": 12,
"actions": [
"kot"
],
"items": [
{
"id": 10,
"quantity": 1,
"price": 15
}
]
})
});
const data = await res.json();
console.log(data);
// Response
{
"success": true,
"order": {
"id": 9901,
"order_number": "POS-9901",
"status": "placed"
},
"cart": {
"items": [
{
"menu_item_id": 10,
"quantity": 1,
"amount": 15
}
],
"charges": [
{
"name": "Service",
"amount": 1.5
}
],
"taxes": [
{
"name": "VAT",
"amount": 2.100000000000000088817841970012523233890533447265625
}
],
"summary": {
"sub_total": 15,
"discount_amount": 0,
"tax_total": 2.100000000000000088817841970012523233890533447265625,
"charges_total": 1.5,
"delivery_fee": 0,
"grand_total": 18.60000000000000142108547152020037174224853515625
}
}
}
PUT /pos/orders/{id}
Update an existing order (cancel, modify status, update items)
{
"actions": [
"cancel"
],
"items": [
{
"id": 10,
"quantity": 2,
"price": 15
}
]
}
const res = await fetch('https://onepe.in/api/application-integration/pos/orders/{id}', {
method: 'PUT',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
,body: JSON.stringify({
"actions": [
"cancel"
],
"items": [
{
"id": 10,
"quantity": 2,
"price": 15
}
]
})
});
const data = await res.json();
console.log(data);
// Response
{
"success": true,
"message": "Order canceled",
"order_id": 9901
}
GET /pos/orders
List orders with pagination.
const res = await fetch('https://onepe.in/api/application-integration/pos/orders', {
method: 'GET',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
});
const data = await res.json();
console.log(data);
// Response
{
"data": [
{
"id": 4123,
"status": "open",
"order_type": "Dine In",
"total": 82.5,
"items": [
{
"menu_item_id": 10,
"quantity": 1,
"amount": 15
}
],
"charges": [
{
"name": "Service",
"amount": 5
}
],
"taxes": [
{
"name": "VAT",
"amount": 2.5
}
],
"cart": {
"summary": {
"sub_total": 70,
"tax_total": 2.5,
"charges_total": 5,
"grand_total": 82.5
}
}
}
]
}
GET /pos/orders/{id}
Fetch a single order with totals, discount, charges, taxes.
const res = await fetch('https://onepe.in/api/application-integration/pos/orders/{id}', {
method: 'GET',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
});
const data = await res.json();
console.log(data);
// Response
{
"id": 4123,
"order_number": "POS-4123",
"order_status": "confirmed",
"items": [
{
"menu_item_id": 10,
"quantity": 1,
"amount": 15
}
],
"charges": [
{
"name": "Service",
"amount": 1.5
}
],
"taxes": [
{
"name": "VAT",
"amount": 2.100000000000000088817841970012523233890533447265625
}
],
"cart": {
"summary": {
"sub_total": 15,
"discount_amount": 0,
"tax_total": 2.100000000000000088817841970012523233890533447265625,
"charges_total": 1.5,
"grand_total": 18.60000000000000142108547152020037174224853515625
}
}
}
POST /pos/orders/{id}/status
Update order status (placed, confirmed, preparing, served, delivered, cancelled).
{
"status": "paid"
}
const res = await fetch('https://onepe.in/api/application-integration/pos/orders/{id}/status', {
method: 'POST',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
,body: JSON.stringify({
"status": "paid"
})
});
const data = await res.json();
console.log(data);
// Response
{
"status": true
}
POST /pos/orders/{id}/tip
Add or update a tip on the order.
{
"amount": 5,
"note": "Thanks"
}
const res = await fetch('https://onepe.in/api/application-integration/pos/orders/{id}/tip', {
method: 'POST',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
,body: JSON.stringify({
"amount": 5,
"note": "Thanks"
})
});
const data = await res.json();
console.log(data);
// Response
{
"success": true,
"order_id": 1,
"tip_amount": 5
}
POST /pos/orders/{id}/split-payments
Create a split payment (optional linked items).
{
"amount": 20,
"payment_method": "card",
"status": "pending",
"items": [
{
"order_item_id": 123,
"quantity": 1
}
]
}
const res = await fetch('https://onepe.in/api/application-integration/pos/orders/{id}/split-payments', {
method: 'POST',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
,body: JSON.stringify({
"amount": 20,
"payment_method": "card",
"status": "pending",
"items": [
{
"order_item_id": 123,
"quantity": 1
}
]
})
});
const data = await res.json();
console.log(data);
// Response
{
"success": true,
"order_id": 1,
"split_order_id": 10,
"amount": 20,
"payment_method": "card",
"status": "pending"
}
POST /pos/orders/{id}/tip
Add a tip to an existing order
{
"amount": 5,
"note": "Great service"
}
const res = await fetch('https://onepe.in/api/application-integration/pos/orders/{id}/tip', {
method: 'POST',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
,body: JSON.stringify({
"amount": 5,
"note": "Great service"
})
});
const data = await res.json();
console.log(data);
// Response
{
"success": true,
"tip_amount": 5
}
POST /pos/orders/{id}/split-payments
Split order payment across multiple methods
{
"payments": [
{
"amount": 25,
"method": "cash"
},
{
"amount": 25,
"method": "card"
}
]
}
const res = await fetch('https://onepe.in/api/application-integration/pos/orders/{id}/split-payments', {
method: 'POST',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
,body: JSON.stringify({
"payments": [
{
"amount": 25,
"method": "cash"
},
{
"amount": 25,
"method": "card"
}
]
})
});
const data = await res.json();
console.log(data);
// Response
{
"success": true,
"payments": [
{
"id": 1,
"amount": 25,
"method": "cash"
},
{
"id": 2,
"amount": 25,
"method": "card"
}
]
}
POST /pos/orders/{id}/pay
Pay an order with payment records.
{
"payments": [
{
"amount": 10,
"method": "cash"
}
]
}
const res = await fetch('https://onepe.in/api/application-integration/pos/orders/{id}/pay', {
method: 'POST',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
,body: JSON.stringify({
"payments": [
{
"amount": 10,
"method": "cash"
}
]
})
});
const data = await res.json();
console.log(data);
// Response
{
"status": true
}
PUT /pos/orders/{id}/items
Update order items (add, update quantity, or remove)
{
"items": [
{
"action": "add",
"menu_item_id": 15,
"quantity": 2,
"price": 25
},
{
"action": "update",
"order_item_id": 123,
"quantity": 3
},
{
"action": "remove",
"order_item_id": 124
}
],
"recalculate_totals": true
}
const res = await fetch('https://onepe.in/api/application-integration/pos/orders/{id}/items', {
method: 'PUT',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
,body: JSON.stringify({
"items": [
{
"action": "add",
"menu_item_id": 15,
"quantity": 2,
"price": 25
},
{
"action": "update",
"order_item_id": 123,
"quantity": 3
},
{
"action": "remove",
"order_item_id": 124
}
],
"recalculate_totals": true
})
});
const data = await res.json();
console.log(data);
// Response
{
"success": true,
"data": {
"added_items": [
125
],
"updated_items": [
123
],
"removed_items": [
124
],
"sub_total": 75,
"total": 82.5
}
}
POST /pos/orders/{id}/kot
Create a new KOT for existing order
{
"order_item_ids": [
123,
124
],
"note": "Kitchen note",
"kitchen_place_id": 1
}
const res = await fetch('https://onepe.in/api/application-integration/pos/orders/{id}/kot', {
method: 'POST',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
,body: JSON.stringify({
"order_item_ids": [
123,
124
],
"note": "Kitchen note",
"kitchen_place_id": 1
})
});
const data = await res.json();
console.log(data);
// Response
{
"success": true,
"data": {
"kot_id": 45,
"kot_number": "123",
"token_number": 5,
"items_count": 2
}
}
GET /pos/customers
List POS customers.
const res = await fetch('https://onepe.in/api/application-integration/pos/customers', {
method: 'GET',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
});
const data = await res.json();
console.log(data);
// Response
[
{
"id": 2,
"name": "John Doe"
}
]
POST /pos/customers
Create a POS customer.
{
"name": "John",
"phone": "+1"
}
const res = await fetch('https://onepe.in/api/application-integration/pos/customers', {
method: 'POST',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
,body: JSON.stringify({
"name": "John",
"phone": "+1"
})
});
const data = await res.json();
console.log(data);
// Response
{
"id": 22,
"name": "John"
}
GET /pos/phone-codes
List phone codes for customer creation.
const res = await fetch('https://onepe.in/api/application-integration/pos/phone-codes', {
method: 'GET',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
});
const data = await res.json();
console.log(data);
// Response
[
{
"code": "+1",
"name": "US"
}
]
GET /pos/taxes
List taxes for the branch.
const res = await fetch('https://onepe.in/api/application-integration/pos/taxes', {
method: 'GET',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
});
const data = await res.json();
console.log(data);
// Response
[
{
"name": "VAT",
"rate": 5
}
]
GET /pos/restaurants
List restaurants (super admin tokens).
const res = await fetch('https://onepe.in/api/application-integration/pos/restaurants', {
method: 'GET',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
});
const data = await res.json();
console.log(data);
// Response
[
{
"id": 2,
"name": "Demo"
}
]
GET /pos/branches
List branches for current restaurant.
const res = await fetch('https://onepe.in/api/application-integration/pos/branches', {
method: 'GET',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
});
const data = await res.json();
console.log(data);
// Response
[
{
"id": 1,
"name": "HQ"
}
]
GET /pos/reservations
List reservations.
const res = await fetch('https://onepe.in/api/application-integration/pos/reservations', {
method: 'GET',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
});
const data = await res.json();
console.log(data);
// Response
[
{
"id": 8,
"status": "confirmed"
}
]
POST /pos/reservations
Create a reservation.
{
"table_id": 1,
"guest_name": "Sam",
"guest_count": 2
}
const res = await fetch('https://onepe.in/api/application-integration/pos/reservations', {
method: 'POST',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
,body: JSON.stringify({
"table_id": 1,
"guest_name": "Sam",
"guest_count": 2
})
});
const data = await res.json();
console.log(data);
// Response
{
"id": 9
}
POST /pos/reservations/{id}/status
Update reservation status.
{
"status": "cancelled"
}
const res = await fetch('https://onepe.in/api/application-integration/pos/reservations/{id}/status', {
method: 'POST',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
,body: JSON.stringify({
"status": "cancelled"
})
});
const data = await res.json();
console.log(data);
// Response
{
"status": true
}
GET /pos/reservations/today
Todays reservations shortcut.
const res = await fetch('https://onepe.in/api/application-integration/pos/reservations/today', {
method: 'GET',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
});
const data = await res.json();
console.log(data);
// Response
[
{
"id": 8,
"status": "confirmed"
}
]
GET /pos/tables
List tables for the branch.
const res = await fetch('https://onepe.in/api/application-integration/pos/tables', {
method: 'GET',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
});
const data = await res.json();
console.log(data);
// Response
[
{
"id": 6,
"name": "T-6"
}
]
POST /pos/tables/{tableId}/unlock
Force unlock a table.
const res = await fetch('https://onepe.in/api/application-integration/pos/tables/{tableId}/unlock', {
method: 'POST',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
});
const data = await res.json();
console.log(data);
// Response
{
"unlocked": true
}
GET /pos/order-types
List available order types.
const res = await fetch('https://onepe.in/api/application-integration/pos/order-types', {
method: 'GET',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
});
const data = await res.json();
console.log(data);
// Response
[
{
"code": "dine-in",
"label": "Dine In"
}
]
GET /pos/actions
List allowed order actions.
const res = await fetch('https://onepe.in/api/application-integration/pos/actions', {
method: 'GET',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
});
const data = await res.json();
console.log(data);
// Response
[
"kot",
"bill"
]
GET /pos/delivery-platforms
List configured delivery platforms.
const res = await fetch('https://onepe.in/api/application-integration/pos/delivery-platforms', {
method: 'GET',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
});
const data = await res.json();
console.log(data);
// Response
[
"Talabat",
"Careem"
]
GET /pos/get-order-number
Fetch the next order number.
const res = await fetch('https://onepe.in/api/application-integration/pos/get-order-number', {
method: 'GET',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
});
const data = await res.json();
console.log(data);
// Response
{
"order_number": 157,
"formatted_order_number": "POS-2026-0157"
}
GET /pos/waiters
List waiters/delivery staff.
const res = await fetch('https://onepe.in/api/application-integration/pos/waiters', {
method: 'GET',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
});
const data = await res.json();
console.log(data);
// Response
[
{
"id": 4,
"name": "Waiter 1"
}
]
GET /pos/delivery-executives
List delivery executives with status filters.
const res = await fetch('https://onepe.in/api/application-integration/pos/delivery-executives', {
method: 'GET',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
});
const data = await res.json();
console.log(data);
// Response
[
{
"id": 1,
"name": "Driver 1",
"phone": "+123456789",
"status": "available"
}
]
Customer App
Customer catalog and order submission endpoints.
GET /customer/catalog
Return menus, categories, and items for customer apps.
const res = await fetch('https://onepe.in/api/application-integration/customer/catalog', {
method: 'GET',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
});
const data = await res.json();
console.log(data);
// Response
{
"menus": [
{
"id": 3,
"name": "Main Menu",
"categories": []
}
]
}
POST /customer/orders
Place a customer order (delivery/takeaway).
{
"order_type": "Delivery",
"customer_address_id": 9,
"items": [
{
"id": 10,
"quantity": 1
}
]
}
const res = await fetch('https://onepe.in/api/application-integration/customer/orders', {
method: 'POST',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
,body: JSON.stringify({
"order_type": "Delivery",
"customer_address_id": 9,
"items": [
{
"id": 10,
"quantity": 1
}
]
})
});
const data = await res.json();
console.log(data);
// Response
{
"status": true,
"order_id": 551
}
GET /customer/orders
List customer orders for current token.
const res = await fetch('https://onepe.in/api/application-integration/customer/orders', {
method: 'GET',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
});
const data = await res.json();
console.log(data);
// Response
[
{
"id": 551,
"status": "open",
"total": 22.5
}
]
Notifications
Register device tokens and fetch notifications.
POST /pos/notifications/register-token
Register device token for push.
{
"device_token": "2f546bee-ab5b-4e8a-8609-21daf9bd8c42",
"platform": "ios"
}
const res = await fetch('https://onepe.in/api/application-integration/pos/notifications/register-token', {
method: 'POST',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
,body: JSON.stringify({
"device_token": "2f546bee-ab5b-4e8a-8609-21daf9bd8c42",
"platform": "ios"
})
});
const data = await res.json();
console.log(data);
// Response
{
"saved": true
}
GET /pos/notifications
List notifications for current user.
const res = await fetch('https://onepe.in/api/application-integration/pos/notifications', {
method: 'GET',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
});
const data = await res.json();
console.log(data);
// Response
[
{
"id": 1,
"title": "Order ready",
"read_at": null
}
]
POST /pos/notifications/{id}/read
Mark notification as read.
const res = await fetch('https://onepe.in/api/application-integration/pos/notifications/{id}/read', {
method: 'POST',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
});
const data = await res.json();
console.log(data);
// Response
{
"read": true
}
POST /pos/notifications/test
Send a test notification.
const res = await fetch('https://onepe.in/api/application-integration/pos/notifications/test', {
method: 'POST',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
});
const data = await res.json();
console.log(data);
// Response
{
"sent": true
}
SDK Examples
Use any language to consume endpoints with bearer auth.
const res = await fetch('https://onepe.in/api/application-integration/pos/items', {
method: 'GET',
headers: {
'Authorization': 'Bearer <TOKEN>',
'Accept': 'application/json',
'Content-Type': 'application/json',
}
});
const data = await res.json();
console.log(data);
// Response
{
"status": true,
"data": {
"items": [
{
"id": 1,
"name": "Espresso"
}
]
}
}