MENU navbar-image

Introduction

Mobile ordering and POS integration APIs. Documentation is generated from routes, controller validators, and docblocks.

POSAPIs

This documentation is generated automatically from routes/api.php, controller validation rules, and each action's return response()->json(...) payloads.

For every endpoint you get:

APIs are organised the same way as before:

Whenever you add a new API route under /api/* (in routes/api.php), regenerate docs with:

php artisan scribe:generate

New routes are picked up automatically — you do not need to edit this documentation by hand.

Base URL

http://localhost

Authenticating requests

To authenticate requests, include an Authorization header with the value "Bearer {YOUR_AUTH_TOKEN}".

All authenticated endpoints are marked with a requires authentication badge in the documentation below.

Call POST /api/v1/login (query: username, password) or POST /api/v2/login (JSON body) to obtain a JWT. Send it as Authorization: Bearer {YOUR_AUTH_TOKEN}. Tokens expire after about one hour; use /refresh or log in again. Most routes also require a role such as store, application, or applicationReadOnly.

App Related APIs

Login, logout, refresh, signup, and related account endpoints.

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/me" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/me"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (example):


"example"
 

Request      

GET api/me

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/plans" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/plans"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (example):


"example"
 

Request      

GET api/plans

App Related APIs (V1)

Login, logout, refresh, signup, and related account endpoints.

Example request:
curl --request POST \
    "http://localhost/api/v1/login?username=example%40bimpos.com&password=Ex%40mple" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/login"
);

const params = {
    "username": "example@bimpos.com",
    "password": "Ex@mple",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (200):


{
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...",
    "token_type": "bearer",
    "expires_in": 3600,
    "message": "Login Successful",
    "status": "success"
}
 

Example response (401):


{
    "message": "Unauthorized",
    "error": "Unauthorized",
    "status": "fail"
}
 

Request      

POST api/v1/login

Query Parameters

username  string  

Required. Type: string. Account username or email.

password  string  

Required. Type: string. Account password.

Response

Response Fields

access_token  string  

Returned by this endpoint.

token_type  string  

Returned by this endpoint.

expires_in  integer  

Returned by this endpoint.

message  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/logout" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/logout"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (Successfully logged out):


{
    "message": "Successfully logged out"
}
 

Request      

POST api/v1/logout

Response

Response Fields

message  string  

Returned by this endpoint.

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/refresh" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/refresh"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (Login Successful):


{
    "access_token": "example",
    "token_type": "bearer",
    "expires_in": 3600,
    "message": "Login Successful",
    "status": "success"
}
 

Request      

POST api/v1/refresh

Response

Response Fields

access_token  string  

Returned by this endpoint.

token_type  string  

Returned by this endpoint.

expires_in  integer  

Returned by this endpoint.

message  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/signup" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"first_name\": \"example\",
    \"last_name\": \"example\",
    \"username\": \"example@bimpos.com\",
    \"email\": \"example@bimpos.com\",
    \"mobile\": 3000000,
    \"dob\": \"example\",
    \"clientid\": 1,
    \"terms\": \"example\"
}"
const url = new URL(
    "http://localhost/api/v1/signup"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "first_name": "example",
    "last_name": "example",
    "username": "example@bimpos.com",
    "email": "example@bimpos.com",
    "mobile": 3000000,
    "dob": "example",
    "clientid": 1,
    "terms": "example"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (User example example has been created Successfully):


"User example example has been created Successfully"
 

Example response (Error: Illegal Access, Please check the API Documentation):


{
    "MESSAGE": "Illegal Access, Please check the API Documentation",
    "STATUS": "fail"
}
 

Example response (The email you entered already exists):


"The email you entered already exists"
 

Example response (User example example has not been created):


"User example example has not been created"
 

Example response (The password does not match):


"The password does not match"
 

Request      

POST api/v1/signup

Body Parameters

first_name  string  

Required. Type: string. Validation: required|string|max:255. Must not be greater than 255 characters.

last_name  string  

Required. Type: string. Validation: required|string|max:255. Must not be greater than 255 characters.

username  string  

Required. Type: string. Validation: required|string|max:255|unique:users. Must not be greater than 255 characters.

email  string  

Required. Type: string. Validation: required|string|email|max:255|unique:users. Must be a valid email address. Must not be greater than 255 characters.

mobile  number  

Required. Type: number. Validation: required|numeric|min:000000|max:99999999. Must be at least 000000. Must not be greater than 99999999.

dob  string optional  

Optional. Type: string. Validation: date_format:Y-m-d|before:today|nullable. Must be a valid date in the format Y-m-d. Must be a date before today.

clientid  string  

Required. Type: string. Validation: required|string|max:6. Must not be greater than 6 characters.

Request body example:

{
    "first_name": "example",
    "last_name": "example",
    "username": "example@bimpos.com",
    "email": "example@bimpos.com",
    "mobile": 3000000,
    "dob": "example",
    "clientid": 1,
    "terms": "example"
}

terms  string optional  

Optional. Type: string.

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/menuapp/login" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/menuapp/login"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (Login Successful):


{
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...",
    "token_type": "basic",
    "expires_in": 3600,
    "message": "Login Successful",
    "status": "success"
}
 

Example response (Error: Unauthorized):


{
    "message": "Unauthorized",
    "error": "Unauthorized",
    "status": "fail"
}
 

Request      

POST api/v1/menuapp/login

Response

Response Fields

access_token  string  

Returned by this endpoint.

token_type  string  

Returned by this endpoint.

expires_in  integer  

Returned by this endpoint.

message  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

App Related APIs (V2)

Login, logout, refresh, signup, and related account endpoints.

Example request:
curl --request POST \
    "http://localhost/api/v2/login" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"username\": \"example@bimpos.com\",
    \"password\": \"Ex@mple\"
}"
const url = new URL(
    "http://localhost/api/v2/login"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "username": "example@bimpos.com",
    "password": "Ex@mple"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):


{
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...",
    "token_type": "bearer",
    "expires_in": 3600,
    "message": "Login Successful",
    "status": "success"
}
 

Example response (401):


{
    "message": "Unauthorized",
    "error": "Unauthorized",
    "status": "fail"
}
 

Request      

POST api/v2/login

Body Parameters

username  string  

Required. Type: string. Account username or email.

password  string  

Required. Type: string. Account password.

Request body example:

{
    "username": "example@bimpos.com",
    "password": "Ex@mple"
}

Response

Response Fields

access_token  string  

Returned by this endpoint.

token_type  string  

Returned by this endpoint.

expires_in  integer  

Returned by this endpoint.

message  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/menuapp/login" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v2/menuapp/login"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (Login Successful):


{
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...",
    "token_type": "basic",
    "expires_in": 3600,
    "message": "Login Successful",
    "status": "success"
}
 

Example response (Error: Unauthorized):


{
    "message": "Unauthorized",
    "error": "Unauthorized",
    "status": "fail"
}
 

Request      

POST api/v2/menuapp/login

Response

Response Fields

access_token  string  

Returned by this endpoint.

token_type  string  

Returned by this endpoint.

expires_in  integer  

Returned by this endpoint.

message  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Application APIs (V1) — Actions

Read (and selected write) endpoints for mobile/application clients — menus, branches, products, orders, payments.

Add Actions

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/actions" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"TABLEID\": 1,
    \"TYPE\": 1,
    \"STATUS\": 1
}"
const url = new URL(
    "http://localhost/api/v1/actions"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "TABLEID": 1,
    "TYPE": 1,
    "STATUS": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (Actions inserted successfully!):


{
    "message": "Actions inserted successfully!",
    "failed Items": [
        {
            "ERRORS": null,
            "DESCRIPT": null,
            "RESTID": 1
        }
    ],
    "status": "success"
}
 

Example response (Example error response (from controller)):


{
    "error": "Invalid request format. Expecting JSON data."
}
 

Example response (Error: This restaurant is not integrated with emenus):


{
    "message": "This restaurant is not integrated with emenus",
    "status": "Failed"
}
 

Example response (Error: No data to upsert):


{
    "message": "No data to upsert",
    "failed Items": [
        {
            "ERRORS": null,
            "DESCRIPT": null,
            "RESTID": 1
        }
    ],
    "status": "Failed"
}
 

Example response (Error: Not integrated with Emenus):


{
    "message": "Not integrated with Emenus",
    "status": "Failed"
}
 

Example response (Error: Failed to save data.):


{
    "message": "Failed to save data.",
    "failed Items": [
        {
            "ERRORS": null,
            "DESCRIPT": null,
            "RESTID": 1
        }
    ],
    "error": "example",
    "status": "Failed"
}
 

Example response (Error: example):


{
    "message": "example",
    "status": "error"
}
 

Request      

POST api/v1/actions

Body Parameters

TABLEID  integer  

Required. Type: integer. Validation: required|integer.

TYPE  string  

Required. Type: string. Validation: required|in:1,2,3,4. Must be one of 1, 2, 3, or 4.

STATUS  string  

Required. Type: string. Validation: required|in:0,1. Must be one of 0 or 1.

Request body example:

[
    {
        "TABLEID": 1,
        "TYPE": 1,
        "STATUS": 1
    }
]

Response

Response Fields

message  string  

Returned by this endpoint.

failed Items  array  

Array field returned by this endpoint.

failed Items[].ERRORS  string  

Returned by this endpoint.

failed Items[].DESCRIPT  string  

Returned by this endpoint.

failed Items[].RESTID  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Fetch Actions

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/actions" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/actions"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Actions extracted successfully!):


{
    "message": "Actions extracted successfully!",
    "status": "OK",
    "actions": [
        {
            "POSTRANSTACT": null
        }
    ]
}
 

Example response (Example error response (from controller)):


{
    "error": "No Actions Recorded for your restaurant."
}
 

Request      

GET api/v1/actions

Response

Response Fields

message  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

actions  array  

Array field returned by this endpoint.

actions[].POSTRANSTACT  string  

Returned by this endpoint.

Application APIs (V1) — Floors

Read (and selected write) endpoints for mobile/application clients — menus, branches, products, orders, payments.

Fetch Floor

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/floors/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/floors/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (No floors to display):


{
    "MESSAGE": "No floors to display",
    "STATUS": "success"
}
 

Example response (Error: No floors to display):


{
    "MESSAGE": "No floors to display",
    "STATUS": "fail"
}
 

Request      

GET api/v1/floors/{floorid?}

URL Parameters

floorid  integer optional  

Optional. Type: integer.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Add Floors

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/floors" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"id\": 1,
    \"description\": \"example\",
    \"is_default\": 1,
    \"background_color\": 1,
    \"is_active\": 1,
    \"floor_width\": 1,
    \"floor_height\": 1,
    \"branch_id\": 1,
    \"concept_id\": 1
}"
const url = new URL(
    "http://localhost/api/v1/floors"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "id": 1,
    "description": "example",
    "is_default": 1,
    "background_color": 1,
    "is_active": 1,
    "floor_width": 1,
    "floor_height": 1,
    "branch_id": 1,
    "concept_id": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (example is not found):


{
    "MESSAGE": "example is not found",
    "STATUS": "success"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Request      

POST api/v1/floors

Body Parameters

id  integer  

Required. Type: integer. Validation: required|integer.

description  string  

Required. Type: string. Validation: required|string|max:50. Must not be greater than 50 characters.

is_default  integer  

Required. Type: integer. Validation: required|integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

background_color  integer  

Required. Type: integer. Validation: required|integer.

Request body example:

[
    {
        "id": 1,
        "description": "example",
        "is_default": 1,
        "background_color": 1,
        "is_active": 1,
        "floor_width": 1,
        "floor_height": 1,
        "branch_id": 1,
        "concept_id": 1
    }
]

is_active  integer  

Required. Type: integer. Validation: required|integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

floor_width  integer  

Required. Type: integer. Validation: required|integer.

floor_height  integer  

Required. Type: integer. Validation: required|integer.

branch_id  integer  

Required. Type: integer. Validation: required|integer.

concept_id  integer  

Required. Type: integer. Validation: required|integer.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Fetch Section

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/sections/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/sections/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


[
    {
        "section_id": 1,
        "floor_id": 1,
        "section_name": "example",
        "section_type": 1,
        "section_top": "example",
        "section_width": "example",
        "section_height": "example",
        "section_shape_style": "example",
        "section_fill_style": "example",
        "section_fill_color": "example",
        "font_name": "example",
        "font_bold": "example",
        "font_italic": "example",
        "font_size": "example",
        "font_strike_through": "example",
        "font_underline": "example",
        "font_color": "example",
        "client_id": 1,
        "headoffice_client_id": 1,
        "is_active": 1,
        "created_at": "example",
        "updated_at": "2026-08-17"
    }
]
 

Example response (Error: No Sections to display):


{
    "MESSAGE": "No Sections to display",
    "STATUS": "fail"
}
 

Request      

GET api/v1/sections/{floormapid?}

URL Parameters

floormapid  integer optional  

Optional. Type: integer.

Response

Response Fields

[].section_id  integer  

Returned by this endpoint.

[].floor_id  integer  

Returned by this endpoint.

[].section_name  string  

Returned by this endpoint.

[].section_type  integer  

Returned by this endpoint.

[].section_top  string  

Returned by this endpoint.

[].section_width  string  

Returned by this endpoint.

[].section_height  string  

Returned by this endpoint.

[].section_shape_style  string  

Returned by this endpoint.

[].section_fill_style  string  

Returned by this endpoint.

[].section_fill_color  string  

Returned by this endpoint.

[].font_name  string  

Returned by this endpoint.

[].font_bold  string  

Returned by this endpoint.

[].font_italic  string  

Returned by this endpoint.

[].font_size  string  

Returned by this endpoint.

[].font_strike_through  string  

Returned by this endpoint.

[].font_underline  string  

Returned by this endpoint.

[].font_color  string  

Returned by this endpoint.

[].client_id  integer  

Returned by this endpoint.

[].headoffice_client_id  integer  

Returned by this endpoint.

[].is_active  integer  

Returned by this endpoint.

[].created_at  string  

Returned by this endpoint.

[].updated_at  string  

Returned by this endpoint.

Fetch Floor Section

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/floors/1/sections/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/floors/1/sections/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


[
    {
        "section_id": 1,
        "floor_id": 1,
        "section_name": "example",
        "section_type": 1,
        "section_top": "example",
        "section_width": "example",
        "section_height": "example",
        "section_shape_style": "example",
        "section_fill_style": "example",
        "section_fill_color": "example",
        "font_name": "example",
        "font_bold": "example",
        "font_italic": "example",
        "font_size": "example",
        "font_strike_through": "example",
        "font_underline": "example",
        "font_color": "example",
        "client_id": 1,
        "headoffice_client_id": 1,
        "is_active": 1,
        "created_at": "example",
        "updated_at": "2026-08-17"
    }
]
 

Example response (Error: No Sections to display):


{
    "MESSAGE": "No Sections to display",
    "STATUS": "fail"
}
 

Request      

GET api/v1/floors/{floorid}/sections/{sectionid?}

URL Parameters

floorid  integer  

Required. Type: integer.

sectionid  integer optional  

Optional. Type: integer.

Response

Response Fields

[].section_id  integer  

Returned by this endpoint.

[].floor_id  integer  

Returned by this endpoint.

[].section_name  string  

Returned by this endpoint.

[].section_type  integer  

Returned by this endpoint.

[].section_top  string  

Returned by this endpoint.

[].section_width  string  

Returned by this endpoint.

[].section_height  string  

Returned by this endpoint.

[].section_shape_style  string  

Returned by this endpoint.

[].section_fill_style  string  

Returned by this endpoint.

[].section_fill_color  string  

Returned by this endpoint.

[].font_name  string  

Returned by this endpoint.

[].font_bold  string  

Returned by this endpoint.

[].font_italic  string  

Returned by this endpoint.

[].font_size  string  

Returned by this endpoint.

[].font_strike_through  string  

Returned by this endpoint.

[].font_underline  string  

Returned by this endpoint.

[].font_color  string  

Returned by this endpoint.

[].client_id  integer  

Returned by this endpoint.

[].headoffice_client_id  integer  

Returned by this endpoint.

[].is_active  integer  

Returned by this endpoint.

[].created_at  string  

Returned by this endpoint.

[].updated_at  string  

Returned by this endpoint.

Add Sections

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/sections" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"section_id\": 1,
    \"section_type\": 1,
    \"section_left\": 1,
    \"section_top\": 1,
    \"section_width\": 1,
    \"section_height\": 1,
    \"section_name\": \"example\",
    \"section_shapestyle\": 1,
    \"section_fillstyle\": 1,
    \"section_fillcolor\": 1,
    \"section_floor_id\": 1,
    \"font_name\": \"example\",
    \"font_bold\": 1,
    \"font_italic\": 1,
    \"font_size\": 1.5,
    \"font_strike_through\": 1,
    \"font_underline\": 1,
    \"font_color\": 1,
    \"is_active\": 1
}"
const url = new URL(
    "http://localhost/api/v1/sections"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "section_id": 1,
    "section_type": 1,
    "section_left": 1,
    "section_top": 1,
    "section_width": 1,
    "section_height": 1,
    "section_name": "example",
    "section_shapestyle": 1,
    "section_fillstyle": 1,
    "section_fillcolor": 1,
    "section_floor_id": 1,
    "font_name": "example",
    "font_bold": 1,
    "font_italic": 1,
    "font_size": 1.5,
    "font_strike_through": 1,
    "font_underline": 1,
    "font_color": 1,
    "is_active": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (The branch is not found):


{
    "MESSAGE": "The branch is not found",
    "STATUS": "success"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Request      

POST api/v1/sections

Body Parameters

section_id  integer  

Required. Type: integer. Validation: required|integer.

section_type  integer  

Required. Type: integer. Validation: required|integer.

section_left  integer  

Required. Type: integer. Validation: required|integer.

section_top  integer  

Required. Type: integer. Validation: required|integer.

section_width  integer  

Required. Type: integer. Validation: required|integer.

section_height  integer  

Required. Type: integer. Validation: required|integer.

section_name  string  

Required. Type: string. Validation: required|string|max:254. Must not be greater than 254 characters.

section_shapestyle  integer  

Required. Type: integer. Validation: required|integer.

section_fillstyle  integer  

Required. Type: integer. Validation: required|integer.

section_fillcolor  integer  

Required. Type: integer. Validation: required|integer.

section_floor_id  integer  

Required. Type: integer. Validation: required|integer.

font_name  string  

Required. Type: string. Validation: required|string|max:254. Must not be greater than 254 characters.

font_bold  integer  

Required. Type: integer. Validation: required|integer.

Request body example:

[
    {
        "section_id": 1,
        "section_type": 1,
        "section_left": 1,
        "section_top": 1,
        "section_width": 1,
        "section_height": 1,
        "section_name": "example",
        "section_shapestyle": 1,
        "section_fillstyle": 1,
        "section_fillcolor": 1,
        "section_floor_id": 1,
        "font_name": "example",
        "font_bold": 1,
        "font_italic": 1,
        "font_size": 1.5,
        "font_strike_through": 1,
        "font_underline": 1,
        "font_color": 1,
        "is_active": 1
    }
]

font_italic  integer  

Required. Type: integer. Validation: required|integer.

font_size  number  

Required. Type: number. Validation: required|numeric.

font_strike_through  integer  

Required. Type: integer. Validation: required|integer.

font_underline  integer  

Required. Type: integer. Validation: required|integer.

font_color  integer  

Required. Type: integer. Validation: required|integer.

is_active  integer  

Required. Type: integer. Validation: required|integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Fetch Section Tables

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/sections/1/tables" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/sections/1/tables"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


[
    {
        "table_id": 1,
        "section_id": 1,
        "table_name": "example",
        "table_index": 1,
        "table_type": 1,
        "table_top": "example",
        "table_left": "example",
        "table_width": "example",
        "table_height": "example",
        "table_shape_style": "example",
        "table_fill_style": "example",
        "table_fill_color": "example",
        "font_name": "example",
        "font_bold": "example",
        "font_italic": "example",
        "font_size": "example",
        "font_strike_through": "example",
        "font_underline": "example",
        "font_color": "example",
        "client_id": 1,
        "headoffice_client_id": 1,
        "version_id": 1,
        "is_active": 1,
        "created_at": "example",
        "updated_at": "2026-08-17"
    }
]
 

Example response (Error: No Tables in section 1 to display):


{
    "MESSAGE": "No Tables in section 1 to display",
    "STATUS": "fail"
}
 

Request      

GET api/v1/sections/{sectionmapid?}/tables

URL Parameters

sectionmapid  integer optional  

Optional. Type: integer.

Response

Response Fields

[].table_id  integer  

Returned by this endpoint.

[].section_id  integer  

Returned by this endpoint.

[].table_name  string  

Returned by this endpoint.

[].table_index  integer  

Returned by this endpoint.

[].table_type  integer  

Returned by this endpoint.

[].table_top  string  

Returned by this endpoint.

[].table_left  string  

Returned by this endpoint.

[].table_width  string  

Returned by this endpoint.

[].table_height  string  

Returned by this endpoint.

[].table_shape_style  string  

Returned by this endpoint.

[].table_fill_style  string  

Returned by this endpoint.

[].table_fill_color  string  

Returned by this endpoint.

[].font_name  string  

Returned by this endpoint.

[].font_bold  string  

Returned by this endpoint.

[].font_italic  string  

Returned by this endpoint.

[].font_size  string  

Returned by this endpoint.

[].font_strike_through  string  

Returned by this endpoint.

[].font_underline  string  

Returned by this endpoint.

[].font_color  string  

Returned by this endpoint.

[].client_id  integer  

Returned by this endpoint.

[].headoffice_client_id  integer  

Returned by this endpoint.

[].version_id  integer  

Returned by this endpoint.

[].is_active  integer  

Returned by this endpoint.

[].created_at  string  

Returned by this endpoint.

[].updated_at  string  

Returned by this endpoint.

Fetch Floor Tables

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/floors/1/tables" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/floors/1/tables"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


[
    {
        "table_id": 1,
        "section_id": 1,
        "table_name": "example",
        "table_index": 1,
        "table_type": 1,
        "table_top": "example",
        "table_left": "example",
        "table_width": "example",
        "table_height": "example",
        "table_shape_style": "example",
        "table_fill_style": "example",
        "table_fill_color": "example",
        "font_name": "example",
        "font_bold": "example",
        "font_italic": "example",
        "font_size": "example",
        "font_strike_through": "example",
        "font_underline": "example",
        "font_color": "example",
        "client_id": 1,
        "headoffice_client_id": 1,
        "version_id": 1,
        "is_active": 1,
        "created_at": "example",
        "updated_at": "2026-08-17"
    }
]
 

Example response (Error: No Tables in section 1 to display):


{
    "MESSAGE": "No Tables in section 1 to display",
    "STATUS": "fail"
}
 

Request      

GET api/v1/floors/{floorid}/tables

URL Parameters

floorid  integer  

Required. Type: integer.

Response

Response Fields

[].table_id  integer  

Returned by this endpoint.

[].section_id  integer  

Returned by this endpoint.

[].table_name  string  

Returned by this endpoint.

[].table_index  integer  

Returned by this endpoint.

[].table_type  integer  

Returned by this endpoint.

[].table_top  string  

Returned by this endpoint.

[].table_left  string  

Returned by this endpoint.

[].table_width  string  

Returned by this endpoint.

[].table_height  string  

Returned by this endpoint.

[].table_shape_style  string  

Returned by this endpoint.

[].table_fill_style  string  

Returned by this endpoint.

[].table_fill_color  string  

Returned by this endpoint.

[].font_name  string  

Returned by this endpoint.

[].font_bold  string  

Returned by this endpoint.

[].font_italic  string  

Returned by this endpoint.

[].font_size  string  

Returned by this endpoint.

[].font_strike_through  string  

Returned by this endpoint.

[].font_underline  string  

Returned by this endpoint.

[].font_color  string  

Returned by this endpoint.

[].client_id  integer  

Returned by this endpoint.

[].headoffice_client_id  integer  

Returned by this endpoint.

[].version_id  integer  

Returned by this endpoint.

[].is_active  integer  

Returned by this endpoint.

[].created_at  string  

Returned by this endpoint.

[].updated_at  string  

Returned by this endpoint.

Add Tables

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/tables" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"table_id\": 1,
    \"table_index\": 1,
    \"table_type\": 1,
    \"table_left\": 1,
    \"table_top\": 1,
    \"table_width\": 1,
    \"table_height\": 1,
    \"table_name\": \"example\",
    \"table_shapestyle\": 1,
    \"table_fillstyle\": 1,
    \"table_fillcolor\": 1,
    \"section_id\": 1,
    \"font_name\": \"example\",
    \"font_bold\": 1,
    \"font_italic\": 1,
    \"font_size\": 1.5,
    \"font_strike_through\": 1,
    \"font_underline\": 1,
    \"font_color\": 1,
    \"is_active\": 1
}"
const url = new URL(
    "http://localhost/api/v1/tables"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "table_id": 1,
    "table_index": 1,
    "table_type": 1,
    "table_left": 1,
    "table_top": 1,
    "table_width": 1,
    "table_height": 1,
    "table_name": "example",
    "table_shapestyle": 1,
    "table_fillstyle": 1,
    "table_fillcolor": 1,
    "section_id": 1,
    "font_name": "example",
    "font_bold": 1,
    "font_italic": 1,
    "font_size": 1.5,
    "font_strike_through": 1,
    "font_underline": 1,
    "font_color": 1,
    "is_active": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (The branch is not found):


{
    "MESSAGE": "The branch is not found",
    "STATUS": "success"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Request      

POST api/v1/tables

Body Parameters

table_id  integer  

Required. Type: integer. Validation: required|integer.

table_index  integer  

Required. Type: integer. Validation: required|integer.

table_type  integer  

Required. Type: integer. Validation: required|integer.

table_left  integer  

Required. Type: integer. Validation: required|integer.

table_top  integer  

Required. Type: integer. Validation: required|integer.

table_width  integer  

Required. Type: integer. Validation: required|integer.

table_height  integer  

Required. Type: integer. Validation: required|integer.

table_name  string  

Required. Type: string. Validation: required|string|max:254. Must not be greater than 254 characters.

table_shapestyle  integer optional  

Optional. Type: integer. Validation: integer.

table_fillstyle  integer optional  

Optional. Type: integer. Validation: integer.

table_fillcolor  integer optional  

Optional. Type: integer. Validation: integer.

section_id  integer  

Required. Type: integer. Validation: required|integer.

font_name  string optional  

Optional. Type: string. Validation: string|max:254. Must not be greater than 254 characters.

font_bold  integer optional  

Optional. Type: integer. Validation: integer.

Request body example:

[
    {
        "table_id": 1,
        "table_index": 1,
        "table_type": 1,
        "table_left": 1,
        "table_top": 1,
        "table_width": 1,
        "table_height": 1,
        "table_name": "example",
        "table_shapestyle": 1,
        "table_fillstyle": 1,
        "table_fillcolor": 1,
        "section_id": 1,
        "font_name": "example",
        "font_bold": 1,
        "font_italic": 1,
        "font_size": 1.5,
        "font_strike_through": 1,
        "font_underline": 1,
        "font_color": 1,
        "is_active": 1
    }
]

font_italic  integer optional  

Optional. Type: integer. Validation: integer.

font_size  number optional  

Optional. Type: number. Validation: numeric.

font_strike_through  integer optional  

Optional. Type: integer. Validation: integer.

font_underline  integer optional  

Optional. Type: integer. Validation: integer.

font_color  integer optional  

Optional. Type: integer. Validation: integer.

is_active  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Application APIs (V1) — General

Read (and selected write) endpoints for mobile/application clients — menus, branches, products, orders, payments.

Fetch Charges

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/charges?branch=1&city=1&bimpos_delivery_ordertype_id=1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/charges"
);

const params = {
    "branch": "1",
    "city": "1",
    "bimpos_delivery_ordertype_id": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


{
    "status": "success",
    "data": 1,
    "message": ""
}
 

Example response (Example error response (from controller)):


{
    "status": "fail",
    "data": [],
    "msg": "Validation failed",
    "errors": "example"
}
 

Request      

GET api/v1/charges

Query Parameters

branch  integer  

Required. Type: integer. Validation: required|integer|min:1. Must be at least 1.

city  integer  

Required. Type: integer. Validation: required|integer|min:1. Must be at least 1.

bimpos_delivery_ordertype_id  integer  

Required. Type: integer. Validation: required|integer|min:1. Must be at least 1.

Response

Response Fields

status  string  

Returned by this endpoint.

data  integer  

Returned by this endpoint.

message  string  

Returned by this endpoint.

Fetch Update

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/updates/2026-08-17" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/updates/2026-08-17"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


{
    "currentmenuid": "2026-08-17",
    "lastupdated": "2026-08-17",
    "changes": {
        "categories": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "parents": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "products": {
            "updated": [
                {
                    "prodnum": 1,
                    "catid": "example"
                }
            ],
            "deleted": [
                {
                    "prodnum": 1,
                    "catid": "example"
                }
            ]
        },
        "modifiers": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "questionGroups": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "questionGroupsDetails": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "questionHeaders": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "questionDetails": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "comboProducts": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "comboHeaders": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "comboDetails": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "comboItems": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "charges": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "branches": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "regions": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "branch_regions": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "cities": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "countries": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "charge_details": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "menus": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "tags": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "order_types": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "order_type_charges": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "order_type_charge_branches": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "order_type_charge_branch_regions": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "store_settings": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "floormaps": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "floors": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "sectionmaps": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        }
    }
}
 

Example response (Error: No updates to display):


{
    "MESSAGE": "No updates to display",
    "STATUS": "fail"
}
 

Example response (Error: please enter a valid update id):


{
    "MESSAGE": "please enter a valid update id",
    "STATUS": "fail"
}
 

Request      

GET api/v1/updates/{updateid?}

URL Parameters

updateid  integer optional  

Optional. Type: integer.

Response

Response Fields

currentmenuid  string  

Returned by this endpoint.

lastupdated  string  

Returned by this endpoint.

changes  object  

Object field returned by this endpoint.

changes.categories  object  

Object field returned by this endpoint.

changes.categories.updated  array  

Array field returned by this endpoint.

changes.categories.deleted  array  

Array field returned by this endpoint.

changes.parents  object  

Object field returned by this endpoint.

changes.parents.updated  array  

Array field returned by this endpoint.

changes.parents.deleted  array  

Array field returned by this endpoint.

changes.products  object  

Object field returned by this endpoint.

changes.products.updated  array  

Array field returned by this endpoint.

changes.products.updated[].prodnum  integer  

Returned by this endpoint.

changes.products.updated[].catid  string  

Returned by this endpoint.

changes.products.deleted  array  

Array field returned by this endpoint.

changes.products.deleted[].prodnum  integer  

Returned by this endpoint.

changes.products.deleted[].catid  string  

Returned by this endpoint.

changes.modifiers  object  

Object field returned by this endpoint.

changes.modifiers.updated  array  

Array field returned by this endpoint.

changes.modifiers.deleted  array  

Array field returned by this endpoint.

changes.questionGroups  object  

Object field returned by this endpoint.

changes.questionGroups.updated  array  

Array field returned by this endpoint.

changes.questionGroups.deleted  array  

Array field returned by this endpoint.

changes.questionGroupsDetails  object  

Object field returned by this endpoint.

changes.questionGroupsDetails.updated  array  

Array field returned by this endpoint.

changes.questionGroupsDetails.deleted  array  

Array field returned by this endpoint.

changes.questionHeaders  object  

Object field returned by this endpoint.

changes.questionHeaders.updated  array  

Array field returned by this endpoint.

changes.questionHeaders.deleted  array  

Array field returned by this endpoint.

changes.questionDetails  object  

Object field returned by this endpoint.

changes.questionDetails.updated  array  

Array field returned by this endpoint.

changes.questionDetails.deleted  array  

Array field returned by this endpoint.

changes.comboProducts  object  

Object field returned by this endpoint.

changes.comboProducts.updated  array  

Array field returned by this endpoint.

changes.comboProducts.deleted  array  

Array field returned by this endpoint.

changes.comboHeaders  object  

Object field returned by this endpoint.

changes.comboHeaders.updated  array  

Array field returned by this endpoint.

changes.comboHeaders.deleted  array  

Array field returned by this endpoint.

changes.comboDetails  object  

Object field returned by this endpoint.

changes.comboDetails.updated  array  

Array field returned by this endpoint.

changes.comboDetails.deleted  array  

Array field returned by this endpoint.

changes.comboItems  object  

Object field returned by this endpoint.

changes.comboItems.updated  array  

Array field returned by this endpoint.

changes.comboItems.deleted  array  

Array field returned by this endpoint.

changes.charges  object  

Object field returned by this endpoint.

changes.charges.updated  array  

Array field returned by this endpoint.

changes.charges.deleted  array  

Array field returned by this endpoint.

changes.branches  object  

Object field returned by this endpoint.

changes.branches.updated  array  

Array field returned by this endpoint.

changes.branches.deleted  array  

Array field returned by this endpoint.

changes.regions  object  

Object field returned by this endpoint.

changes.regions.updated  array  

Array field returned by this endpoint.

changes.regions.deleted  array  

Array field returned by this endpoint.

changes.branch_regions  object  

Object field returned by this endpoint.

changes.branch_regions.updated  array  

Array field returned by this endpoint.

changes.branch_regions.deleted  array  

Array field returned by this endpoint.

changes.cities  object  

Object field returned by this endpoint.

changes.cities.updated  array  

Array field returned by this endpoint.

changes.cities.deleted  array  

Array field returned by this endpoint.

changes.countries  object  

Object field returned by this endpoint.

changes.countries.updated  array  

Array field returned by this endpoint.

changes.countries.deleted  array  

Array field returned by this endpoint.

changes.charge_details  object  

Object field returned by this endpoint.

changes.charge_details.updated  array  

Array field returned by this endpoint.

changes.charge_details.deleted  array  

Array field returned by this endpoint.

changes.menus  object  

Object field returned by this endpoint.

changes.menus.updated  array  

Array field returned by this endpoint.

changes.menus.deleted  array  

Array field returned by this endpoint.

changes.tags  object  

Object field returned by this endpoint.

changes.tags.updated  array  

Array field returned by this endpoint.

changes.tags.deleted  array  

Array field returned by this endpoint.

changes.order_types  object  

Object field returned by this endpoint.

changes.order_types.updated  array  

Array field returned by this endpoint.

changes.order_types.deleted  array  

Array field returned by this endpoint.

changes.order_type_charges  object  

Object field returned by this endpoint.

changes.order_type_charges.updated  array  

Array field returned by this endpoint.

changes.order_type_charges.deleted  array  

Array field returned by this endpoint.

changes.order_type_charge_branches  object  

Object field returned by this endpoint.

changes.order_type_charge_branches.updated  array  

Array field returned by this endpoint.

changes.order_type_charge_branches.deleted  array  

Array field returned by this endpoint.

changes.order_type_charge_branch_regions  object  

Object field returned by this endpoint.

changes.order_type_charge_branch_regions.updated  array  

Array field returned by this endpoint.

changes.order_type_charge_branch_regions.deleted  array  

Array field returned by this endpoint.

changes.store_settings  object  

Object field returned by this endpoint.

changes.store_settings.updated  array  

Array field returned by this endpoint.

changes.store_settings.deleted  array  

Array field returned by this endpoint.

changes.floormaps  object  

Object field returned by this endpoint.

changes.floormaps.updated  array  

Array field returned by this endpoint.

changes.floormaps.deleted  array  

Array field returned by this endpoint.

changes.floors  object  

Object field returned by this endpoint.

changes.floors.updated  array  

Array field returned by this endpoint.

changes.floors.deleted  array  

Array field returned by this endpoint.

changes.sectionmaps  object  

Object field returned by this endpoint.

changes.sectionmaps.updated  array  

Array field returned by this endpoint.

changes.sectionmaps.deleted  array  

Array field returned by this endpoint.

Fetch All Order Count

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/all/orders/count" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/all/orders/count"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


12
 

Example response (Error: Branch not found):


{
    "MESSAGE": "Branch not found",
    "STATUS": "fail"
}
 

Request      

GET api/v1/all/orders/count

Fetch All Order

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/all/orders/ORD-1001" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/all/orders/ORD-1001"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


{
    "orders": [
        {
            "additional_info": {
                "channel_id": 1,
                "channel_name": "example",
                "channel_order_id": 1,
                "channel_order_display_id": 1
            },
            "member": {
                "memberid": 1,
                "membername": "Example Membername",
                "mobile": "03000000",
                "mobilevalidated": 1,
                "dateofbirth": "2026-08-17",
                "email": "example@bimpos.com",
                "picpath": "https://posapis.com/example.jpg"
            },
            "address": {
                "addressid": 1,
                "descript": "Ajax Festival",
                "addresstype": 1,
                "geolong": 35.5018,
                "geolat": 33.8938,
                "citycode": 1,
                "street": "example",
                "bldg": "example",
                "floor": "example",
                "city_name": "Example City name",
                "zip_code": 1,
                "directions": "example"
            },
            "phones": [
                {
                    "addressid": 1,
                    "phone": "03000000"
                }
            ],
            "items": [
                {
                    "transact": "example",
                    "itemid": 1,
                    "productcode": 1003919,
                    "productqty": 1,
                    "productprice": 12.5,
                    "combo_product_code": 1,
                    "remark": "example",
                    "modifiers": [
                        {
                            "transact": "example",
                            "itemid": 1,
                            "productcode": 1003919,
                            "productqty": 1,
                            "productprice": 12.5,
                            "remark": "example"
                        }
                    ]
                }
            ]
        }
    ]
}
 

Example response (Error: Branch not found):


{
    "MESSAGE": "Branch not found",
    "STATUS": "fail"
}
 

Request      

GET api/v1/all/orders/{orderid?}

URL Parameters

orderid  integer optional  

Optional. Type: integer.

Response

Response Fields

orders  array  

Array field returned by this endpoint.

orders[].additional_info  object  

Object field returned by this endpoint.

orders[].additional_info.channel_id  integer  

Returned by this endpoint.

orders[].additional_info.channel_name  string  

Returned by this endpoint.

orders[].additional_info.channel_order_id  integer  

Returned by this endpoint.

orders[].additional_info.channel_order_display_id  integer  

Returned by this endpoint.

orders[].member  object  

Object field returned by this endpoint.

orders[].member.memberid  integer  

Returned by this endpoint.

orders[].member.membername  string  

Returned by this endpoint.

orders[].member.mobile  string  

Returned by this endpoint.

orders[].member.mobilevalidated  integer  

Returned by this endpoint.

orders[].member.dateofbirth  string  

Returned by this endpoint.

orders[].member.email  string  

Returned by this endpoint.

orders[].member.picpath  string  

Returned by this endpoint.

orders[].address  object  

Object field returned by this endpoint.

orders[].address.addressid  integer  

Returned by this endpoint.

orders[].address.descript  string  

Returned by this endpoint.

orders[].address.addresstype  integer  

Returned by this endpoint.

orders[].address.geolong  number  

Returned by this endpoint.

orders[].address.geolat  number  

Returned by this endpoint.

orders[].address.citycode  integer  

Returned by this endpoint.

orders[].address.street  string  

Returned by this endpoint.

orders[].address.bldg  string  

Returned by this endpoint.

orders[].address.floor  string  

Returned by this endpoint.

orders[].address.city_name  string  

Returned by this endpoint.

orders[].address.zip_code  integer  

Returned by this endpoint.

orders[].address.directions  string  

Returned by this endpoint.

orders[].phones  array  

Array field returned by this endpoint.

orders[].phones[].addressid  integer  

Returned by this endpoint.

orders[].phones[].phone  string  

Returned by this endpoint.

orders[].items  array  

Array field returned by this endpoint.

orders[].items[].transact  string  

Returned by this endpoint.

orders[].items[].itemid  integer  

Returned by this endpoint.

orders[].items[].productcode  integer  

Returned by this endpoint.

orders[].items[].productqty  integer  

Returned by this endpoint.

orders[].items[].productprice  number  

Returned by this endpoint.

orders[].items[].combo_product_code  integer  

Returned by this endpoint.

orders[].items[].remark  string  

Returned by this endpoint.

orders[].items[].modifiers  array  

Array field returned by this endpoint.

orders[].items[].modifiers[].transact  string  

Returned by this endpoint.

orders[].items[].modifiers[].itemid  integer  

Returned by this endpoint.

orders[].items[].modifiers[].productcode  integer  

Returned by this endpoint.

orders[].items[].modifiers[].productqty  integer  

Returned by this endpoint.

orders[].items[].modifiers[].productprice  number  

Returned by this endpoint.

orders[].items[].modifiers[].remark  string  

Returned by this endpoint.

Fetch Department Feedback

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/department/feedbacks/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/department/feedbacks/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (No departments to display):


{
    "MESSAGE": "No departments to display",
    "STATUS": "success"
}
 

Example response (Error: No departments to display):


{
    "MESSAGE": "No departments to display",
    "STATUS": "fail"
}
 

Request      

GET api/v1/department/feedbacks/{departmentid?}

URL Parameters

departmentid  integer optional  

Optional. Type: integer.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Fetch Department

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/departments/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/departments/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (No departments to display):


{
    "MESSAGE": "No departments to display",
    "STATUS": "success"
}
 

Example response (Error: No departments to display):


{
    "MESSAGE": "No departments to display",
    "STATUS": "fail"
}
 

Request      

GET api/v1/departments/{departmentid?}

URL Parameters

departmentid  integer optional  

Optional. Type: integer.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Fetch Content

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/contents/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/contents/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (No web contents to display):


{
    "MESSAGE": "No web contents to display",
    "STATUS": "success"
}
 

Example response (Error: No web content to display):


{
    "MESSAGE": "No web content to display",
    "STATUS": "fail"
}
 

Example response (Error: No web contents to display):


{
    "MESSAGE": "No web contents to display",
    "STATUS": "fail"
}
 

Request      

GET api/v1/contents/{contentid?}

URL Parameters

contentid  integer optional  

Optional. Type: integer.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Fetch App Setting

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/app/settings/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/app/settings/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (No App Settings to display):


{
    "MESSAGE": "No App Settings to display",
    "STATUS": "success"
}
 

Example response (Error: No App Settings to display):


{
    "MESSAGE": "No App Settings to display",
    "STATUS": "fail"
}
 

Request      

GET api/v1/app/settings/{settingid?}

URL Parameters

settingid  integer optional  

Optional. Type: integer.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Add Devices

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/devices?data=%7B%22deviceIdentifier%22%3A%22example%22%2C%22deviceOS%22%3A%22example%22%2C%22deviceAppId%22%3A1%2C%22deviceAppVersion%22%3A%22example%22%2C%22mobile%22%3A%2203000000%22%7D" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/devices"
);

const params = {
    "data": "{"deviceIdentifier":"example","deviceOS":"example","deviceAppId":1,"deviceAppVersion":"example","mobile":"03000000"}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (Sent SMS to Client):


{
    "MESSAGE": "Sent SMS to Client",
    "STATUS": "success"
}
 

Example response (Error: Please Check SMS Settings):


{
    "MESSAGE": "Please Check SMS Settings",
    "STATUS": "fail"
}
 

Example response (Error: Only head office is authorized):


{
    "MESSAGE": "Only head office is authorized",
    "STATUS": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "MESSAGE": "Wrong data json format",
    "STATUS": "fail"
}
 

Request      

POST api/v1/devices

Query Parameters

data  string  

Required. Type: string. JSON object sent as the data query parameter (?data={...}). Fields inside that JSON (type, required, validation) are listed below.

FieldTypeRequiredValidation
deviceIdentifierstringrequiredrequired|string|max:50
deviceOSstringrequiredrequired|string|max:20
deviceAppIdintegerrequiredrequired|integer
deviceAppVersionstringrequiredrequired|string|max:20
mobilestringrequiredrequired|string|max:20

Request example:

{
"deviceIdentifier": "example",
"deviceOS": "example",
"deviceAppId": 1,
"deviceAppVersion": "example",
"mobile": "03000000"
}

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Update Device

requires authentication

Example request:
curl --request PUT \
    "http://localhost/api/v1/devices?data=%7B%22deviceIdentifier%22%3A%22example%22%2C%22mobile%22%3A%2203000000%22%2C%22validationCode%22%3A1%7D" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/devices"
);

const params = {
    "data": "{"deviceIdentifier":"example","mobile":"03000000","validationCode":1}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Example response (mobile number validated successfully):


{
    "MESSAGE": "mobile number validated successfully",
    "STATUS": "success"
}
 

Example response (Error: invalid code):


{
    "MESSAGE": "invalid code",
    "STATUS": "fail"
}
 

Example response (Error: Branch not found):


{
    "MESSAGE": "Branch not found",
    "STATUS": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Example response (Error: Wrond data json format):


{
    "MESSAGE": "Wrond data json format",
    "STATUS": "fail"
}
 

Request      

PUT api/v1/devices

Query Parameters

data  string  

Required. Type: string. JSON object sent as the data query parameter (?data={...}). Fields inside that JSON (type, required, validation) are listed below.

FieldTypeRequiredValidation
deviceIdentifierstringrequiredrequired|string|max:50
mobilestringrequiredrequired|string|max:20
validationCodestringrequiredrequired|string|max:20

Request example:

{
"deviceIdentifier": "example",
"mobile": "03000000",
"validationCode": 1
}

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Fetch Aggregator

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/aggregators/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/aggregators/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (No aggregator channel to display):


{
    "MESSAGE": "No aggregator channel to display",
    "STATUS": "success"
}
 

Example response (Error: No aggregator channel to display):


{
    "MESSAGE": "No aggregator channel to display",
    "STATUS": "fail"
}
 

Example response (Error: Could not find your branch!!):


{
    "MESSAGE": "Could not find your branch!!",
    "STATUS": "fail"
}
 

Request      

GET api/v1/aggregators/{sourceid}

URL Parameters

sourceid  integer  

Required. Type: integer.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Fetch Branch Schedule

requires authentication

Get delivery / takeaway hours for a branch.

Roles: store, application, applicationReadOnly. Omit clientid to use the token's own branch. HO may pass clientid / branchid, or bulk clientids.

Single — GET /api/v1/order/schedule?clientid=ZAL005

Bulk — GET /api/v1/order/schedule?clientids[]=ZAL001&clientids[]=ZAL002

Example request:
curl --request GET \
    --get "http://localhost/api/v1/order/schedule?clientid=ZAL005&branchid=12&clientids[]=ZAL001" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/order/schedule"
);

const params = {
    "clientid": "ZAL005",
    "branchid": "12",
    "clientids[]": "ZAL001",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Single branch):


{
    "status": "success",
    "clientid": "ZAL005",
    "hoclientid": "ZAL001",
    "data": [
        {
            "day": "Monday",
            "delivery": {
                "from": "12:00 AM",
                "to": "6:00 PM"
            },
            "takeaway": {
                "from": "12:00 AM",
                "to": "12:00 PM"
            }
        },
        {
            "day": "Sunday",
            "delivery": "None",
            "takeaway": "None"
        }
    ]
}
 

Request      

GET api/v1/order/schedule

Query Parameters

clientid  string optional  

Branch client ID.

branchid  integer optional  

Branch row ID.

clientids  string[] optional  

Bulk client IDs.

Fetch Branch Schedule

requires authentication

Alias of GET /api/v1/order/schedule.

Example request:
curl --request GET \
    --get "http://localhost/api/v1/order/schedule/show?clientid=ZAL005" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/order/schedule/show"
);

const params = {
    "clientid": "ZAL005",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Success):


{
    "status": "success",
    "clientid": "ZAL005",
    "hoclientid": "ZAL001",
    "data": []
}
 

Request      

GET api/v1/order/schedule/show

Query Parameters

clientid  string optional  

Branch client ID.

Application APIs (V1) — Geo Addresses

Read (and selected write) endpoints for mobile/application clients — menus, branches, products, orders, payments.

Fetch Branch

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/branches/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/branches/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


[
    {
        "cities": [
            null
        ],
        "0": {
            "cities": null
        }
    }
]
 

Example response (Error: No branch to display):


{
    "MESSAGE": "No branch to display",
    "STATUS": "fail"
}
 

Request      

GET api/v1/branches/{branchid?}

URL Parameters

branchid  integer optional  

Optional. Type: integer.

Response

Response Fields

[].cities  array  

Array field returned by this endpoint.

[].0  object  

Object field returned by this endpoint.

[].0.cities  string  

Returned by this endpoint.

Fetch Region

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/regions/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/regions/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


[
    {
        "id": 1,
        "name": "Example Name",
        "phonecode": "03000000",
        "isactive": 1,
        "created_at": "example",
        "updated_at": "2026-08-17"
    }
]
 

Example response (Error: No regions to display):


{
    "MESSAGE": "No regions to display",
    "STATUS": "fail"
}
 

Request      

GET api/v1/regions/{regionid?}

URL Parameters

regionid  integer optional  

Optional. Type: integer.

Response

Response Fields

[].id  integer  

Returned by this endpoint.

[].name  string  

Returned by this endpoint.

[].phonecode  string  

Returned by this endpoint.

[].isactive  integer  

Returned by this endpoint.

[].created_at  string  

Returned by this endpoint.

[].updated_at  string  

Returned by this endpoint.

Fetch Branch Cities

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/branch/1/cities" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/branch/1/cities"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Error: No cities found for branch id: 1):


{
    "MESSAGE": "No cities found for branch id: 1",
    "STATUS": "fail"
}
 

Example response (Error: Branch with ID: 1 do not exist):


{
    "MESSAGE": "Branch with ID: 1 do not exist",
    "STATUS": "fail"
}
 

Example response (Example success response (generated)):


{
    "status": "success",
    "message": "",
    "data": [
        {
            "id": 1,
            "branchid": 1
        },
        {
            "id": 2,
            "branchid": 1
        }
    ]
}
 

Example response (Example unauthorized response (generated)):


{
    "message": "Unauthorized",
    "error": "Unauthorized",
    "status": "fail"
}
 

Request      

GET api/v1/branch/{branchid}/cities

URL Parameters

branchid  integer optional  

Optional. Type: integer.

Response

Response Fields

status  string  

Returned by this endpoint.

message  string  

Returned by this endpoint.

data  array  

Array field returned by this endpoint.

data[].id  integer  

Returned by this endpoint.

data[].branchid  integer  

Returned by this endpoint.

Fetch City

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/cities/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/cities/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


[
    {
        "citycode": 1,
        "name": "Example Name",
        "regioncode": 1,
        "countrycode": 1,
        "zipcode": 1,
        "isactive": 1,
        "created_at": "example",
        "updated_at": "2026-08-17"
    }
]
 

Example response (Error: No cities to display):


{
    "MESSAGE": "No cities to display",
    "STATUS": "fail"
}
 

Request      

GET api/v1/cities/{cityid?}

URL Parameters

cityid  integer optional  

Optional. Type: integer.

Response

Response Fields

[].citycode  integer  

Returned by this endpoint.

[].name  string  

Returned by this endpoint.

[].regioncode  integer  

Returned by this endpoint.

[].countrycode  integer  

Returned by this endpoint.

[].zipcode  integer  

Returned by this endpoint.

[].isactive  integer  

Returned by this endpoint.

[].created_at  string  

Returned by this endpoint.

[].updated_at  string  

Returned by this endpoint.

Fetch Country

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/countries/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/countries/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


[
    {
        "id": 1,
        "name": "Example Name",
        "phonecode": "03000000",
        "phonelength": "03000000",
        "phonemask": "03000000",
        "smscodestart": "example",
        "isactive": 1,
        "created_at": "example",
        "updated_at": "2026-08-17"
    }
]
 

Example response (Error: No country to display):


{
    "MESSAGE": "No country to display",
    "STATUS": "fail"
}
 

Request      

GET api/v1/countries/{countryid?}

URL Parameters

countryid  integer optional  

Optional. Type: integer.

Response

Response Fields

[].id  integer  

Returned by this endpoint.

[].name  string  

Returned by this endpoint.

[].phonecode  string  

Returned by this endpoint.

[].phonelength  string  

Returned by this endpoint.

[].phonemask  string  

Returned by this endpoint.

[].smscodestart  string  

Returned by this endpoint.

[].isactive  integer  

Returned by this endpoint.

[].created_at  string  

Returned by this endpoint.

[].updated_at  string  

Returned by this endpoint.

Fetch Branch Setting

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/branch/settings/example" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/branch/settings/example"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (No branch settings to display):


{
    "MESSAGE": "No branch settings to display",
    "STATUS": "success"
}
 

Example response (Error: No branch settings to display):


{
    "MESSAGE": "No branch settings to display",
    "STATUS": "fail"
}
 

Request      

GET api/v1/branch/settings/{settingkey?}

URL Parameters

settingkey  string optional  

Optional. Type: string.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Application APIs (V1) — Orders

Read (and selected write) endpoints for mobile/application clients — menus, branches, products, orders, payments.

Fetch Order Count

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/orders/count" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/orders/count"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


12
 

Example response (Error: Branch not found):


{
    "MESSAGE": "Branch not found",
    "STATUS": "fail"
}
 

Request      

GET api/v1/orders/count

Fetch Order

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/orders/ORD-1001" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/orders/ORD-1001"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


{
    "orders": [
        {
            "orderid": "ORD-1001",
            "source_orderid": 1,
            "deviceid": 1,
            "sourceid": 1,
            "postransact": "ORD-1001",
            "status": 1,
            "ordertype": 1,
            "amount": 12.5,
            "total_discount_amount": 12.5,
            "taxex": 12.5,
            "tax": 12.5,
            "paid": 12.5,
            "paid_by_source": "example",
            "balance": 12.5,
            "delivery_cost": 12.5,
            "service_charge": 12.5,
            "orderdate": "2026-08-17",
            "ordertime": "12:00:00",
            "paymenttype": 1,
            "table_id": 1,
            "table_reference": "example",
            "branchid": 1,
            "hoclientid": 1,
            "member_reference": "example",
            "address_reference": "example",
            "hsmemberid": 1,
            "hsaddressid": 1,
            "note": "example",
            "additional_info": {
                "channel_id": 1,
                "channel_name": "example",
                "channel_order_id": 1,
                "channel_order_display_id": 1
            },
            "member": {
                "memberid": 1,
                "hsmemberid": 1,
                "membername": "Example Membername",
                "mobile": "03000000",
                "mobilevalidated": 1,
                "dateofbirth": "2026-08-17",
                "email": "example@bimpos.com",
                "picpath": "https://posapis.com/example.jpg"
            },
            "address": {
                "addressid": 1,
                "descript": "Ajax Festival",
                "addresstype": 1,
                "geolong": 35.5018,
                "geolat": 33.8938,
                "citycode": 1,
                "street": "example",
                "bldg": "example",
                "floor": "example",
                "city_name": "Example City name",
                "zip_code": 1,
                "directions": "example",
                "phones": [
                    {
                        "addressid": 1,
                        "phone": "03000000"
                    }
                ]
            },
            "items": [
                {
                    "transact": "example",
                    "itemid": 1,
                    "productcode": 1003919,
                    "productqty": 1,
                    "productprice": 12.5,
                    "combo_product_code": 1,
                    "remark": "example",
                    "modifiers": [
                        {
                            "transact": "example",
                            "itemid": 1,
                            "productcode": 1003919,
                            "productqty": 1,
                            "productprice": 12.5,
                            "remark": "example"
                        }
                    ]
                }
            ]
        }
    ]
}
 

Example response (Error: Branch not found):


{
    "MESSAGE": "Branch not found",
    "STATUS": "fail"
}
 

Request      

GET api/v1/orders/{orderid?}

URL Parameters

orderid  integer optional  

Optional. Type: integer.

Response

Response Fields

orders  array  

Array field returned by this endpoint.

orders[].orderid  string  

Returned by this endpoint.

orders[].source_orderid  integer  

Returned by this endpoint.

orders[].deviceid  integer  

Returned by this endpoint.

orders[].sourceid  integer  

Returned by this endpoint.

orders[].postransact  string  

Returned by this endpoint.

orders[].status  integer  

Returned by this endpoint.

orders[].ordertype  integer  

Returned by this endpoint.

orders[].amount  number  

Returned by this endpoint.

orders[].total_discount_amount  number  

Returned by this endpoint.

orders[].taxex  number  

Returned by this endpoint.

orders[].tax  number  

Returned by this endpoint.

orders[].paid  number  

Returned by this endpoint.

orders[].paid_by_source  string  

Returned by this endpoint.

orders[].balance  number  

Returned by this endpoint.

orders[].delivery_cost  number  

Returned by this endpoint.

orders[].service_charge  number  

Returned by this endpoint.

orders[].orderdate  string  

Returned by this endpoint.

orders[].ordertime  string  

Returned by this endpoint.

orders[].paymenttype  integer  

Returned by this endpoint.

orders[].table_id  integer  

Returned by this endpoint.

orders[].table_reference  string  

Returned by this endpoint.

orders[].branchid  integer  

Returned by this endpoint.

orders[].hoclientid  integer  

Returned by this endpoint.

orders[].member_reference  string  

Returned by this endpoint.

orders[].address_reference  string  

Returned by this endpoint.

orders[].hsmemberid  integer  

Returned by this endpoint.

orders[].hsaddressid  integer  

Returned by this endpoint.

orders[].note  string  

Returned by this endpoint.

orders[].additional_info  object  

Object field returned by this endpoint.

orders[].additional_info.channel_id  integer  

Returned by this endpoint.

orders[].additional_info.channel_name  string  

Returned by this endpoint.

orders[].additional_info.channel_order_id  integer  

Returned by this endpoint.

orders[].additional_info.channel_order_display_id  integer  

Returned by this endpoint.

orders[].member  object  

Object field returned by this endpoint.

orders[].member.memberid  integer  

Returned by this endpoint.

orders[].member.hsmemberid  integer  

Returned by this endpoint.

orders[].member.membername  string  

Returned by this endpoint.

orders[].member.mobile  string  

Returned by this endpoint.

orders[].member.mobilevalidated  integer  

Returned by this endpoint.

orders[].member.dateofbirth  string  

Returned by this endpoint.

orders[].member.email  string  

Returned by this endpoint.

orders[].member.picpath  string  

Returned by this endpoint.

orders[].address  object  

Object field returned by this endpoint.

orders[].address.addressid  integer  

Returned by this endpoint.

orders[].address.descript  string  

Returned by this endpoint.

orders[].address.addresstype  integer  

Returned by this endpoint.

orders[].address.geolong  number  

Returned by this endpoint.

orders[].address.geolat  number  

Returned by this endpoint.

orders[].address.citycode  integer  

Returned by this endpoint.

orders[].address.street  string  

Returned by this endpoint.

orders[].address.bldg  string  

Returned by this endpoint.

orders[].address.floor  string  

Returned by this endpoint.

orders[].address.city_name  string  

Returned by this endpoint.

orders[].address.zip_code  integer  

Returned by this endpoint.

orders[].address.directions  string  

Returned by this endpoint.

orders[].address.phones  array  

Array field returned by this endpoint.

orders[].address.phones[].addressid  integer  

Returned by this endpoint.

orders[].address.phones[].phone  string  

Returned by this endpoint.

orders[].items  array  

Array field returned by this endpoint.

orders[].items[].transact  string  

Returned by this endpoint.

orders[].items[].itemid  integer  

Returned by this endpoint.

orders[].items[].productcode  integer  

Returned by this endpoint.

orders[].items[].productqty  integer  

Returned by this endpoint.

orders[].items[].productprice  number  

Returned by this endpoint.

orders[].items[].combo_product_code  integer  

Returned by this endpoint.

orders[].items[].remark  string  

Returned by this endpoint.

orders[].items[].modifiers  array  

Array field returned by this endpoint.

orders[].items[].modifiers[].transact  string  

Returned by this endpoint.

orders[].items[].modifiers[].itemid  integer  

Returned by this endpoint.

orders[].items[].modifiers[].productcode  integer  

Returned by this endpoint.

orders[].items[].modifiers[].productqty  integer  

Returned by this endpoint.

orders[].items[].modifiers[].productprice  number  

Returned by this endpoint.

orders[].items[].modifiers[].remark  string  

Returned by this endpoint.

Add Orders

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/orders?data=%7B%22order%22%3A%7B%22orderid%22%3A%22ORD-1001%22%2C%22orderdate%22%3A%222026-08-17%22%2C%22paymenttype%22%3A1%2C%22branchid%22%3A1%2C%22ordertype%22%3A1%2C%22deliveryCost%22%3A12.5%2C%22serviceCharge%22%3A12.5%2C%22ispaid%22%3A1%2C%22table_id%22%3A1%2C%22scheduled_order_datetime%22%3A%222026-08-17+12%3A00%3A00%22%2C%22member%22%3A%7B%22posreference%22%3A%22ORD-1001%22%2C%22membername%22%3A%22Example+Membername%22%2C%22mobile%22%3A%2203000000%22%2C%22mobilevalidated%22%3A1%2C%22dateofbirth%22%3A%222026-08-17%22%2C%22address%22%3A%7B%22posreference%22%3A%22ORD-1001%22%2C%22description%22%3A%22example%22%2C%22addresstype%22%3A1%2C%22geolat%22%3A33.8938%2C%22geolong%22%3A35.5018%2C%22citycode%22%3A1%2C%22street%22%3A%22example%22%2C%22bldg%22%3A%22example%22%2C%22floor%22%3A%22example%22%2C%22phone%22%3A%2203000000%22%2C%22cityname%22%3A%22Example+Cityname%22%2C%22directions%22%3A%22example%22%7D%2C%22email%22%3A%22example%40bimpos.com%22%7D%2C%22items%22%3A%5B%7B%22productcode%22%3A1003919%2C%22productqty%22%3A1%2C%22productprice%22%3A12.5%2C%22modifiers%22%3A%5B%7B%22modifiercode%22%3A1%2C%22modifierqty%22%3A1%2C%22modifierprice%22%3A12.5%2C%22modifiers_description%22%3A%22example%22%7D%5D%7D%5D%2C%22sourceid%22%3A1%2C%22deviceid%22%3A1%2C%22ordertime%22%3A%2212%3A00%3A00%22%2C%22note%22%3A%22example%22%2C%22totalDiscountAmount%22%3A12.5%2C%22additional_info%22%3A%7B%22channel_id%22%3A1%2C%22channel_name%22%3A%22example%22%2C%22channel_order_id%22%3A1%2C%22channel_order_display_id%22%3A1%7D%7D%7D" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/orders"
);

const params = {
    "data": "{"order":{"orderid":"ORD-1001","orderdate":"2026-08-17","paymenttype":1,"branchid":1,"ordertype":1,"deliveryCost":12.5,"serviceCharge":12.5,"ispaid":1,"table_id":1,"scheduled_order_datetime":"2026-08-17 12:00:00","member":{"posreference":"ORD-1001","membername":"Example Membername","mobile":"03000000","mobilevalidated":1,"dateofbirth":"2026-08-17","address":{"posreference":"ORD-1001","description":"example","addresstype":1,"geolat":33.8938,"geolong":35.5018,"citycode":1,"street":"example","bldg":"example","floor":"example","phone":"03000000","cityname":"Example Cityname","directions":"example"},"email":"example@bimpos.com"},"items":[{"productcode":1003919,"productqty":1,"productprice":12.5,"modifiers":[{"modifiercode":1,"modifierqty":1,"modifierprice":12.5,"modifiers_description":"example"}]}],"sourceid":1,"deviceid":1,"ordertime":"12:00:00","note":"example","totalDiscountAmount":12.5,"additional_info":{"channel_id":1,"channel_name":"example","channel_order_id":1,"channel_order_display_id":1}}}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


{
    "MESSAGE": {
        "orderid": "ORD-1001",
        "hsaddressid": 1,
        "hsmemberid": 1
    },
    "STATUS": "success"
}
 

Example response (Error: Member is required for Take Away):


{
    "MESSAGE": "Member is required for Take Away",
    "STATUS": "fail"
}
 

Example response (Error: Member is required for Delivery):


{
    "MESSAGE": "Member is required for Delivery",
    "STATUS": "fail"
}
 

Example response (Error: Member Address is required for Take Away and Delivery):


{
    "MESSAGE": "Member Address is required for Take Away and Delivery",
    "STATUS": "fail"
}
 

Example response (Error: Order Not Added):


{
    "MESSAGE": "Order Not Added",
    "STATUS": "fail"
}
 

Example response (Error: Items not Added Please Delete the order and try again):


{
    "MESSAGE": "Items not Added Please Delete the order and try again",
    "STATUS": "fail"
}
 

Example response (Error: Branch not Registed):


{
    "MESSAGE": "Branch not Registed",
    "STATUS": "fail"
}
 

Request      

POST api/v1/orders

Query Parameters

data  string  

Required. Type: string. JSON object sent as the data query parameter (?data={...}). Fields inside that JSON (type, required, validation) are listed below.

FieldTypeRequiredValidation
orderobjectoptional
order.orderidstringrequiredrequired
order.orderdatestringrequiredrequired
order.paymenttypestringrequiredrequired
order.branchidstringrequiredrequired
order.ordertypestringrequiredrequired
order.deliveryCostnumberoptionalnumeric|between:0,999999999.99|regex:/^\d{1,9}(.\d{1,2})?$/
order.serviceChargenumberoptionalnumeric|between:0,999999999.99|regex:/^\d{1,9}(.\d{1,2})?$/
order.ispaidintegeroptionalinteger|min:0|max:1
order.table_idintegeroptionalinteger
order.scheduled_order_datetimestringoptionalnullable|date
order.memberobjectoptional
order.member.posreferencestringrequiredrequired
order.member.membernamestringrequiredrequired|string|max:40
order.member.mobilestringrequiredrequired
order.member.mobilevalidatedstringrequiredrequired|max:1|min:0
order.member.dateofbirthstringoptionalstring|max:11
order.member.addressobjectoptional
order.member.address.posreferencestringrequiredrequired
order.member.address.descriptionstringrequiredrequired|string|min: 0|max:100
order.member.address.addresstypestringrequiredrequired
order.member.address.geolatstringrequiredrequired
order.member.address.geolongstringrequiredrequired
order.member.address.citycodestringrequiredrequired
order.member.address.streetstringrequiredrequired|string|min: 0|max:40
order.member.address.bldgstringrequiredrequired|string|min: 0|max:40
order.member.address.floorstringrequiredrequired|string|min: 0|max:4
order.itemsobject[]optional
order.items[].productcodestringrequiredrequired|max:11
order.items[].productqtystringrequiredrequired|max:11
order.items[].productpricestringrequiredrequired|max:14
order.items[].modifiersobject[]optional
order.items[].modifiers[].modifiercodestringrequiredrequired
order.items[].modifiers[].modifierqtystringrequiredrequired
order.items[].modifiers[].modifierpricestringrequiredrequired
order.items[].modifiers[].modifiers_descriptionstringrequiredrequired
order.sourceidintegeroptional
order.member.emailstringoptional
order.member.address.phonestringoptional
order.member.address.citynamestringoptional
order.member.address.directionsstringoptional
order.deviceidintegeroptional
order.ordertimestringoptional
order.notestringoptional
order.totalDiscountAmountnumberoptional
order.additional_info.channel_idintegeroptional
order.additional_info.channel_namestringoptional
order.additional_info.channel_order_idintegeroptional
order.additional_info.channel_order_display_idintegeroptional

Request example:

{
"order": {
"orderid": "ORD-1001",
"orderdate": "2026-08-17",
"paymenttype": 1,
"branchid": 1,
"ordertype": 1,
"deliveryCost": 12.5,
"serviceCharge": 12.5,
"ispaid": 1,
"table_id": 1,
"scheduled_order_datetime": "2026-08-17 12:00:00",
"member": {
"posreference": "ORD-1001",
"membername": "Example Membername",
"mobile": "03000000",
"mobilevalidated": 1,
"dateofbirth": "2026-08-17",
"address": {
"posreference": "ORD-1001",
"description": "example",
"addresstype": 1,
"geolat": 33.8938,
"geolong": 35.5018,
"citycode": 1,
"street": "example",
"bldg": "example",
"floor": "example",
"phone": "03000000",
"cityname": "Example Cityname",
"directions": "example"
},
"email": "example@bimpos.com"
},
"items": [
{
"productcode": 1003919,
"productqty": 1,
"productprice": 12.5,
"modifiers": [
{
"modifiercode": 1,
"modifierqty": 1,
"modifierprice": 12.5,
"modifiers_description": "example"
}
]
}
],
"sourceid": 1,
"deviceid": 1,
"ordertime": "12:00:00",
"note": "example",
"totalDiscountAmount": 12.5,
"additional_info": {
"channel_id": 1,
"channel_name": "example",
"channel_order_id": 1,
"channel_order_display_id": 1
}
}
}

Response

Response Fields

MESSAGE  object  

Object field returned by this endpoint.

MESSAGE.orderid  string  

Returned by this endpoint.

MESSAGE.hsaddressid  integer  

Returned by this endpoint.

MESSAGE.hsmemberid  integer  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Fetch Order Status

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/order/ORD-1001/status" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/order/ORD-1001/status"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


{
    "status": 1,
    "status_description": "Pending",
    "orderid": 1
}
 

Example response (Error: The orderid id: 1 is not found):


{
    "MESSAGE": "The orderid id: 1 is not found",
    "STATUS": "fail"
}
 

Example response (Error: Order Id is required):


{
    "MESSAGE": "Order Id is required",
    "STATUS": "fail"
}
 

Request      

GET api/v1/order/{orderid?}/status

URL Parameters

orderid  integer optional  

Optional. Type: integer.

Response

Response Fields

status  integer  

Returned by this endpoint.

status_description  string  

Returned by this endpoint.

orderid  integer  

Returned by this endpoint.

Update Order Statu

requires authentication

Example request:
curl --request PUT \
    "http://localhost/api/v1/orders/ORD-1001/status?data=%7B%22success%22%3A%22example%22%2C%22branchid%22%3A1%2C%22postransact%22%3A%22ORD-1001%22%2C%22status%22%3A1%2C%22posmemberreference%22%3A%22example%22%2C%22posaddressreference%22%3A%22example%22%2C%22ORDERID%22%3A%22ORD-1001%22%7D" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/orders/ORD-1001/status"
);

const params = {
    "data": "{"success":"example","branchid":1,"postransact":"ORD-1001","status":1,"posmemberreference":"example","posaddressreference":"example","ORDERID":"ORD-1001"}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());

Example response (The Order Status Updated Successfully):


{
    "MESSAGE": "The Order Status Updated Successfully",
    "STATUS": "success"
}
 

Example response (Error: The data was not successful):


{
    "MESSAGE": "The data was not successful",
    "STATUS": "fail"
}
 

Example response (Error: Status must be of values (2, 3, 4, 5, 6, 7, 10, 11)):


{
    "MESSAGE": "Status must be of values (2, 3, 4, 5, 6, 7, 10, 11)",
    "STATUS": "fail"
}
 

Example response (Error: The Status cant be empty):


{
    "MESSAGE": "The Status cant be empty",
    "STATUS": "fail"
}
 

Example response (Error: Something Went Wrong):


{
    "MESSAGE": "Something Went Wrong",
    "STATUS": "fail"
}
 

Example response (Error: Please enter a valid branchid):


{
    "MESSAGE": "Please enter a valid branchid",
    "STATUS": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Request      

PUT api/v1/orders/{hstransact}/status

URL Parameters

hstransact  string optional  

Optional. Type: string.

Query Parameters

data  string  

Required. Type: string. JSON object sent as the data query parameter (?data={...}). Fields inside that JSON (type, required, validation) are listed below.

FieldTypeRequiredValidation
successstringrequiredrequired
branchidstringrequiredrequired
postransactstringrequiredrequired
statusstringrequiredrequired
posmemberreferencestringrequiredrequired
posaddressreferencestringrequiredrequired
ORDERIDstringoptional

Request example:

{
"success": "example",
"branchid": 1,
"postransact": "ORD-1001",
"status": 1,
"posmemberreference": "example",
"posaddressreference": "example",
"ORDERID": "ORD-1001"
}

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Add Item Status

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/items/status" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"status\": 1,
    \"success\": \"example\",
    \"items\": [
        {
            \"itemid\": 1,
            \"posdetailid\": 1
        }
    ]
}"
const url = new URL(
    "http://localhost/api/v1/items/status"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "status": 1,
    "success": "example",
    "items": [
        {
            "itemid": 1,
            "posdetailid": 1
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (items have been updated Successfully ):


{
    "MESSAGE": "items have been updated Successfully ",
    "STATUS": 200
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Example response (Error: item id not found at order object 1 at item object 1):


{
    "MESSAGE": "item id not found at order object 1 at item object 1",
    "STATUS": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "MESSAGE": "Wrong data json format",
    "STATUS": "fail"
}
 

Example response (Error: No Data Found):


{
    "MESSAGE": "No Data Found",
    "STATUS": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "OrdersController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

POST api/v1/items/status

Body Parameters

status  string  

Required. 'orderid' => ['required'],. Required. Type: string. Validation: required.

success  string  

Required. Type: string. Validation: required.

items  object[] optional  

Optional. Type: object[].

Request body example:

[
    {
        "status": 1,
        "success": "example",
        "items": [
            {
                "itemid": 1,
                "posdetailid": 1
            }
        ]
    }
]

items[].itemid  integer  

Required. Type: integer. Validation: required.

items[].posdetailid  integer  

Required. Type: integer. Validation: required.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  integer  

Returned by this endpoint.

Add Order Items

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/order/items" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"posdetailid\": 1,
    \"productcode\": 1003919,
    \"productqty\": 1,
    \"productprice\": 12.5,
    \"modifiers\": \"example\",
    \"remark\": \"example\",
    \"seatnumber\": \"example\",
    \"isdiscount\": 1
}"
const url = new URL(
    "http://localhost/api/v1/order/items"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "posdetailid": 1,
    "productcode": 1003919,
    "productqty": 1,
    "productprice": 12.5,
    "modifiers": "example",
    "remark": "example",
    "seatnumber": "example",
    "isdiscount": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (Error: No Data Found):


{
    "MESSAGE": "No Data Found",
    "STATUS": "fail"
}
 

Example response (Error: Branch not found):


{
    "MESSAGE": "Branch not found",
    "STATUS": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Example response (Error: example):


{
    "MESSAGE": "example",
    "STATUS": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "MESSAGE": "Wrong data json format",
    "STATUS": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "OrdersController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

POST api/v1/order/items

Body Parameters

posdetailid  integer  

Required. Type: integer. Validation: required.

productcode  integer  

Required. Type: integer. Validation: required.

productqty  integer  

Required. Type: integer. Validation: required.

productprice  string  

Required. Type: string. Validation: required.

modifiers  string optional  

Optional. Type: string. Validation: nullable.

remark  string  

Required. Type: string. Validation: required.

seatnumber  string  

Required. Type: string. Validation: required.

isdiscount  integer  

Required. Type: integer. Validation: required.

Request body example:

[
    {
        "posdetailid": 1,
        "productcode": 1003919,
        "productqty": 1,
        "productprice": 12.5,
        "modifiers": "example",
        "remark": "example",
        "seatnumber": "example",
        "isdiscount": 1
    }
]

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Add Tempdetail

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/tempdetail" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"UNIQUEID\": 1,
    \"TEMPTRANSACT\": 1,
    \"QUAN\": 1.5,
    \"PRODNUM\": 1003919,
    \"STATION\": 1,
    \"USERID\": 1,
    \"TIM\": \"example\",
    \"PRINTED\": 1,
    \"PRICE\": 12.5,
    \"TAXEX\": 12.5,
    \"TAX\": 12.5,
    \"TAX2\": 1.5,
    \"TAX3\": 1.5,
    \"TABLNUM\": 1,
    \"TYPE\": 1,
    \"DESCRIPT\": \"Ajax Festival\",
    \"MANUALDESCRIPT\": 1,
    \"LPRODNUM\": 1,
    \"TAXSYMB\": \"example\",
    \"SEATNUM\": 1,
    \"TIMCLOSED\": \"example\",
    \"DISCOUNT\": 1,
    \"SEATDESCRIPT_OLD\": \"example\",
    \"POINTS\": 1,
    \"ORDERSEQ\": 1,
    \"SPRODNUM\": 1,
    \"WHOAUTH\": 1,
    \"ITEMTYPE\": 1,
    \"PRICETYPE\": 1,
    \"AVGCOST\": 1.5,
    \"LASTCOST\": 1.5,
    \"MEMCODE\": 1,
    \"ADDRESSID\": 1,
    \"CONTACTID\": 1,
    \"PDASTATION\": 1,
    \"ITEMTAG\": \"example\",
    \"HOLDPRINT\": \"example\",
    \"DISCPER\": 1,
    \"DISCVALUE\": 1.5,
    \"UNITPRICE\": 1.5,
    \"HEADERDISCPER\": 1.5,
    \"EXPIRATION\": 1,
    \"PACKING\": 1,
    \"WEIGHT\": 1,
    \"PLDID\": 1,
    \"SERIALNUM\": 1,
    \"WAR\": 1,
    \"SkuID1\": 1,
    \"SkuID2\": 1,
    \"LOYALTYID\": 1,
    \"FORBRANCHID\": 1,
    \"ISSCHEDULED\": false,
    \"TOBEDEL\": \"example\",
    \"REMIND\": \"example\",
    \"DOREMIND\": \"example\",
    \"TALLINKID\": 1,
    \"ORDERTYPE\": 1,
    \"RESTID\": 1,
    \"OPENDATE\": 2026,
    \"ISACTIVE\": 1
}"
const url = new URL(
    "http://localhost/api/v1/tempdetail"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "UNIQUEID": 1,
    "TEMPTRANSACT": 1,
    "QUAN": 1.5,
    "PRODNUM": 1003919,
    "STATION": 1,
    "USERID": 1,
    "TIM": "example",
    "PRINTED": 1,
    "PRICE": 12.5,
    "TAXEX": 12.5,
    "TAX": 12.5,
    "TAX2": 1.5,
    "TAX3": 1.5,
    "TABLNUM": 1,
    "TYPE": 1,
    "DESCRIPT": "Ajax Festival",
    "MANUALDESCRIPT": 1,
    "LPRODNUM": 1,
    "TAXSYMB": "example",
    "SEATNUM": 1,
    "TIMCLOSED": "example",
    "DISCOUNT": 1,
    "SEATDESCRIPT_OLD": "example",
    "POINTS": 1,
    "ORDERSEQ": 1,
    "SPRODNUM": 1,
    "WHOAUTH": 1,
    "ITEMTYPE": 1,
    "PRICETYPE": 1,
    "AVGCOST": 1.5,
    "LASTCOST": 1.5,
    "MEMCODE": 1,
    "ADDRESSID": 1,
    "CONTACTID": 1,
    "PDASTATION": 1,
    "ITEMTAG": "example",
    "HOLDPRINT": "example",
    "DISCPER": 1,
    "DISCVALUE": 1.5,
    "UNITPRICE": 1.5,
    "HEADERDISCPER": 1.5,
    "EXPIRATION": 1,
    "PACKING": 1,
    "WEIGHT": 1,
    "PLDID": 1,
    "SERIALNUM": 1,
    "WAR": 1,
    "SkuID1": 1,
    "SkuID2": 1,
    "LOYALTYID": 1,
    "FORBRANCHID": 1,
    "ISSCHEDULED": false,
    "TOBEDEL": "example",
    "REMIND": "example",
    "DOREMIND": "example",
    "TALLINKID": 1,
    "ORDERTYPE": 1,
    "RESTID": 1,
    "OPENDATE": 2026,
    "ISACTIVE": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (SKU Details inserted/updated/deleted successfully!):


{
    "message": "SKU Details inserted/updated/deleted successfully!",
    "updated": 1,
    "inserted": 1,
    "deleted": "example",
    "status": "OK"
}
 

Example response (Example error response (from controller)):


{
    "error": "Invalid request format. Expecting JSON data."
}
 

Request      

POST api/v1/tempdetail

Body Parameters

UNIQUEID  integer  

Required. Type: integer. Validation: required|integer.

TEMPTRANSACT  integer optional  

Optional. Type: integer. Validation: nullable|integer.

QUAN  number optional  

Optional. Type: number. Validation: nullable|numeric.

PRODNUM  integer optional  

Optional. Type: integer. Validation: nullable|integer.

STATION  integer optional  

Optional. Type: integer. Validation: nullable|integer.

USERID  integer optional  

Optional. Type: integer. Validation: nullable|integer.

TIM  string optional  

Optional. Type: string. Validation: nullable|date. Must be a valid date.

PRINTED  integer optional  

Optional. Type: integer. Validation: nullable|integer.

PRICE  number optional  

Optional. Type: number. Validation: nullable|numeric.

TAXEX  number optional  

Optional. Type: number. Validation: nullable|numeric.

TAX  number optional  

Optional. Type: number. Validation: nullable|numeric.

TAX2  number optional  

Optional. Type: number. Validation: nullable|numeric.

TAX3  number optional  

Optional. Type: number. Validation: nullable|numeric.

TABLNUM  integer optional  

Optional. Type: integer. Validation: nullable|integer.

TYPE  integer optional  

Optional. Type: integer. Validation: nullable|integer.

DESCRIPT  string optional  

Optional. Type: string. Validation: nullable|string|max:50. Must not be greater than 50 characters.

MANUALDESCRIPT  integer optional  

Optional. Type: integer. Validation: nullable|integer.

LPRODNUM  integer optional  

Optional. Type: integer. Validation: nullable|integer.

TAXSYMB  string optional  

Optional. Type: string. Validation: nullable|string|max:3. Must not be greater than 3 characters.

SEATNUM  integer optional  

Optional. Type: integer. Validation: nullable|integer.

TIMCLOSED  string optional  

Optional. Type: string. Validation: nullable|date. Must be a valid date.

DISCOUNT  integer optional  

Optional. Type: integer. Validation: nullable|integer.

SEATDESCRIPT_OLD  string optional  

Optional. Type: string. Validation: nullable|string|max:50. Must not be greater than 50 characters.

POINTS  integer optional  

Optional. Type: integer. Validation: nullable|integer.

ORDERSEQ  integer optional  

Optional. Type: integer. Validation: nullable|integer.

SPRODNUM  integer optional  

Optional. Type: integer. Validation: nullable|integer.

WHOAUTH  integer optional  

Optional. Type: integer. Validation: nullable|integer.

ITEMTYPE  integer optional  

Optional. Type: integer. Validation: nullable|integer.

PRICETYPE  integer optional  

Optional. Type: integer. Validation: nullable|integer.

AVGCOST  number optional  

Optional. Type: number. Validation: nullable|numeric.

LASTCOST  number optional  

Optional. Type: number. Validation: nullable|numeric.

MEMCODE  integer optional  

Optional. Type: integer. Validation: nullable|integer.

ADDRESSID  integer optional  

Optional. Type: integer. Validation: nullable|integer.

Request body example:

[
    {
        "UNIQUEID": 1,
        "TEMPTRANSACT": 1,
        "QUAN": 1.5,
        "PRODNUM": 1003919,
        "STATION": 1,
        "USERID": 1,
        "TIM": "example",
        "PRINTED": 1,
        "PRICE": 12.5,
        "TAXEX": 12.5,
        "TAX": 12.5,
        "TAX2": 1.5,
        "TAX3": 1.5,
        "TABLNUM": 1,
        "TYPE": 1,
        "DESCRIPT": "Ajax Festival",
        "MANUALDESCRIPT": 1,
        "LPRODNUM": 1,
        "TAXSYMB": "example",
        "SEATNUM": 1,
        "TIMCLOSED": "example",
        "DISCOUNT": 1,
        "SEATDESCRIPT_OLD": "example",
        "POINTS": 1,
        "ORDERSEQ": 1,
        "SPRODNUM": 1,
        "WHOAUTH": 1,
        "ITEMTYPE": 1,
        "PRICETYPE": 1,
        "AVGCOST": 1.5,
        "LASTCOST": 1.5,
        "MEMCODE": 1,
        "ADDRESSID": 1,
        "CONTACTID": 1,
        "PDASTATION": 1,
        "ITEMTAG": "example",
        "HOLDPRINT": "example",
        "DISCPER": 1,
        "DISCVALUE": 1.5,
        "UNITPRICE": 1.5,
        "HEADERDISCPER": 1.5,
        "EXPIRATION": 1,
        "PACKING": 1,
        "WEIGHT": 1,
        "PLDID": 1,
        "SERIALNUM": 1,
        "WAR": 1,
        "SkuID1": 1,
        "SkuID2": 1,
        "LOYALTYID": 1,
        "FORBRANCHID": 1,
        "ISSCHEDULED": false,
        "TOBEDEL": "example",
        "REMIND": "example",
        "DOREMIND": "example",
        "TALLINKID": 1,
        "ORDERTYPE": 1,
        "RESTID": 1,
        "OPENDATE": 2026,
        "ISACTIVE": 1
    }
]

CONTACTID  integer optional  

Optional. Type: integer. Validation: nullable|integer.

PDASTATION  integer optional  

Optional. Type: integer. Validation: nullable|integer.

ITEMTAG  string optional  

Optional. Type: string. Validation: nullable|string|max:1. Must not be greater than 1 characters.

HOLDPRINT  string optional  

Optional. Type: string. Validation: nullable|string.

DISCPER  integer optional  

Optional. Type: integer. Validation: nullable|integer.

DISCVALUE  number optional  

Optional. Type: number. Validation: nullable|numeric.

UNITPRICE  number optional  

Optional. Type: number. Validation: nullable|numeric.

HEADERDISCPER  number optional  

Optional. Type: number. Validation: nullable|numeric.

EXPIRATION  integer optional  

Optional. Type: integer. Validation: nullable|integer.

PACKING  integer optional  

Optional. Type: integer. Validation: nullable|integer.

WEIGHT  integer optional  

Optional. Type: integer. Validation: nullable|integer.

PLDID  integer optional  

Optional. Type: integer. Validation: nullable|integer.

SERIALNUM  string optional  

Optional. Type: string. Validation: nullable|string|max:50. Must not be greater than 50 characters.

WAR  integer optional  

Optional. Type: integer. Validation: nullable|integer.

SkuID1  integer optional  

Optional. Type: integer. Validation: nullable|integer.

SkuID2  integer optional  

Optional. Type: integer. Validation: nullable|integer.

LOYALTYID  integer optional  

Optional. Type: integer. Validation: nullable|integer.

FORBRANCHID  integer optional  

Optional. Type: integer. Validation: nullable|integer.

ISSCHEDULED  boolean optional  

Optional. Type: boolean. Validation: nullable|boolean.

TOBEDEL  string optional  

Optional. Type: string. Validation: nullable|date. Must be a valid date.

REMIND  string optional  

Optional. Type: string. Validation: nullable|date. Must be a valid date.

DOREMIND  string optional  

Optional. Type: string. Validation: nullable|string.

TALLINKID  integer optional  

Optional. Type: integer. Validation: nullable|integer.

ORDERTYPE  integer optional  

Optional. Type: integer. Validation: nullable|integer.

RESTID  string  

Required. Type: string. Validation: required|string|max:10. Must not be greater than 10 characters.

OPENDATE  integer  

Required. Type: integer. Validation: required|integer.

ISACTIVE  integer  

Required. Type: integer. Validation: required|integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

Response

Response Fields

message  string  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

deleted  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Application APIs (V1) — Payments

Read (and selected write) endpoints for mobile/application clients — menus, branches, products, orders, payments.

Fetch Currencytype

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/currencytypes/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/currencytypes/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (No currency type to display):


{
    "MESSAGE": "No currency type to display",
    "STATUS": "success"
}
 

Example response (Error: No currency type to display):


{
    "MESSAGE": "No currency type to display",
    "STATUS": "fail"
}
 

Request      

GET api/v1/currencytypes/{currencytypeid?}

URL Parameters

currencytypeid  integer optional  

Optional. Type: integer.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Add Currencytypes

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/currencytypes" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"id\": 1,
    \"description\": \"example\",
    \"is_active\": 1
}"
const url = new URL(
    "http://localhost/api/v1/currencytypes"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "id": 1,
    "description": "example",
    "is_active": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (Currency Type Added Successfully):


{
    "MESSAGE": "Currency Type Added Successfully",
    "STATUS": "success"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "MESSAGE": "Wrong data json format",
    "STATUS": "fail"
}
 

Request      

POST api/v1/currencytypes

Body Parameters

id  integer  

Required. Type: integer. Validation: required|integer.

description  string optional  

Optional. Type: string. Validation: string|max:100|nullable. Must not be greater than 100 characters.

Request body example:

[
    {
        "id": 1,
        "description": "example",
        "is_active": 1
    }
]

is_active  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1|nullable. Must be at least 0. Must not be greater than 1.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Fetch Currency

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/currencies/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/currencies/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (No currencies to display):


{
    "MESSAGE": "No currencies to display",
    "STATUS": "success"
}
 

Example response (Error: No currencies to display):


{
    "MESSAGE": "No currencies to display",
    "STATUS": "fail"
}
 

Request      

GET api/v1/currencies/{currencyid?}

URL Parameters

currencyid  integer optional  

Optional. Type: integer.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Add Currencies

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/currencies" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"id\": 1,
    \"description\": \"example\",
    \"long_description\": \"example\",
    \"charnge1\": \"example\",
    \"charnge2\": \"example\",
    \"charnge3\": \"example\",
    \"charnge4\": \"example\",
    \"charnge5\": \"example\",
    \"charnge6\": \"example\",
    \"charnge7\": \"example\",
    \"charnge8\": \"example\",
    \"charnge9\": \"example\",
    \"charnge10\": \"example\",
    \"is_default\": 1,
    \"conversion\": 1.5,
    \"conversion2\": 1.5,
    \"is_active\": 1,
    \"is_second_currency\": 1,
    \"hide_changes\": 1,
    \"decimals\": 1,
    \"account_code\": 1,
    \"currency_mask\": \"example\",
    \"show_in_pos\": 1,
    \"show_in_calc\": 1,
    \"read_only\": 1,
    \"sequence\": 1,
    \"show_credit_card_form\": 1,
    \"show_check_form\": 1,
    \"show_in_bo\": 1,
    \"goes_to_bank\": 1,
    \"type\": 1,
    \"currency_type\": 1,
    \"is_gift_voucher\": 1,
    \"caption\": \"example\"
}"
const url = new URL(
    "http://localhost/api/v1/currencies"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "id": 1,
    "description": "example",
    "long_description": "example",
    "charnge1": "example",
    "charnge2": "example",
    "charnge3": "example",
    "charnge4": "example",
    "charnge5": "example",
    "charnge6": "example",
    "charnge7": "example",
    "charnge8": "example",
    "charnge9": "example",
    "charnge10": "example",
    "is_default": 1,
    "conversion": 1.5,
    "conversion2": 1.5,
    "is_active": 1,
    "is_second_currency": 1,
    "hide_changes": 1,
    "decimals": 1,
    "account_code": 1,
    "currency_mask": "example",
    "show_in_pos": 1,
    "show_in_calc": 1,
    "read_only": 1,
    "sequence": 1,
    "show_credit_card_form": 1,
    "show_check_form": 1,
    "show_in_bo": 1,
    "goes_to_bank": 1,
    "type": 1,
    "currency_type": 1,
    "is_gift_voucher": 1,
    "caption": "example"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (Currency Added Successfully):


{
    "MESSAGE": "Currency Added Successfully",
    "STATUS": "success"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "MESSAGE": "Wrong data json format",
    "STATUS": "fail"
}
 

Request      

POST api/v1/currencies

Body Parameters

id  integer  

Required. Type: integer. Validation: required|integer.

description  string  

Required. Type: string. Validation: required|string|max:50. Must not be greater than 50 characters.

long_description  string optional  

Optional. Type: string. Validation: string|max:200|nullable. Must not be greater than 200 characters.

charnge1  string optional  

Optional. Type: string. Validation: double|nullable.

charnge2  string optional  

Optional. Type: string. Validation: double|nullable.

charnge3  string optional  

Optional. Type: string. Validation: double|nullable.

charnge4  string optional  

Optional. Type: string. Validation: double|nullable.

charnge5  string optional  

Optional. Type: string. Validation: double|nullable.

charnge6  string optional  

Optional. Type: string. Validation: double|nullable.

charnge7  string optional  

Optional. Type: string. Validation: double|nullable.

charnge8  string optional  

Optional. Type: string. Validation: double|nullable.

charnge9  string optional  

Optional. Type: string. Validation: double|nullable.

charnge10  string optional  

Optional. Type: string. Validation: double|nullable.

is_default  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1|nullable. Must be at least 0. Must not be greater than 1.

conversion  number optional  

Optional. Type: number. Validation: numeric|nullable.

conversion2  number optional  

Optional. Type: number. Validation: numeric|nullable.

is_active  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1|nullable. Must be at least 0. Must not be greater than 1.

is_second_currency  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1|nullable. Must be at least 0. Must not be greater than 1.

hide_changes  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1|nullable. Must be at least 0. Must not be greater than 1.

decimals  integer optional  

Optional. Type: integer. Validation: integer|nullable.

account_code  string optional  

Optional. Type: string. Validation: string|max:30|nullable. Must not be greater than 30 characters.

Request body example:

[
    {
        "id": 1,
        "description": "example",
        "long_description": "example",
        "charnge1": "example",
        "charnge2": "example",
        "charnge3": "example",
        "charnge4": "example",
        "charnge5": "example",
        "charnge6": "example",
        "charnge7": "example",
        "charnge8": "example",
        "charnge9": "example",
        "charnge10": "example",
        "is_default": 1,
        "conversion": 1.5,
        "conversion2": 1.5,
        "is_active": 1,
        "is_second_currency": 1,
        "hide_changes": 1,
        "decimals": 1,
        "account_code": 1,
        "currency_mask": "example",
        "show_in_pos": 1,
        "show_in_calc": 1,
        "read_only": 1,
        "sequence": 1,
        "show_credit_card_form": 1,
        "show_check_form": 1,
        "show_in_bo": 1,
        "goes_to_bank": 1,
        "type": 1,
        "currency_type": 1,
        "is_gift_voucher": 1,
        "caption": "example"
    }
]

currency_mask  string optional  

Optional. Type: string. Validation: string|max:15|nullable. Must not be greater than 15 characters.

show_in_pos  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1|nullable. Must be at least 0. Must not be greater than 1.

show_in_calc  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1|nullable. Must be at least 0. Must not be greater than 1.

read_only  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1|nullable. Must be at least 0. Must not be greater than 1.

sequence  integer optional  

Optional. Type: integer. Validation: integer|nullable.

show_credit_card_form  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1|nullable. Must be at least 0. Must not be greater than 1.

show_check_form  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1|nullable. Must be at least 0. Must not be greater than 1.

show_in_bo  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1|nullable. Must be at least 0. Must not be greater than 1.

goes_to_bank  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1|nullable. Must be at least 0. Must not be greater than 1.

type  integer optional  

Optional. Type: integer. Validation: integer|nullable.

currency_type  integer optional  

Optional. Type: integer. Validation: integer|nullable.

is_gift_voucher  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1|nullable. Must be at least 0. Must not be greater than 1.

caption  string optional  

Optional. Type: string. Validation: string|max:65,530|nullable. Must not be greater than 65 characters.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Fetch Pricelist

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/pricelists/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/pricelists/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (No price list to display):


{
    "MESSAGE": "No price list to display",
    "STATUS": "success"
}
 

Example response (Error: No price list to display):


{
    "MESSAGE": "No price list to display",
    "STATUS": "fail"
}
 

Request      

GET api/v1/pricelists/{pricelistid?}

URL Parameters

pricelistid  integer optional  

Optional. Type: integer.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Add Pricelists

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/pricelists" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"id\": 1,
    \"currency_id\": 1,
    \"description\": \"example\",
    \"is_active\": 1,
    \"is_tax_excluded\": 1
}"
const url = new URL(
    "http://localhost/api/v1/pricelists"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "id": 1,
    "currency_id": 1,
    "description": "example",
    "is_active": 1,
    "is_tax_excluded": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (Price List Added Successfully):


{
    "MESSAGE": "Price List Added Successfully",
    "STATUS": "success"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "MESSAGE": "Wrong data json format",
    "STATUS": "fail"
}
 

Request      

POST api/v1/pricelists

Body Parameters

id  integer  

Required. Type: integer. Validation: required|integer.

currency_id  integer  

Required. Type: integer. Validation: required|integer.

Request body example:

[
    {
        "id": 1,
        "currency_id": 1,
        "description": "example",
        "is_active": 1,
        "is_tax_excluded": 1
    }
]

description  string  

Required. Type: string. Validation: required|string|max:100. Must not be greater than 100 characters.

is_active  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1|nullable. Must be at least 0. Must not be greater than 1.

is_tax_excluded  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1|nullable. Must be at least 0. Must not be greater than 1.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Fetch Pricelistdetail

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/pricelistdetails/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/pricelistdetails/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (No price list detail to display):


{
    "MESSAGE": "No price list detail to display",
    "STATUS": "success"
}
 

Example response (Error: No price list detail to display):


{
    "MESSAGE": "No price list detail to display",
    "STATUS": "fail"
}
 

Request      

GET api/v1/pricelistdetails/{pricelistdetailid?}

URL Parameters

pricelistdetailid  integer optional  

Optional. Type: integer.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Add Pricelistdetails

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/pricelistdetails" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"id\": 1,
    \"price_list_id\": 1,
    \"product_number\": 1,
    \"price\": 12.5,
    \"is_active\": 1
}"
const url = new URL(
    "http://localhost/api/v1/pricelistdetails"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "id": 1,
    "price_list_id": 1,
    "product_number": 1,
    "price": 12.5,
    "is_active": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (Price List Detail Added Successfully):


{
    "MESSAGE": "Price List Detail Added Successfully",
    "STATUS": "success"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "MESSAGE": "Wrong data json format",
    "STATUS": "fail"
}
 

Request      

POST api/v1/pricelistdetails

Body Parameters

id  integer  

Required. Type: integer. Validation: required|integer.

Request body example:

[
    {
        "id": 1,
        "price_list_id": 1,
        "product_number": 1,
        "price": 12.5,
        "is_active": 1
    }
]

price_list_id  integer  

Required. Type: integer. Validation: required|integer.

product_number  integer  

Required. Type: integer. Validation: required|integer.

price  string  

Required. Type: string. Validation: required|nullable.

is_active  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1|nullable. Must be at least 0. Must not be greater than 1.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Fetch Pricelistbranche

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/pricelistbranches/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/pricelistbranches/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (No Price List Branches to display):


{
    "MESSAGE": "No Price List Branches to display",
    "STATUS": "success"
}
 

Example response (Error: No Price List Branches to display):


{
    "MESSAGE": "No Price List Branches to display",
    "STATUS": "fail"
}
 

Request      

GET api/v1/pricelistbranches/{pricelistbranchesid?}

URL Parameters

pricelistbranchesid  integer optional  

Optional. Type: integer.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Add Pricelistbranches

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/pricelistbranches" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"id\": 1,
    \"price_list_id\": 1,
    \"branch_id\": 1,
    \"is_active\": 1
}"
const url = new URL(
    "http://localhost/api/v1/pricelistbranches"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "id": 1,
    "price_list_id": 1,
    "branch_id": 1,
    "is_active": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (example is not found):


{
    "MESSAGE": "example is not found",
    "STATUS": "success"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Request      

POST api/v1/pricelistbranches

Body Parameters

id  integer  

Required. Type: integer. Validation: required|integer.

price_list_id  integer  

Required. Type: integer. Validation: required|integer.

branch_id  integer  

Required. Type: integer. Validation: required|integer.

Request body example:

[
    {
        "id": 1,
        "price_list_id": 1,
        "branch_id": 1,
        "is_active": 1
    }
]

is_active  integer  

Required. Type: integer. Validation: required|integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Add Table Payment

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/table/payment" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"orderid\": \"ORD-1001\",
    \"source_payment_transact\": \"example\",
    \"tableid\": 1,
    \"branchid\": 1,
    \"paymenttype\": 1,
    \"serviceCharge\": 12.5,
    \"totalDiscountAmount\": 12.5,
    \"totalPaidAmount\": \"example\",
    \"sourceid\": 1,
    \"items\": \"example\",
    \"itemid\": 1,
    \"productqty\": 1,
    \"productprice\": 12.5,
    \"paidproductprice\": \"example\",
    \"totalproductprice\": \"example\",
    \"modifiers\": \"example\",
    \"modifiercode\": 1,
    \"modifierqty\": 1,
    \"modifierprice\": 12.5,
    \"totalmodifierprice\": \"example\"
}"
const url = new URL(
    "http://localhost/api/v1/table/payment"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "orderid": "ORD-1001",
    "source_payment_transact": "example",
    "tableid": 1,
    "branchid": 1,
    "paymenttype": 1,
    "serviceCharge": 12.5,
    "totalDiscountAmount": 12.5,
    "totalPaidAmount": "example",
    "sourceid": 1,
    "items": "example",
    "itemid": 1,
    "productqty": 1,
    "productprice": 12.5,
    "paidproductprice": "example",
    "totalproductprice": "example",
    "modifiers": "example",
    "modifiercode": 1,
    "modifierqty": 1,
    "modifierprice": 12.5,
    "totalmodifierprice": "example"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (Payment Failed):


{
    "failedOrders": [
        {
            "orderId": "ORD-1001",
            "reason": "The provided items for this order have already been paid."
        }
    ],
    "paidOrders": [
        {
            "orderId": "ORD-1001",
            "message": "Paid Successfully.",
            "paidItems": [
                {
                    "itemId": 1,
                    "message": "Item's payment is done."
                }
            ]
        }
    ],
    "totalPaidAmount": "example",
    "message": "Payment Failed",
    "status": "success"
}
 

Example response (Error: Only headoffice account can post payments.):


{
    "status": "fail",
    "message": "Only headoffice account can post payments."
}
 

Request      

POST api/v1/table/payment

Body Parameters

orderid  integer  

Required. Type: integer. Validation: required.

source_payment_transact  string  

Required. Type: string. Validation: required.

tableid  integer  

Required. Type: integer. Validation: required.

branchid  integer  

Required. Type: integer. Validation: required.

Request body example:

{
    "orderid": "ORD-1001",
    "source_payment_transact": "example",
    "tableid": 1,
    "branchid": 1,
    "paymenttype": 1,
    "serviceCharge": 12.5,
    "totalDiscountAmount": 12.5,
    "totalPaidAmount": "example",
    "sourceid": 1,
    "items": "example",
    "itemid": 1,
    "productqty": 1,
    "productprice": 12.5,
    "paidproductprice": "example",
    "totalproductprice": "example",
    "modifiers": "example",
    "modifiercode": 1,
    "modifierqty": 1,
    "modifierprice": 12.5,
    "totalmodifierprice": "example"
}

paymenttype  string  

Required. Type: string. Validation: required.

serviceCharge  string  

Required. Type: string. Validation: required.

totalDiscountAmount  string  

Required. Type: string. Validation: required.

totalPaidAmount  string  

Required. Type: string. Validation: required.

sourceid  integer  

Required. Type: integer. Validation: required.

items  string  

Required. Type: string. Validation: required.

itemid  integer  

Required. Type: integer. Validation: required.

productqty  integer  

Required. Type: integer. Validation: required.

productprice  string  

Required. Type: string. Validation: required.

paidproductprice  string  

Required. Type: string. Validation: required.

totalproductprice  string  

Required. Type: string. Validation: required.

modifiers  string[] optional  

Optional. Type: array. Validation: array.

modifiercode  integer  

Required. Type: integer. Validation: required.

modifierqty  integer  

Required. Type: integer. Validation: required.

modifierprice  string  

Required. Type: string. Validation: required.

totalmodifierprice  string  

Required. Type: string. Validation: required.

Response

Response Fields

failedOrders  array  

Array field returned by this endpoint.

failedOrders[].orderId  string  

Returned by this endpoint.

failedOrders[].reason  string  

Returned by this endpoint.

paidOrders  array  

Array field returned by this endpoint.

paidOrders[].orderId  string  

Returned by this endpoint.

paidOrders[].message  string  

Returned by this endpoint.

paidOrders[].paidItems  array  

Array field returned by this endpoint.

paidOrders[].paidItems[].itemId  integer  

Returned by this endpoint.

paidOrders[].paidItems[].message  string  

Returned by this endpoint.

totalPaidAmount  string  

Returned by this endpoint.

message  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Fetch Table Invoice

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/table/1/invoice/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/table/1/invoice/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


{
    "orders": [
        {
            "member": {
                "memberid": 1,
                "hsmemberid": 1,
                "membername": "Example Membername",
                "mobile": "03000000",
                "mobilevalidated": 1,
                "dateofbirth": "2026-08-17",
                "email": "example@bimpos.com",
                "picpath": "https://posapis.com/example.jpg"
            },
            "items": [
                {
                    "invoiceid": 1,
                    "orderid": "ORD-1001",
                    "itemid": 1,
                    "productcode": 1003919,
                    "productqty": 1,
                    "productprice": 12.5,
                    "combo_product_code": 1,
                    "remark": "example",
                    "STATUS": 1,
                    "itemname": "example",
                    "clientid": 1,
                    "payment_status": null,
                    "modifiers": [
                        {
                            "orderid": "ORD-1001",
                            "itemid": 1,
                            "productcode": 1003919,
                            "productqty": 1,
                            "productprice": 12.5,
                            "modifername": "example"
                        }
                    ]
                }
            ]
        }
    ]
}
 

Example response (Error: Branch not found):


{
    "message": "Branch not found",
    "status": "fail"
}
 

Request      

GET api/v1/table/{tableid}/invoice/{type}

URL Parameters

tableid  integer  

Required. Type: integer.

type  string  

Required. Type: string.

Response

Response Fields

orders  array  

Array field returned by this endpoint.

orders[].member  object  

Object field returned by this endpoint.

orders[].member.memberid  integer  

Returned by this endpoint.

orders[].member.hsmemberid  integer  

Returned by this endpoint.

orders[].member.membername  string  

Returned by this endpoint.

orders[].member.mobile  string  

Returned by this endpoint.

orders[].member.mobilevalidated  integer  

Returned by this endpoint.

orders[].member.dateofbirth  string  

Returned by this endpoint.

orders[].member.email  string  

Returned by this endpoint.

orders[].member.picpath  string  

Returned by this endpoint.

orders[].items  array  

Array field returned by this endpoint.

orders[].items[].invoiceid  integer  

Returned by this endpoint.

orders[].items[].orderid  string  

Returned by this endpoint.

orders[].items[].itemid  integer  

Returned by this endpoint.

orders[].items[].productcode  integer  

Returned by this endpoint.

orders[].items[].productqty  integer  

Returned by this endpoint.

orders[].items[].productprice  number  

Returned by this endpoint.

orders[].items[].combo_product_code  integer  

Returned by this endpoint.

orders[].items[].remark  string  

Returned by this endpoint.

orders[].items[].STATUS  integer  

Returned by this endpoint.

orders[].items[].itemname  string  

Returned by this endpoint.

orders[].items[].clientid  integer  

Returned by this endpoint.

orders[].items[].payment_status  string  

Returned by this endpoint.

orders[].items[].modifiers  array  

Array field returned by this endpoint.

orders[].items[].modifiers[].orderid  string  

Returned by this endpoint.

orders[].items[].modifiers[].itemid  integer  

Returned by this endpoint.

orders[].items[].modifiers[].productcode  integer  

Returned by this endpoint.

orders[].items[].modifiers[].productqty  integer  

Returned by this endpoint.

orders[].items[].modifiers[].productprice  number  

Returned by this endpoint.

orders[].items[].modifiers[].modifername  string  

Returned by this endpoint.

Update Table Payment Statu

requires authentication

Example request:
curl --request PUT \
    "http://localhost/api/v1/table/payment/status" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"INVOICEID\": 1,
    \"TABLEID\": 1,
    \"STATUS\": 1
}"
const url = new URL(
    "http://localhost/api/v1/table/payment/status"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "INVOICEID": 1,
    "TABLEID": 1,
    "STATUS": 1
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (Payment statuses updated successfully):


{
    "status": "success",
    "message": "Payment statuses updated successfully"
}
 

Example response (Error: The given data was invalid.):


{
    "message": "The given data was invalid.",
    "status": "fail"
}
 

Example response (Example error response (from controller)):


{
    "error": "Invalid data format",
    "status": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "message": "Wrong data json format",
    "status": "fail"
}
 

Example response (Error: Internal server error: Exception message):


{
    "message": "Internal server error: Exception message",
    "status": "fail"
}
 

Request      

PUT api/v1/table/payment/status

Body Parameters

INVOICEID  integer  

Required. Type: integer. Validation: required|integer.

Request body example:

[
    {
        "INVOICEID": 1,
        "TABLEID": 1,
        "STATUS": 1
    }
]

TABLEID  integer  

Required. Type: integer. Validation: required|integer.

STATUS  integer  

Required. Type: integer. Validation: required|integer.

Response

Response Fields

status  string  

Returned by this endpoint.

message  string  

Returned by this endpoint.

Fetch Table Payment

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/table/payments/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/table/payments/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (No payments to display):


{
    "message": "No payments to display",
    "status": "success"
}
 

Example response (Error: Branch not found):


{
    "message": "Branch not found",
    "status": "fail"
}
 

Request      

GET api/v1/table/payments/{invoiceid?}

URL Parameters

invoiceid  integer optional  

Optional. Type: integer.

Response

Response Fields

message  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Application APIs (V1) — Products

Read (and selected write) endpoints for mobile/application clients — menus, branches, products, orders, payments.

Fetch Parent

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/parents/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/parents/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


[
    {
        "id": 1,
        "descript": "Ajax Festival",
        "versionid": 1,
        "isactive": 1,
        "created_at": "example",
        "updated_at": "2026-08-17"
    }
]
 

Example response (Error: No parents to display):


{
    "MESSAGE": "No parents to display",
    "STATUS": "fail"
}
 

Request      

GET api/v1/parents/{parentid?}

URL Parameters

parentid  integer optional  

Optional. Type: integer.

Response

Response Fields

[].id  integer  

Returned by this endpoint.

[].descript  string  

Returned by this endpoint.

[].versionid  integer  

Returned by this endpoint.

[].isactive  integer  

Returned by this endpoint.

[].created_at  string  

Returned by this endpoint.

[].updated_at  string  

Returned by this endpoint.

Fetch Parent Categories

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/parents/1/categories" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/parents/1/categories"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


[
    {
        "catid": 1,
        "menuid": 1,
        "parentid": 1,
        "catname": "Example Catname",
        "descript": "Ajax Festival",
        "descript2": "example",
        "picpath": "https://posapis.com/example.jpg",
        "picture": "https://posapis.com/example.jpg",
        "thumb_picture": "https://posapis.com/example.jpg",
        "headerpicpath": "https://posapis.com/example.jpg",
        "footerpicpath": "https://posapis.com/example.jpg",
        "bgpicpath": "https://posapis.com/example.jpg",
        "seq": 1,
        "versionid": 1,
        "isactive": 1,
        "created_at": "example",
        "updated_at": "2026-08-17"
    }
]
 

Example response (Error: No categories to display with parent id: 1):


{
    "MESSAGE": "No categories to display with parent id: 1",
    "STATUS": "fail"
}
 

Example response (Error: Branch not Registered):


{
    "MESSAGE": "Branch not Registered",
    "STATUS": "fail"
}
 

Example response (Error: Please insert a valied parent id):


{
    "MESSAGE": "Please insert a valied parent id",
    "STATUS": "fail"
}
 

Request      

GET api/v1/parents/{id}/categories

URL Parameters

id  integer optional  

Optional. Type: integer. The ID of the parent.

Response

Response Fields

[].catid  integer  

Returned by this endpoint.

[].menuid  integer  

Returned by this endpoint.

[].parentid  integer  

Returned by this endpoint.

[].catname  string  

Returned by this endpoint.

[].descript  string  

Returned by this endpoint.

[].descript2  string  

Returned by this endpoint.

[].picpath  string  

Returned by this endpoint.

[].picture  string  

Returned by this endpoint.

[].thumb_picture  string  

Returned by this endpoint.

[].headerpicpath  string  

Returned by this endpoint.

[].footerpicpath  string  

Returned by this endpoint.

[].bgpicpath  string  

Returned by this endpoint.

[].seq  integer  

Returned by this endpoint.

[].versionid  integer  

Returned by this endpoint.

[].isactive  integer  

Returned by this endpoint.

[].created_at  string  

Returned by this endpoint.

[].updated_at  string  

Returned by this endpoint.

Fetch Category

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/categories/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/categories/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


[
    {
        "catid": 1,
        "menuid": 1,
        "parentid": 1,
        "catname": "Example Catname",
        "descript": "Ajax Festival",
        "descript2": "example",
        "picpath": "https://posapis.com/example.jpg",
        "picture": "https://posapis.com/example.jpg",
        "thumb_picture": "https://posapis.com/example.jpg",
        "headerpicpath": "https://posapis.com/example.jpg",
        "footerpicpath": "https://posapis.com/example.jpg",
        "bgpicpath": "https://posapis.com/example.jpg",
        "seq": 1,
        "versionid": 1,
        "isactive": 1,
        "created_at": "example",
        "updated_at": "2026-08-17"
    }
]
 

Example response (Error: No categories to display):


{
    "MESSAGE": "No categories to display",
    "STATUS": "fail"
}
 

Example response (Error: you do not have a branch):


{
    "MESSAGE": "you do not have a branch",
    "STATUS": "fail"
}
 

Request      

GET api/v1/categories/{catid?}

URL Parameters

catid  integer optional  

Optional. Type: integer.

Response

Response Fields

[].catid  integer  

Returned by this endpoint.

[].menuid  integer  

Returned by this endpoint.

[].parentid  integer  

Returned by this endpoint.

[].catname  string  

Returned by this endpoint.

[].descript  string  

Returned by this endpoint.

[].descript2  string  

Returned by this endpoint.

[].picpath  string  

Returned by this endpoint.

[].picture  string  

Returned by this endpoint.

[].thumb_picture  string  

Returned by this endpoint.

[].headerpicpath  string  

Returned by this endpoint.

[].footerpicpath  string  

Returned by this endpoint.

[].bgpicpath  string  

Returned by this endpoint.

[].seq  integer  

Returned by this endpoint.

[].versionid  integer  

Returned by this endpoint.

[].isactive  integer  

Returned by this endpoint.

[].created_at  string  

Returned by this endpoint.

[].updated_at  string  

Returned by this endpoint.

Fetch Product

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/product/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/product/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (No product to display):


{
    "MESSAGE": "No product to display",
    "STATUS": "success"
}
 

Example response (Error: Please specify a product number):


{
    "MESSAGE": "Please specify a product number",
    "STATUS": "fail"
}
 

Request      

GET api/v1/product/{productid}

URL Parameters

productid  integer  

Required. Type: integer.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Fetch Product Category

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/product/1/category/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/product/1/category/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Please specify a Product number and a Category ID):


{
    "MESSAGE": "Please specify a Product number and a Category ID",
    "STATUS": "success"
}
 

Request      

GET api/v1/product/{productid}/category/{categoryid}

URL Parameters

productid  integer optional  

Optional. Type: integer.

categoryid  integer optional  

Optional. Type: integer.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Fetch Products

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/products" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/products"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


{
    "products": [
        {
            "prodnum": 1003919,
            "catid": 1,
            "descript": "Ajax Festival",
            "descript2": "example",
            "SKUID1": "example",
            "SKUID2": "example",
            "prodinfo": "example",
            "prodinfo2": "example",
            "pid": 1,
            "thumb_picture": "https://posapis.com/example.jpg",
            "brand": "example",
            "country_of_origin": "example",
            "weight": "example",
            "weight_unit": "example",
            "refcode1": "example",
            "refcode2": "example",
            "istaxable1": 1,
            "istaxable2": 1,
            "istaxable3": 1,
            "ModifiersGroupID": 1,
            "ComboGroupID": 1,
            "versionid": 1,
            "isactive": 1,
            "isproduction": 1,
            "created_at": "example",
            "updated_at": "2026-08-17",
            "product_picture": "https://posapis.com/example.jpg",
            "title": "example",
            "tags": "",
            "stocks": null
        }
    ]
}
 

Example response (Error: No product to display):


{
    "MESSAGE": "No product to display",
    "STATUS": "fail"
}
 

Request      

GET api/v1/products

Response

Response Fields

products  array  

Array field returned by this endpoint.

products[].prodnum  integer  

Returned by this endpoint.

products[].catid  integer  

Returned by this endpoint.

products[].descript  string  

Returned by this endpoint.

products[].descript2  string  

Returned by this endpoint.

products[].SKUID1  string  

Returned by this endpoint.

products[].SKUID2  string  

Returned by this endpoint.

products[].prodinfo  string  

Returned by this endpoint.

products[].prodinfo2  string  

Returned by this endpoint.

products[].pid  integer  

Returned by this endpoint.

products[].thumb_picture  string  

Returned by this endpoint.

products[].brand  string  

Returned by this endpoint.

products[].country_of_origin  string  

Returned by this endpoint.

products[].weight  string  

Returned by this endpoint.

products[].weight_unit  string  

Returned by this endpoint.

products[].refcode1  string  

Returned by this endpoint.

products[].refcode2  string  

Returned by this endpoint.

products[].istaxable1  integer  

Returned by this endpoint.

products[].istaxable2  integer  

Returned by this endpoint.

products[].istaxable3  integer  

Returned by this endpoint.

products[].ModifiersGroupID  integer  

Returned by this endpoint.

products[].ComboGroupID  integer  

Returned by this endpoint.

products[].versionid  integer  

Returned by this endpoint.

products[].isactive  integer  

Returned by this endpoint.

products[].isproduction  integer  

Returned by this endpoint.

products[].created_at  string  

Returned by this endpoint.

products[].updated_at  string  

Returned by this endpoint.

products[].product_picture  string  

Returned by this endpoint.

products[].title  string  

Returned by this endpoint.

products[].tags  string  

Returned by this endpoint.

products[].stocks  string  

Returned by this endpoint.

Fetch Product Stock

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/productstock/1003919" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/productstock/1003919"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


[
    {
        "prodnum": 1003919,
        "product_name": "example",
        "stock": "example",
        "variation1": "example",
        "variation2": "example",
        "clientid": 1,
        "versionid": 1
    }
]
 

Example response (Error: No product stock to display):


{
    "MESSAGE": "No product stock to display",
    "STATUS": "fail"
}
 

Example response (Error: No product to display):


{
    "MESSAGE": "No product to display",
    "STATUS": "fail"
}
 

Request      

GET api/v1/productstock/{prodnum?}

URL Parameters

prodnum  integer optional  

Optional. Type: integer.

Response

Response Fields

[].prodnum  integer  

Returned by this endpoint.

[].product_name  string  

Returned by this endpoint.

[].stock  string  

Returned by this endpoint.

[].variation1  string  

Returned by this endpoint.

[].variation2  string  

Returned by this endpoint.

[].clientid  integer  

Returned by this endpoint.

[].versionid  integer  

Returned by this endpoint.

Fetch Question

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/questions/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/questions/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Error: No Question Groups to display):


{
    "MESSAGE": "No Question Groups to display",
    "STATUS": "success"
}
 

Example response (Error: Question Group Id : 1 not found):


{
    "MESSAGE": "Question Group Id : 1  not found",
    "STATUS": "success"
}
 

Example response (Example success response (generated)):


{
    "status": "success",
    "message": "",
    "data": {
        "id": 1,
        "question_name": "Example Question",
        "is_active": true
    }
}
 

Example response (Example unauthorized response (generated)):


{
    "message": "Unauthorized",
    "error": "Unauthorized",
    "status": "fail"
}
 

Request      

GET api/v1/questions/{id?}

URL Parameters

id  integer optional  

Optional. Type: integer. The ID of the .

Response

Response Fields

status  string  

Returned by this endpoint.

message  string  

Returned by this endpoint.

data  object  

Object field returned by this endpoint.

data.id  integer  

Returned by this endpoint.

data.question_name  string  

Returned by this endpoint.

data.is_active  boolean  

Returned by this endpoint.

Fetch Modifier

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/modifiers/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/modifiers/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


{
    "modifiers": null
}
 

Example response (Error: No modifiers to display):


{
    "MESSAGE": "No modifiers to display",
    "STATUS": "fail"
}
 

Request      

GET api/v1/modifiers/{modifierid?}

URL Parameters

modifierid  integer optional  

Optional. Type: integer.

Response

Response Fields

modifiers  string  

Returned by this endpoint.

Fetch Combo

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/combos/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/combos/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Error: No combos to display):


{
    "MESSAGE": "No combos to display",
    "STATUS": "fail"
}
 

Example response (Error: combo group Id : 1 not found):


{
    "MESSAGE": "combo group Id : 1  not found",
    "STATUS": "fail"
}
 

Example response (Example success response (generated)):


{
    "status": "success",
    "message": "",
    "data": {
        "id": 1,
        "combo_name": "Example Combo",
        "is_active": true
    }
}
 

Example response (Example unauthorized response (generated)):


{
    "message": "Unauthorized",
    "error": "Unauthorized",
    "status": "fail"
}
 

Request      

GET api/v1/combos/{id?}

URL Parameters

id  integer optional  

Optional. Type: integer. The ID of the .

Response

Response Fields

status  string  

Returned by this endpoint.

message  string  

Returned by this endpoint.

data  object  

Object field returned by this endpoint.

data.id  integer  

Returned by this endpoint.

data.combo_name  string  

Returned by this endpoint.

data.is_active  boolean  

Returned by this endpoint.

Fetch Gallery

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/galleries/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/galleries/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (No galleries to display):


{
    "MESSAGE": "No galleries to display",
    "STATUS": "success"
}
 

Example response (Error: No galleries to display):


{
    "MESSAGE": "No galleries to display",
    "STATUS": "fail"
}
 

Request      

GET api/v1/galleries/{galleryid?}

URL Parameters

galleryid  integer optional  

Optional. Type: integer.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Fetch Comboheader

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/comboheaders/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/comboheaders/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


{
    "data": "example"
}
 

Example response (Error: ComboHeader not found):


{
    "message": "ComboHeader not found"
}
 

Request      

GET api/v1/comboheaders/{comboheaderid?}

URL Parameters

comboheaderid  integer optional  

Optional. Type: integer.

Response

Response Fields

data  string  

Returned by this endpoint.

Fetch Combodetail

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/combodetails/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/combodetails/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


{
    "data": "example"
}
 

Example response (Error: ComboDetail not found):


{
    "message": "ComboDetail not found"
}
 

Request      

GET api/v1/combodetails/{combodetailid?}

URL Parameters

combodetailid  integer optional  

Optional. Type: integer.

Response

Response Fields

data  string  

Returned by this endpoint.

Fetch Comboitem

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/comboitems/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/comboitems/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


{
    "data": "example"
}
 

Example response (Error: Combo Item not found):


{
    "message": "Combo Item not found"
}
 

Request      

GET api/v1/comboitems/{comboitemid?}

URL Parameters

comboitemid  integer optional  

Optional. Type: integer.

Response

Response Fields

data  string  

Returned by this endpoint.

Fetch Product Combo

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/productcombos/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/productcombos/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


{
    "data": "example"
}
 

Example response (Error: Combo Product not found):


{
    "message": "Combo Product not found"
}
 

Request      

GET api/v1/productcombos/{productcomboid?}

URL Parameters

productcomboid  integer optional  

Optional. Type: integer.

Response

Response Fields

data  string  

Returned by this endpoint.

Fetch Product Picture

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/product/pictures/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/product/pictures/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Product Pictures retrieved successfully):


{
    "MESSAGE": "Product Pictures retrieved successfully",
    "STATUS": "success",
    "RESULT": [
        {
            "ID": 1,
            "TITLE": "example",
            "PICTURE": "https://posapis.com/example.jpg"
        }
    ]
}
 

Example response (Error: No product pics to display):


{
    "MESSAGE": "No product pics to display",
    "STATUS": "fail"
}
 

Example response (Error: The provided PRODUID has no records):


{
    "MESSAGE": "The provided PRODUID has no records",
    "STATUS": "fail"
}
 

Request      

GET api/v1/product/pictures/{id}

URL Parameters

id  integer  

Required. Type: integer. The ID of the picture.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

RESULT  array  

Array field returned by this endpoint.

RESULT[].ID  integer  

Returned by this endpoint.

RESULT[].TITLE  string  

Returned by this endpoint.

RESULT[].PICTURE  string  

Returned by this endpoint.

Application APIs (V2) — Actions

Read (and selected write) endpoints for mobile/application clients — menus, branches, products, orders, payments.

Add Actions

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/actions" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"TABLEID\": 1,
    \"TYPE\": 1,
    \"STATUS\": 1,
    \"POSSTATUS\": 1,
    \"ORDERID\": 0
}"
const url = new URL(
    "http://localhost/api/v2/actions"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "TABLEID": 1,
    "TYPE": 1,
    "STATUS": 1,
    "POSSTATUS": 1,
    "ORDERID": 0
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (Actions inserted successfully!):


{
    "message": "Actions inserted successfully!",
    "failed Items": [
        {
            "ERRORS": null,
            "DESCRIPT": null,
            "RESTID": 1
        }
    ],
    "status": "success"
}
 

Example response (Error: No Data Has Been Entered):


{
    "MESSAGE": "No Data Has Been Entered",
    "STATUS": "fail"
}
 

Example response (Error: Wrong json format):


{
    "MESSAGE": "Wrong json format",
    "STATUS": "fail"
}
 

Example response (Error: API key is missing):


{
    "MESSAGE": "API key is missing",
    "STATUS": "fail"
}
 

Example response (Error: Invalid API key):


{
    "MESSAGE": "Invalid API key",
    "STATUS": "fail"
}
 

Example response (Error: No data to upsert):


{
    "message": "No data to upsert",
    "failed Items": [
        {
            "ERRORS": null,
            "DESCRIPT": null,
            "RESTID": 1
        }
    ],
    "status": "Failed"
}
 

Example response (Error: Failed to upsert data.):


{
    "message": "Failed to upsert data.",
    "failed Items": [
        {
            "ERRORS": null,
            "DESCRIPT": null,
            "RESTID": 1
        }
    ],
    "status": "Failed"
}
 

Request      

POST api/v2/actions

Body Parameters

TABLEID  integer  

Required. Type: integer. Validation: required|integer.

TYPE  string  

Required. Type: string. Validation: required|in:1,2,3,4. Must be one of 1, 2, 3, or 4.

STATUS  string  

Required. Type: string. Validation: required|in:0,1. Must be one of 0 or 1.

POSSTATUS  string  

Required. Type: string. Validation: required|in:0,1. Must be one of 0 or 1.

ORDERID  integer optional  

Optional. Type: integer. Validation: integer.

Request body example:

[
    {
        "TABLEID": 1,
        "TYPE": 1,
        "STATUS": 1,
        "POSSTATUS": 1,
        "ORDERID": 0
    }
]

Response

Response Fields

message  string  

Returned by this endpoint.

failed Items  array  

Array field returned by this endpoint.

failed Items[].ERRORS  string  

Returned by this endpoint.

failed Items[].DESCRIPT  string  

Returned by this endpoint.

failed Items[].RESTID  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Fetch Actions

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/actions" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}"
const url = new URL(
    "http://localhost/api/v2/actions"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Actions extracted successfully!):


{
    "message": "Actions extracted successfully!",
    "status": "OK",
    "actions": [
        {
            "POSTRANSTACT": null
        }
    ]
}
 

Example response (Example error response (from controller)):


{
    "error": "No Actions Recorded for your restaurant."
}
 

Example response (Error: API key is missing):


{
    "MESSAGE": "API key is missing",
    "STATUS": "fail"
}
 

Example response (Error: Invalid API key):


{
    "MESSAGE": "Invalid API key",
    "STATUS": "fail"
}
 

Request      

GET api/v2/actions

Response

Response Fields

message  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

actions  array  

Array field returned by this endpoint.

actions[].POSTRANSTACT  string  

Returned by this endpoint.

Application APIs (V2) — Floors

Read (and selected write) endpoints for mobile/application clients — menus, branches, products, orders, payments.

Add Floors

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/floors" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"id\": 1,
    \"description\": \"example\",
    \"is_default\": 1,
    \"background_color\": 1,
    \"is_active\": 1,
    \"floor_width\": 1,
    \"floor_height\": 1,
    \"branch_id\": 1,
    \"concept_id\": 1
}"
const url = new URL(
    "http://localhost/api/v2/floors"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "id": 1,
    "description": "example",
    "is_default": 1,
    "background_color": 1,
    "is_active": 1,
    "floor_width": 1,
    "floor_height": 1,
    "branch_id": 1,
    "concept_id": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (example is not found):


{
    "message": "example is not found",
    "status": "success"
}
 

Example response (Error: The given data was invalid.):


{
    "message": "The given data was invalid.",
    "status": "fail"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "FloorsController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

POST api/v2/floors

Body Parameters

id  integer  

Required. Type: integer. Validation: required|integer.

description  string  

Required. Type: string. Validation: required|string|max:50. Must not be greater than 50 characters.

is_default  integer  

Required. Type: integer. Validation: required|integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

background_color  integer  

Required. Type: integer. Validation: required|integer.

Request body example:

[
    {
        "id": 1,
        "description": "example",
        "is_default": 1,
        "background_color": 1,
        "is_active": 1,
        "floor_width": 1,
        "floor_height": 1,
        "branch_id": 1,
        "concept_id": 1
    }
]

is_active  integer  

Required. Type: integer. Validation: required|integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

floor_width  integer  

Required. Type: integer. Validation: required|integer.

floor_height  integer  

Required. Type: integer. Validation: required|integer.

branch_id  integer  

Required. Type: integer. Validation: required|integer.

concept_id  integer  

Required. Type: integer. Validation: required|integer.

Response

Response Fields

message  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Delete Floor

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v2/floors" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v2/floors"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Example success response (generated)):


{
    "status": "success",
    "message": "Floors deleted successfully."
}
 

Example response (Example unauthorized response (generated)):


{
    "message": "Unauthorized",
    "error": "Unauthorized",
    "status": "fail"
}
 

Request      

DELETE api/v2/floors

Response

Response Fields

status  string  

Returned by this endpoint.

message  string  

Returned by this endpoint.

Add Sections

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/sections" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"section_id\": 1,
    \"section_type\": 1,
    \"section_left\": 1,
    \"section_top\": 1,
    \"section_width\": 1,
    \"section_height\": 1,
    \"section_name\": \"example\",
    \"section_shapestyle\": 1,
    \"section_fillstyle\": 1,
    \"section_fillcolor\": 1,
    \"section_floor_id\": 1,
    \"font_name\": \"example\",
    \"font_bold\": 1,
    \"font_italic\": 1,
    \"font_size\": 1.5,
    \"font_strike_through\": 1,
    \"font_underline\": 1,
    \"font_color\": 1,
    \"is_active\": 1
}"
const url = new URL(
    "http://localhost/api/v2/sections"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "section_id": 1,
    "section_type": 1,
    "section_left": 1,
    "section_top": 1,
    "section_width": 1,
    "section_height": 1,
    "section_name": "example",
    "section_shapestyle": 1,
    "section_fillstyle": 1,
    "section_fillcolor": 1,
    "section_floor_id": 1,
    "font_name": "example",
    "font_bold": 1,
    "font_italic": 1,
    "font_size": 1.5,
    "font_strike_through": 1,
    "font_underline": 1,
    "font_color": 1,
    "is_active": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (The branch is not found):


{
    "message": "The branch is not found",
    "status": "success"
}
 

Example response (Error: The given data was invalid.):


{
    "message": "The given data was invalid.",
    "status": "fail"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "FloorMapsController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

POST api/v2/sections

Body Parameters

section_id  integer  

Required. Type: integer. Validation: required|integer.

section_type  integer  

Required. Type: integer. Validation: required|integer.

section_left  integer  

Required. Type: integer. Validation: required|integer.

section_top  integer  

Required. Type: integer. Validation: required|integer.

section_width  integer  

Required. Type: integer. Validation: required|integer.

section_height  integer  

Required. Type: integer. Validation: required|integer.

section_name  string  

Required. Type: string. Validation: required|string|max:254. Must not be greater than 254 characters.

section_shapestyle  integer  

Required. Type: integer. Validation: required|integer.

section_fillstyle  integer  

Required. Type: integer. Validation: required|integer.

section_fillcolor  integer  

Required. Type: integer. Validation: required|integer.

section_floor_id  integer  

Required. Type: integer. Validation: required|integer.

font_name  string  

Required. Type: string. Validation: required|string|max:254. Must not be greater than 254 characters.

font_bold  integer  

Required. Type: integer. Validation: required|integer.

Request body example:

[
    {
        "section_id": 1,
        "section_type": 1,
        "section_left": 1,
        "section_top": 1,
        "section_width": 1,
        "section_height": 1,
        "section_name": "example",
        "section_shapestyle": 1,
        "section_fillstyle": 1,
        "section_fillcolor": 1,
        "section_floor_id": 1,
        "font_name": "example",
        "font_bold": 1,
        "font_italic": 1,
        "font_size": 1.5,
        "font_strike_through": 1,
        "font_underline": 1,
        "font_color": 1,
        "is_active": 1
    }
]

font_italic  integer  

Required. Type: integer. Validation: required|integer.

font_size  number  

Required. Type: number. Validation: required|numeric.

font_strike_through  integer  

Required. Type: integer. Validation: required|integer.

font_underline  integer  

Required. Type: integer. Validation: required|integer.

font_color  integer  

Required. Type: integer. Validation: required|integer.

is_active  integer  

Required. Type: integer. Validation: required|integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

Response

Response Fields

message  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Fetch Section Tables

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/sections/1/tables" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}"
const url = new URL(
    "http://localhost/api/v2/sections/1/tables"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


[
    {
        "table_id": 1,
        "section_id": 1,
        "table_name": "example",
        "table_index": 1,
        "table_type": 1,
        "table_top": "example",
        "table_left": "example",
        "table_width": "example",
        "table_height": "example",
        "table_shape_style": "example",
        "table_fill_style": "example",
        "table_fill_color": "example",
        "font_name": "example",
        "font_bold": "example",
        "font_italic": "example",
        "font_size": "example",
        "font_strike_through": "example",
        "font_underline": "example",
        "font_color": "example",
        "client_id": 1,
        "headoffice_client_id": 1,
        "version_id": 1,
        "is_active": 1,
        "created_at": "example",
        "updated_at": "2026-08-17"
    }
]
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: No Tables in section 1 to display):


{
    "message": "No Tables in section 1 to display",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "SectionController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

GET api/v2/sections/{sectionmapid}/tables

URL Parameters

sectionmapid  integer optional  

Optional. Type: integer.

Response

Response Fields

[].table_id  integer  

Returned by this endpoint.

[].section_id  integer  

Returned by this endpoint.

[].table_name  string  

Returned by this endpoint.

[].table_index  integer  

Returned by this endpoint.

[].table_type  integer  

Returned by this endpoint.

[].table_top  string  

Returned by this endpoint.

[].table_left  string  

Returned by this endpoint.

[].table_width  string  

Returned by this endpoint.

[].table_height  string  

Returned by this endpoint.

[].table_shape_style  string  

Returned by this endpoint.

[].table_fill_style  string  

Returned by this endpoint.

[].table_fill_color  string  

Returned by this endpoint.

[].font_name  string  

Returned by this endpoint.

[].font_bold  string  

Returned by this endpoint.

[].font_italic  string  

Returned by this endpoint.

[].font_size  string  

Returned by this endpoint.

[].font_strike_through  string  

Returned by this endpoint.

[].font_underline  string  

Returned by this endpoint.

[].font_color  string  

Returned by this endpoint.

[].client_id  integer  

Returned by this endpoint.

[].headoffice_client_id  integer  

Returned by this endpoint.

[].version_id  integer  

Returned by this endpoint.

[].is_active  integer  

Returned by this endpoint.

[].created_at  string  

Returned by this endpoint.

[].updated_at  string  

Returned by this endpoint.

Fetch Floor Tables

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/floors/1/tables" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}"
const url = new URL(
    "http://localhost/api/v2/floors/1/tables"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


[
    {
        "table_id": 1,
        "section_id": 1,
        "table_name": "example",
        "table_index": 1,
        "table_type": 1,
        "table_top": "example",
        "table_left": "example",
        "table_width": "example",
        "table_height": "example",
        "table_shape_style": "example",
        "table_fill_style": "example",
        "table_fill_color": "example",
        "font_name": "example",
        "font_bold": "example",
        "font_italic": "example",
        "font_size": "example",
        "font_strike_through": "example",
        "font_underline": "example",
        "font_color": "example",
        "client_id": 1,
        "headoffice_client_id": 1,
        "version_id": 1,
        "is_active": 1,
        "created_at": "example",
        "updated_at": "2026-08-17"
    }
]
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: No Tables in section 1 to display):


{
    "message": "No Tables in section 1 to display",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "SectionController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

GET api/v2/floors/{floorid}/tables

URL Parameters

floorid  integer  

Required. Type: integer.

Response

Response Fields

[].table_id  integer  

Returned by this endpoint.

[].section_id  integer  

Returned by this endpoint.

[].table_name  string  

Returned by this endpoint.

[].table_index  integer  

Returned by this endpoint.

[].table_type  integer  

Returned by this endpoint.

[].table_top  string  

Returned by this endpoint.

[].table_left  string  

Returned by this endpoint.

[].table_width  string  

Returned by this endpoint.

[].table_height  string  

Returned by this endpoint.

[].table_shape_style  string  

Returned by this endpoint.

[].table_fill_style  string  

Returned by this endpoint.

[].table_fill_color  string  

Returned by this endpoint.

[].font_name  string  

Returned by this endpoint.

[].font_bold  string  

Returned by this endpoint.

[].font_italic  string  

Returned by this endpoint.

[].font_size  string  

Returned by this endpoint.

[].font_strike_through  string  

Returned by this endpoint.

[].font_underline  string  

Returned by this endpoint.

[].font_color  string  

Returned by this endpoint.

[].client_id  integer  

Returned by this endpoint.

[].headoffice_client_id  integer  

Returned by this endpoint.

[].version_id  integer  

Returned by this endpoint.

[].is_active  integer  

Returned by this endpoint.

[].created_at  string  

Returned by this endpoint.

[].updated_at  string  

Returned by this endpoint.

Add Tables

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/tables" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"table_id\": 1,
    \"table_index\": 1,
    \"table_type\": 1,
    \"table_left\": 1,
    \"table_top\": 1,
    \"table_width\": 1,
    \"table_height\": 1,
    \"table_name\": \"example\",
    \"table_shapestyle\": 1,
    \"table_fillstyle\": 1,
    \"table_fillcolor\": 1,
    \"section_id\": 1,
    \"font_name\": \"example\",
    \"font_bold\": 1,
    \"font_italic\": 1,
    \"font_size\": 1.5,
    \"font_strike_through\": 1,
    \"font_underline\": 1,
    \"font_color\": 1,
    \"is_active\": 1
}"
const url = new URL(
    "http://localhost/api/v2/tables"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "table_id": 1,
    "table_index": 1,
    "table_type": 1,
    "table_left": 1,
    "table_top": 1,
    "table_width": 1,
    "table_height": 1,
    "table_name": "example",
    "table_shapestyle": 1,
    "table_fillstyle": 1,
    "table_fillcolor": 1,
    "section_id": 1,
    "font_name": "example",
    "font_bold": 1,
    "font_italic": 1,
    "font_size": 1.5,
    "font_strike_through": 1,
    "font_underline": 1,
    "font_color": 1,
    "is_active": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (The branch is not found):


{
    "message": "The branch is not found",
    "status": "success"
}
 

Example response (Error: The given data was invalid.):


{
    "message": "The given data was invalid.",
    "status": "fail"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "SectionController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

POST api/v2/tables

Body Parameters

table_id  integer  

Required. Type: integer. Validation: required|integer.

table_index  integer  

Required. Type: integer. Validation: required|integer.

table_type  integer  

Required. Type: integer. Validation: required|integer.

table_left  integer  

Required. Type: integer. Validation: required|integer.

table_top  integer  

Required. Type: integer. Validation: required|integer.

table_width  integer  

Required. Type: integer. Validation: required|integer.

table_height  integer  

Required. Type: integer. Validation: required|integer.

table_name  string  

Required. Type: string. Validation: required|string|max:254. Must not be greater than 254 characters.

table_shapestyle  integer optional  

Optional. Type: integer. Validation: integer.

table_fillstyle  integer optional  

Optional. Type: integer. Validation: integer.

table_fillcolor  integer optional  

Optional. Type: integer. Validation: integer.

section_id  integer  

Required. Type: integer. Validation: required|integer.

font_name  string optional  

Optional. Type: string. Validation: string|max:254. Must not be greater than 254 characters.

font_bold  integer optional  

Optional. Type: integer. Validation: integer.

Request body example:

[
    {
        "table_id": 1,
        "table_index": 1,
        "table_type": 1,
        "table_left": 1,
        "table_top": 1,
        "table_width": 1,
        "table_height": 1,
        "table_name": "example",
        "table_shapestyle": 1,
        "table_fillstyle": 1,
        "table_fillcolor": 1,
        "section_id": 1,
        "font_name": "example",
        "font_bold": 1,
        "font_italic": 1,
        "font_size": 1.5,
        "font_strike_through": 1,
        "font_underline": 1,
        "font_color": 1,
        "is_active": 1
    }
]

font_italic  integer optional  

Optional. Type: integer. Validation: integer.

font_size  number optional  

Optional. Type: number. Validation: numeric.

font_strike_through  integer optional  

Optional. Type: integer. Validation: integer.

font_underline  integer optional  

Optional. Type: integer. Validation: integer.

font_color  integer optional  

Optional. Type: integer. Validation: integer.

is_active  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

Response

Response Fields

message  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add Table Status

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/table/status" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"TBLNUM\": 1,
    \"STATUS\": 1,
    \"NUMOFCUSTOMERS\": 1,
    \"DESCRIPT\": \"Ajax Festival\",
    \"TABLENAME\": \"example\",
    \"INFO\": \"example\",
    \"ISSPLIT\": 1,
    \"ORDERTYPE\": 1,
    \"ASKEDCHECK\": 1,
    \"TIMEOPENED\": \"12:00:00\",
    \"TIMECLOSED\": \"12:00:00\",
    \"MEMCODE\": 1,
    \"CONTACTID\": 1
}"
const url = new URL(
    "http://localhost/api/v2/table/status"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "TBLNUM": 1,
    "STATUS": 1,
    "NUMOFCUSTOMERS": 1,
    "DESCRIPT": "Ajax Festival",
    "TABLENAME": "example",
    "INFO": "example",
    "ISSPLIT": 1,
    "ORDERTYPE": 1,
    "ASKEDCHECK": 1,
    "TIMEOPENED": "12:00:00",
    "TIMECLOSED": "12:00:00",
    "MEMCODE": 1,
    "CONTACTID": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (Table Status inserted/updated successfully!):


{
    "message": "Table Status inserted/updated successfully!",
    "status": "OK"
}
 

Example response (Example error response (from controller)):


{
    "errors": "example",
    "error_location": "example",
    "status": "fail"
}
 

Example response (Error: HTTP Request Failed):


{
    "message": "HTTP Request Failed",
    "status": "error"
}
 

Example response (Error: Internal server error: Exception message):


{
    "message": "Internal server error: Exception message",
    "status": "error"
}
 

Request      

POST api/v2/table/status

Body Parameters

TBLNUM  integer  

Required. Type: integer. Validation: required|integer.

STATUS  integer  

Required. Type: integer. Validation: required|integer.

NUMOFCUSTOMERS  integer  

Required. Type: integer. Validation: required|integer.

DESCRIPT  string  

Required. Type: string. Validation: required|string.

TABLENAME  string  

Required. Type: string. Validation: required|string.

INFO  string  

Required. Type: string. Validation: required|string.

ISSPLIT  integer  

Required. Type: integer. Validation: required|integer.

ORDERTYPE  integer  

Required. Type: integer. Validation: required|integer.

ASKEDCHECK  integer  

Required. Type: integer. Validation: required|integer.

Request body example:

[
    {
        "TBLNUM": 1,
        "STATUS": 1,
        "NUMOFCUSTOMERS": 1,
        "DESCRIPT": "Ajax Festival",
        "TABLENAME": "example",
        "INFO": "example",
        "ISSPLIT": 1,
        "ORDERTYPE": 1,
        "ASKEDCHECK": 1,
        "TIMEOPENED": "12:00:00",
        "TIMECLOSED": "12:00:00",
        "MEMCODE": 1,
        "CONTACTID": 1
    }
]

TIMEOPENED  string optional  

Optional. Type: string. Validation: sometimes|date. Must be a valid date.

TIMECLOSED  string optional  

Optional. Type: string. Validation: sometimes|date. Must be a valid date.

MEMCODE  integer optional  

Optional. Type: integer. Validation: sometimes|integer.

CONTACTID  integer optional  

Optional. Type: integer. Validation: sometimes|integer.

Response

Response Fields

message  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Application APIs (V2) — General

Read (and selected write) endpoints for mobile/application clients — menus, branches, products, orders, payments.

Fetch All Order

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/all/orders/ORD-1001" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}"
const url = new URL(
    "http://localhost/api/v2/all/orders/ORD-1001"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


{
    "orders": [
        {
            "additional_info": {
                "channel_id": 1,
                "channel_name": "example",
                "channel_order_id": 1,
                "channel_order_display_id": 1
            },
            "member": {
                "memberid": 1,
                "membername": "Example Membername",
                "mobile": "03000000",
                "mobilevalidated": 1,
                "dateofbirth": "2026-08-17",
                "email": "example@bimpos.com",
                "picpath": "https://posapis.com/example.jpg"
            },
            "address": {
                "addressid": 1,
                "descript": "Ajax Festival",
                "addresstype": 1,
                "geolong": 35.5018,
                "geolat": 33.8938,
                "citycode": 1,
                "street": "example",
                "bldg": "example",
                "floor": "example",
                "city_name": "Example City name",
                "zip_code": 1,
                "directions": "example"
            },
            "phones": [
                {
                    "addressid": 1,
                    "phone": "03000000"
                }
            ],
            "items": [
                {
                    "transact": "example",
                    "itemid": 1,
                    "productcode": 1003919,
                    "productqty": 1,
                    "productprice": 12.5,
                    "combo_product_code": 1,
                    "remark": "example",
                    "modifiers": [
                        {
                            "transact": "example",
                            "productcode": 1003919,
                            "productqty": 1,
                            "productprice": 12.5
                        }
                    ]
                }
            ]
        }
    ]
}
 

Example response (Error: API key is missing):


{
    "MESSAGE": "API key is missing",
    "STATUS": "fail"
}
 

Example response (Error: Invalid API key):


{
    "MESSAGE": "Invalid API key",
    "STATUS": "fail"
}
 

Example response (Error: Branch not found):


{
    "MESSAGE": "Branch not found",
    "STATUS": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "OrdersController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

GET api/v2/all/orders/{orderid?}

URL Parameters

orderid  integer optional  

Optional. Type: integer.

Response

Response Fields

orders  array  

Array field returned by this endpoint.

orders[].additional_info  object  

Object field returned by this endpoint.

orders[].additional_info.channel_id  integer  

Returned by this endpoint.

orders[].additional_info.channel_name  string  

Returned by this endpoint.

orders[].additional_info.channel_order_id  integer  

Returned by this endpoint.

orders[].additional_info.channel_order_display_id  integer  

Returned by this endpoint.

orders[].member  object  

Object field returned by this endpoint.

orders[].member.memberid  integer  

Returned by this endpoint.

orders[].member.membername  string  

Returned by this endpoint.

orders[].member.mobile  string  

Returned by this endpoint.

orders[].member.mobilevalidated  integer  

Returned by this endpoint.

orders[].member.dateofbirth  string  

Returned by this endpoint.

orders[].member.email  string  

Returned by this endpoint.

orders[].member.picpath  string  

Returned by this endpoint.

orders[].address  object  

Object field returned by this endpoint.

orders[].address.addressid  integer  

Returned by this endpoint.

orders[].address.descript  string  

Returned by this endpoint.

orders[].address.addresstype  integer  

Returned by this endpoint.

orders[].address.geolong  number  

Returned by this endpoint.

orders[].address.geolat  number  

Returned by this endpoint.

orders[].address.citycode  integer  

Returned by this endpoint.

orders[].address.street  string  

Returned by this endpoint.

orders[].address.bldg  string  

Returned by this endpoint.

orders[].address.floor  string  

Returned by this endpoint.

orders[].address.city_name  string  

Returned by this endpoint.

orders[].address.zip_code  integer  

Returned by this endpoint.

orders[].address.directions  string  

Returned by this endpoint.

orders[].phones  array  

Array field returned by this endpoint.

orders[].phones[].addressid  integer  

Returned by this endpoint.

orders[].phones[].phone  string  

Returned by this endpoint.

orders[].items  array  

Array field returned by this endpoint.

orders[].items[].transact  string  

Returned by this endpoint.

orders[].items[].itemid  integer  

Returned by this endpoint.

orders[].items[].productcode  integer  

Returned by this endpoint.

orders[].items[].productqty  integer  

Returned by this endpoint.

orders[].items[].productprice  number  

Returned by this endpoint.

orders[].items[].combo_product_code  integer  

Returned by this endpoint.

orders[].items[].remark  string  

Returned by this endpoint.

orders[].items[].modifiers  array  

Array field returned by this endpoint.

orders[].items[].modifiers[].transact  string  

Returned by this endpoint.

orders[].items[].modifiers[].productcode  integer  

Returned by this endpoint.

orders[].items[].modifiers[].productqty  integer  

Returned by this endpoint.

orders[].items[].modifiers[].productprice  number  

Returned by this endpoint.

Fetch All Order Count

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/all/order/count" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}"
const url = new URL(
    "http://localhost/api/v2/all/order/count"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


12
 

Example response (Error: API key is missing):


{
    "MESSAGE": "API key is missing",
    "STATUS": "fail"
}
 

Example response (Error: Invalid API key):


{
    "MESSAGE": "Invalid API key",
    "STATUS": "fail"
}
 

Example response (Error: Branch not found):


{
    "MESSAGE": "Branch not found",
    "STATUS": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "OrdersController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

GET api/v2/all/order/count

Fetch Charges

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/charges" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}"
const url = new URL(
    "http://localhost/api/v2/charges"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: No branch or city has been inserted):


{
    "message": "No branch or city has been inserted",
    "status": "fail"
}
 

Example response (Error: Charge was not found):


{
    "message": "Charge was not found",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "ChargesController.php",
    "line": 1,
    "status": "fail"
}
 

Example response (Example success response (generated)):


{
    "status": "success",
    "message": "",
    "data": [
        {
            "id": 1,
            "charge_name": "Example Charge",
            "is_active": true
        },
        {
            "id": 2,
            "charge_name": "Example Charge",
            "is_active": true
        }
    ]
}
 

Example response (Example unauthorized response (generated)):


{
    "message": "Unauthorized",
    "error": "Unauthorized",
    "status": "fail"
}
 

Request      

GET api/v2/charges

Response

Response Fields

status  string  

Returned by this endpoint.

message  string  

Returned by this endpoint.

data  array  

Array field returned by this endpoint.

data[].id  integer  

Returned by this endpoint.

data[].charge_name  string  

Returned by this endpoint.

data[].is_active  boolean  

Returned by this endpoint.

Delete Charge

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v2/charge/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}"
const url = new URL(
    "http://localhost/api/v2/charge/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Charge with id 1 has been deleted Successfuly):


{
    "message": "Charge with id 1 has been deleted Successfuly",
    "status": "success"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: you must enter a valid id):


{
    "message": "you must enter a valid id",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "ChargesController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

DELETE api/v2/charge/{id}

URL Parameters

id  integer optional  

Optional. Type: integer. The ID of the charge.

Response

Response Fields

message  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Delete Charge Detail

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v2/chargedetail/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}"
const url = new URL(
    "http://localhost/api/v2/chargedetail/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Charge detail with id 1 has been deleted Successfuly):


{
    "message": "Charge detail with id 1 has been deleted Successfuly",
    "status": "success"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: you must enter a valid id):


{
    "message": "you must enter a valid id",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "ChargesController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

DELETE api/v2/chargedetail/{id}

URL Parameters

id  integer optional  

Optional. Type: integer. The ID of the chargedetail.

Response

Response Fields

message  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Delete Comboitem

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v2/comboitem/1003919" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}"
const url = new URL(
    "http://localhost/api/v2/comboitem/1003919"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Combo item with id 1003919 has been deleted Successfuly):


{
    "message": "Combo item with id 1003919 has been deleted Successfuly",
    "status": "success"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: you must enter a valid id):


{
    "message": "you must enter a valid id",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "ComboItemsController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

DELETE api/v2/comboitem/{prodnum}

URL Parameters

prodnum  integer optional  

Optional. Type: integer.

Response

Response Fields

message  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add Devices

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/devices" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"deviceIdentifier\": \"example\",
    \"deviceOS\": \"example\",
    \"deviceAppId\": 1,
    \"deviceAppVersion\": \"example\",
    \"mobile\": \"03000000\"
}"
const url = new URL(
    "http://localhost/api/v2/devices"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "deviceIdentifier": "example",
    "deviceOS": "example",
    "deviceAppId": 1,
    "deviceAppVersion": "example",
    "mobile": "03000000"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (Sent SMS to Client):


{
    "message": "Sent SMS to Client",
    "status": "success"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "message": "Wrong data json format",
    "status": "fail"
}
 

Example response (Error: Only head office is authorized):


{
    "message": "Only head office is authorized",
    "status": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "message": "The given data was invalid.",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "MobileDeviceController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

POST api/v2/devices

Body Parameters

deviceIdentifier  string  

Required. Type: string. Validation: required|string|max:50. Must not be greater than 50 characters.

deviceOS  string  

Required. Type: string. Validation: required|string|max:20. Must not be greater than 20 characters.

deviceAppId  integer  

Required. Type: integer. Validation: required|integer.

Request body example:

{
    "deviceIdentifier": "example",
    "deviceOS": "example",
    "deviceAppId": 1,
    "deviceAppVersion": "example",
    "mobile": "03000000"
}

deviceAppVersion  string  

Required. Type: string. Validation: required|string|max:20. Must not be greater than 20 characters.

mobile  string  

Required. Type: string. Validation: required|string|max:20. Must not be greater than 20 characters.

Response

Response Fields

message  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Update Device

requires authentication

Example request:
curl --request PUT \
    "http://localhost/api/v2/devices" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"deviceIdentifier\": \"example\",
    \"mobile\": \"03000000\",
    \"validationCode\": 1
}"
const url = new URL(
    "http://localhost/api/v2/devices"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "deviceIdentifier": "example",
    "mobile": "03000000",
    "validationCode": 1
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (mobile number validated successfully):


{
    "message": "mobile number validated successfully",
    "status": "success"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: invalid code):


{
    "message": "invalid code",
    "status": "fail"
}
 

Example response (Error: Branch not found):


{
    "message": "Branch not found",
    "status": "fail"
}
 

Example response (Error: example):


{
    "message": "example",
    "status": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "message": "Wrong data json format",
    "status": "fail"
}
 

Request      

PUT api/v2/devices

Body Parameters

deviceIdentifier  string  

Required. Type: string. Validation: required|string|max:50. Must not be greater than 50 characters.

Request body example:

{
    "deviceIdentifier": "example",
    "mobile": "03000000",
    "validationCode": 1
}

mobile  string  

Required. Type: string. Validation: required|string|max:20. Must not be greater than 20 characters.

validationCode  string  

Required. Type: string. Validation: required|string|max:20. Must not be greater than 20 characters.

Response

Response Fields

message  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Fetch Aggregator

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/aggregators/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v2/aggregators/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (No aggregator channel to display):


{
    "MESSAGE": "No aggregator channel to display",
    "STATUS": "success"
}
 

Example response (Error: No aggregator channel to display):


{
    "MESSAGE": "No aggregator channel to display",
    "STATUS": "fail"
}
 

Example response (Error: Could not find your branch!!):


{
    "MESSAGE": "Could not find your branch!!",
    "STATUS": "fail"
}
 

Request      

GET api/v2/aggregators/{sourceid?}

URL Parameters

sourceid  integer  

Required. Type: integer.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Fetch Update

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/updates/2026-08-17" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v2/updates/2026-08-17"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


{
    "currentmenuid": "2026-08-17",
    "lastupdated": "2026-08-17",
    "changes": {
        "categories": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "parents": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "products": {
            "updated": [
                {
                    "prodnum": 1,
                    "catid": "example"
                }
            ],
            "deleted": [
                {
                    "prodnum": 1,
                    "catid": "example"
                }
            ]
        },
        "modifiers": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "questionGroups": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "questionGroupsDetails": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "questionHeaders": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "questionDetails": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "comboProducts": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "comboHeaders": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "comboDetails": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "comboItems": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "charges": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "branches": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "regions": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "branch_regions": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "cities": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "countries": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "charge_details": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "menus": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "tags": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "order_types": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "order_type_charges": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "order_type_charge_branches": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "order_type_charge_branch_regions": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "store_settings": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "floormaps": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "floors": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "sectionmaps": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        }
    }
}
 

Example response (Error: No updates to display):


{
    "MESSAGE": "No updates to display",
    "STATUS": "fail"
}
 

Example response (Error: please enter a valid update id):


{
    "MESSAGE": "please enter a valid update id",
    "STATUS": "fail"
}
 

Request      

GET api/v2/updates/{updateid?}

URL Parameters

updateid  integer optional  

Optional. Type: integer.

Response

Response Fields

currentmenuid  string  

Returned by this endpoint.

lastupdated  string  

Returned by this endpoint.

changes  object  

Object field returned by this endpoint.

changes.categories  object  

Object field returned by this endpoint.

changes.categories.updated  array  

Array field returned by this endpoint.

changes.categories.deleted  array  

Array field returned by this endpoint.

changes.parents  object  

Object field returned by this endpoint.

changes.parents.updated  array  

Array field returned by this endpoint.

changes.parents.deleted  array  

Array field returned by this endpoint.

changes.products  object  

Object field returned by this endpoint.

changes.products.updated  array  

Array field returned by this endpoint.

changes.products.updated[].prodnum  integer  

Returned by this endpoint.

changes.products.updated[].catid  string  

Returned by this endpoint.

changes.products.deleted  array  

Array field returned by this endpoint.

changes.products.deleted[].prodnum  integer  

Returned by this endpoint.

changes.products.deleted[].catid  string  

Returned by this endpoint.

changes.modifiers  object  

Object field returned by this endpoint.

changes.modifiers.updated  array  

Array field returned by this endpoint.

changes.modifiers.deleted  array  

Array field returned by this endpoint.

changes.questionGroups  object  

Object field returned by this endpoint.

changes.questionGroups.updated  array  

Array field returned by this endpoint.

changes.questionGroups.deleted  array  

Array field returned by this endpoint.

changes.questionGroupsDetails  object  

Object field returned by this endpoint.

changes.questionGroupsDetails.updated  array  

Array field returned by this endpoint.

changes.questionGroupsDetails.deleted  array  

Array field returned by this endpoint.

changes.questionHeaders  object  

Object field returned by this endpoint.

changes.questionHeaders.updated  array  

Array field returned by this endpoint.

changes.questionHeaders.deleted  array  

Array field returned by this endpoint.

changes.questionDetails  object  

Object field returned by this endpoint.

changes.questionDetails.updated  array  

Array field returned by this endpoint.

changes.questionDetails.deleted  array  

Array field returned by this endpoint.

changes.comboProducts  object  

Object field returned by this endpoint.

changes.comboProducts.updated  array  

Array field returned by this endpoint.

changes.comboProducts.deleted  array  

Array field returned by this endpoint.

changes.comboHeaders  object  

Object field returned by this endpoint.

changes.comboHeaders.updated  array  

Array field returned by this endpoint.

changes.comboHeaders.deleted  array  

Array field returned by this endpoint.

changes.comboDetails  object  

Object field returned by this endpoint.

changes.comboDetails.updated  array  

Array field returned by this endpoint.

changes.comboDetails.deleted  array  

Array field returned by this endpoint.

changes.comboItems  object  

Object field returned by this endpoint.

changes.comboItems.updated  array  

Array field returned by this endpoint.

changes.comboItems.deleted  array  

Array field returned by this endpoint.

changes.charges  object  

Object field returned by this endpoint.

changes.charges.updated  array  

Array field returned by this endpoint.

changes.charges.deleted  array  

Array field returned by this endpoint.

changes.branches  object  

Object field returned by this endpoint.

changes.branches.updated  array  

Array field returned by this endpoint.

changes.branches.deleted  array  

Array field returned by this endpoint.

changes.regions  object  

Object field returned by this endpoint.

changes.regions.updated  array  

Array field returned by this endpoint.

changes.regions.deleted  array  

Array field returned by this endpoint.

changes.branch_regions  object  

Object field returned by this endpoint.

changes.branch_regions.updated  array  

Array field returned by this endpoint.

changes.branch_regions.deleted  array  

Array field returned by this endpoint.

changes.cities  object  

Object field returned by this endpoint.

changes.cities.updated  array  

Array field returned by this endpoint.

changes.cities.deleted  array  

Array field returned by this endpoint.

changes.countries  object  

Object field returned by this endpoint.

changes.countries.updated  array  

Array field returned by this endpoint.

changes.countries.deleted  array  

Array field returned by this endpoint.

changes.charge_details  object  

Object field returned by this endpoint.

changes.charge_details.updated  array  

Array field returned by this endpoint.

changes.charge_details.deleted  array  

Array field returned by this endpoint.

changes.menus  object  

Object field returned by this endpoint.

changes.menus.updated  array  

Array field returned by this endpoint.

changes.menus.deleted  array  

Array field returned by this endpoint.

changes.tags  object  

Object field returned by this endpoint.

changes.tags.updated  array  

Array field returned by this endpoint.

changes.tags.deleted  array  

Array field returned by this endpoint.

changes.order_types  object  

Object field returned by this endpoint.

changes.order_types.updated  array  

Array field returned by this endpoint.

changes.order_types.deleted  array  

Array field returned by this endpoint.

changes.order_type_charges  object  

Object field returned by this endpoint.

changes.order_type_charges.updated  array  

Array field returned by this endpoint.

changes.order_type_charges.deleted  array  

Array field returned by this endpoint.

changes.order_type_charge_branches  object  

Object field returned by this endpoint.

changes.order_type_charge_branches.updated  array  

Array field returned by this endpoint.

changes.order_type_charge_branches.deleted  array  

Array field returned by this endpoint.

changes.order_type_charge_branch_regions  object  

Object field returned by this endpoint.

changes.order_type_charge_branch_regions.updated  array  

Array field returned by this endpoint.

changes.order_type_charge_branch_regions.deleted  array  

Array field returned by this endpoint.

changes.store_settings  object  

Object field returned by this endpoint.

changes.store_settings.updated  array  

Array field returned by this endpoint.

changes.store_settings.deleted  array  

Array field returned by this endpoint.

changes.floormaps  object  

Object field returned by this endpoint.

changes.floormaps.updated  array  

Array field returned by this endpoint.

changes.floormaps.deleted  array  

Array field returned by this endpoint.

changes.floors  object  

Object field returned by this endpoint.

changes.floors.updated  array  

Array field returned by this endpoint.

changes.floors.deleted  array  

Array field returned by this endpoint.

changes.sectionmaps  object  

Object field returned by this endpoint.

changes.sectionmaps.updated  array  

Array field returned by this endpoint.

changes.sectionmaps.deleted  array  

Array field returned by this endpoint.

Application APIs (V2) — Geo Addresses

Read (and selected write) endpoints for mobile/application clients — menus, branches, products, orders, payments.

Fetch Branch

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/branches/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}"
const url = new URL(
    "http://localhost/api/v2/branches/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


[
    {
        "cities": [
            null
        ],
        "0": {
            "cities": null
        }
    }
]
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Wrong Json Format):


{
    "message": "Wrong Json Format",
    "status": "fail"
}
 

Example response (Error: No branch to display):


{
    "message": "No branch to display",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "BranchController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

GET api/v2/branches/{branchid?}

URL Parameters

branchid  integer optional  

Optional. Type: integer.

Response

Response Fields

[].cities  array  

Array field returned by this endpoint.

[].0  object  

Object field returned by this endpoint.

[].0.cities  string  

Returned by this endpoint.

Fetch Branch Cities

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/branch/1/cities" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}"
const url = new URL(
    "http://localhost/api/v2/branch/1/cities"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


[
    {
        "branchid": 1,
        "branchName": "Example Name",
        "cities": [
            {
                "*": "example"
            }
        ]
    }
]
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Wrong Json Format):


{
    "message": "Wrong Json Format",
    "status": "fail"
}
 

Example response (Error: No cities found for branch id: 1):


{
    "message": "No cities found for branch id: 1",
    "status": "fail"
}
 

Example response (Error: Branch with ID: 1 do not exist):


{
    "message": "Branch with ID: 1 do not exist",
    "status": "fail"
}
 

Example response (Error: no branch id inserted):


{
    "message": "no branch id inserted",
    "status": "fail"
}
 

Request      

GET api/v2/branch/{branchid}/cities

URL Parameters

branchid  integer optional  

Optional. Type: integer.

Response

Response Fields

[].branchid  integer  

Returned by this endpoint.

[].branchName  string  

Returned by this endpoint.

[].cities  array  

Array field returned by this endpoint.

[].cities[].*  string  

Returned by this endpoint.

Fetch Country

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/countries/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}"
const url = new URL(
    "http://localhost/api/v2/countries/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


[
    {
        "id": 1,
        "name": "Example Name",
        "phonecode": "03000000",
        "phonelength": "03000000",
        "phonemask": "03000000",
        "smscodestart": "example",
        "isactive": 1,
        "created_at": "example",
        "updated_at": "2026-08-17"
    }
]
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Wrong Json Format):


{
    "message": "Wrong Json Format",
    "status": "fail"
}
 

Example response (Error: No country to display):


{
    "message": "No country to display",
    "status": "fail"
}
 

Example response (Error: No cities to display):


{
    "message": "No cities to display",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "CountriesController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

GET api/v2/countries/{countryid?}

URL Parameters

countryid  integer optional  

Optional. Type: integer.

Response

Response Fields

[].id  integer  

Returned by this endpoint.

[].name  string  

Returned by this endpoint.

[].phonecode  string  

Returned by this endpoint.

[].phonelength  string  

Returned by this endpoint.

[].phonemask  string  

Returned by this endpoint.

[].smscodestart  string  

Returned by this endpoint.

[].isactive  integer  

Returned by this endpoint.

[].created_at  string  

Returned by this endpoint.

[].updated_at  string  

Returned by this endpoint.

Fetch Region

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/regions/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}"
const url = new URL(
    "http://localhost/api/v2/regions/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


[
    {
        "id": 1,
        "name": "Example Name",
        "phonecode": "03000000",
        "isactive": 1,
        "created_at": "example",
        "updated_at": "2026-08-17"
    }
]
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Wrong Json Format):


{
    "message": "Wrong Json Format",
    "status": "fail"
}
 

Example response (Error: No regions to display):


{
    "message": "No regions to display",
    "status": "fail"
}
 

Example response (Error: No cities to display):


{
    "message": "No cities to display",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "RegionController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

GET api/v2/regions/{regionid?}

URL Parameters

regionid  integer optional  

Optional. Type: integer.

Response

Response Fields

[].id  integer  

Returned by this endpoint.

[].name  string  

Returned by this endpoint.

[].phonecode  string  

Returned by this endpoint.

[].isactive  integer  

Returned by this endpoint.

[].created_at  string  

Returned by this endpoint.

[].updated_at  string  

Returned by this endpoint.

Fetch City

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/cities/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}"
const url = new URL(
    "http://localhost/api/v2/cities/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


[
    {
        "citycode": 1,
        "name": "Example Name",
        "regioncode": 1,
        "countrycode": 1,
        "zipcode": 1,
        "isactive": 1,
        "created_at": "example",
        "updated_at": "2026-08-17"
    }
]
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Wrong Json Format):


{
    "message": "Wrong Json Format",
    "status": "fail"
}
 

Example response (Error: No cities to display):


{
    "message": "No cities to display",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "CityController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

GET api/v2/cities/{cityid?}

URL Parameters

cityid  integer optional  

Optional. Type: integer.

Response

Response Fields

[].citycode  integer  

Returned by this endpoint.

[].name  string  

Returned by this endpoint.

[].regioncode  integer  

Returned by this endpoint.

[].countrycode  integer  

Returned by this endpoint.

[].zipcode  integer  

Returned by this endpoint.

[].isactive  integer  

Returned by this endpoint.

[].created_at  string  

Returned by this endpoint.

[].updated_at  string  

Returned by this endpoint.

Fetch Branch Setting

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/branch/settings/example" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}"
const url = new URL(
    "http://localhost/api/v2/branch/settings/example"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (No branch settings to display):


{
    "message": "No branch settings to display",
    "status": "success"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Wrong Json Format):


{
    "message": "Wrong Json Format",
    "status": "fail"
}
 

Example response (Error: No branch settings to display):


{
    "message": "No branch settings to display",
    "status": "fail"
}
 

Example response (Error: No cities to display):


{
    "message": "No cities to display",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "BranchSettingsController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

GET api/v2/branch/settings/{settingkey?}

URL Parameters

settingkey  string optional  

Optional. Type: string.

Response

Response Fields

message  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Application APIs (V2) — Orders

Read (and selected write) endpoints for mobile/application clients — menus, branches, products, orders, payments.

Add Orders

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/orders" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"order\": {
        \"orderid\": \"ORD-1001\",
        \"orderdate\": \"2026-08-17\",
        \"ordertime\": \"12:00:00\",
        \"paymenttype\": 1,
        \"branchid\": 1,
        \"ordertype\": 1,
        \"deliveryCost\": 12.5,
        \"serviceCharge\": 12.5,
        \"ispaid\": 1,
        \"table_id\": 1,
        \"member\": {
            \"posreference\": \"ORD-1001\",
            \"membername\": \"Example Membername\",
            \"mobile\": \"03000000\",
            \"mobilevalidated\": 1,
            \"dateofbirth\": \"2026-08-17\",
            \"address\": {
                \"posreference\": \"ORD-1001\",
                \"description\": \"example\",
                \"addresstype\": 1,
                \"geolat\": 33.8938,
                \"geolong\": 35.5018,
                \"citycode\": 1,
                \"street\": \"example\",
                \"bldg\": \"example\",
                \"floor\": \"example\"
            }
        },
        \"items\": [
            {
                \"productcode\": 1003919,
                \"productqty\": 1,
                \"productprice\": 12.5,
                \"modifiers\": [
                    {
                        \"modifiercode\": 1,
                        \"modifierqty\": 1,
                        \"modifierprice\": 12.5,
                        \"modifiers_description\": \"example\"
                    }
                ]
            }
        ]
    }
}"
const url = new URL(
    "http://localhost/api/v2/orders"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "order": {
        "orderid": "ORD-1001",
        "orderdate": "2026-08-17",
        "ordertime": "12:00:00",
        "paymenttype": 1,
        "branchid": 1,
        "ordertype": 1,
        "deliveryCost": 12.5,
        "serviceCharge": 12.5,
        "ispaid": 1,
        "table_id": 1,
        "member": {
            "posreference": "ORD-1001",
            "membername": "Example Membername",
            "mobile": "03000000",
            "mobilevalidated": 1,
            "dateofbirth": "2026-08-17",
            "address": {
                "posreference": "ORD-1001",
                "description": "example",
                "addresstype": 1,
                "geolat": 33.8938,
                "geolong": 35.5018,
                "citycode": 1,
                "street": "example",
                "bldg": "example",
                "floor": "example"
            }
        },
        "items": [
            {
                "productcode": 1003919,
                "productqty": 1,
                "productprice": 12.5,
                "modifiers": [
                    {
                        "modifiercode": 1,
                        "modifierqty": 1,
                        "modifierprice": 12.5,
                        "modifiers_description": "example"
                    }
                ]
            }
        ]
    }
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (Example success response (from controller)):


{
    "MESSAGE": {
        "orderid": "ORD-1001",
        "hsaddressid": 1,
        "hsmemberid": 1
    },
    "STATUS": "success"
}
 

Example response (Error: API key is missing):


{
    "MESSAGE": "API key is missing",
    "STATUS": "fail"
}
 

Example response (Error: Invalid API key):


{
    "MESSAGE": "Invalid API key",
    "STATUS": "fail"
}
 

Example response (Error: Member is required for Take Away and Delivery):


{
    "MESSAGE": "Member is required for Take Away and Delivery",
    "STATUS": "fail"
}
 

Example response (Error: Member Address is required for Take Away and Delivery):


{
    "MESSAGE": "Member Address is required for Take Away and Delivery",
    "STATUS": "fail"
}
 

Example response (Error: Order Not Added):


{
    "MESSAGE": "Order Not Added",
    "STATUS": "fail"
}
 

Example response (Error: Items not Added Please Delete the order and try again):


{
    "MESSAGE": "Items not Added Please Delete the order and try again",
    "STATUS": "fail"
}
 

Request      

POST api/v2/orders

Body Parameters

order  object optional  

Optional. Type: object.

Request body example:

{
    "order": {
        "orderid": "ORD-1001",
        "orderdate": "2026-08-17",
        "ordertime": "12:00:00",
        "paymenttype": 1,
        "branchid": 1,
        "ordertype": 1,
        "deliveryCost": 12.5,
        "serviceCharge": 12.5,
        "ispaid": 1,
        "table_id": 1,
        "member": {
            "posreference": "ORD-1001",
            "membername": "Example Membername",
            "mobile": "03000000",
            "mobilevalidated": 1,
            "dateofbirth": "2026-08-17",
            "address": {
                "posreference": "ORD-1001",
                "description": "example",
                "addresstype": 1,
                "geolat": 33.8938,
                "geolong": 35.5018,
                "citycode": 1,
                "street": "example",
                "bldg": "example",
                "floor": "example"
            }
        },
        "items": [
            {
                "productcode": 1003919,
                "productqty": 1,
                "productprice": 12.5,
                "modifiers": [
                    {
                        "modifiercode": 1,
                        "modifierqty": 1,
                        "modifierprice": 12.5,
                        "modifiers_description": "example"
                    }
                ]
            }
        ]
    }
}

order.orderid  integer  

Required. Type: integer. Validation: required.

order.orderdate  string  

Required. Type: string. Validation: required.

order.ordertime  string  

Required. Type: string. Validation: required.

order.paymenttype  string  

Required. Type: string. Validation: required.

order.branchid  integer  

Required. Type: integer. Validation: required.

order.ordertype  string  

Required. Type: string. Validation: required.

order.deliveryCost  number optional  

Optional. Type: number. Validation: numeric|between:0,999999999.99|regex:/^\d{1,9}(\.\d{1,2})?$/. The value format is invalid. Must be between 0 and 999999999.99.

order.serviceCharge  number optional  

Optional. Type: number. Validation: numeric|between:0,999999999.99|regex:/^\d{1,9}(\.\d{1,2})?$/. The value format is invalid. Must be between 0 and 999999999.99.

order.ispaid  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

order.table_id  integer optional  

Optional. Type: integer. Validation: integer.

order.member  object optional  

Optional. Type: object.

order.member.posreference  string  

Required. Type: string. Validation: required.

order.member.membername  string  

Required. Type: string. Validation: required|string|max:40. Must not be greater than 40 characters.

order.member.mobile  string  

Required. Type: string. Validation: required.

order.member.mobilevalidated  string  

Required. Type: string. Validation: required|max:1|min:0. Must not be greater than 1 characters. Must be at least 0 characters.

order.member.dateofbirth  string optional  

Optional. Type: string. Validation: string|max:11. Must not be greater than 11 characters.

order.member.address  object optional  

Optional. Type: object.

order.member.address.posreference  string  

Required. Type: string. Validation: required.

order.member.address.description  string  

Required. Type: string. Validation: required|string|max:100. Must not be greater than 100 characters.

order.member.address.addresstype  string  

Required. Type: string. Validation: required.

order.member.address.geolat  string  

Required. Type: string. Validation: required.

order.member.address.geolong  string  

Required. Type: string. Validation: required.

order.member.address.citycode  integer  

Required. Type: integer. Validation: required.

order.member.address.street  string  

Required. Type: string. Validation: required|string|max:40. Must not be greater than 40 characters.

order.member.address.bldg  string  

Required. Type: string. Validation: required|string|max:40. Must not be greater than 40 characters.

order.member.address.floor  string  

Required. Type: string. Validation: required|string|max:4. Must not be greater than 4 characters.

order.items  object[] optional  

Optional. Type: object[].

order.items[].productcode  integer  

Required. Type: integer. Validation: required|max:11. Must not be greater than 11 characters.

order.items[].productqty  integer  

Required. Type: integer. Validation: required|max:11. Must not be greater than 11 characters.

order.items[].productprice  string  

Required. Type: string. Validation: required|max:14. Must not be greater than 14 characters.

order.items[].modifiers  object[] optional  

Optional. Type: object[].

order.items[].modifiers[].modifiercode  integer  

Required. Type: integer. Validation: required.

order.items[].modifiers[].modifierqty  integer  

Required. Type: integer. Validation: required.

order.items[].modifiers[].modifierprice  string  

Required. Type: string. Validation: required.

order.items[].modifiers[].modifiers_description  string  

Required. Type: string. Validation: required.

Response

Response Fields

MESSAGE  object  

Object field returned by this endpoint.

MESSAGE.orderid  string  

Returned by this endpoint.

MESSAGE.hsaddressid  integer  

Returned by this endpoint.

MESSAGE.hsmemberid  integer  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Fetch Order Status

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/order/ORD-1001/status" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}"
const url = new URL(
    "http://localhost/api/v2/order/ORD-1001/status"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


{
    "status": 1,
    "status_description": "Pending",
    "orderid": 1
}
 

Example response (Error: API key is missing):


{
    "MESSAGE": "API key is missing",
    "STATUS": "fail"
}
 

Example response (Error: Invalid API key):


{
    "MESSAGE": "Invalid API key",
    "STATUS": "fail"
}
 

Example response (Error: The orderid id: 1 is not found):


{
    "MESSAGE": "The orderid id: 1 is not found",
    "STATUS": "fail"
}
 

Example response (Error: Order Id is required):


{
    "MESSAGE": "Order Id is required",
    "STATUS": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "OrdersController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

GET api/v2/order/{orderid?}/status

URL Parameters

orderid  integer optional  

Optional. Type: integer.

Response

Response Fields

status  integer  

Returned by this endpoint.

status_description  string  

Returned by this endpoint.

orderid  integer  

Returned by this endpoint.

Update Order Statu

requires authentication

Example request:
curl --request PUT \
    "http://localhost/api/v2/orders/ORD-1001/status" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"success\": \"example\",
    \"branchid\": 1,
    \"postransact\": \"ORD-1001\",
    \"status\": 1,
    \"posmemberreference\": \"example\",
    \"posaddressreference\": \"example\"
}"
const url = new URL(
    "http://localhost/api/v2/orders/ORD-1001/status"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "success": "example",
    "branchid": 1,
    "postransact": "ORD-1001",
    "status": 1,
    "posmemberreference": "example",
    "posaddressreference": "example"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (The Order Status Updated Successfully):


{
    "MESSAGE": "The Order Status Updated Successfully",
    "STATUS": "success"
}
 

Example response (Error: API key is missing):


{
    "MESSAGE": "API key is missing",
    "STATUS": "fail"
}
 

Example response (Error: Invalid API key):


{
    "MESSAGE": "Invalid API key",
    "STATUS": "fail"
}
 

Example response (Error: The data was not successful):


{
    "MESSAGE": "The data was not successful",
    "STATUS": "fail"
}
 

Example response (Error: Status must be of values (0, 1, 2, 3, 4, 5, 6, 7, 10, 11)):


{
    "MESSAGE": "Status must be of values (0, 1, 2, 3, 4, 5, 6, 7, 10, 11)",
    "STATUS": "fail"
}
 

Example response (Error: The Status cant be empty):


{
    "MESSAGE": "The Status cant be empty",
    "STATUS": "fail"
}
 

Example response (Error: Something Went Wrong):


{
    "MESSAGE": "Something Went Wrong",
    "STATUS": "fail"
}
 

Request      

PUT api/v2/orders/{hstransact}/status

URL Parameters

hstransact  string optional  

Optional. Type: string.

Body Parameters

success  string  

Required. Type: string. Validation: required.

branchid  integer  

Required. Type: integer. Validation: required.

Request body example:

{
    "success": "example",
    "branchid": 1,
    "postransact": "ORD-1001",
    "status": 1,
    "posmemberreference": "example",
    "posaddressreference": "example"
}

postransact  string  

Required. Type: string. Validation: required.

status  string  

Required. Type: string. Validation: required.

posmemberreference  string  

Required. Type: string. Validation: required.

posaddressreference  string  

Required. Type: string. Validation: required.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Fetch Order Count

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/order/count" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}"
const url = new URL(
    "http://localhost/api/v2/order/count"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


12
 

Example response (Error: API key is missing):


{
    "MESSAGE": "API key is missing",
    "STATUS": "fail"
}
 

Example response (Error: Invalid API key):


{
    "MESSAGE": "Invalid API key",
    "STATUS": "fail"
}
 

Example response (Error: Branch not found):


{
    "MESSAGE": "Branch not found",
    "STATUS": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "OrdersController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

GET api/v2/order/count

Fetch Order

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/orders/ORD-1001" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}"
const url = new URL(
    "http://localhost/api/v2/orders/ORD-1001"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


{
    "orders": [
        {
            "additional_info": {
                "channel_id": 1,
                "channel_name": "example",
                "channel_order_id": 1,
                "channel_order_display_id": 1
            },
            "member": {
                "memberid": 1,
                "hsmemberid": 1,
                "membername": "Example Membername",
                "mobile": "03000000",
                "mobilevalidated": 1,
                "dateofbirth": "2026-08-17",
                "email": "example@bimpos.com",
                "picpath": "https://posapis.com/example.jpg"
            },
            "address": {
                "addressid": 1,
                "descript": "Ajax Festival",
                "addresstype": 1,
                "geolong": 35.5018,
                "geolat": 33.8938,
                "citycode": 1,
                "street": "example",
                "bldg": "example",
                "floor": "example",
                "city_name": "Example City name",
                "zip_code": 1,
                "directions": "example"
            },
            "phones": [
                {
                    "addressid": 1,
                    "phone": "03000000"
                }
            ],
            "items": [
                {
                    "transact": "example",
                    "itemid": 1,
                    "productcode": 1003919,
                    "productqty": 1,
                    "productprice": 12.5,
                    "combo_product_code": 1,
                    "remark": "example",
                    "modifiers": [
                        {
                            "transact": "example",
                            "productcode": 1003919,
                            "productqty": 1,
                            "productprice": 12.5
                        }
                    ]
                }
            ]
        }
    ]
}
 

Example response (Error: API key is missing):


{
    "MESSAGE": "API key is missing",
    "STATUS": "fail"
}
 

Example response (Error: Invalid API key):


{
    "MESSAGE": "Invalid API key",
    "STATUS": "fail"
}
 

Example response (Error: Branch not found):


{
    "MESSAGE": "Branch not found",
    "STATUS": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "OrdersController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

GET api/v2/orders/{orderid?}

URL Parameters

orderid  integer optional  

Optional. Type: integer.

Response

Response Fields

orders  array  

Array field returned by this endpoint.

orders[].additional_info  object  

Object field returned by this endpoint.

orders[].additional_info.channel_id  integer  

Returned by this endpoint.

orders[].additional_info.channel_name  string  

Returned by this endpoint.

orders[].additional_info.channel_order_id  integer  

Returned by this endpoint.

orders[].additional_info.channel_order_display_id  integer  

Returned by this endpoint.

orders[].member  object  

Object field returned by this endpoint.

orders[].member.memberid  integer  

Returned by this endpoint.

orders[].member.hsmemberid  integer  

Returned by this endpoint.

orders[].member.membername  string  

Returned by this endpoint.

orders[].member.mobile  string  

Returned by this endpoint.

orders[].member.mobilevalidated  integer  

Returned by this endpoint.

orders[].member.dateofbirth  string  

Returned by this endpoint.

orders[].member.email  string  

Returned by this endpoint.

orders[].member.picpath  string  

Returned by this endpoint.

orders[].address  object  

Object field returned by this endpoint.

orders[].address.addressid  integer  

Returned by this endpoint.

orders[].address.descript  string  

Returned by this endpoint.

orders[].address.addresstype  integer  

Returned by this endpoint.

orders[].address.geolong  number  

Returned by this endpoint.

orders[].address.geolat  number  

Returned by this endpoint.

orders[].address.citycode  integer  

Returned by this endpoint.

orders[].address.street  string  

Returned by this endpoint.

orders[].address.bldg  string  

Returned by this endpoint.

orders[].address.floor  string  

Returned by this endpoint.

orders[].address.city_name  string  

Returned by this endpoint.

orders[].address.zip_code  integer  

Returned by this endpoint.

orders[].address.directions  string  

Returned by this endpoint.

orders[].phones  array  

Array field returned by this endpoint.

orders[].phones[].addressid  integer  

Returned by this endpoint.

orders[].phones[].phone  string  

Returned by this endpoint.

orders[].items  array  

Array field returned by this endpoint.

orders[].items[].transact  string  

Returned by this endpoint.

orders[].items[].itemid  integer  

Returned by this endpoint.

orders[].items[].productcode  integer  

Returned by this endpoint.

orders[].items[].productqty  integer  

Returned by this endpoint.

orders[].items[].productprice  number  

Returned by this endpoint.

orders[].items[].combo_product_code  integer  

Returned by this endpoint.

orders[].items[].remark  string  

Returned by this endpoint.

orders[].items[].modifiers  array  

Array field returned by this endpoint.

orders[].items[].modifiers[].transact  string  

Returned by this endpoint.

orders[].items[].modifiers[].productcode  integer  

Returned by this endpoint.

orders[].items[].modifiers[].productqty  integer  

Returned by this endpoint.

orders[].items[].modifiers[].productprice  number  

Returned by this endpoint.

Application APIs (V2) — Payments

Read (and selected write) endpoints for mobile/application clients — menus, branches, products, orders, payments.

Add Currencytypes

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/currencytypes" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"id\": 1,
    \"description\": \"example\",
    \"isactive\": 1
}"
const url = new URL(
    "http://localhost/api/v2/currencytypes"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "id": 1,
    "description": "example",
    "isactive": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response ( Currency Type Added / Updated / Deleted Successfully):


{
    "message": " Currency Type Added / Updated / Deleted Successfully",
    "inserted": 1,
    "updated": 1,
    "deleted": 1,
    "status": "success"
}
 

Example response (Error: The given data was invalid.):


{
    "message": "The given data was invalid.",
    "status": "fail"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Wrong json format):


{
    "message": "Wrong json format",
    "status": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "message": "Wrong data json format",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "CurrencyTypeController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

POST api/v2/currencytypes

Body Parameters

id  integer  

Required. Type: integer. Validation: required|integer.

description  string optional  

Optional. Type: string. Validation: string|max:100|nullable. Must not be greater than 100 characters.

Request body example:

[
    {
        "id": 1,
        "description": "example",
        "isactive": 1
    }
]

isactive  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1|nullable. Must be at least 0. Must not be greater than 1.

Response

Response Fields

message  string  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

deleted  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Fetch Currency

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/currencies/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}"
const url = new URL(
    "http://localhost/api/v2/currencies/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (No currencies to display):


{
    "message": "No currencies to display",
    "status": "success"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: No currencies to display):


{
    "message": "No currencies to display",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "CurrencyController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

GET api/v2/currencies/{currencyid?}

URL Parameters

currencyid  integer optional  

Optional. Type: integer.

Response

Response Fields

message  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add Currencies

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/currencies" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"id\": 1,
    \"description\": \"example\",
    \"long_description\": \"example\",
    \"charnge1\": \"example\",
    \"charnge2\": \"example\",
    \"charnge3\": \"example\",
    \"charnge4\": \"example\",
    \"charnge5\": \"example\",
    \"charnge6\": \"example\",
    \"charnge7\": \"example\",
    \"charnge8\": \"example\",
    \"charnge9\": \"example\",
    \"charnge10\": \"example\",
    \"is_default\": 1,
    \"conversion\": 1.5,
    \"conversion2\": 1.5,
    \"is_active\": 1,
    \"is_second_currency\": 1,
    \"hide_changes\": 1,
    \"decimals\": 1,
    \"account_code\": 1,
    \"currency_mask\": \"example\",
    \"show_in_pos\": 1,
    \"show_in_calc\": 1,
    \"read_only\": 1,
    \"sequence\": 1,
    \"show_credit_card_form\": 1,
    \"show_check_form\": 1,
    \"show_in_bo\": 1,
    \"goes_to_bank\": 1,
    \"type\": 1,
    \"currency_type\": 1,
    \"is_gift_voucher\": 1,
    \"caption\": \"example\"
}"
const url = new URL(
    "http://localhost/api/v2/currencies"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "id": 1,
    "description": "example",
    "long_description": "example",
    "charnge1": "example",
    "charnge2": "example",
    "charnge3": "example",
    "charnge4": "example",
    "charnge5": "example",
    "charnge6": "example",
    "charnge7": "example",
    "charnge8": "example",
    "charnge9": "example",
    "charnge10": "example",
    "is_default": 1,
    "conversion": 1.5,
    "conversion2": 1.5,
    "is_active": 1,
    "is_second_currency": 1,
    "hide_changes": 1,
    "decimals": 1,
    "account_code": 1,
    "currency_mask": "example",
    "show_in_pos": 1,
    "show_in_calc": 1,
    "read_only": 1,
    "sequence": 1,
    "show_credit_card_form": 1,
    "show_check_form": 1,
    "show_in_bo": 1,
    "goes_to_bank": 1,
    "type": 1,
    "currency_type": 1,
    "is_gift_voucher": 1,
    "caption": "example"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response ( Currency Added / Updated / Deleted Successfully):


{
    "message": " Currency Added / Updated / Deleted Successfully",
    "inserted": 1,
    "updated": 1,
    "deleted": 1,
    "status": "success"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Wrong json format):


{
    "message": "Wrong json format",
    "status": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "message": "The given data was invalid.",
    "status": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "message": "Wrong data json format",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "CurrencyController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

POST api/v2/currencies

Body Parameters

id  integer  

Required. Type: integer. Validation: required|integer.

description  string  

Required. Type: string. Validation: required|string|max:50. Must not be greater than 50 characters.

long_description  string optional  

Optional. Type: string. Validation: string|max:200|nullable. Must not be greater than 200 characters.

charnge1  string optional  

Optional. Type: string. Validation: double|nullable.

charnge2  string optional  

Optional. Type: string. Validation: double|nullable.

charnge3  string optional  

Optional. Type: string. Validation: double|nullable.

charnge4  string optional  

Optional. Type: string. Validation: double|nullable.

charnge5  string optional  

Optional. Type: string. Validation: double|nullable.

charnge6  string optional  

Optional. Type: string. Validation: double|nullable.

charnge7  string optional  

Optional. Type: string. Validation: double|nullable.

charnge8  string optional  

Optional. Type: string. Validation: double|nullable.

charnge9  string optional  

Optional. Type: string. Validation: double|nullable.

charnge10  string optional  

Optional. Type: string. Validation: double|nullable.

is_default  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1|nullable. Must be at least 0. Must not be greater than 1.

conversion  number optional  

Optional. Type: number. Validation: numeric|nullable.

conversion2  number optional  

Optional. Type: number. Validation: numeric|nullable.

is_active  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1|nullable. Must be at least 0. Must not be greater than 1.

is_second_currency  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1|nullable. Must be at least 0. Must not be greater than 1.

hide_changes  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1|nullable. Must be at least 0. Must not be greater than 1.

decimals  integer optional  

Optional. Type: integer. Validation: integer|nullable.

account_code  string optional  

Optional. Type: string. Validation: string|max:30|nullable. Must not be greater than 30 characters.

Request body example:

[
    {
        "id": 1,
        "description": "example",
        "long_description": "example",
        "charnge1": "example",
        "charnge2": "example",
        "charnge3": "example",
        "charnge4": "example",
        "charnge5": "example",
        "charnge6": "example",
        "charnge7": "example",
        "charnge8": "example",
        "charnge9": "example",
        "charnge10": "example",
        "is_default": 1,
        "conversion": 1.5,
        "conversion2": 1.5,
        "is_active": 1,
        "is_second_currency": 1,
        "hide_changes": 1,
        "decimals": 1,
        "account_code": 1,
        "currency_mask": "example",
        "show_in_pos": 1,
        "show_in_calc": 1,
        "read_only": 1,
        "sequence": 1,
        "show_credit_card_form": 1,
        "show_check_form": 1,
        "show_in_bo": 1,
        "goes_to_bank": 1,
        "type": 1,
        "currency_type": 1,
        "is_gift_voucher": 1,
        "caption": "example"
    }
]

currency_mask  string optional  

Optional. Type: string. Validation: string|max:15|nullable. Must not be greater than 15 characters.

show_in_pos  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1|nullable. Must be at least 0. Must not be greater than 1.

show_in_calc  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1|nullable. Must be at least 0. Must not be greater than 1.

read_only  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1|nullable. Must be at least 0. Must not be greater than 1.

sequence  integer optional  

Optional. Type: integer. Validation: integer|nullable.

show_credit_card_form  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1|nullable. Must be at least 0. Must not be greater than 1.

show_check_form  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1|nullable. Must be at least 0. Must not be greater than 1.

show_in_bo  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1|nullable. Must be at least 0. Must not be greater than 1.

goes_to_bank  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1|nullable. Must be at least 0. Must not be greater than 1.

type  integer optional  

Optional. Type: integer. Validation: integer|nullable.

currency_type  integer optional  

Optional. Type: integer. Validation: integer|nullable.

is_gift_voucher  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1|nullable. Must be at least 0. Must not be greater than 1.

caption  string optional  

Optional. Type: string. Validation: string|max:65,530|nullable. Must not be greater than 65 characters.

Response

Response Fields

message  string  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

deleted  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Delete Currency

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v2/currencies/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}"
const url = new URL(
    "http://localhost/api/v2/currencies/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Currency with id 1 has been deleted Successfuly):


{
    "message": "Currency with id 1 has been deleted Successfuly",
    "status": "success"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: you must enter a valid id):


{
    "message": "you must enter a valid id",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "CurrencyController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

DELETE api/v2/currencies/{currencyid}

URL Parameters

currencyid  integer  

Required. Type: integer.

Response

Response Fields

message  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add Pricelists

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/pricelists" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"id\": 1,
    \"currency_id\": 1,
    \"description\": \"example\",
    \"is_active\": 1,
    \"is_tax_excluded\": 1
}"
const url = new URL(
    "http://localhost/api/v2/pricelists"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "id": 1,
    "currency_id": 1,
    "description": "example",
    "is_active": 1,
    "is_tax_excluded": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response ( Price List Added / Updated / Deleted Successfully):


{
    "message": " Price List Added / Updated / Deleted Successfully",
    "inserted": 1,
    "updated": 1,
    "deleted": 1,
    "status": "success"
}
 

Example response (Error: The given data was invalid.):


{
    "message": "The given data was invalid.",
    "status": "fail"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Wrong json format):


{
    "message": "Wrong json format",
    "status": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "message": "Wrong data json format",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "PriceListsController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

POST api/v2/pricelists

Body Parameters

id  integer  

Required. Type: integer. Validation: required|integer.

currency_id  integer  

Required. Type: integer. Validation: required|integer.

Request body example:

[
    {
        "id": 1,
        "currency_id": 1,
        "description": "example",
        "is_active": 1,
        "is_tax_excluded": 1
    }
]

description  string  

Required. Type: string. Validation: required|string|max:100. Must not be greater than 100 characters.

is_active  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1|nullable. Must be at least 0. Must not be greater than 1.

is_tax_excluded  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1|nullable. Must be at least 0. Must not be greater than 1.

Response

Response Fields

message  string  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

deleted  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Fetch Pricelistdetail

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/pricelistdetails/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}"
const url = new URL(
    "http://localhost/api/v2/pricelistdetails/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (No price list detail to display):


{
    "message": "No price list detail to display",
    "status": "success"
}
 

Example response (Error: No price list detail to display):


{
    "message": "No price list detail to display",
    "status": "fail"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "PriceListDetailsController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

GET api/v2/pricelistdetails/{pricelistdetailid?}

URL Parameters

pricelistdetailid  integer optional  

Optional. Type: integer.

Response

Response Fields

message  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add Pricelistdetails

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/pricelistdetails" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"id\": 1,
    \"price_list_id\": 1,
    \"product_number\": 1,
    \"price\": 12.5,
    \"is_active\": 1
}"
const url = new URL(
    "http://localhost/api/v2/pricelistdetails"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "id": 1,
    "price_list_id": 1,
    "product_number": 1,
    "price": 12.5,
    "is_active": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response ( PriceList Added / Updated / Deleted Successfully):


{
    "message": " PriceList Added / Updated / Deleted Successfully",
    "inserted": 1,
    "updated": 1,
    "deleted": 1,
    "status": "success"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Wrong json format):


{
    "message": "Wrong json format",
    "status": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "message": "The given data was invalid.",
    "status": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "message": "Wrong data json format",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "PriceListDetailsController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

POST api/v2/pricelistdetails

Body Parameters

id  integer  

Required. Type: integer. Validation: required|integer.

Request body example:

[
    {
        "id": 1,
        "price_list_id": 1,
        "product_number": 1,
        "price": 12.5,
        "is_active": 1
    }
]

price_list_id  integer  

Required. Type: integer. Validation: required|integer.

product_number  integer  

Required. Type: integer. Validation: required|integer.

price  string  

Required. Type: string. Validation: required|nullable.

is_active  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1|nullable. Must be at least 0. Must not be greater than 1.

Response

Response Fields

message  string  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

deleted  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Delete Pricelistdetail

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v2/pricelistdetails/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}"
const url = new URL(
    "http://localhost/api/v2/pricelistdetails/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Price List Detail with id 1 has been deleted Successfuly):


{
    "message": "Price List Detail with id 1 has been deleted Successfuly",
    "status": "success"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: you must enter a valid id):


{
    "message": "you must enter a valid id",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "PriceListDetailsController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

DELETE api/v2/pricelistdetails/{pricelistdetailid}

URL Parameters

pricelistdetailid  integer  

Required. Type: integer.

Response

Response Fields

message  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add Pricelistbranches

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/pricelistbranches" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"id\": 1,
    \"price_list_id\": 1,
    \"branch_id\": 1,
    \"is_active\": 1
}"
const url = new URL(
    "http://localhost/api/v2/pricelistbranches"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "id": 1,
    "price_list_id": 1,
    "branch_id": 1,
    "is_active": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (example is not found):


{
    "message": "example is not found",
    "status": "success"
}
 

Example response (Error: The given data was invalid.):


{
    "message": "The given data was invalid.",
    "status": "fail"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "PriceListBranchesController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

POST api/v2/pricelistbranches

Body Parameters

id  integer  

Required. Type: integer. Validation: required|integer.

price_list_id  integer  

Required. Type: integer. Validation: required|integer.

branch_id  integer  

Required. Type: integer. Validation: required|integer.

Request body example:

[
    {
        "id": 1,
        "price_list_id": 1,
        "branch_id": 1,
        "is_active": 1
    }
]

is_active  integer  

Required. Type: integer. Validation: required|integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

Response

Response Fields

message  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Update Table Payment Statu

requires authentication

Example request:
curl --request PUT \
    "http://localhost/api/v2/table/payment/status" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"INVOICEID\": 1,
    \"TABLEID\": 1,
    \"STATUS\": 1
}"
const url = new URL(
    "http://localhost/api/v2/table/payment/status"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "INVOICEID": 1,
    "TABLEID": 1,
    "STATUS": 1
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (Example success response (from controller)):


{
    "success": "Payment statuses updated successfully"
}
 

Example response (Error: The given data was invalid.):


{
    "message": "The given data was invalid.",
    "status": "fail"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Example error response (from controller)):


{
    "error": "Payment Details record not found for given parameters"
}
 

Example response (Error: Wrong data json format):


{
    "message": "Wrong data json format",
    "status": "fail"
}
 

Example response (Error: Internal server error: Exception message):


{
    "message": "Internal server error: Exception message",
    "status": "error"
}
 

Request      

PUT api/v2/table/payment/status

Body Parameters

INVOICEID  integer  

Required. Type: integer. Validation: required|integer.

Request body example:

[
    {
        "INVOICEID": 1,
        "TABLEID": 1,
        "STATUS": 1
    }
]

TABLEID  integer  

Required. Type: integer. Validation: required|integer.

STATUS  integer  

Required. Type: integer. Validation: required|integer.

Response

Response Fields

success  string  

Returned by this endpoint.

Fetch Table Payment

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/table/payments/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}"
const url = new URL(
    "http://localhost/api/v2/table/payments/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (No payments to display):


{
    "message": "No payments to display",
    "status": "success"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Branch not found):


{
    "message": "Branch not found",
    "status": "fail"
}
 

Request      

GET api/v2/table/payments/{invoiceid?}

URL Parameters

invoiceid  integer optional  

Optional. Type: integer.

Response

Response Fields

message  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add Table Payment

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/table/payment" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"orderid\": \"ORD-1001\",
    \"tableid\": 1,
    \"branchid\": 1,
    \"paymenttype\": 1,
    \"serviceCharge\": 12.5,
    \"totalDiscountAmount\": 12.5,
    \"totalPaidAmount\": \"example\",
    \"sourceid\": 1,
    \"items\": \"example\",
    \"itemid\": 1,
    \"productqty\": 1,
    \"productprice\": 12.5,
    \"paidproductprice\": \"example\",
    \"totalproductprice\": \"example\",
    \"modifiers\": \"example\",
    \"modifiercode\": 1,
    \"modifierqty\": 1,
    \"modifierprice\": 12.5,
    \"totalmodifierprice\": \"example\"
}"
const url = new URL(
    "http://localhost/api/v2/table/payment"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "orderid": "ORD-1001",
    "tableid": 1,
    "branchid": 1,
    "paymenttype": 1,
    "serviceCharge": 12.5,
    "totalDiscountAmount": 12.5,
    "totalPaidAmount": "example",
    "sourceid": 1,
    "items": "example",
    "itemid": 1,
    "productqty": 1,
    "productprice": 12.5,
    "paidproductprice": "example",
    "totalproductprice": "example",
    "modifiers": "example",
    "modifiercode": 1,
    "modifierqty": 1,
    "modifierprice": 12.5,
    "totalmodifierprice": "example"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (Payment Verified):


{
    "failedOrders": [
        {
            "orderId": "ORD-1001",
            "reason": "The provided items for this order have already been paid."
        }
    ],
    "paidOrders": [
        {
            "orderId": "ORD-1001",
            "message": "Paid Successfully.",
            "paidItems": [
                {
                    "itemId": 1,
                    "message": "Item's payment is done."
                }
            ]
        }
    ],
    "totalPAidAmount": "example",
    "message": "Payment Verified",
    "status": "success"
}
 

Example response (Error: Only headoffice account can post payments.):


{
    "status": "fail",
    "message": "Only headoffice account can post payments."
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Request      

POST api/v2/table/payment

Body Parameters

orderid  integer  

Required. Type: integer. Validation: required.

tableid  integer  

Required. Type: integer. Validation: required.

branchid  integer  

Required. Type: integer. Validation: required.

Request body example:

{
    "orderid": "ORD-1001",
    "tableid": 1,
    "branchid": 1,
    "paymenttype": 1,
    "serviceCharge": 12.5,
    "totalDiscountAmount": 12.5,
    "totalPaidAmount": "example",
    "sourceid": 1,
    "items": "example",
    "itemid": 1,
    "productqty": 1,
    "productprice": 12.5,
    "paidproductprice": "example",
    "totalproductprice": "example",
    "modifiers": "example",
    "modifiercode": 1,
    "modifierqty": 1,
    "modifierprice": 12.5,
    "totalmodifierprice": "example"
}

paymenttype  string  

Required. Type: string. Validation: required.

serviceCharge  string  

Required. Type: string. Validation: required.

totalDiscountAmount  string  

Required. Type: string. Validation: required.

totalPaidAmount  string  

Required. Type: string. Validation: required.

sourceid  integer  

Required. Type: integer. Validation: required.

items  string  

Required. Type: string. Validation: required.

itemid  integer  

Required. Type: integer. Validation: required.

productqty  integer  

Required. Type: integer. Validation: required.

productprice  string  

Required. Type: string. Validation: required.

paidproductprice  string  

Required. Type: string. Validation: required.

totalproductprice  string  

Required. Type: string. Validation: required.

modifiers  string[] optional  

Optional. Type: array. Validation: array.

modifiercode  integer  

Required. Type: integer. Validation: required.

modifierqty  integer  

Required. Type: integer. Validation: required.

modifierprice  string  

Required. Type: string. Validation: required.

totalmodifierprice  string  

Required. Type: string. Validation: required.

Response

Response Fields

failedOrders  array  

Array field returned by this endpoint.

failedOrders[].orderId  string  

Returned by this endpoint.

failedOrders[].reason  string  

Returned by this endpoint.

paidOrders  array  

Array field returned by this endpoint.

paidOrders[].orderId  string  

Returned by this endpoint.

paidOrders[].message  string  

Returned by this endpoint.

paidOrders[].paidItems  array  

Array field returned by this endpoint.

paidOrders[].paidItems[].itemId  integer  

Returned by this endpoint.

paidOrders[].paidItems[].message  string  

Returned by this endpoint.

totalPAidAmount  string  

Returned by this endpoint.

message  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Fetch Table Invoice

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/table/1/invoice/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}"
const url = new URL(
    "http://localhost/api/v2/table/1/invoice/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


{
    "orders": [
        {
            "member": {
                "memberid": 1,
                "hsmemberid": 1,
                "membername": "Example Membername",
                "mobile": "03000000",
                "mobilevalidated": 1,
                "dateofbirth": "2026-08-17",
                "email": "example@bimpos.com",
                "picpath": "https://posapis.com/example.jpg"
            },
            "items": [
                {
                    "invoiceid": 1,
                    "orderid": "ORD-1001",
                    "itemid": 1,
                    "productcode": 1003919,
                    "productqty": 1,
                    "productprice": 12.5,
                    "combo_product_code": 1,
                    "remark": "example",
                    "STATUS": 1,
                    "payment_status": null,
                    "modifiers": [
                        {
                            "orderid": "ORD-1001",
                            "itemid": 1,
                            "productcode": 1003919,
                            "productqty": 1,
                            "productprice": 12.5,
                            "STATUS": 1
                        }
                    ]
                }
            ]
        }
    ]
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Branch not found):


{
    "message": "Branch not found",
    "status": "fail"
}
 

Request      

GET api/v2/table/{tableid?}/invoice/{type?}

URL Parameters

tableid  integer  

Required. Type: integer.

type  string  

Required. Type: string.

Response

Response Fields

orders  array  

Array field returned by this endpoint.

orders[].member  object  

Object field returned by this endpoint.

orders[].member.memberid  integer  

Returned by this endpoint.

orders[].member.hsmemberid  integer  

Returned by this endpoint.

orders[].member.membername  string  

Returned by this endpoint.

orders[].member.mobile  string  

Returned by this endpoint.

orders[].member.mobilevalidated  integer  

Returned by this endpoint.

orders[].member.dateofbirth  string  

Returned by this endpoint.

orders[].member.email  string  

Returned by this endpoint.

orders[].member.picpath  string  

Returned by this endpoint.

orders[].items  array  

Array field returned by this endpoint.

orders[].items[].invoiceid  integer  

Returned by this endpoint.

orders[].items[].orderid  string  

Returned by this endpoint.

orders[].items[].itemid  integer  

Returned by this endpoint.

orders[].items[].productcode  integer  

Returned by this endpoint.

orders[].items[].productqty  integer  

Returned by this endpoint.

orders[].items[].productprice  number  

Returned by this endpoint.

orders[].items[].combo_product_code  integer  

Returned by this endpoint.

orders[].items[].remark  string  

Returned by this endpoint.

orders[].items[].STATUS  integer  

Returned by this endpoint.

orders[].items[].payment_status  string  

Returned by this endpoint.

orders[].items[].modifiers  array  

Array field returned by this endpoint.

orders[].items[].modifiers[].orderid  string  

Returned by this endpoint.

orders[].items[].modifiers[].itemid  integer  

Returned by this endpoint.

orders[].items[].modifiers[].productcode  integer  

Returned by this endpoint.

orders[].items[].modifiers[].productqty  integer  

Returned by this endpoint.

orders[].items[].modifiers[].productprice  number  

Returned by this endpoint.

orders[].items[].modifiers[].STATUS  integer  

Returned by this endpoint.

Application APIs (V2) — Products

Read (and selected write) endpoints for mobile/application clients — menus, branches, products, orders, payments.

Fetch Parent

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/parents/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}"
const url = new URL(
    "http://localhost/api/v2/parents/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


[
    {
        "id": 1,
        "descript": "Ajax Festival",
        "versionid": 1,
        "isactive": 1,
        "created_at": "example",
        "updated_at": "2026-08-17"
    }
]
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Wrong Json Format):


{
    "message": "Wrong Json Format",
    "status": "fail"
}
 

Example response (Error: No parents to display):


{
    "message": "No parents to display",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "https://posapis.com/example.jpg",
    "line": 1,
    "status": "fail"
}
 

Request      

GET api/v2/parents/{parentid?}

URL Parameters

parentid  integer optional  

Optional. Type: integer.

Response

Response Fields

[].id  integer  

Returned by this endpoint.

[].descript  string  

Returned by this endpoint.

[].versionid  integer  

Returned by this endpoint.

[].isactive  integer  

Returned by this endpoint.

[].created_at  string  

Returned by this endpoint.

[].updated_at  string  

Returned by this endpoint.

Fetch Category

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/categories/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}"
const url = new URL(
    "http://localhost/api/v2/categories/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


[
    {
        "catid": 1,
        "menuid": 1,
        "parentid": 1,
        "catname": "Example Catname",
        "descript": "Ajax Festival",
        "descript2": "example",
        "picpath": "https://posapis.com/example.jpg",
        "picture": "https://posapis.com/example.jpg",
        "thumb_picture": "https://posapis.com/example.jpg",
        "headerpicpath": "https://posapis.com/example.jpg",
        "footerpicpath": "https://posapis.com/example.jpg",
        "bgpicpath": "https://posapis.com/example.jpg",
        "seq": 1,
        "versionid": 1,
        "isactive": 1,
        "created_at": "example",
        "updated_at": "2026-08-17"
    }
]
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Wrong Json Format):


{
    "message": "Wrong Json Format",
    "status": "fail"
}
 

Example response (Error: you do not have a branch):


{
    "message": "you do not have a branch",
    "status": "fail"
}
 

Example response (Error: No categories to display):


{
    "message": "No categories to display",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "https://posapis.com/example.jpg",
    "line": 1,
    "status": "fail"
}
 

Request      

GET api/v2/categories/{catid?}

URL Parameters

catid  integer optional  

Optional. Type: integer.

Response

Response Fields

[].catid  integer  

Returned by this endpoint.

[].menuid  integer  

Returned by this endpoint.

[].parentid  integer  

Returned by this endpoint.

[].catname  string  

Returned by this endpoint.

[].descript  string  

Returned by this endpoint.

[].descript2  string  

Returned by this endpoint.

[].picpath  string  

Returned by this endpoint.

[].picture  string  

Returned by this endpoint.

[].thumb_picture  string  

Returned by this endpoint.

[].headerpicpath  string  

Returned by this endpoint.

[].footerpicpath  string  

Returned by this endpoint.

[].bgpicpath  string  

Returned by this endpoint.

[].seq  integer  

Returned by this endpoint.

[].versionid  integer  

Returned by this endpoint.

[].isactive  integer  

Returned by this endpoint.

[].created_at  string  

Returned by this endpoint.

[].updated_at  string  

Returned by this endpoint.

Fetch Product

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/product/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}"
const url = new URL(
    "http://localhost/api/v2/product/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (No product to display):


{
    "message": "No product to display",
    "status": "success"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Wrong Json Format):


{
    "message": "Wrong Json Format",
    "status": "fail"
}
 

Example response (Error: No product to display):


{
    "message": "No product to display",
    "status": "fail"
}
 

Example response (Error: No cities to display):


{
    "message": "No cities to display",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "ProductsController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

GET api/v2/product/{productid}

URL Parameters

productid  integer optional  

Optional. Type: integer.

Response

Response Fields

message  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Fetch Modifier

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/modifiers/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}"
const url = new URL(
    "http://localhost/api/v2/modifiers/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (No product to display):


{
    "message": "No product to display",
    "status": "success"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Wrong Json Format):


{
    "message": "Wrong Json Format",
    "status": "fail"
}
 

Example response (Error: No product to display):


{
    "message": "No product to display",
    "status": "fail"
}
 

Example response (Error: No modifiers to display):


{
    "message": "No modifiers to display",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "ModifiersController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

GET api/v2/modifiers/{modifierid?}

URL Parameters

modifierid  integer optional  

Optional. Type: integer.

Response

Response Fields

message  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Delete Combo Header

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v2/combo/header/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}"
const url = new URL(
    "http://localhost/api/v2/combo/header/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Combo Header with id 1 has been deleted Successfuly):


{
    "message": "Combo Header with id 1 has been deleted Successfuly",
    "status": "success"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: you must enter a valid id):


{
    "message": "you must enter a valid id",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "ComboHeadersController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

DELETE api/v2/combo/header/{id}

URL Parameters

id  integer optional  

Optional. Type: integer. The ID of the header.

Response

Response Fields

message  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Delete Combo Detail

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v2/combo/detail/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}"
const url = new URL(
    "http://localhost/api/v2/combo/detail/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Combo Detail with id 1 has been deleted Successfuly):


{
    "message": "Combo Detail with id 1 has been deleted Successfuly",
    "status": "success"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: you must enter a valid id):


{
    "message": "you must enter a valid id",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "ComboDetailsController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

DELETE api/v2/combo/detail/{id}

URL Parameters

id  integer optional  

Optional. Type: integer. The ID of the detail.

Response

Response Fields

message  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add Comboitems

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/comboitems" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"prodnum\": 1003919,
    \"catid\": 1,
    \"price\": 12.5,
    \"descript\": \"Ajax Festival\",
    \"enabled\": 1,
    \"refcode1\": \"example\",
    \"istaxable1\": 1,
    \"istaxable2\": 1,
    \"istaxable3\": 1,
    \"isactive\": 1
}"
const url = new URL(
    "http://localhost/api/v2/comboitems"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "prodnum": 1003919,
    "catid": 1,
    "price": 12.5,
    "descript": "Ajax Festival",
    "enabled": 1,
    "refcode1": "example",
    "istaxable1": 1,
    "istaxable2": 1,
    "istaxable3": 1,
    "isactive": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response ( Combo Items Added / Updated / Deleted Successfully):


{
    "message": " Combo Items Added / Updated / Deleted Successfully",
    "inserted": 1,
    "updated": 1,
    "deleted": 1,
    "status": "success"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Wrong json format):


{
    "message": "Wrong json format",
    "status": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "message": "The given data was invalid.",
    "status": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "message": "Wrong data json format",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "ComboItemsController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

POST api/v2/comboitems

Body Parameters

prodnum  integer  

Required. Type: integer. Validation: required.

catid  integer  

Required. Type: integer. Validation: required.

Request body example:

[
    {
        "prodnum": 1003919,
        "catid": 1,
        "price": 12.5,
        "descript": "Ajax Festival",
        "enabled": 1,
        "refcode1": "example",
        "istaxable1": 1,
        "istaxable2": 1,
        "istaxable3": 1,
        "isactive": 1
    }
]

price  string  

Required. Type: string. Validation: required.

descript  string optional  

Optional. Type: string. Validation: string|max:255. Must not be greater than 255 characters.

enabled  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

refcode1  string optional  

Optional. Type: string. Validation: string.

istaxable1  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

istaxable2  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

istaxable3  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

isactive  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

Response

Response Fields

message  string  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

deleted  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Fetch Combo

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/combos/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}"
const url = new URL(
    "http://localhost/api/v2/combos/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


[
    {
        "comboPrice": "example",
        "headers": [
            {
                "comboid": 1,
                "seq": 1,
                "descript": "Ajax Festival",
                "min": "example",
                "max": "example",
                "required": "example",
                "items": null
            }
        ]
    }
]
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Wrong Json Format):


{
    "message": "Wrong Json Format",
    "status": "fail"
}
 

Example response (Error: No combos to display):


{
    "message": "No combos to display",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "ComboItemsController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

GET api/v2/combos/{id?}

URL Parameters

id  integer optional  

Optional. Type: integer. The ID of the .

Response

Response Fields

[].comboPrice  string  

Returned by this endpoint.

[].headers  array  

Array field returned by this endpoint.

[].headers[].comboid  integer  

Returned by this endpoint.

[].headers[].seq  integer  

Returned by this endpoint.

[].headers[].descript  string  

Returned by this endpoint.

[].headers[].min  string  

Returned by this endpoint.

[].headers[].max  string  

Returned by this endpoint.

[].headers[].required  string  

Returned by this endpoint.

[].headers[].items  string  

Returned by this endpoint.

Fetch Comboheader

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/comboheaders/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}"
const url = new URL(
    "http://localhost/api/v2/comboheaders/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


{
    "data": "example"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: ComboHeader not found):


{
    "message": "ComboHeader not found"
}
 

Request      

GET api/v2/comboheaders/{comboheaderid?}

URL Parameters

comboheaderid  integer optional  

Optional. Type: integer.

Response

Response Fields

data  string  

Returned by this endpoint.

Fetch Combodetail

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/combodetails/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}"
const url = new URL(
    "http://localhost/api/v2/combodetails/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


{
    "data": "example"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: ComboDetail not found):


{
    "message": "ComboDetail not found"
}
 

Request      

GET api/v2/combodetails/{combodetailid?}

URL Parameters

combodetailid  integer optional  

Optional. Type: integer.

Response

Response Fields

data  string  

Returned by this endpoint.

Fetch Comboitem

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/comboitems/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}"
const url = new URL(
    "http://localhost/api/v2/comboitems/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


{
    "data": "example"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Combo Item not found):


{
    "message": "Combo Item not found"
}
 

Request      

GET api/v2/comboitems/{comboitemid?}

URL Parameters

comboitemid  integer optional  

Optional. Type: integer.

Response

Response Fields

data  string  

Returned by this endpoint.

Fetch Product Combo

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/productcombos/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}"
const url = new URL(
    "http://localhost/api/v2/productcombos/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


{
    "data": "example"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Combo Product not found):


{
    "message": "Combo Product not found"
}
 

Request      

GET api/v2/productcombos/{productcomboid?}

URL Parameters

productcomboid  integer optional  

Optional. Type: integer.

Response

Response Fields

data  string  

Returned by this endpoint.

Fetch Product Picture

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/product/pictures/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}"
const url = new URL(
    "http://localhost/api/v2/product/pictures/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Product Pictures retrieved successfully):


{
    "MESSAGE": "Product Pictures retrieved successfully",
    "STATUS": "success",
    "RESULT": [
        {
            "ID": 1,
            "TITLE": "example",
            "PICTURE": "https://posapis.com/example.jpg"
        }
    ]
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: No product pics to display):


{
    "message": "No product pics to display",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "ProductsController.php",
    "line": 1,
    "status": "fail"
}
 

Example response (Error: The provided PRODUID has no records):


{
    "MESSAGE": "The provided PRODUID has no records",
    "STATUS": "fail"
}
 

Request      

GET api/v2/product/pictures/{id}

URL Parameters

id  integer  

Required. Type: integer. The ID of the picture.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

RESULT  array  

Array field returned by this endpoint.

RESULT[].ID  integer  

Returned by this endpoint.

RESULT[].TITLE  string  

Returned by this endpoint.

RESULT[].PICTURE  string  

Returned by this endpoint.

Shop APIs (V1) — Deliverect

Store / channel write endpoints for pushing catalog data and integrating external systems (Shopify, Deliverect, etc.).

Add Menu Deliverect

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/menu/deliverect" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/menu/deliverect"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (example):


{
    "MESSAGE": "example",
    "STATUS": "success"
}
 

Example response (Error: Menu was not pushed, no combos found):


{
    "MESSAGE": "Menu was not pushed, no combos found",
    "STATUS": "fail"
}
 

Example response (Error: Unauthorized):


{
    "MESSAGE": "Unauthorized",
    "STATUS": "fail"
}
 

Example response (Error: Store does not have a deliverect account id):


{
    "MESSAGE": "Store does not have a deliverect account id",
    "STATUS": "fail"
}
 

Example response (Error: Branch with ID: 1 does not have a deliverect location):


{
    "MESSAGE": "Branch with ID: 1 does not have a deliverect location",
    "STATUS": "fail"
}
 

Request      

POST api/v1/menu/deliverect

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Fetch Menu Deliverect Staging

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/menu/deliverect/staging" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/menu/deliverect/staging"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (example):


{
    "MESSAGE": "example",
    "STATUS": "success"
}
 

Example response (Error: Menu was not pushed, no combos found):


{
    "MESSAGE": "Menu was not pushed, no combos found",
    "STATUS": "fail"
}
 

Example response (Error: Unauthorized):


{
    "MESSAGE": "Unauthorized",
    "STATUS": "fail"
}
 

Example response (Error: Store does not have a deliverect account id):


{
    "MESSAGE": "Store does not have a deliverect account id",
    "STATUS": "fail"
}
 

Example response (Error: Branch with ID: 1 does not have a deliverect location):


{
    "MESSAGE": "Branch with ID: 1 does not have a deliverect location",
    "STATUS": "fail"
}
 

Request      

GET api/v1/menu/deliverect/staging

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Add Webhook Order Deliverect

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/webhooks/orders/deliverect" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/webhooks/orders/deliverect"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (Error: example):


{
    "MESSAGE": "example",
    "STATUS": "fail"
}
 

Example response (Error: Channel not found):


{
    "MESSAGE": "Channel not found",
    "STATUS": "fail"
}
 

Example response (Error: Product or modifier not found):


{
    "MESSAGE": "Product or modifier not found",
    "STATUS": "fail"
}
 

Example response (Error: Location ID is not found):


{
    "MESSAGE": "Location ID is not found",
    "STATUS": "fail"
}
 

Example response (Error: Account does not exist):


{
    "MESSAGE": "Account does not exist",
    "STATUS": "fail"
}
 

Example response (Example success response (generated)):


{
    "status": "success",
    "message": "Webhooks saved successfully.",
    "data": {
        "id": 1,
        "webhook_name": "Example Webhook",
        "is_active": true
    }
}
 

Example response (Example unauthorized response (generated)):


{
    "message": "Unauthorized",
    "error": "Unauthorized",
    "status": "fail"
}
 

Request      

POST api/v1/webhooks/orders/deliverect

Response

Response Fields

status  string  

Returned by this endpoint.

message  string  

Returned by this endpoint.

data  object  

Object field returned by this endpoint.

data.id  integer  

Returned by this endpoint.

data.webhook_name  string  

Returned by this endpoint.

data.is_active  boolean  

Returned by this endpoint.

Add Webhook Order Deliverect Stagging

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/webhooks/orders/deliverect/stagging" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/webhooks/orders/deliverect/stagging"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (Error: example):


{
    "MESSAGE": "example",
    "STATUS": "fail"
}
 

Example response (Error: Channel not found):


{
    "MESSAGE": "Channel not found",
    "STATUS": "fail"
}
 

Example response (Error: Product or modifier not found):


{
    "MESSAGE": "Product or modifier not found",
    "STATUS": "fail"
}
 

Example response (Error: Location ID is not found):


{
    "MESSAGE": "Location ID is not found",
    "STATUS": "fail"
}
 

Example response (Error: Account does not exist):


{
    "MESSAGE": "Account does not exist",
    "STATUS": "fail"
}
 

Example response (Example success response (generated)):


{
    "status": "success",
    "message": "Webhooks saved successfully.",
    "data": {
        "id": 1,
        "webhook_name": "Example Webhook",
        "is_active": true
    }
}
 

Example response (Example unauthorized response (generated)):


{
    "message": "Unauthorized",
    "error": "Unauthorized",
    "status": "fail"
}
 

Request      

POST api/v1/webhooks/orders/deliverect/stagging

Response

Response Fields

status  string  

Returned by this endpoint.

message  string  

Returned by this endpoint.

data  object  

Object field returned by this endpoint.

data.id  integer  

Returned by this endpoint.

data.webhook_name  string  

Returned by this endpoint.

data.is_active  boolean  

Returned by this endpoint.

Shop APIs (V1) — E-menus

Store / channel write endpoints for pushing catalog data and integrating external systems (Shopify, Deliverect, etc.).

Add Item Orders

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/item/orders" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"order\": {
        \"orderid\": \"ORD-1001\",
        \"orderdate\": \"2026-08-17\",
        \"paymenttype\": 1,
        \"branchid\": 1,
        \"ordertype\": 1,
        \"deliveryCost\": 12.5,
        \"serviceCharge\": 12.5,
        \"ispaid\": 1,
        \"table_id\": 1,
        \"member\": {
            \"posreference\": \"ORD-1001\",
            \"membername\": \"Example Membername\",
            \"mobile\": \"03000000\",
            \"mobilevalidated\": 1,
            \"dateofbirth\": \"2026-08-17\",
            \"address\": {
                \"posreference\": \"ORD-1001\",
                \"description\": \"example\",
                \"addresstype\": 1,
                \"geolat\": 33.8938,
                \"geolong\": 35.5018,
                \"citycode\": 1,
                \"street\": \"example\",
                \"bldg\": \"example\",
                \"floor\": \"example\"
            }
        },
        \"items\": [
            {
                \"ITEMID\": 1,
                \"productcode\": 1003919,
                \"productqty\": 1,
                \"productprice\": 12.5,
                \"modifiers\": [
                    {
                        \"ITEMID\": 1,
                        \"modifiercode\": 1,
                        \"modifierqty\": 1,
                        \"modifierprice\": 12.5,
                        \"modifiers_description\": \"example\"
                    }
                ]
            }
        ]
    }
}"
const url = new URL(
    "http://localhost/api/v1/item/orders"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "order": {
        "orderid": "ORD-1001",
        "orderdate": "2026-08-17",
        "paymenttype": 1,
        "branchid": 1,
        "ordertype": 1,
        "deliveryCost": 12.5,
        "serviceCharge": 12.5,
        "ispaid": 1,
        "table_id": 1,
        "member": {
            "posreference": "ORD-1001",
            "membername": "Example Membername",
            "mobile": "03000000",
            "mobilevalidated": 1,
            "dateofbirth": "2026-08-17",
            "address": {
                "posreference": "ORD-1001",
                "description": "example",
                "addresstype": 1,
                "geolat": 33.8938,
                "geolong": 35.5018,
                "citycode": 1,
                "street": "example",
                "bldg": "example",
                "floor": "example"
            }
        },
        "items": [
            {
                "ITEMID": 1,
                "productcode": 1003919,
                "productqty": 1,
                "productprice": 12.5,
                "modifiers": [
                    {
                        "ITEMID": 1,
                        "modifiercode": 1,
                        "modifierqty": 1,
                        "modifierprice": 12.5,
                        "modifiers_description": "example"
                    }
                ]
            }
        ]
    }
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (Example success response (from controller)):


{
    "MESSAGE": {
        "orderid": "ORD-1001",
        "hsaddressid": 1,
        "hsmemberid": 1,
        "ITEMS": [
            {
                "ITEMID": 1,
                "POSAPISITEMID": "example"
            }
        ]
    },
    "STATUS": "success"
}
 

Example response (Error: Member is required for Take Away):


{
    "MESSAGE": "Member is required for Take Away",
    "STATUS": "fail"
}
 

Example response (Error: Member is required for Delivery):


{
    "MESSAGE": "Member is required for Delivery",
    "STATUS": "fail"
}
 

Example response (Error: Member Address is required for Take Away and Delivery):


{
    "MESSAGE": "Member Address is required for Take Away and Delivery",
    "STATUS": "fail"
}
 

Example response (Error: Order Not Added):


{
    "MESSAGE": "Order Not Added",
    "STATUS": "fail"
}
 

Example response (Error: Items not Added Please Delete the order and try again):


{
    "MESSAGE": "Items not Added Please Delete the order and try again",
    "STATUS": "fail"
}
 

Example response (Error: Branch not Registed):


{
    "MESSAGE": "Branch not Registed",
    "STATUS": "fail"
}
 

Request      

POST api/v1/item/orders

Body Parameters

order  object optional  

Optional. Type: object.

Request body example:

{
    "order": {
        "orderid": "ORD-1001",
        "orderdate": "2026-08-17",
        "paymenttype": 1,
        "branchid": 1,
        "ordertype": 1,
        "deliveryCost": 12.5,
        "serviceCharge": 12.5,
        "ispaid": 1,
        "table_id": 1,
        "member": {
            "posreference": "ORD-1001",
            "membername": "Example Membername",
            "mobile": "03000000",
            "mobilevalidated": 1,
            "dateofbirth": "2026-08-17",
            "address": {
                "posreference": "ORD-1001",
                "description": "example",
                "addresstype": 1,
                "geolat": 33.8938,
                "geolong": 35.5018,
                "citycode": 1,
                "street": "example",
                "bldg": "example",
                "floor": "example"
            }
        },
        "items": [
            {
                "ITEMID": 1,
                "productcode": 1003919,
                "productqty": 1,
                "productprice": 12.5,
                "modifiers": [
                    {
                        "ITEMID": 1,
                        "modifiercode": 1,
                        "modifierqty": 1,
                        "modifierprice": 12.5,
                        "modifiers_description": "example"
                    }
                ]
            }
        ]
    }
}

order.orderid  integer  

Required. Type: integer. Validation: required.

order.orderdate  string  

Required. Type: string. Validation: required.

order.paymenttype  string  

Required. Type: string. Validation: required.

order.branchid  integer  

Required. Type: integer. Validation: required.

order.ordertype  string  

Required. Type: string. Validation: required.

order.deliveryCost  number optional  

Optional. Type: number. Validation: numeric|between:0,999999999.99|regex:/^\d{1,9}(\.\d{1,2})?$/. The value format is invalid. Must be between 0 and 999999999.99.

order.serviceCharge  number optional  

Optional. Type: number. Validation: numeric|between:0,999999999.99|regex:/^\d{1,9}(\.\d{1,2})?$/. The value format is invalid. Must be between 0 and 999999999.99.

order.ispaid  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

order.table_id  integer optional  

Optional. Type: integer. Validation: integer.

order.member  object optional  

Optional. Type: object.

order.member.posreference  string  

Required. Type: string. Validation: required.

order.member.membername  string  

Required. Type: string. Validation: required|string|max:40. Must not be greater than 40 characters.

order.member.mobile  string  

Required. Type: string. Validation: required.

order.member.mobilevalidated  string  

Required. Type: string. Validation: required|max:1|min:0. Must not be greater than 1 characters. Must be at least 0 characters.

order.member.dateofbirth  string optional  

Optional. Type: string. Validation: string|max:11. Must not be greater than 11 characters.

order.member.address  object optional  

Optional. Type: object.

order.member.address.posreference  string  

Required. Type: string. Validation: required.

order.member.address.description  string  

Required. Type: string. Validation: required|string|min: 0|max:100. Must be at least 0 characters. Must not be greater than 100 characters.

order.member.address.addresstype  string  

Required. Type: string. Validation: required.

order.member.address.geolat  string  

Required. Type: string. Validation: required.

order.member.address.geolong  string  

Required. Type: string. Validation: required.

order.member.address.citycode  integer  

Required. Type: integer. Validation: required.

order.member.address.street  string  

Required. Type: string. Validation: required|string|min: 0|max:40. Must be at least 0 characters. Must not be greater than 40 characters.

order.member.address.bldg  string  

Required. Type: string. Validation: required|string|min: 0|max:40. Must be at least 0 characters. Must not be greater than 40 characters.

order.member.address.floor  string  

Required. Type: string. Validation: required|string|min: 0|max:4. Must be at least 0 characters. Must not be greater than 4 characters.

order.items  object[] optional  

Optional. Type: object[].

order.items[].ITEMID  integer  

Required. Type: integer. Validation: required.

order.items[].productcode  integer  

Required. Type: integer. Validation: required.

order.items[].productqty  integer  

Required. Type: integer. Validation: required.

order.items[].productprice  string  

Required. Type: string. Validation: required.

order.items[].modifiers  object[] optional  

Optional. Type: object[].

order.items[].modifiers[].ITEMID  integer  

Required. Type: integer. Validation: required.

order.items[].modifiers[].modifiercode  integer  

Required. Type: integer. Validation: required.

order.items[].modifiers[].modifierqty  integer  

Required. Type: integer. Validation: required.

order.items[].modifiers[].modifierprice  string  

Required. Type: string. Validation: required.

order.items[].modifiers[].modifiers_description  string  

Required. Type: string. Validation: required.

Response

Response Fields

MESSAGE  object  

Object field returned by this endpoint.

MESSAGE.orderid  string  

Returned by this endpoint.

MESSAGE.hsaddressid  integer  

Returned by this endpoint.

MESSAGE.hsmemberid  integer  

Returned by this endpoint.

MESSAGE.ITEMS  array  

Array field returned by this endpoint.

MESSAGE.ITEMS[].ITEMID  integer  

Returned by this endpoint.

MESSAGE.ITEMS[].POSAPISITEMID  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Shop APIs (V1) — Floors

Store / channel write endpoints for pushing catalog data and integrating external systems (Shopify, Deliverect, etc.).

Add Table Seats

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/table/seats" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"TBLNUM\": 1,
    \"SEATNUM\": 1,
    \"SEATDESCRIPT\": \"example\",
    \"NUMOFCUSTOMERS\": 1
}"
const url = new URL(
    "http://localhost/api/v1/table/seats"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "TBLNUM": 1,
    "SEATNUM": 1,
    "SEATDESCRIPT": "example",
    "NUMOFCUSTOMERS": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (Table Seats inserted/updated successfully!):


{
    "message": "Table Seats inserted/updated successfully!",
    "status": "OK"
}
 

Example response (Example error response (from controller)):


{
    "errors": "example",
    "error_location": "example",
    "status": "fail"
}
 

Example response (Error: HTTP Request Failed):


{
    "message": "HTTP Request Failed",
    "status": "error"
}
 

Example response (Error: Internal server error: Exception message):


{
    "message": "Internal server error: Exception message",
    "status": "error"
}
 

Request      

POST api/v1/table/seats

Body Parameters

TBLNUM  integer  

Required. Type: integer. Validation: required|integer.

SEATNUM  integer  

Required. Type: integer. Validation: required|integer.

SEATDESCRIPT  string  

Required. Type: string. Validation: required|string.

NUMOFCUSTOMERS  integer  

Required. Type: integer. Validation: required|integer.

Request body example:

[
    {
        "TBLNUM": 1,
        "SEATNUM": 1,
        "SEATDESCRIPT": "example",
        "NUMOFCUSTOMERS": 1
    }
]

Response

Response Fields

message  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add Table Seats

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/table/seats/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"TBLNUM\": 1,
    \"SEATNUM\": 1
}"
const url = new URL(
    "http://localhost/api/v1/table/seats/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "TBLNUM": 1,
    "SEATNUM": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (Rows deleted successfully!):


{
    "message": "Rows deleted successfully!",
    "status": "OK"
}
 

Example response (Example error response (from controller)):


{
    "errors": "example",
    "error_location": "example",
    "status": "fail"
}
 

Example response (Error: No rows were deleted.):


{
    "message": "No rows were deleted.",
    "status": "fail"
}
 

Example response (Error: HTTP Request Failed):


{
    "message": "HTTP Request Failed",
    "status": "error"
}
 

Example response (Error: Internal server error: Exception message):


{
    "message": "Internal server error: Exception message",
    "status": "error"
}
 

Request      

POST api/v1/table/seats/delete

Body Parameters

TBLNUM  integer  

Required. Type: integer. Validation: required|integer.

SEATNUM  integer  

Required. Type: integer. Validation: required|integer.

Request body example:

[
    {
        "TBLNUM": 1,
        "SEATNUM": 1
    }
]

Response

Response Fields

message  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add Table Status

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/table/status" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"TBLNUM\": 1,
    \"STATUS\": 1,
    \"NUMOFCUSTOMERS\": 1,
    \"DESCRIPT\": \"Ajax Festival\",
    \"TABLENAME\": \"example\",
    \"INFO\": \"example\",
    \"ISSPLIT\": 1,
    \"ORDERTYPE\": 1,
    \"ASKEDCHECK\": 1,
    \"TIMEOPENED\": \"12:00:00\",
    \"TIMECLOSED\": \"12:00:00\",
    \"MEMCODE\": 1,
    \"CONTACTID\": 1
}"
const url = new URL(
    "http://localhost/api/v1/table/status"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "TBLNUM": 1,
    "STATUS": 1,
    "NUMOFCUSTOMERS": 1,
    "DESCRIPT": "Ajax Festival",
    "TABLENAME": "example",
    "INFO": "example",
    "ISSPLIT": 1,
    "ORDERTYPE": 1,
    "ASKEDCHECK": 1,
    "TIMEOPENED": "12:00:00",
    "TIMECLOSED": "12:00:00",
    "MEMCODE": 1,
    "CONTACTID": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (Table Status inserted/updated successfully!):


{
    "message": "Table Status inserted/updated successfully!",
    "status": "OK"
}
 

Example response (Example error response (from controller)):


{
    "errors": "example",
    "error_location": "example",
    "status": "fail"
}
 

Example response (Error: HTTP Request Failed):


{
    "message": "HTTP Request Failed",
    "status": "error"
}
 

Example response (Error: Internal server error: Exception message):


{
    "message": "Internal server error: Exception message",
    "status": "error"
}
 

Request      

POST api/v1/table/status

Body Parameters

TBLNUM  integer  

Required. Type: integer. Validation: required|integer.

STATUS  integer  

Required. Type: integer. Validation: required|integer.

NUMOFCUSTOMERS  integer  

Required. Type: integer. Validation: required|integer.

DESCRIPT  string  

Required. Type: string. Validation: required|string.

TABLENAME  string  

Required. Type: string. Validation: required|string.

INFO  string  

Required. Type: string. Validation: required|string.

ISSPLIT  integer  

Required. Type: integer. Validation: required|integer.

ORDERTYPE  integer  

Required. Type: integer. Validation: required|integer.

ASKEDCHECK  integer  

Required. Type: integer. Validation: required|integer.

Request body example:

[
    {
        "TBLNUM": 1,
        "STATUS": 1,
        "NUMOFCUSTOMERS": 1,
        "DESCRIPT": "Ajax Festival",
        "TABLENAME": "example",
        "INFO": "example",
        "ISSPLIT": 1,
        "ORDERTYPE": 1,
        "ASKEDCHECK": 1,
        "TIMEOPENED": "12:00:00",
        "TIMECLOSED": "12:00:00",
        "MEMCODE": 1,
        "CONTACTID": 1
    }
]

TIMEOPENED  string optional  

Optional. Type: string. Validation: sometimes|date. Must be a valid date.

TIMECLOSED  string optional  

Optional. Type: string. Validation: sometimes|date. Must be a valid date.

MEMCODE  integer optional  

Optional. Type: integer. Validation: sometimes|integer.

CONTACTID  integer optional  

Optional. Type: integer. Validation: sometimes|integer.

Response

Response Fields

message  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add Table Status

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/table/status/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"TBLNUM\": 1
}"
const url = new URL(
    "http://localhost/api/v1/table/status/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "TBLNUM": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (Rows deleted successfully!):


{
    "message": "Rows deleted successfully!",
    "status": "OK",
    "tblnums_not_deleted": [
        1
    ]
}
 

Example response (Example error response (from controller)):


{
    "errors": "example",
    "error_location": "example",
    "status": "fail"
}
 

Example response (Error: No rows were deleted.):


{
    "message": "No rows were deleted.",
    "status": "fail"
}
 

Example response (Error: HTTP Request Failed):


{
    "message": "HTTP Request Failed",
    "status": "error"
}
 

Example response (Error: Internal server error: Exception message):


{
    "message": "Internal server error: Exception message",
    "status": "error"
}
 

Request      

POST api/v1/table/status/delete

Body Parameters

TBLNUM  integer  

Required. Type: integer. Validation: required|integer.

Request body example:

[
    {
        "TBLNUM": 1
    }
]

Response

Response Fields

message  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

tblnums_not_deleted  array  

Array field returned by this endpoint.

Update Table

requires authentication

Example request:
curl --request PUT \
    "http://localhost/api/v1/tables" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"tableid\": 1
}"
const url = new URL(
    "http://localhost/api/v1/tables"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "tableid": 1
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (Status updated successfully):


{
    "message": "Status updated successfully",
    "status": "success",
    "successTables": [
        1
    ],
    "failedTables": [
        1
    ]
}
 

Example response (Example error response (from controller)):


{
    "error": "Invalid request format. Expecting JSON data."
}
 

Example response (Error: HTTP Request Failed):


{
    "message": "HTTP Request Failed",
    "status": "error"
}
 

Example response (Error: HTTP Request Exception):


{
    "message": "HTTP Request Exception",
    "status": "error"
}
 

Example response (Error: HTTP Request Failed ):


{
    "message": "HTTP Request Failed ",
    "status": "error"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "status": "error"
}
 

Request      

PUT api/v1/tables

Body Parameters

tableid  integer  

Required. Type: integer. Validation: required|integer.

Request body example:

[
    {
        "tableid": 1
    }
]

Response

Response Fields

message  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

successTables  array  

Array field returned by this endpoint.

failedTables  array  

Array field returned by this endpoint.

Shop APIs (V1) — General

Store / channel write endpoints for pushing catalog data and integrating external systems (Shopify, Deliverect, etc.).

Add Charge

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/charges/1?data=%7B%22id%22%3A1%2C%22descript%22%3A%22Ajax+Festival%22%2C%22isactive%22%3A1%2C%22byamount%22%3A1%2C%22bypercent%22%3A1%2C%22openpercent%22%3A1%2C%22openamount%22%3A1%2C%22customschedule%22%3A1%2C%22autoadd%22%3A1%2C%22appliedontaxex%22%3A1%2C%22tax1%22%3A%22example%22%2C%22tax2%22%3A%22example%22%2C%22tax3%22%3A%22example%22%2C%22sdate%22%3A%222026-08-17%22%2C%22edate%22%3A%222026-08-17%22%2C%22setamount%22%3A%22example%22%2C%22typ%22%3A%22example%22%7D" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/charges/1"
);

const params = {
    "data": "{"id":1,"descript":"Ajax Festival","isactive":1,"byamount":1,"bypercent":1,"openpercent":1,"openamount":1,"customschedule":1,"autoadd":1,"appliedontaxex":1,"tax1":"example","tax2":"example","tax3":"example","sdate":"2026-08-17","edate":"2026-08-17","setamount":"example","typ":"example"}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (Charge Added Successfully):


{
    "MESSAGE": "Charge Added Successfully",
    "STATUS": "success"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "MESSAGE": "Wrong data json format",
    "STATUS": "fail"
}
 

Request      

POST api/v1/charges/{branchid}

URL Parameters

branchid  integer  

Required. Type: integer.

Query Parameters

data  string  

Required. Type: string. JSON object sent as the data query parameter (?data={...}). Fields inside that JSON (type, required, validation) are listed below.

FieldTypeRequiredValidation
idstringrequiredrequired
descriptstringoptionalstring|max:255
isactiveintegeroptionalinteger|min:0|max:1
byamountintegeroptionalinteger|min:0|max:1
bypercentintegeroptionalinteger|min:0|max:1
openpercentintegeroptionalinteger|min:0|max:1
openamountintegeroptionalinteger|min:0|max:1
customscheduleintegeroptionalinteger|min:0|max:1
autoaddintegeroptionalinteger|min:0|max:1
appliedontaxexintegeroptionalinteger|min:0|max:1
tax1stringoptional
tax2stringoptional
tax3stringoptional
sdatestringoptional
edatestringoptional
setamountstringoptional
typstringoptional

Request example:

{
"id": 1,
"descript": "Ajax Festival",
"isactive": 1,
"byamount": 1,
"bypercent": 1,
"openpercent": 1,
"openamount": 1,
"customschedule": 1,
"autoadd": 1,
"appliedontaxex": 1,
"tax1": "example",
"tax2": "example",
"tax3": "example",
"sdate": "2026-08-17",
"edate": "2026-08-17",
"setamount": "example",
"typ": "example"
}

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Add Charge Detail

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/chargedetails/1/1/1?data=%7B%22id%22%3A1%2C%22isactive%22%3A1%2C%22sectionid%22%3A1%7D" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/chargedetails/1/1/1"
);

const params = {
    "data": "{"id":1,"isactive":1,"sectionid":1}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (The branch id: 1 is not found):


{
    "MESSAGE": "The branch id: 1 is not found",
    "STATUS": "success"
}
 

Example response (Error: you must enter valid ids):


{
    "MESSAGE": "you must enter valid ids",
    "STATUS": "fail"
}
 

Example response (Error: The charge id: 1, city id: 1, and branchid: 1 are not found):


{
    "MESSAGE": "The charge id: 1,  city id: 1, and branchid: 1 are not found",
    "STATUS": "success"
}
 

Example response (Error: The charge id: 1, and the city id: 1 are not found):


{
    "MESSAGE": "The charge id: 1, and the city id: 1 are not found",
    "STATUS": "success"
}
 

Example response (Error: The charge id: 1, and the branch id: 1 are not found):


{
    "MESSAGE": "The charge id: 1, and the branch id: 1 are not found",
    "STATUS": "success"
}
 

Example response (Error: The city id: 1, and the branch id: 1 are not found):


{
    "MESSAGE": "The city id: 1, and the branch id: 1 are not found",
    "STATUS": "success"
}
 

Example response (Error: The city id: 1 is not found):


{
    "MESSAGE": "The city id: 1 is not found",
    "STATUS": "success"
}
 

Request      

POST api/v1/chargedetails/{chargeid}/{branchid}/{regionid}

URL Parameters

chargeid  integer  

Required. Type: integer.

branchid  integer  

Required. Type: integer.

regionid  integer  

Required. Type: integer.

Query Parameters

data  string  

Required. Type: string. JSON object sent as the data query parameter (?data={...}). Fields inside that JSON (type, required, validation) are listed below.

FieldTypeRequiredValidation
idstringrequiredrequired
isactiveintegeroptionalinteger|min:0|max:1
sectionidintegeroptional

Request example:

{
"id": 1,
"isactive": 1,
"sectionid": 1
}

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Delete Charge

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v1/charge/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/charge/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Charge with id 1 has been deleted Successfuly):


{
    "MESSAGE": "Charge with id 1 has been deleted Successfuly",
    "STATUS": "success"
}
 

Example response (Error: you must enter a valid id):


{
    "MESSAGE": "you must enter a valid id",
    "STATUS": "fail"
}
 

Request      

DELETE api/v1/charge/{id}

URL Parameters

id  integer optional  

Optional. Type: integer. The ID of the charge.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Delete Charge Detail

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v1/chargedetail/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/chargedetail/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Charge detail with id 1 has been deleted Successfuly):


{
    "MESSAGE": "Charge detail with id 1 has been deleted Successfuly",
    "STATUS": "success"
}
 

Example response (Error: you must enter a valid id):


{
    "MESSAGE": "you must enter a valid id",
    "STATUS": "fail"
}
 

Request      

DELETE api/v1/chargedetail/{id}

URL Parameters

id  integer optional  

Optional. Type: integer. The ID of the chargedetail.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Add Ordertypes

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/ordertypes?data=%7B%22id%22%3A1%2C%22descript%22%3A%22Ajax+Festival%22%2C%22enforcememberselection%22%3A1%2C%22opendrawer%22%3A1%2C%22printmemberdetails%22%3A1%2C%22showindispatcher%22%3A1%2C%22printinred%22%3A1%2C%22autoaddproducts%22%3A1%2C%22printmoreonprinter%22%3A1%2C%22autotaginfo%22%3A1%2C%22remindscheduledbefore%22%3A1%2C%22enableonlineordertracking%22%3A1%2C%22isdelivery%22%3A1%2C%22printtagontickets%22%3A1%2C%22printtagonlabels%22%3A1%2C%22showautoupsell%22%3A1%2C%22printinvoiceongenerateso%22%3A1%2C%22isactive%22%3A1%2C%22groupid%22%3A1%2C%22seq%22%3A1%2C%22printcopies%22%3A%22example%22%2C%22menucode%22%3A1%7D" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/ordertypes"
);

const params = {
    "data": "{"id":1,"descript":"Ajax Festival","enforcememberselection":1,"opendrawer":1,"printmemberdetails":1,"showindispatcher":1,"printinred":1,"autoaddproducts":1,"printmoreonprinter":1,"autotaginfo":1,"remindscheduledbefore":1,"enableonlineordertracking":1,"isdelivery":1,"printtagontickets":1,"printtagonlabels":1,"showautoupsell":1,"printinvoiceongenerateso":1,"isactive":1,"groupid":1,"seq":1,"printcopies":"example","menucode":1}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (Order Type Ajax Festival has been Added Successfully):


{
    "MESSAGE": "Order Type Ajax Festival has been Added Successfully",
    "STATUS": "success"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "MESSAGE": "Wrong data json format",
    "STATUS": "fail"
}
 

Request      

POST api/v1/ordertypes

Query Parameters

data  string  

Required. Type: string. JSON object sent as the data query parameter (?data={...}). Fields inside that JSON (type, required, validation) are listed below.

FieldTypeRequiredValidation
idstringrequiredrequired
descriptstringoptionalstring|max:255
enforcememberselectionintegeroptionalinteger|min:0|max:1
opendrawerintegeroptionalinteger|min:0|max:1
printmemberdetailsintegeroptionalinteger|min:0|max:1
showindispatcherintegeroptionalinteger|min:0|max:1
printinredintegeroptionalinteger|min:0|max:1
autoaddproductsintegeroptionalinteger|min:0|max:1
printmoreonprinterintegeroptionalinteger|min:0|max:1
autotaginfointegeroptionalinteger|min:0|max:1
remindscheduledbeforeintegeroptionalinteger|min:0|max:1
enableonlineordertrackingintegeroptionalinteger|min:0|max:1
isdeliveryintegeroptionalinteger|min:0|max:1
printtagonticketsintegeroptionalinteger|min:0|max:1
printtagonlabelsintegeroptionalinteger|min:0|max:1
showautoupsellintegeroptionalinteger|min:0|max:1
printinvoiceongeneratesointegeroptionalinteger|min:0|max:1
isactiveintegeroptionalinteger|min:0|max:1
groupidintegeroptional
seqintegeroptional
printcopiesstringoptional
menucodeintegeroptional

Request example:

{
"id": 1,
"descript": "Ajax Festival",
"enforcememberselection": 1,
"opendrawer": 1,
"printmemberdetails": 1,
"showindispatcher": 1,
"printinred": 1,
"autoaddproducts": 1,
"printmoreonprinter": 1,
"autotaginfo": 1,
"remindscheduledbefore": 1,
"enableonlineordertracking": 1,
"isdelivery": 1,
"printtagontickets": 1,
"printtagonlabels": 1,
"showautoupsell": 1,
"printinvoiceongenerateso": 1,
"isactive": 1,
"groupid": 1,
"seq": 1,
"printcopies": "example",
"menucode": 1
}

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Add Ordertype

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/ordertype/16/1?data=%7B%22id%22%3A1%2C%22byamount%22%3A1%2C%22bypercent%22%3A1%2C%22openpercent%22%3A1%2C%22openamount%22%3A1%2C%22autoadd%22%3A1%2C%22isactive%22%3A1%2C%22sdate%22%3A%222026-08-17%22%2C%22edate%22%3A%222026-08-17%22%2C%22setamount%22%3A%22example%22%7D" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/ordertype/16/1"
);

const params = {
    "data": "{"id":1,"byamount":1,"bypercent":1,"openpercent":1,"openamount":1,"autoadd":1,"isactive":1,"sdate":"2026-08-17","edate":"2026-08-17","setamount":"example"}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (The charge id: 1, and the order type id: 1 are not found):


{
    "MESSAGE": "The charge id: 1, and the order type id: 1 are not found",
    "STATUS": "success"
}
 

Example response (Error: you must enter valid ids):


{
    "MESSAGE": "you must enter valid ids",
    "STATUS": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Request      

POST api/v1/ordertype/{ordertypeid}/{chargeid}

URL Parameters

ordertypeid  integer  

Required. Type: integer.

chargeid  integer  

Required. Type: integer.

Query Parameters

data  string  

Required. Type: string. JSON object sent as the data query parameter (?data={...}). Fields inside that JSON (type, required, validation) are listed below.

FieldTypeRequiredValidation
idstringrequiredrequired
byamountintegeroptionalinteger|min:0|max:1
bypercentintegeroptionalinteger|min:0|max:1
openpercentintegeroptionalinteger|min:0|max:1
openamountintegeroptionalinteger|min:0|max:1
autoaddintegeroptionalinteger|min:0|max:1
isactiveintegeroptionalinteger|min:0|max:1
sdatestringoptional
edatestringoptional
setamountstringoptional

Request example:

{
"id": 1,
"byamount": 1,
"bypercent": 1,
"openpercent": 1,
"openamount": 1,
"autoadd": 1,
"isactive": 1,
"sdate": "2026-08-17",
"edate": "2026-08-17",
"setamount": "example"
}

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Add Ordertype

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/ordertype/16/1/1?data=%7B%22id%22%3A1%2C%22byamount%22%3A1%2C%22bypercent%22%3A1%2C%22openpercent%22%3A1%2C%22openamount%22%3A1%2C%22autoadd%22%3A1%2C%22isactive%22%3A1%2C%22sdate%22%3A%222026-08-17%22%2C%22edate%22%3A%222026-08-17%22%2C%22setamount%22%3A%22example%22%7D" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/ordertype/16/1/1"
);

const params = {
    "data": "{"id":1,"byamount":1,"bypercent":1,"openpercent":1,"openamount":1,"autoadd":1,"isactive":1,"sdate":"2026-08-17","edate":"2026-08-17","setamount":"example"}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (The charge id: 1, order type id: 1, and branchid: 1 are not found):


{
    "MESSAGE": "The charge id: 1,  order type id: 1, and branchid: 1 are not found",
    "STATUS": "success"
}
 

Example response (Error: you must enter valid ids):


{
    "MESSAGE": "you must enter valid ids",
    "STATUS": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Request      

POST api/v1/ordertype/{ordertypeid}/{chargeid}/{branchid}

URL Parameters

ordertypeid  integer  

Required. Type: integer.

chargeid  integer  

Required. Type: integer.

branchid  integer  

Required. Type: integer.

Query Parameters

data  string  

Required. Type: string. JSON object sent as the data query parameter (?data={...}). Fields inside that JSON (type, required, validation) are listed below.

FieldTypeRequiredValidation
idstringrequiredrequired
byamountintegeroptionalinteger|min:0|max:1
bypercentintegeroptionalinteger|min:0|max:1
openpercentintegeroptionalinteger|min:0|max:1
openamountintegeroptionalinteger|min:0|max:1
autoaddintegeroptionalinteger|min:0|max:1
isactiveintegeroptionalinteger|min:0|max:1
sdatestringoptional
edatestringoptional
setamountstringoptional

Request example:

{
"id": 1,
"byamount": 1,
"bypercent": 1,
"openpercent": 1,
"openamount": 1,
"autoadd": 1,
"isactive": 1,
"sdate": "2026-08-17",
"edate": "2026-08-17",
"setamount": "example"
}

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Add Ordertype

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/ordertype/16/1/1/1?data=%7B%22id%22%3A1%2C%22byamount%22%3A1%2C%22bypercent%22%3A1%2C%22openpercent%22%3A1%2C%22openamount%22%3A1%2C%22autoadd%22%3A1%2C%22isactive%22%3A1%2C%22sdate%22%3A%222026-08-17%22%2C%22edate%22%3A%222026-08-17%22%2C%22setamount%22%3A%22example%22%7D" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/ordertype/16/1/1/1"
);

const params = {
    "data": "{"id":1,"byamount":1,"bypercent":1,"openpercent":1,"openamount":1,"autoadd":1,"isactive":1,"sdate":"2026-08-17","edate":"2026-08-17","setamount":"example"}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (The charge id: 1, order type id: 1, branch id: 1, and region id: 1 are not found):


{
    "MESSAGE": "The charge id: 1,  order type id: 1, branch id: 1, and region id: 1 are not found",
    "STATUS": "success"
}
 

Example response (Error: you must enter valid ids):


{
    "MESSAGE": "you must enter valid ids",
    "STATUS": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Request      

POST api/v1/ordertype/{ordertypeid}/{chargeid}/{branchid}/{regionid}

URL Parameters

ordertypeid  integer  

Required. Type: integer.

chargeid  integer  

Required. Type: integer.

branchid  integer  

Required. Type: integer.

regionid  integer  

Required. Type: integer.

Query Parameters

data  string  

Required. Type: string. JSON object sent as the data query parameter (?data={...}). Fields inside that JSON (type, required, validation) are listed below.

FieldTypeRequiredValidation
idstringrequiredrequired
byamountintegeroptionalinteger|min:0|max:1
bypercentintegeroptionalinteger|min:0|max:1
openpercentintegeroptionalinteger|min:0|max:1
openamountintegeroptionalinteger|min:0|max:1
autoaddintegeroptionalinteger|min:0|max:1
isactiveintegeroptionalinteger|min:0|max:1
sdatestringoptional
edatestringoptional
setamountstringoptional

Request example:

{
"id": 1,
"byamount": 1,
"bypercent": 1,
"openpercent": 1,
"openamount": 1,
"autoadd": 1,
"isactive": 1,
"sdate": "2026-08-17",
"edate": "2026-08-17",
"setamount": "example"
}

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Delete Ordertype

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v1/ordertype/16" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/ordertype/16"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Order type with id 1 has been deleted Successfuly):


{
    "MESSAGE": "Order type with id 1 has been deleted Successfuly",
    "STATUS": "success"
}
 

Example response (Error: you must enter a valid id):


{
    "MESSAGE": "you must enter a valid id",
    "STATUS": "fail"
}
 

Request      

DELETE api/v1/ordertype/{id}

URL Parameters

id  integer optional  

Optional. Type: integer. The ID of the ordertype.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Delete Ordertypecharge

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v1/ordertypecharge/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/ordertypecharge/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Order type charge with id 1 has been deleted Successfuly):


{
    "MESSAGE": "Order type charge with id 1 has been deleted Successfuly",
    "STATUS": "success"
}
 

Example response (Error: you must enter a valid id):


{
    "MESSAGE": "you must enter a valid id",
    "STATUS": "fail"
}
 

Request      

DELETE api/v1/ordertypecharge/{id}

URL Parameters

id  integer optional  

Optional. Type: integer. The ID of the ordertypecharge.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Delete Ordertypechargebranch

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v1/ordertypechargebranch/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/ordertypechargebranch/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Order type charge branch with id 1 has been deleted Successfuly):


{
    "MESSAGE": "Order type charge branch with id 1 has been deleted Successfuly",
    "STATUS": "success"
}
 

Example response (Error: you must enter a valid id):


{
    "MESSAGE": "you must enter a valid id",
    "STATUS": "fail"
}
 

Request      

DELETE api/v1/ordertypechargebranch/{id}

URL Parameters

id  integer optional  

Optional. Type: integer. The ID of the ordertypechargebranch.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Delete Ordertypechargebranchregion

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v1/ordertypechargebranchregion/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/ordertypechargebranchregion/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Order type charge branch region with id 1 has been deleted Successfuly):


{
    "MESSAGE": "Order type charge branch region with id 1 has been deleted Successfuly",
    "STATUS": "success"
}
 

Example response (Error: you must enter a valid id):


{
    "MESSAGE": "you must enter a valid id",
    "STATUS": "fail"
}
 

Request      

DELETE api/v1/ordertypechargebranchregion/{id}

URL Parameters

id  integer optional  

Optional. Type: integer. The ID of the ordertypechargebranchregion.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Delete Tag

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v1/tag/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/tag/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Tag with id 1 has been deleted Successfuly):


{
    "MESSAGE": "Tag with id 1 has been deleted Successfuly",
    "STATUS": "success"
}
 

Example response (Error: you must enter a valid id):


{
    "MESSAGE": "you must enter a valid id",
    "STATUS": "fail"
}
 

Request      

DELETE api/v1/tag/{id}

URL Parameters

id  integer optional  

Optional. Type: integer. The ID of the tag.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Delete Product Tag

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v1/producttag/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/producttag/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Products tag with id 1 has been deleted Successfuly):


{
    "MESSAGE": "Products tag with id 1 has been deleted Successfuly",
    "STATUS": "success"
}
 

Example response (Error: Products tag with id 1 has not been deleted):


{
    "MESSAGE": "Products tag with id 1 has not been deleted",
    "STATUS": "fail"
}
 

Example response (Error: you must enter a valid id):


{
    "MESSAGE": "you must enter a valid id",
    "STATUS": "fail"
}
 

Request      

DELETE api/v1/producttag/{id}

URL Parameters

id  integer optional  

Optional. Type: integer. The ID of the producttag.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Delete Comboitem

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v1/comboitem/1003919" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/comboitem/1003919"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Combo item with id 1003919 has been deleted Successfuly):


{
    "MESSAGE": "Combo item with id 1003919 has been deleted Successfuly",
    "STATUS": "success"
}
 

Example response (Error: you must enter a valid id):


{
    "MESSAGE": "you must enter a valid id",
    "STATUS": "fail"
}
 

Request      

DELETE api/v1/comboitem/{prodnum}

URL Parameters

prodnum  integer optional  

Optional. Type: integer.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Add Departments

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/departments?data=%7B%22id%22%3A1%2C%22name%22%3A%22Example+Name%22%2C%22email%22%3A%22example%40bimpos.com%22%2C%22mobile%22%3A%2203000000%22%2C%22isactive%22%3A1%7D" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/departments"
);

const params = {
    "data": "{"id":1,"name":"Example Name","email":"example@bimpos.com","mobile":"03000000","isactive":1}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (Department Example Name Added Successfully):


{
    "MESSAGE": "Department Example Name Added Successfully",
    "STATUS": "success"
}
 

Example response (Error: Only head office is authorized):


{
    "MESSAGE": "Only head office is authorized",
    "STATUS": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "MESSAGE": "Wrong data json format",
    "STATUS": "fail"
}
 

Request      

POST api/v1/departments

Query Parameters

data  string  

Required. Type: string. JSON object sent as the data query parameter (?data={...}). Fields inside that JSON (type, required, validation) are listed below.

FieldTypeRequiredValidation
idstringrequiredrequired
namestringrequiredrequired|string|max:100
emailstringrequiredrequired|string|max:200
mobilestringrequiredrequired|string|max:20
isactiveintegeroptionalinteger|min:0|max:1

Request example:

{
"id": 1,
"name": "Example Name",
"email": "example@bimpos.com",
"mobile": "03000000",
"isactive": 1
}

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Delete Department

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v1/department/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/department/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Department with id 1 has been deleted Successfuly):


{
    "MESSAGE": "Department with id 1 has been deleted Successfuly",
    "STATUS": "success"
}
 

Example response (Error: you must enter a valid id):


{
    "MESSAGE": "you must enter a valid id",
    "STATUS": "fail"
}
 

Request      

DELETE api/v1/department/{departmentid}

URL Parameters

departmentid  integer optional  

Optional. Type: integer.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Add Feedback

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/feedbacks/1?data=%7B%22id%22%3A1%2C%22mobile%22%3A%2203000000%22%2C%22msg%22%3A%22example%22%2C%22type%22%3A1%2C%22isactive%22%3A1%7D" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/feedbacks/1"
);

const params = {
    "data": "{"id":1,"mobile":"03000000","msg":"example","type":1,"isactive":1}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (Feedback Added Successfully):


{
    "MESSAGE": "Feedback Added Successfully",
    "STATUS": "success"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "MESSAGE": "Wrong data json format",
    "STATUS": "fail"
}
 

Example response (Error: Only head office is authorized):


{
    "MESSAGE": "Only head office is authorized",
    "STATUS": "fail"
}
 

Request      

POST api/v1/feedbacks/{departmentid}

URL Parameters

departmentid  integer optional  

Optional. Type: integer.

Query Parameters

data  string  

Required. Type: string. JSON object sent as the data query parameter (?data={...}). Fields inside that JSON (type, required, validation) are listed below.

FieldTypeRequiredValidation
idstringrequiredrequired
mobilestringrequiredrequired|string|max:20
msgstringrequiredrequired|string|max:500
typeintegerrequiredrequired|integer
isactiveintegeroptionalinteger|min:0|max:1

Request example:

{
"id": 1,
"mobile": "03000000",
"msg": "example",
"type": 1,
"isactive": 1
}

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Delete Feedback

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v1/feedback/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/feedback/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Feedback with id 1 has been deleted Successfuly):


{
    "MESSAGE": "Feedback with id 1 has been deleted Successfuly",
    "STATUS": "success"
}
 

Example response (Error: you must enter a valid id):


{
    "MESSAGE": "you must enter a valid id",
    "STATUS": "fail"
}
 

Request      

DELETE api/v1/feedback/{feedbackid}

URL Parameters

feedbackid  integer optional  

Optional. Type: integer.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Add Contents

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/contents?data=%7B%22id%22%3A1%2C%22page_title%22%3A%22example%22%2C%22page_url%22%3A%22https%3A%2F%2Fposapis.com%2Fexample.jpg%22%2C%22isactive%22%3A1%7D" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/contents"
);

const params = {
    "data": "{"id":1,"page_title":"example","page_url":"https://posapis.com/example.jpg","isactive":1}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (Web Content example Added Successfully):


{
    "MESSAGE": "Web Content example Added Successfully",
    "STATUS": "success"
}
 

Example response (Error: Only head office is authorized):


{
    "MESSAGE": "Only head office is authorized",
    "STATUS": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "MESSAGE": "Wrong data json format",
    "STATUS": "fail"
}
 

Request      

POST api/v1/contents

Query Parameters

data  string  

Required. Type: string. JSON object sent as the data query parameter (?data={...}). Fields inside that JSON (type, required, validation) are listed below.

FieldTypeRequiredValidation
idstringrequiredrequired
page_titlestringrequiredrequired|string|max:100
page_urlstringrequiredrequired|string|max:200
isactiveintegeroptionalinteger|min:0|max:1

Request example:

{
"id": 1,
"page_title": "example",
"page_url": "https://posapis.com/example.jpg",
"isactive": 1
}

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Delete Content

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v1/content/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/content/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Web Content with id 1 has been deleted Successfuly):


{
    "MESSAGE": "Web Content with id 1 has been deleted Successfuly",
    "STATUS": "success"
}
 

Example response (Error: you must enter a valid id):


{
    "MESSAGE": "you must enter a valid id",
    "STATUS": "fail"
}
 

Request      

DELETE api/v1/content/{contentid}

URL Parameters

contentid  integer optional  

Optional. Type: integer.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Add App Settings

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/app/settings?data=%7B%22id%22%3A1%2C%22mobilePrefix%22%3A%22example%22%2C%22currency%22%3A%22example%22%2C%22showRemarksOnQuestions%22%3A1%2C%22showRemarksOnAllItems%22%3A1%2C%22androidMaintenanceMode%22%3A1%2C%22androidMinVersion%22%3A%22example%22%2C%22androidCurVersion%22%3A%22example%22%2C%22iosMinVersion%22%3A%22example%22%2C%22iosCurVersion%22%3A%22example%22%2C%22moneyFormat%22%3A%22example%22%2C%22phoneMask%22%3A%2203000000%22%2C%22showBigCategory%22%3A1%2C%22orderMenuCatalogId%22%3A1%2C%22galleryCatalogId%22%3A1%2C%22productCatalogId%22%3A1%2C%22isactive%22%3A1%7D" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/app/settings"
);

const params = {
    "data": "{"id":1,"mobilePrefix":"example","currency":"example","showRemarksOnQuestions":1,"showRemarksOnAllItems":1,"androidMaintenanceMode":1,"androidMinVersion":"example","androidCurVersion":"example","iosMinVersion":"example","iosCurVersion":"example","moneyFormat":"example","phoneMask":"03000000","showBigCategory":1,"orderMenuCatalogId":1,"galleryCatalogId":1,"productCatalogId":1,"isactive":1}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (App Setting, Added Successfully):


{
    "MESSAGE": "App Setting, Added Successfully",
    "STATUS": "success"
}
 

Example response (Error: Only head office is authorized):


{
    "MESSAGE": "Only head office is authorized",
    "STATUS": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "MESSAGE": "Wrong data json format",
    "STATUS": "fail"
}
 

Request      

POST api/v1/app/settings

Query Parameters

data  string  

Required. Type: string. JSON object sent as the data query parameter (?data={...}). Fields inside that JSON (type, required, validation) are listed below.

FieldTypeRequiredValidation
idstringrequiredrequired
mobilePrefixstringrequiredrequired|string|max:5
currencystringoptionalstring|max:3
showRemarksOnQuestionsintegeroptionalinteger|min:0|max:1
showRemarksOnAllItemsintegeroptionalinteger|min:0|max:1
androidMaintenanceModeintegeroptionalinteger|min:0|max:1
androidMinVersionstringrequiredrequired|string|max:12
androidCurVersionstringrequiredrequired|string|max:12
iosMinVersionstringrequiredrequired|string|max:12
iosCurVersionstringrequiredrequired|string|max:12
moneyFormatstringrequiredrequired|string|max:255
phoneMaskstringrequiredrequired|string|max:255
showBigCategoryintegeroptionalinteger|min:0|max:1
orderMenuCatalogIdstringrequiredrequired
galleryCatalogIdintegeroptionalinteger
productCatalogIdintegeroptionalinteger
isactiveintegeroptionalinteger|min:0|max:1

Request example:

{
"id": 1,
"mobilePrefix": "example",
"currency": "example",
"showRemarksOnQuestions": 1,
"showRemarksOnAllItems": 1,
"androidMaintenanceMode": 1,
"androidMinVersion": "example",
"androidCurVersion": "example",
"iosMinVersion": "example",
"iosCurVersion": "example",
"moneyFormat": "example",
"phoneMask": "03000000",
"showBigCategory": 1,
"orderMenuCatalogId": 1,
"galleryCatalogId": 1,
"productCatalogId": 1,
"isactive": 1
}

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Delete App Setting

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v1/app/setting/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/app/setting/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (App Setting with id 1 has been deleted Successfuly):


{
    "MESSAGE": "App Setting with id 1 has been deleted Successfuly",
    "STATUS": "success"
}
 

Example response (Error: you must enter a valid id):


{
    "MESSAGE": "you must enter a valid id",
    "STATUS": "fail"
}
 

Request      

DELETE api/v1/app/setting/{settingid}

URL Parameters

settingid  integer optional  

Optional. Type: integer.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Fetch Health

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/health" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/health"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (System is healthy):


{
    "MESSAGE": "System is healthy",
    "STATUS": "success"
}
 

Request      

GET api/v1/health

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Fetch Updateid

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/updateid" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/updateid"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


{
    "updateid": 1
}
 

Example response (Example error response (from controller)):


{
    "error": "Branch not found for the logged-in user"
}
 

Example response (Example error response (from controller)):


{
    "error": "An unexpected error occurred"
}
 

Request      

GET api/v1/updateid

Response

Response Fields

updateid  integer  

Returned by this endpoint.

Fetch Questiongroup Detail

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/questiongroup/details/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/questiongroup/details/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


{
    "data": [
        {
            "*": "example"
        }
    ],
    "status": "success"
}
 

Example response (Example error response (from controller)):


{
    "error": "Invalid questionid provided."
}
 

Example response (Example error response (from controller)):


{
    "error": "Branch not found for the logged-in user"
}
 

Example response (Example error response (from controller)):


{
    "error": "An unexpected error occurred"
}
 

Request      

GET api/v1/questiongroup/details/{questionid?}

URL Parameters

questionid  integer optional  

Optional. Type: integer.

Response

Response Fields

data  array  

Array field returned by this endpoint.

data[].*  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Fetch Questiongroup Header

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/questiongroup/headers/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/questiongroup/headers/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


{
    "data": [
        {
            "*": "example"
        }
    ],
    "status": "success"
}
 

Example response (Example error response (from controller)):


{
    "error": "Invalid questionid provided."
}
 

Example response (Example error response (from controller)):


{
    "error": "Branch not found for the logged-in user"
}
 

Example response (Example error response (from controller)):


{
    "error": "An unexpected error occurred"
}
 

Request      

GET api/v1/questiongroup/headers/{questionid?}

URL Parameters

questionid  integer optional  

Optional. Type: integer.

Response

Response Fields

data  array  

Array field returned by this endpoint.

data[].*  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add Admin Payment Facilities

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/admin/payment/facilities/store" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"DESCRIPT\": \"Ajax Festival\",
    \"ISACTIVE\": 1
}"
const url = new URL(
    "http://localhost/api/v1/admin/payment/facilities/store"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "DESCRIPT": "Ajax Festival",
    "ISACTIVE": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (Payment Facility created successfully):


{
    "message": "Payment Facility created successfully",
    "inserted": 1,
    "updated": 0,
    "deleted": 0,
    "status": "success"
}
 

Example response (Error: Payment Facility creation failed):


{
    "message": "Payment Facility creation failed",
    "status": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "message": "The given data was invalid.",
    "status": "fail"
}
 

Example response (Error: Please provide valid data):


{
    "message": "Please provide valid data",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "PayFacController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

POST api/v1/admin/payment/facilities/store

Body Parameters

DESCRIPT  string  

Required. Type: string. Validation: required|string.

Request body example:

[
    {
        "DESCRIPT": "Ajax Festival",
        "ISACTIVE": 1
    }
]

ISACTIVE  integer  

Required. Type: integer. Validation: required|integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

Response

Response Fields

message  string  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

deleted  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Fetch Admin Payment Facilities

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/admin/payment/facilities/show" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/admin/payment/facilities/show"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Payments Facilities fetched Successfully):


{
    "message": "Payments Facilities fetched Successfully",
    "status": "success",
    "data": "example"
}
 

Example response (Error: Payments Facilities not found):


{
    "message": "Payments Facilities not found",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "PayFacController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

GET api/v1/admin/payment/facilities/show

Response

Response Fields

message  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

data  string  

Returned by this endpoint.

Update Admin Payment Facility

requires authentication

Example request:
curl --request PUT \
    "http://localhost/api/v1/admin/payment/facilities/update" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"ID\": 1,
    \"DESCRIPT\": \"Ajax Festival\",
    \"ISACTIVE\": 1
}"
const url = new URL(
    "http://localhost/api/v1/admin/payment/facilities/update"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "ID": 1,
    "DESCRIPT": "Ajax Festival",
    "ISACTIVE": 1
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (Payment Facility updated successfully):


{
    "message": "Payment Facility updated successfully",
    "inserted": 0,
    "updated": 1,
    "deleted": 0,
    "status": "success"
}
 

Example response (Error: Payment Facility update failed):


{
    "message": "Payment Facility update failed",
    "status": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "message": "The given data was invalid.",
    "status": "fail"
}
 

Example response (Error: Please provide valid data):


{
    "message": "Please provide valid data",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "PayFacController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

PUT api/v1/admin/payment/facilities/update

Body Parameters

ID  integer  

Required. Type: integer. Validation: required|integer.

DESCRIPT  string  

Required. Type: string. Validation: required|string.

Request body example:

[
    {
        "ID": 1,
        "DESCRIPT": "Ajax Festival",
        "ISACTIVE": 1
    }
]

ISACTIVE  integer  

Required. Type: integer. Validation: required|integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

Response

Response Fields

message  string  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

deleted  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Delete Admin Payment Facility

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v1/admin/payment/facilities/1/delete" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/admin/payment/facilities/1/delete"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Payment Facility deleted successfully):


{
    "message": "Payment Facility deleted successfully",
    "inserted": 0,
    "updated": 0,
    "deleted": 1,
    "status": "success"
}
 

Example response (Error: Payment Facility deletion failed):


{
    "message": "Payment Facility deletion failed",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "PayFacController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

DELETE api/v1/admin/payment/facilities/{id}/delete

URL Parameters

id  integer  

Required. Type: integer. The ID of the facility.

Response

Response Fields

message  string  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

deleted  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add User Order Schedule

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/user/order/schedule/store" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"schedule\": [
        {
            \"day\": \"example\",
            \"delivery\": \"example\",
            \"takeaway\": \"example\"
        }
    ]
}"
const url = new URL(
    "http://localhost/api/v1/user/order/schedule/store"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "schedule": [
        {
            "day": "example",
            "delivery": "example",
            "takeaway": "example"
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (Schedule created successfully):


{
    "status": "success",
    "message": "Schedule created successfully",
    "data": [
        {
            "day": "example",
            "delivery": {
                "from": "example",
                "to": "example"
            },
            "takeaway": {
                "from": "example",
                "to": "example"
            }
        }
    ]
}
 

Example response (Error: Unauthorized):


{
    "status": "error",
    "message": "Unauthorized"
}
 

Example response (Error: Validation failed):


{
    "status": "error",
    "message": "Validation failed",
    "errors": "example"
}
 

Example response (Error: Error saving schedule):


{
    "status": "error",
    "message": "Error saving schedule",
    "error": "Exception message"
}
 

Request      

POST api/v1/user/order/schedule/store

Body Parameters

schedule  object[] optional  

Optional. Type: object[].

Request body example:

{
    "schedule": [
        {
            "day": "example",
            "delivery": "example",
            "takeaway": "example"
        }
    ]
}

schedule[].day  string  

Required. Type: string. Validation: required|string|in:Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday. Must be one of Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, or Sunday.

schedule[].delivery  string  

Required. Type: string. Validation: required.

schedule[].takeaway  string  

Required. Type: string. Validation: required.

Response

Response Fields

status  string  

Returned by this endpoint.

message  string  

Returned by this endpoint.

data  array  

Array field returned by this endpoint.

data[].day  string  

Returned by this endpoint.

data[].delivery  object  

Object field returned by this endpoint.

data[].delivery.from  string  

Returned by this endpoint.

data[].delivery.to  string  

Returned by this endpoint.

data[].takeaway  object  

Object field returned by this endpoint.

data[].takeaway.from  string  

Returned by this endpoint.

data[].takeaway.to  string  

Returned by this endpoint.

Add Initiate Direct Payment

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/initiate/direct/payment" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/initiate/direct/payment"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (OrderSuccessfull, To complete payment, open OMT Pay and use the above PIN):


{
    "message": "OrderSuccessfull, To complete payment, open OMT Pay and use the above PIN",
    "pin": "example",
    "status": "success"
}
 

Example response (Error: Could not update the token or token expiry):


{
    "message": "Could not update the token or token expiry",
    "status": "fail"
}
 

Example response (Error: Order Not Found):


{
    "message": "Order Not Found",
    "status": "fail"
}
 

Example response (Error: example):


{
    "message": "example",
    "status": "fail"
}
 

Example response (Error: Payments Facility Details for OMT not found):


{
    "message": "Payments Facility Details for OMT not found",
    "status": "fail"
}
 

Example response (Error: Restaurant Payments Facility for OMT not found):


{
    "message": "Restaurant Payments Facility for OMT not found",
    "status": "fail"
}
 

Example response (Error: Payments Facility OMT not found):


{
    "message": "Payments Facility OMT not found",
    "status": "fail"
}
 

Request      

POST api/v1/initiate/direct/payment

Response

Response Fields

message  string  

Returned by this endpoint.

pin  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add Webhook Omt Payment Status

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/webhook/omt/payment/status" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"session_id\": 1,
    \"transaction_id\": 1,
    \"identifier\": \"example\",
    \"amount\": 12.5,
    \"currency\": \"example\",
    \"payment_type\": 1,
    \"status\": 1,
    \"customer_mobile\": \"example\"
}"
const url = new URL(
    "http://localhost/api/v1/webhook/omt/payment/status"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "session_id": 1,
    "transaction_id": 1,
    "identifier": "example",
    "amount": 12.5,
    "currency": "example",
    "payment_type": 1,
    "status": 1,
    "customer_mobile": "example"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (Error: Order Not Found):


{
    "message": "Order Not Found",
    "status": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "message": "The given data was invalid.",
    "status": "fail"
}
 

Example response (Error: Webhook authentication failed.):


{
    "message": "Webhook authentication failed.",
    "received": "example"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "PayOMTController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

POST api/v1/webhook/omt/payment/status

Body Parameters

session_id  string  

Required. Type: string. Validation: required|string.

transaction_id  string  

Required. Type: string. Validation: required|string.

identifier  string  

Required. Type: string. Validation: required|string.

amount  number  

Required. Type: number. Validation: required|numeric.

Request body example:

[
    {
        "session_id": 1,
        "transaction_id": 1,
        "identifier": "example",
        "amount": 12.5,
        "currency": "example",
        "payment_type": 1,
        "status": 1,
        "customer_mobile": "example"
    }
]

currency  string  

Required. Type: string. Validation: required|string.

payment_type  string  

Required. Type: string. Validation: required|string.

status  string  

Required. Type: string. Validation: required|string.

customer_mobile  string  

Required. Type: string. Validation: required|string.

Response

Response Fields

message  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Fetch Webhook Order Shopify

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/webhooks/orders/shopify" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/webhooks/orders/shopify"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (generated)):


{
    "status": "success",
    "message": "",
    "data": [
        {
            "id": 1,
            "webhook_name": "Example Webhook",
            "is_active": true
        },
        {
            "id": 2,
            "webhook_name": "Example Webhook",
            "is_active": true
        }
    ]
}
 

Example response (Example unauthorized response (generated)):


{
    "message": "Unauthorized",
    "error": "Unauthorized",
    "status": "fail"
}
 

Request      

GET api/v1/webhooks/orders/shopify

POST api/v1/webhooks/orders/shopify

PUT api/v1/webhooks/orders/shopify

PATCH api/v1/webhooks/orders/shopify

DELETE api/v1/webhooks/orders/shopify

OPTIONS api/v1/webhooks/orders/shopify

Response

Response Fields

status  string  

Returned by this endpoint.

message  string  

Returned by this endpoint.

data  array  

Array field returned by this endpoint.

data[].id  integer  

Returned by this endpoint.

data[].webhook_name  string  

Returned by this endpoint.

data[].is_active  boolean  

Returned by this endpoint.

Fetch Webhook Shopify Customer Data Request

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/webhooks/shopify/customers/data_request" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/webhooks/shopify/customers/data_request"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (successfull):


{
    "MESSAGE": "successfull",
    "STATUS": "success"
}
 

Example response (Error: unauth):


{
    "MESSAGE": "unauth",
    "STATUS": "success"
}
 

Request      

GET api/v1/webhooks/shopify/customers/data_request

POST api/v1/webhooks/shopify/customers/data_request

PUT api/v1/webhooks/shopify/customers/data_request

PATCH api/v1/webhooks/shopify/customers/data_request

DELETE api/v1/webhooks/shopify/customers/data_request

OPTIONS api/v1/webhooks/shopify/customers/data_request

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Fetch Webhook Shopify App Uninstalled

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/webhooks/shopify/app-uninstalled" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/webhooks/shopify/app-uninstalled"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (uninstalled successfully):


{
    "MESSAGE": "uninstalled successfully",
    "STATUS": "success"
}
 

Request      

GET api/v1/webhooks/shopify/app-uninstalled

POST api/v1/webhooks/shopify/app-uninstalled

PUT api/v1/webhooks/shopify/app-uninstalled

PATCH api/v1/webhooks/shopify/app-uninstalled

DELETE api/v1/webhooks/shopify/app-uninstalled

OPTIONS api/v1/webhooks/shopify/app-uninstalled

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Fetch Webhook Shopify Customer Redact

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/webhooks/shopify/customers/redact" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/webhooks/shopify/customers/redact"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (successfull):


{
    "MESSAGE": "successfull",
    "STATUS": "success"
}
 

Example response (Error: unauth):


{
    "MESSAGE": "unauth",
    "STATUS": "success"
}
 

Request      

GET api/v1/webhooks/shopify/customers/redact

POST api/v1/webhooks/shopify/customers/redact

PUT api/v1/webhooks/shopify/customers/redact

PATCH api/v1/webhooks/shopify/customers/redact

DELETE api/v1/webhooks/shopify/customers/redact

OPTIONS api/v1/webhooks/shopify/customers/redact

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Fetch Webhook Shopify Shop Redact

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/webhooks/shopify/shop/redact" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/webhooks/shopify/shop/redact"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (successfull):


{
    "MESSAGE": "successfull",
    "STATUS": "success"
}
 

Example response (Error: unauth):


{
    "MESSAGE": "unauth",
    "STATUS": "fail"
}
 

Request      

GET api/v1/webhooks/shopify/shop/redact

POST api/v1/webhooks/shopify/shop/redact

PUT api/v1/webhooks/shopify/shop/redact

PATCH api/v1/webhooks/shopify/shop/redact

DELETE api/v1/webhooks/shopify/shop/redact

OPTIONS api/v1/webhooks/shopify/shop/redact

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Fetch Menuapp Categories

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/menuapp/categories" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/menuapp/categories"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


{
    "status": "OK",
    "code": 200,
    "data": {
        "status_code": 200,
        "categories": [
            {
                "id": 1,
                "name": "Ajax Festival",
                "items": [
                    {
                        "in_stock": false,
                        "price_levels": [
                            {
                                "id": 1,
                                "price": 12.5
                            }
                        ]
                    }
                ]
            }
        ]
    }
}
 

Example response (Example error response (from controller)):


{
    "status": "OK",
    "code": 200,
    "data": {
        "status_code": 400,
        "message": "Something went wrong / Exception"
    }
}
 

Request      

GET api/v1/menuapp/categories

Response

Response Fields

status  string  

Returned by this endpoint.

code  integer  

Returned by this endpoint.

data  object  

Object field returned by this endpoint.

data.status_code  integer  

Returned by this endpoint.

data.categories  array  

Array field returned by this endpoint.

data.categories[].id  integer  

Returned by this endpoint.

data.categories[].name  string  

Returned by this endpoint.

data.categories[].items  array  

Array field returned by this endpoint.

data.categories[].items[].in_stock  boolean  

Returned by this endpoint.

data.categories[].items[].price_levels  array  

Array field returned by this endpoint.

data.categories[].items[].price_levels[].id  integer  

Returned by this endpoint.

data.categories[].items[].price_levels[].price  number  

Returned by this endpoint.

Fetch Menuapp Combo Meals

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/menuapp/combo-meals" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/menuapp/combo-meals"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example error response (from controller)):


{
    "status": "OK",
    "code": 200,
    "data": {
        "status_code": 400,
        "message": "Something went wrong / Exception"
    }
}
 

Example response (Example success response (generated)):


{
    "status": "success",
    "message": "",
    "data": [
        {
            "id": 1,
            "menuapp_name": "Example Menuapp",
            "is_active": true
        },
        {
            "id": 2,
            "menuapp_name": "Example Menuapp",
            "is_active": true
        }
    ]
}
 

Example response (Example unauthorized response (generated)):


{
    "message": "Unauthorized",
    "error": "Unauthorized",
    "status": "fail"
}
 

Request      

GET api/v1/menuapp/combo-meals

Response

Response Fields

status  string  

Returned by this endpoint.

message  string  

Returned by this endpoint.

data  array  

Array field returned by this endpoint.

data[].id  integer  

Returned by this endpoint.

data[].menuapp_name  string  

Returned by this endpoint.

data[].is_active  boolean  

Returned by this endpoint.

Fetch Menuapp Modifiers

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/menuapp/modifiers" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/menuapp/modifiers"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example error response (from controller)):


{
    "status": "OK",
    "code": 200,
    "data": {
        "status_code": 400,
        "message": "Something went wrong / Exception"
    }
}
 

Example response (Example success response (generated)):


{
    "status": "success",
    "message": "",
    "data": [
        {
            "id": 1,
            "menuapp_name": "Example Menuapp",
            "is_active": true
        },
        {
            "id": 2,
            "menuapp_name": "Example Menuapp",
            "is_active": true
        }
    ]
}
 

Example response (Example unauthorized response (generated)):


{
    "message": "Unauthorized",
    "error": "Unauthorized",
    "status": "fail"
}
 

Request      

GET api/v1/menuapp/modifiers

Response

Response Fields

status  string  

Returned by this endpoint.

message  string  

Returned by this endpoint.

data  array  

Array field returned by this endpoint.

data[].id  integer  

Returned by this endpoint.

data[].menuapp_name  string  

Returned by this endpoint.

data[].is_active  boolean  

Returned by this endpoint.

Add Menuapp Orders

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/menuapp/orders" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/menuapp/orders"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


{
    "MESSAGE": {
        "status": "OK",
        "code": 200,
        "data": {
            "status_code": 200,
            "order_id": "ORD-1001",
            "order_code": 1,
            "order_uuid": 1,
            "order_due": 0,
            "is_open": true,
            "closed_at": "example",
            "pos_order_info": {
                "pos_order_id": "ORD-1001",
                "pos_order_code": "ORD-1001"
            }
        }
    },
    "STATUS": "success"
}
 

Example response (Error: Order Not Added):


{
    "MESSAGE": "Order Not Added",
    "STATUS": "fail"
}
 

Example response (Error: Items not Added Please Delete the order and try again):


{
    "MESSAGE": "Items not Added Please Delete the order and try again",
    "STATUS": "fail"
}
 

Example response (Error: Branch not Registed):


{
    "MESSAGE": "Branch not Registed",
    "STATUS": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "MESSAGE": "Wrong data json format",
    "STATUS": "fail"
}
 

Request      

POST api/v1/menuapp/orders

Response

Response Fields

MESSAGE  object  

Object field returned by this endpoint.

MESSAGE.status  string  

Returned by this endpoint.

MESSAGE.code  integer  

Returned by this endpoint.

MESSAGE.data  object  

Object field returned by this endpoint.

MESSAGE.data.status_code  integer  

Returned by this endpoint.

MESSAGE.data.order_id  string  

Returned by this endpoint.

MESSAGE.data.order_code  integer  

Returned by this endpoint.

MESSAGE.data.order_uuid  integer  

Returned by this endpoint.

MESSAGE.data.order_due  integer  

Returned by this endpoint.

MESSAGE.data.is_open  boolean  

Returned by this endpoint.

MESSAGE.data.closed_at  string  

Returned by this endpoint.

MESSAGE.data.pos_order_info  object  

Object field returned by this endpoint.

MESSAGE.data.pos_order_info.pos_order_id  string  

Returned by this endpoint.

MESSAGE.data.pos_order_info.pos_order_code  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Shop APIs (V1) — Geo Addresses

Store / channel write endpoints for pushing catalog data and integrating external systems (Shopify, Deliverect, etc.).

Add Branches

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/branches?data=%7B%22id%22%3A1%2C%22name%22%3A%22Example+Name%22%2C%22phone%22%3A%2203000000%22%2C%22email%22%3A%22example%40bimpos.com%22%2C%22isactive%22%3A1%2C%22openinghours%22%3A%22example%22%2C%22acceptsdelivery%22%3A1%2C%22acceptstakeaway%22%3A1%2C%22hidden%22%3A1%2C%22longitude%22%3A35.5018%2C%22latitude%22%3A33.8938%2C%22address%22%3A%22example%22%2C%22clientid%22%3A1%2C%22deliveryhours%22%3A%22example%22%7D" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/branches"
);

const params = {
    "data": "{"id":1,"name":"Example Name","phone":"03000000","email":"example@bimpos.com","isactive":1,"openinghours":"example","acceptsdelivery":1,"acceptstakeaway":1,"hidden":1,"longitude":35.5018,"latitude":33.8938,"address":"example","clientid":1,"deliveryhours":"example"}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (Branch Example Name Added Successfully):


{
    "MESSAGE": "Branch Example Name Added Successfully",
    "STATUS": "success"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "MESSAGE": "Wrong data json format",
    "STATUS": "fail"
}
 

Request      

POST api/v1/branches

Query Parameters

data  string  

Required. Type: string. JSON object sent as the data query parameter (?data={...}). Fields inside that JSON (type, required, validation) are listed below.

FieldTypeRequiredValidation
idstringrequiredrequired
namestringrequiredrequired|string|max:255
phonestringoptionalstring|max:50
emailstringoptionalstring|email|max:255
isactiveintegeroptionalinteger|min:0|max:1
openinghoursstringoptionalstring|max:255
acceptsdeliveryintegeroptionalinteger|min:0|max:1
acceptstakeawayintegeroptionalinteger|min:0|max:1
hiddenintegeroptionalinteger|min:0|max:1
longitudenumberoptional
latitudenumberoptional
addressstringoptional
clientidintegeroptional
deliveryhoursstringoptional

Request example:

{
"id": 1,
"name": "Example Name",
"phone": "03000000",
"email": "example@bimpos.com",
"isactive": 1,
"openinghours": "example",
"acceptsdelivery": 1,
"acceptstakeaway": 1,
"hidden": 1,
"longitude": 35.5018,
"latitude": 33.8938,
"address": "example",
"clientid": 1,
"deliveryhours": "example"
}

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Delete Branch Region

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v1/branchregion/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/branchregion/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Branch region with id 1 has been deleted Successfuly):


{
    "MESSAGE": "Branch region with id 1 has been deleted Successfuly",
    "STATUS": "success"
}
 

Example response (Error: you must enter a valid id):


{
    "MESSAGE": "you must enter a valid id",
    "STATUS": "fail"
}
 

Request      

DELETE api/v1/branchregion/{id}

URL Parameters

id  integer optional  

Optional. Type: integer. The ID of the branchregion.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Delete Branch

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v1/branch/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/branch/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Branch with id 1 has been deleted Successfuly):


{
    "MESSAGE": "Branch with id 1 has been deleted Successfuly",
    "STATUS": "success"
}
 

Example response (Error: Branch with id 1 has NOT been deleted):


{
    "MESSAGE": "Branch with id 1 has NOT been deleted",
    "STATUS": "fail"
}
 

Example response (Error: you must enter a valid id):


{
    "MESSAGE": "you must enter a valid id",
    "STATUS": "fail"
}
 

Request      

DELETE api/v1/branch/{id}

URL Parameters

id  integer optional  

Optional. Type: integer. The ID of the branch.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Add Regions

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/regions?data=%7B%22id%22%3A1%2C%22name%22%3A%22Example+Name%22%2C%22isactive%22%3A1%2C%22citycode%22%3A1%2C%22countrycode%22%3A1%2C%22zipcode%22%3A1%7D" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/regions"
);

const params = {
    "data": "{"id":1,"name":"Example Name","isactive":1,"citycode":1,"countrycode":1,"zipcode":1}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (Region Example Name Added Successfully):


{
    "MESSAGE": "Region Example Name Added Successfully",
    "STATUS": "success"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "MESSAGE": "Wrong data json format",
    "STATUS": "fail"
}
 

Request      

POST api/v1/regions

Query Parameters

data  string  

Required. Type: string. JSON object sent as the data query parameter (?data={...}). Fields inside that JSON (type, required, validation) are listed below.

FieldTypeRequiredValidation
idstringrequiredrequired
namestringrequiredrequired|string|max:255
isactiveintegeroptionalinteger|min:0|max:1
citycodeintegeroptional
countrycodeintegeroptional
zipcodeintegeroptional

Request example:

{
"id": 1,
"name": "Example Name",
"isactive": 1,
"citycode": 1,
"countrycode": 1,
"zipcode": 1
}

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Delete Region

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v1/region/16" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/region/16"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Region with id 1 has been deleted Successfuly):


{
    "MESSAGE": "Region with id 1 has been deleted Successfuly",
    "STATUS": "success"
}
 

Example response (Error: you must enter a valid id):


{
    "MESSAGE": "you must enter a valid id",
    "STATUS": "fail"
}
 

Request      

DELETE api/v1/region/{id}

URL Parameters

id  integer optional  

Optional. Type: integer. The ID of the region.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Add Branch Region

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/branchesregions/1/1?data=%7B%22id%22%3A1%2C%22name%22%3A%22Example+Name%22%2C%22isactive%22%3A1%2C%22deliverycharge%22%3A%22example%22%7D" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/branchesregions/1/1"
);

const params = {
    "data": "{"id":1,"name":"Example Name","isactive":1,"deliverycharge":"example"}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (The branch id: 1, and the city id: 1 are not found):


{
    "MESSAGE": "The branch id: 1, and the city id: 1 are not found",
    "STATUS": "success"
}
 

Example response (Error: you must enter valid ids):


{
    "MESSAGE": "you must enter valid ids",
    "STATUS": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "MESSAGE": "Wrong data json format",
    "STATUS": "fail"
}
 

Request      

POST api/v1/branchesregions/{branchid}/{regionid}

URL Parameters

branchid  integer  

Required. Type: integer.

regionid  integer  

Required. Type: integer.

Query Parameters

data  string  

Required. Type: string. JSON object sent as the data query parameter (?data={...}). Fields inside that JSON (type, required, validation) are listed below.

FieldTypeRequiredValidation
idstringrequiredrequired
namestringoptionalstring|max:200
isactiveintegeroptionalinteger|min:0|max:1
deliverychargestringoptional

Request example:

{
"id": 1,
"name": "Example Name",
"isactive": 1,
"deliverycharge": "example"
}

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Add Cities

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/cities?data=%7B%22id%22%3A1%2C%22name%22%3A%22Example+Name%22%2C%22phonecode%22%3A%2203000000%22%2C%22isactive%22%3A1%7D" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/cities"
);

const params = {
    "data": "{"id":1,"name":"Example Name","phonecode":"03000000","isactive":1}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (City Example Name Added Successfully):


{
    "MESSAGE": "City Example Name Added Successfully",
    "STATUS": "success"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "MESSAGE": "Wrong data json format",
    "STATUS": "fail"
}
 

Request      

POST api/v1/cities

Query Parameters

data  string  

Required. Type: string. JSON object sent as the data query parameter (?data={...}). Fields inside that JSON (type, required, validation) are listed below.

FieldTypeRequiredValidation
idstringrequiredrequired
namestringrequiredrequired|string|max:255
phonecodestringoptionalstring|max:255
isactiveintegeroptionalinteger|min:0|max:1

Request example:

{
"id": 1,
"name": "Example Name",
"phonecode": "03000000",
"isactive": 1
}

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Delete City

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v1/city/16" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/city/16"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (City with id 1 has been deleted Successfuly):


{
    "MESSAGE": "City with id 1 has been deleted Successfuly",
    "STATUS": "success"
}
 

Example response (Error: you must enter a valid id):


{
    "MESSAGE": "you must enter a valid id",
    "STATUS": "fail"
}
 

Request      

DELETE api/v1/city/{id}

URL Parameters

id  integer optional  

Optional. Type: integer. The ID of the city.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Add Countries

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/countries?data=%7B%22id%22%3A1%2C%22name%22%3A%22Example+Name%22%2C%22isactive%22%3A1%2C%22phonemask%22%3A%2203000000%22%2C%22smscodestart%22%3A%22example%22%2C%22phonecode%22%3A%2203000000%22%2C%22phonelength%22%3A%2203000000%22%7D" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/countries"
);

const params = {
    "data": "{"id":1,"name":"Example Name","isactive":1,"phonemask":"03000000","smscodestart":"example","phonecode":"03000000","phonelength":"03000000"}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (Country Example Name Added Successfully):


{
    "MESSAGE": "Country Example Name Added Successfully",
    "STATUS": "success"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "MESSAGE": "Wrong data json format",
    "STATUS": "fail"
}
 

Request      

POST api/v1/countries

Query Parameters

data  string  

Required. Type: string. JSON object sent as the data query parameter (?data={...}). Fields inside that JSON (type, required, validation) are listed below.

FieldTypeRequiredValidation
idstringrequiredrequired
namestringrequiredrequired|string|max:100
isactiveintegeroptionalinteger|min:0|max:1
phonemaskstringoptionalstring|max:20
smscodestartstringoptionalstring|max:100
phonecodestringoptional
phonelengthstringoptional

Request example:

{
"id": 1,
"name": "Example Name",
"isactive": 1,
"phonemask": "03000000",
"smscodestart": "example",
"phonecode": "03000000",
"phonelength": "03000000"
}

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Delete Country

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v1/country/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/country/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Country with id 1 has been deleted Successfuly):


{
    "MESSAGE": "Country with id 1 has been deleted Successfuly",
    "STATUS": "success"
}
 

Example response (Error: you must enter a valid id):


{
    "MESSAGE": "you must enter a valid id",
    "STATUS": "fail"
}
 

Request      

DELETE api/v1/country/{id}

URL Parameters

id  integer optional  

Optional. Type: integer. The ID of the country.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Add Branch Settings

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/branch/1/settings?data=%7B%22settingkey%22%3A%22example%22%2C%22boolvalue%22%3A1%2C%22numvalue%22%3A1%2C%22doublevalue%22%3A%22example%22%2C%22isactive%22%3A1%2C%22stringvalue%22%3A%22example%22%2C%22id%22%3A1%7D" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/branch/1/settings"
);

const params = {
    "data": "{"settingkey":"example","boolvalue":1,"numvalue":1,"doublevalue":"example","isactive":1,"stringvalue":"example","id":1}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (Store Setting Added Successfully):


{
    "MESSAGE": "Store Setting Added Successfully",
    "STATUS": "success"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "MESSAGE": "Wrong data json format",
    "STATUS": "fail"
}
 

Example response (Error: The branch was not found):


{
    "MESSAGE": "The branch was not found",
    "STATUS": "fail"
}
 

Example response (Error: Please specify a branch id):


{
    "MESSAGE": "Please specify a branch id",
    "STATUS": "fail"
}
 

Request      

POST api/v1/branch/{branchid}/settings

URL Parameters

branchid  integer optional  

Optional. Type: integer.

Query Parameters

data  string  

Required. Type: string. JSON object sent as the data query parameter (?data={...}). Fields inside that JSON (type, required, validation) are listed below.

FieldTypeRequiredValidation
settingkeystringrequiredrequired|string|max:100
boolvalueintegeroptionalinteger|min:0|max:1
numvalueintegeroptionalinteger
doublevaluestringoptionalregex:/^[0-9]+(.[0-9][0-9]?)?$/
isactiveintegeroptionalinteger|min:0|max:1
stringvaluestringoptional
idintegeroptional

Request example:

{
"settingkey": "example",
"boolvalue": 1,
"numvalue": 1,
"doublevalue": "example",
"isactive": 1,
"stringvalue": "example",
"id": 1
}

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Delete Branch Setting

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v1/branch/1/setting/example" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/branch/1/setting/example"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Store setting with id example has been deleted Successfuly):


{
    "MESSAGE": "Store setting with id example has been deleted Successfuly",
    "STATUS": "success"
}
 

Example response (Error: you must enter a valid id):


{
    "MESSAGE": "you must enter a valid id",
    "STATUS": "fail"
}
 

Example response (Error: Branch not found):


{
    "MESSAGE": "Branch not found",
    "STATUS": "fail"
}
 

Example response (Error: Please enter a branch id and a setting key):


{
    "MESSAGE": "Please enter a branch id and a setting key",
    "STATUS": "fail"
}
 

Request      

DELETE api/v1/branch/{branchid}/setting/{settingkey}

URL Parameters

branchid  integer optional  

Optional. Type: integer.

settingkey  string optional  

Optional. Type: string.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Shop APIs (V1) — Orders

Store / channel write endpoints for pushing catalog data and integrating external systems (Shopify, Deliverect, etc.).

Add Item Void

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/items/void" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"posDetailId\": 1
}"
const url = new URL(
    "http://localhost/api/v1/items/void"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "posDetailId": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (Item(s) Deleted Successfully):


{
    "message": "Item(s) Deleted Successfully",
    "status": "success"
}
 

Example response (Example error response (from controller)):


{
    "error": "Invalid request format. Expecting JSON data."
}
 

Example response (Error: Branch not found for the logged-in user):


{
    "message": "Branch not found for the logged-in user",
    "status": "fail"
}
 

Example response (Error: There are validation errors):


{
    "MESSAGE": "There are validation errors",
    "STATUS": "fail"
}
 

Example response (Error: There are failed orders):


{
    "MESSAGE": "There are failed orders",
    "STATUS": "fail"
}
 

Example response (Error: posapis void webhook failed):


{
    "message": "posapis void webhook failed",
    "status": "fail"
}
 

Example response (Error: emenus void webhook not found):


{
    "message": "emenus void webhook not found",
    "status": "fail"
}
 

Request      

POST api/v1/items/void

Body Parameters

posDetailId  integer  

Required. Type: integer. Validation: required|integer.

Request body example:

[
    {
        "posDetailId": 1
    }
]

Response

Response Fields

message  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Shop APIs (V1) — Payments

Store / channel write endpoints for pushing catalog data and integrating external systems (Shopify, Deliverect, etc.).

Delete Currencytype

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v1/currencytypes/16" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/currencytypes/16"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Currency Type with id 1 has been deleted Successfuly):


{
    "MESSAGE": "Currency Type with id 1 has been deleted Successfuly",
    "STATUS": "success"
}
 

Example response (Error: you must enter a valid id):


{
    "MESSAGE": "you must enter a valid id",
    "STATUS": "fail"
}
 

Request      

DELETE api/v1/currencytypes/{currencytypeid}

URL Parameters

currencytypeid  integer  

Required. Type: integer.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Delete Currency

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v1/currencies/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/currencies/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Currency with id 1 has been deleted Successfuly):


{
    "MESSAGE": "Currency with id 1 has been deleted Successfuly",
    "STATUS": "success"
}
 

Example response (Error: you must enter a valid id):


{
    "MESSAGE": "you must enter a valid id",
    "STATUS": "fail"
}
 

Request      

DELETE api/v1/currencies/{currencyid}

URL Parameters

currencyid  integer  

Required. Type: integer.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Delete Pricelist

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v1/pricelists/16" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/pricelists/16"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Price List with id 1 has been deleted Successfuly):


{
    "MESSAGE": "Price List with id 1 has been deleted Successfuly",
    "STATUS": "success"
}
 

Example response (Error: you must enter a valid id):


{
    "MESSAGE": "you must enter a valid id",
    "STATUS": "fail"
}
 

Request      

DELETE api/v1/pricelists/{pricelistid}

URL Parameters

pricelistid  integer  

Required. Type: integer.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Delete Pricelistdetail

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v1/pricelistdetails/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/pricelistdetails/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Price List Detail with id 1 has been deleted Successfuly):


{
    "MESSAGE": "Price List Detail with id 1 has been deleted Successfuly",
    "STATUS": "success"
}
 

Example response (Error: you must enter a valid id):


{
    "MESSAGE": "you must enter a valid id",
    "STATUS": "fail"
}
 

Request      

DELETE api/v1/pricelistdetails/{pricelistdetailid}

URL Parameters

pricelistdetailid  integer  

Required. Type: integer.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Shop APIs (V1) — Products

Store / channel write endpoints for pushing catalog data and integrating external systems (Shopify, Deliverect, etc.).

Add Parents

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/parents?data=%7B%22id%22%3A1%2C%22descript%22%3A%22Ajax+Festival%22%2C%22isactive%22%3A1%7D" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/parents"
);

const params = {
    "data": "{"id":1,"descript":"Ajax Festival","isactive":1}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (Parent Added Successfully):


{
    "MESSAGE": "Parent Added Successfully",
    "STATUS": "success"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "MESSAGE": "Wrong data json format",
    "STATUS": "fail"
}
 

Request      

POST api/v1/parents

Query Parameters

data  string  

Required. Type: string. JSON object sent as the data query parameter (?data={...}). Fields inside that JSON (type, required, validation) are listed below.

FieldTypeRequiredValidation
idstringrequiredrequired
descriptstringoptionalstring|max:255
isactiveintegeroptionalinteger|min:0|max:1

Request example:

{
"id": 1,
"descript": "Ajax Festival",
"isactive": 1
}

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Delete Parent

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v1/parent/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/parent/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Parent with id 1 has been deleted Successfuly):


{
    "MESSAGE": "Parent with id 1 has been deleted Successfuly",
    "STATUS": "success"
}
 

Example response (Error: you must enter a valid id):


{
    "MESSAGE": "you must enter a valid id",
    "STATUS": "fail"
}
 

Request      

DELETE api/v1/parent/{id}

URL Parameters

id  integer optional  

Optional. Type: integer. The ID of the parent.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Add Category

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/categories/1/1?data=%7B%22catid%22%3A1%2C%22isactive%22%3A1%2C%22catname%22%3A%22Example+Catname%22%2C%22descript%22%3A%22Ajax+Festival%22%2C%22descript2%22%3A%22example%22%2C%22seq%22%3A1%2C%22hidefromnavigation%22%3A%22example%22%7D" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/categories/1/1"
);

const params = {
    "data": "{"catid":1,"isactive":1,"catname":"Example Catname","descript":"Ajax Festival","descript2":"example","seq":1,"hidefromnavigation":"example"}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (Category Added Successfully):


{
    "MESSAGE": "Category Added Successfully",
    "STATUS": "success"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "MESSAGE": "Wrong data json format",
    "STATUS": "fail"
}
 

Request      

POST api/v1/categories/{menuid}/{parentid}

URL Parameters

menuid  integer  

Required. Type: integer.

parentid  integer  

Required. Type: integer.

Query Parameters

data  string  

Required. Type: string. JSON object sent as the data query parameter (?data={...}). Fields inside that JSON (type, required, validation) are listed below.

FieldTypeRequiredValidation
catidstringrequiredrequired
isactiveintegeroptionalinteger|min:0|max:1
catnamestringoptional
descriptstringoptional
descript2stringoptional
seqintegeroptional
hidefromnavigationstringoptional

Request example:

{
"catid": 1,
"isactive": 1,
"catname": "Example Catname",
"descript": "Ajax Festival",
"descript2": "example",
"seq": 1,
"hidefromnavigation": "example"
}

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Delete Category

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v1/category/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/category/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Category with id 1 has been deleted Successfuly):


{
    "MESSAGE": "Category with id 1 has been deleted Successfuly",
    "STATUS": "success"
}
 

Example response (Error: Category with id 1 has NOT been deleted):


{
    "MESSAGE": "Category with id 1 has NOT been deleted",
    "STATUS": "fail"
}
 

Example response (Error: you must enter a valid id):


{
    "MESSAGE": "you must enter a valid id",
    "STATUS": "fail"
}
 

Request      

DELETE api/v1/category/{catid}

URL Parameters

catid  integer optional  

Optional. Type: integer.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Add Products

requires authentication

Pass product fields as a JSON object in the data query parameter. catid must exist for the authenticated client. Optional fields are persisted when present (prodnum, price, brand, modifiers, etc.).

Example request:
curl --request POST \
    "http://localhost/api/v1/products?data=%7B%22catid%22%3A1%2C%22descript%22%3A%22Ajax+Festival%22%2C%22enabled%22%3A1%2C%22refcode1%22%3A%22example%22%2C%22istaxable1%22%3A1%2C%22istaxable2%22%3A0%2C%22istaxable3%22%3A0%2C%22SKUID1%22%3A1%2C%22SKUID2%22%3A1%2C%22isactive%22%3A1%2C%22isproduction%22%3A0%2C%22prodnum%22%3A1003919%2C%22price%22%3A12000%2C%22descript2%22%3A%22example%22%2C%22prodinfo%22%3A%22example%22%2C%22prodinfo2%22%3A%22example%22%2C%22groupid%22%3A1%2C%22stock%22%3A%22example%22%2C%22pid%22%3A1%2C%22brand%22%3A%22example%22%2C%22country_of_origin%22%3A%22example%22%2C%22weight%22%3A%22example%22%2C%22weight_unit%22%3A%22example%22%2C%22refcode2%22%3A%22example%22%2C%22ModifiersGroupID%22%3A1%2C%22ComboGroupID%22%3A1%7D" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/products"
);

const params = {
    "data": "{"catid":1,"descript":"Ajax Festival","enabled":1,"refcode1":"example","istaxable1":1,"istaxable2":0,"istaxable3":0,"SKUID1":1,"SKUID2":1,"isactive":1,"isproduction":0,"prodnum":1003919,"price":12000,"descript2":"example","prodinfo":"example","prodinfo2":"example","groupid":1,"stock":"example","pid":1,"brand":"example","country_of_origin":"example","weight":"example","weight_unit":"example","refcode2":"example","ModifiersGroupID":1,"ComboGroupID":1}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (Product Added Successfully):


{
    "MESSAGE": "Product Added Successfully",
    "STATUS": "success"
}
 

Example response (Error: The Category is not found on shopify):


{
    "MESSAGE": "The Category is not found on shopify",
    "STATUS": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "MESSAGE": "Wrong data json format",
    "STATUS": "fail"
}
 

Request      

POST api/v1/products

Query Parameters

data  string  

Required. Type: string. JSON object sent as the data query parameter (?data={...}). Fields inside that JSON (type, required, validation) are listed below.

FieldTypeRequiredValidation
catidstringrequiredrequired
descriptstringoptionalstring|max:255
enabledintegeroptionalinteger|min:0|max:1
refcode1stringoptionalstring
istaxable1integeroptionalinteger|min:0|max:1
istaxable2integeroptionalinteger|min:0|max:1
istaxable3integeroptionalinteger|min:0|max:1
SKUID1integeroptionalinteger|nullable
SKUID2integeroptionalinteger|nullable
isactiveintegeroptionalinteger|min:0|max:1
isproductionintegeroptionalinteger|min:0|max:1|nullable
descript2stringoptional
prodinfostringoptional
prodinfo2stringoptional
groupidintegeroptional
stockstringoptional
pidintegeroptional
brandstringoptional
country_of_originstringoptional
weightstringoptional
weight_unitstringoptional
refcode2stringoptional
ModifiersGroupIDintegeroptional
ComboGroupIDintegeroptional

Request example:

{
"catid": 1,
"descript": "Ajax Festival",
"enabled": 1,
"refcode1": "example",
"istaxable1": 1,
"istaxable2": 0,
"istaxable3": 0,
"SKUID1": 1,
"SKUID2": 1,
"isactive": 1,
"isproduction": 0,
"prodnum": 1003919,
"price": 12000,
"descript2": "example",
"prodinfo": "example",
"prodinfo2": "example",
"groupid": 1,
"stock": "example",
"pid": 1,
"brand": "example",
"country_of_origin": "example",
"weight": "example",
"weight_unit": "example",
"refcode2": "example",
"ModifiersGroupID": 1,
"ComboGroupID": 1
}

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Delete Product

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v1/product/1003919/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/product/1003919/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Product with id 1003919 has been deleted Successfuly):


{
    "MESSAGE": "Product with id 1003919 has been deleted Successfuly",
    "STATUS": "success"
}
 

Example response (Error: Product with id 1003919 has NOT been deleted):


{
    "MESSAGE": "Product with id 1003919 has NOT been deleted",
    "STATUS": "fail"
}
 

Example response (Error: you must enter a valid id):


{
    "MESSAGE": "you must enter a valid id",
    "STATUS": "fail"
}
 

Request      

DELETE api/v1/product/{prodnum}/{catid}

URL Parameters

prodnum  integer optional  

Optional. Type: integer.

catid  integer optional  

Optional. Type: integer.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Add Product Pictures

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/products/1003919/pictures" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"pictureid\": \"https:\\/\\/posapis.com\\/example.jpg\"
}"
const url = new URL(
    "http://localhost/api/v1/products/1003919/pictures"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "pictureid": "https:\/\/posapis.com\/example.jpg"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (Picture Added Successfully):


{
    "MESSAGE": "Picture Added Successfully",
    "STATUS": "success"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Request      

POST api/v1/products/{prodnum}/pictures

URL Parameters

prodnum  integer  

Required. Type: integer.

Body Parameters

pictureid  integer  

Required. Type: integer. Validation: required.

Request body example:

{
    "pictureid": "https://posapis.com/example.jpg"
}

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Delete Product Picture

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v1/products/pictures/https://posapis.com/example.jpg" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/products/pictures/https://posapis.com/example.jpg"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Product picture with id 1 has been deleted Successfuly):


{
    "MESSAGE": "Product picture with id 1 has been deleted Successfuly",
    "STATUS": "success"
}
 

Example response (Error: Product picture with id 1 has NOT been deleted):


{
    "MESSAGE": "Product picture with id 1 has NOT been deleted",
    "STATUS": "fail"
}
 

Example response (Error: you must enter a valid id):


{
    "MESSAGE": "you must enter a valid id",
    "STATUS": "fail"
}
 

Request      

DELETE api/v1/products/pictures/{pictureid}

URL Parameters

pictureid  integer optional  

Optional. Type: integer.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Add Product Stock

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/product/1003919/example/example/stock?data=%7B%22stock%22%3A%22example%22%2C%22branchid%22%3A1%2C%22isactive%22%3A1%7D" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/product/1003919/example/example/stock"
);

const params = {
    "data": "{"stock":"example","branchid":1,"isactive":1}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (Product Stock Added Successfully):


{
    "MESSAGE": "Product Stock Added Successfully",
    "STATUS": "success"
}
 

Example response (Error: Shopify Inventory Item not found!!):


{
    "MESSAGE": "Shopify Inventory Item not found!!",
    "STATUS": "fail"
}
 

Example response (Error: We found multiple locations, that are not implemented yet!!):


{
    "MESSAGE": "We found multiple locations, that are not implemented yet!!",
    "STATUS": "fail"
}
 

Example response (Error: Branch not registered):


{
    "MESSAGE": "Branch not registered",
    "STATUS": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "MESSAGE": "Wrong data json format",
    "STATUS": "fail"
}
 

Example response (Error: The Product number, variation1, and variation2 cant be empty):


{
    "MESSAGE": "The Product number, variation1, and variation2 cant be empty",
    "STATUS": "fail"
}
 

Request      

POST api/v1/product/{prodnum}/{variation1}/{variation2}/stock

URL Parameters

prodnum  integer optional  

Optional. Type: integer.

variation1  string optional  

Optional. Type: string.

variation2  string optional  

Optional. Type: string.

Query Parameters

data  string  

Required. Type: string. JSON object sent as the data query parameter (?data={...}). Fields inside that JSON (type, required, validation) are listed below.

FieldTypeRequiredValidation
stockstringrequiredrequired
branchidstringrequiredrequired
isactiveintegeroptionalinteger|min:0|max:1

Request example:

{
"stock": "example",
"branchid": 1,
"isactive": 1
}

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Add Product Stocks

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/product/1003919/example/example/stocks?data=%7B%22stock%22%3A%22example%22%2C%22branchid%22%3A1%2C%22isactive%22%3A1%7D" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/product/1003919/example/example/stocks"
);

const params = {
    "data": "{"stock":"example","branchid":1,"isactive":1}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (Product Stocks Inserted Successfully):


{
    "MESSAGE": "Product Stocks Inserted Successfully",
    "STATUS": "success"
}
 

Example response (Error: Shopify Inventory Item not found!!):


{
    "MESSAGE": "Shopify Inventory Item not found!!",
    "STATUS": "fail"
}
 

Example response (Error: We found multiple locations, that are not implemented yet!!):


{
    "MESSAGE": "We found multiple locations, that are not implemented yet!!",
    "STATUS": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "MESSAGE": "Wrong data json format",
    "STATUS": "fail"
}
 

Example response (Error: Branch not registered):


{
    "MESSAGE": "Branch not registered",
    "STATUS": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Example response (Error: The Product number, variation1, and variation2 cant be empty):


{
    "MESSAGE": "The Product number, variation1, and variation2 cant be empty",
    "STATUS": "fail"
}
 

Request      

POST api/v1/product/{prodnum}/{variation1}/{variation2}/stocks

URL Parameters

prodnum  integer optional  

Optional. Type: integer.

variation1  string optional  

Optional. Type: string.

variation2  string optional  

Optional. Type: string.

Query Parameters

data  string  

Required. Type: string. JSON object sent as the data query parameter (?data={...}). Fields inside that JSON (type, required, validation) are listed below.

FieldTypeRequiredValidation
stockstringrequiredrequired
branchidstringrequiredrequired
isactiveintegeroptionalinteger|min:0|max:1

Request example:

{
"stock": "example",
"branchid": 1,
"isactive": 1
}

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Delete Product Stock

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v1/productstock/16/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/productstock/16/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Stock with prodnum: 1003919 and branchid: 1 has been deleted Successfuly):


{
    "MESSAGE": "Stock with prodnum: 1003919 and branchid: 1 has been deleted Successfuly",
    "STATUS": "success"
}
 

Example response (Error: you must enter a valid prodnum and branchid):


{
    "MESSAGE": "you must enter a valid prodnum and branchid",
    "STATUS": "fail"
}
 

Request      

DELETE api/v1/productstock/{prodnum}/{branchid}

URL Parameters

prodnum  integer optional  

Optional. Type: integer.

branchid  integer optional  

Optional. Type: integer.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Add Menus

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/menus?data=%7B%22menuid%22%3A1%2C%22descript%22%3A%22Ajax+Festival%22%2C%22isactive%22%3A1%2C%22customurl%22%3A%22https%3A%2F%2Fposapis.com%2Fexample.jpg%22%2C%22seq%22%3A1%2C%22conceptid%22%3A1%7D" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/menus"
);

const params = {
    "data": "{"menuid":1,"descript":"Ajax Festival","isactive":1,"customurl":"https://posapis.com/example.jpg","seq":1,"conceptid":1}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (Menu Ajax Festival has been Added Successfully):


{
    "MESSAGE": "Menu Ajax Festival has been Added Successfully",
    "STATUS": "success"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "MESSAGE": "Wrong data json format",
    "STATUS": "fail"
}
 

Request      

POST api/v1/menus

Query Parameters

data  string  

Required. Type: string. JSON object sent as the data query parameter (?data={...}). Fields inside that JSON (type, required, validation) are listed below.

FieldTypeRequiredValidation
menuidstringrequiredrequired
descriptstringoptionalstring|max:255
isactiveintegeroptionalinteger|min:0|max:1
customurlstringoptional
seqintegeroptional
conceptidintegeroptional

Request example:

{
"menuid": 1,
"descript": "Ajax Festival",
"isactive": 1,
"customurl": "https://posapis.com/example.jpg",
"seq": 1,
"conceptid": 1
}

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Delete Menu

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v1/menu/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/menu/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Menu with id 1 has been deleted Successfuly):


{
    "MESSAGE": "Menu with id 1 has been deleted Successfuly",
    "STATUS": "success"
}
 

Example response (Error: you must enter a valid id):


{
    "MESSAGE": "you must enter a valid id",
    "STATUS": "fail"
}
 

Request      

DELETE api/v1/menu/{menuid}

URL Parameters

menuid  integer optional  

Optional. Type: integer.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Add Tags

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/tags?data=%7B%22tagid%22%3A1%2C%22descript%22%3A%22Ajax+Festival%22%2C%22isactive%22%3A1%7D" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/tags"
);

const params = {
    "data": "{"tagid":1,"descript":"Ajax Festival","isactive":1}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (Product Tag Added Successfully):


{
    "MESSAGE": "Product Tag Added Successfully",
    "STATUS": "success"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "MESSAGE": "Wrong data json format",
    "STATUS": "fail"
}
 

Request      

POST api/v1/tags

Query Parameters

data  string  

Required. Type: string. JSON object sent as the data query parameter (?data={...}). Fields inside that JSON (type, required, validation) are listed below.

FieldTypeRequiredValidation
tagidstringrequiredrequired
descriptstringoptionalstring|max:255
isactiveintegeroptionalinteger|min:0|max:1

Request example:

{
"tagid": 1,
"descript": "Ajax Festival",
"isactive": 1
}

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Add Product Tag

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/producttags/1/1003919/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/producttags/1/1003919/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (The product id: 1003919, and the tag id: 1 are not found):


{
    "MESSAGE": "The product id: 1003919, and the tag id: 1 are not found",
    "STATUS": "success"
}
 

Example response (Error: you must enter valid product id):


{
    "MESSAGE": "you must enter valid product id",
    "STATUS": "fail"
}
 

Request      

POST api/v1/producttags/{id?}/{prodnum}/{tagid}

URL Parameters

id  integer optional  

Optional. Type: integer. The ID of the .

prodnum  integer  

Required. Type: integer.

tagid  integer  

Required. Type: integer.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Add Questiongroups

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/questiongroups?data=%7B%22id%22%3A1%2C%22descript%22%3A%22Ajax+Festival%22%2C%22isactive%22%3A1%2C%22conceptid%22%3A1%7D" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/questiongroups"
);

const params = {
    "data": "{"id":1,"descript":"Ajax Festival","isactive":1,"conceptid":1}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (Question Group Added Successfully):


{
    "MESSAGE": "Question Group Added Successfully",
    "STATUS": "success"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "MESSAGE": "Wrong data json format",
    "STATUS": "fail"
}
 

Request      

POST api/v1/questiongroups

Query Parameters

data  string  

Required. Type: string. JSON object sent as the data query parameter (?data={...}). Fields inside that JSON (type, required, validation) are listed below.

FieldTypeRequiredValidation
idstringrequiredrequired
descriptstringoptionalstring|max:100
isactiveintegeroptionalinteger|min:0|max:1
conceptidintegeroptional

Request example:

{
"id": 1,
"descript": "Ajax Festival",
"isactive": 1,
"conceptid": 1
}

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Delete Questiongroup

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v1/questiongroups/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/questiongroups/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Question Group with id 1 has been deleted Successfuly):


{
    "MESSAGE": "Question Group with id 1 has been deleted Successfuly",
    "STATUS": "success"
}
 

Example response (Error: you must enter a valid id):


{
    "MESSAGE": "you must enter a valid id",
    "STATUS": "fail"
}
 

Request      

DELETE api/v1/questiongroups/{id}

URL Parameters

id  integer optional  

Optional. Type: integer. The ID of the questiongroup.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Add Questiongroup Details

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/questiongroups/details?data=%7B%22uniqueid%22%3A1%2C%22questiongroupid%22%3A1%2C%22headerid%22%3A1%2C%22isactive%22%3A1%2C%22seq%22%3A1%2C%22conceptid%22%3A1%2C%22id%22%3A1%7D" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/questiongroups/details"
);

const params = {
    "data": "{"uniqueid":1,"questiongroupid":1,"headerid":1,"isactive":1,"seq":1,"conceptid":1,"id":1}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (Question Group Details Added Successfully):


{
    "MESSAGE": "Question Group Details Added Successfully",
    "STATUS": "success"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "MESSAGE": "Wrong data json format",
    "STATUS": "fail"
}
 

Request      

POST api/v1/questiongroups/details

Query Parameters

data  string  

Required. Type: string. JSON object sent as the data query parameter (?data={...}). Fields inside that JSON (type, required, validation) are listed below.

FieldTypeRequiredValidation
uniqueidstringrequiredrequired
questiongroupidstringrequiredrequired
headeridstringrequiredrequired
isactiveintegeroptionalinteger|min:0|max:1
seqintegeroptional
conceptidintegeroptional
idintegeroptional

Request example:

{
"uniqueid": 1,
"questiongroupid": 1,
"headerid": 1,
"isactive": 1,
"seq": 1,
"conceptid": 1,
"id": 1
}

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Delete Questiongroup Detail

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v1/questiongroups/details/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/questiongroups/details/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Question Group Details with id 1 has been deleted Successfuly):


{
    "MESSAGE": "Question Group Details with id 1 has been deleted Successfuly",
    "STATUS": "success"
}
 

Example response (Error: you must enter a valid id):


{
    "MESSAGE": "you must enter a valid id",
    "STATUS": "fail"
}
 

Request      

DELETE api/v1/questiongroups/details/{uniqueid}

URL Parameters

uniqueid  integer optional  

Optional. Type: integer.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Add Questionheaders

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/questionheaders?data=%7B%22id%22%3A1%2C%22descript%22%3A%22Ajax+Festival%22%2C%22isactive%22%3A1%2C%22required%22%3A%22example%22%2C%22min%22%3A%22example%22%2C%22max%22%3A%22example%22%2C%22conceptid%22%3A1%2C%22fontsize%22%3A%22example%22%2C%22cols%22%3A%22example%22%2C%22searchable%22%3A%22example%22%2C%22backcolor%22%3A%22example%22%2C%22forecolor%22%3A%22example%22%2C%22enable_same_item_ordering%22%3A1%7D" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/questionheaders"
);

const params = {
    "data": "{"id":1,"descript":"Ajax Festival","isactive":1,"required":"example","min":"example","max":"example","conceptid":1,"fontsize":"example","cols":"example","searchable":"example","backcolor":"example","forecolor":"example","enable_same_item_ordering":1}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (Question Header Added Successfully):


{
    "MESSAGE": "Question Header Added Successfully",
    "STATUS": "success"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "MESSAGE": "Wrong data json format",
    "STATUS": "fail"
}
 

Request      

POST api/v1/questionheaders

Query Parameters

data  string  

Required. Type: string. JSON object sent as the data query parameter (?data={...}). Fields inside that JSON (type, required, validation) are listed below.

FieldTypeRequiredValidation
idstringrequiredrequired
descriptstringoptionalstring|max:100
isactiveintegeroptionalinteger|min:0|max:1
requiredstringrequiredrequired
minstringoptional
maxstringoptional
conceptidintegeroptional
fontsizestringoptional
colsstringoptional
searchablestringoptional
backcolorstringoptional
forecolorstringoptional
enable_same_item_orderingintegeroptional

Request example:

{
"id": 1,
"descript": "Ajax Festival",
"isactive": 1,
"required": "example",
"min": "example",
"max": "example",
"conceptid": 1,
"fontsize": "example",
"cols": "example",
"searchable": "example",
"backcolor": "example",
"forecolor": "example",
"enable_same_item_ordering": 1
}

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Delete Questionheader

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v1/questionheaders/16" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/questionheaders/16"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Question Header with id 1 has been deleted Successfuly):


{
    "MESSAGE": "Question Header with id 1 has been deleted Successfuly",
    "STATUS": "success"
}
 

Example response (Error: you must enter a valid id):


{
    "MESSAGE": "you must enter a valid id",
    "STATUS": "fail"
}
 

Request      

DELETE api/v1/questionheaders/{id}

URL Parameters

id  integer optional  

Optional. Type: integer. The ID of the questionheader.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Add Questiondetails

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/questiondetails?data=%7B%22id%22%3A1%2C%22headerid%22%3A1%2C%22prodnum%22%3A1003919%2C%22sequence_order%22%3A1%2C%22isactive%22%3A1%2C%22weight%22%3A%22example%22%7D" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/questiondetails"
);

const params = {
    "data": "{"id":1,"headerid":1,"prodnum":1003919,"sequence_order":1,"isactive":1,"weight":"example"}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (Question Detail Added Successfully):


{
    "MESSAGE": "Question Detail Added Successfully",
    "STATUS": "success"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "MESSAGE": "Wrong data json format",
    "STATUS": "fail"
}
 

Request      

POST api/v1/questiondetails

Query Parameters

data  string  

Required. Type: string. JSON object sent as the data query parameter (?data={...}). Fields inside that JSON (type, required, validation) are listed below.

FieldTypeRequiredValidation
idstringrequiredrequired
headeridintegeroptionalinteger
prodnumintegeroptionalinteger
sequence_orderintegeroptionalinteger
isactiveintegeroptionalinteger|min:0|max:1
weightstringoptional

Request example:

{
"id": 1,
"headerid": 1,
"prodnum": 1003919,
"sequence_order": 1,
"isactive": 1,
"weight": "example"
}

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Delete Questiondetail

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v1/questiondetails/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/questiondetails/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Question Detail with id 1 has been deleted Successfuly):


{
    "MESSAGE": "Question Detail with id 1 has been deleted Successfuly",
    "STATUS": "success"
}
 

Example response (Error: you must enter a valid id):


{
    "MESSAGE": "you must enter a valid id",
    "STATUS": "fail"
}
 

Request      

DELETE api/v1/questiondetails/{id}

URL Parameters

id  integer optional  

Optional. Type: integer. The ID of the questiondetail.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Add Modifiers

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/modifiers?data=%7B%22prodnum%22%3A1003919%2C%22catid%22%3A1%2C%22price%22%3A12.5%2C%22descript%22%3A%22Ajax+Festival%22%2C%22enabled%22%3A1%2C%22refcode1%22%3A%22example%22%2C%22istaxable1%22%3A1%2C%22istaxable2%22%3A1%2C%22istaxable3%22%3A1%2C%22isactive%22%3A1%2C%22descript2%22%3A%22example%22%2C%22prodinfo%22%3A%22example%22%2C%22prodinfo2%22%3A%22example%22%2C%22groupid%22%3A1%2C%22stock%22%3A%22example%22%2C%22pid%22%3A1%2C%22brand%22%3A%22example%22%2C%22refcode2%22%3A%22example%22%7D" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/modifiers"
);

const params = {
    "data": "{"prodnum":1003919,"catid":1,"price":12.5,"descript":"Ajax Festival","enabled":1,"refcode1":"example","istaxable1":1,"istaxable2":1,"istaxable3":1,"isactive":1,"descript2":"example","prodinfo":"example","prodinfo2":"example","groupid":1,"stock":"example","pid":1,"brand":"example","refcode2":"example"}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (Modifier Added Successfully):


{
    "MESSAGE": "Modifier Added Successfully",
    "STATUS": "success"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "MESSAGE": "Wrong data json format",
    "STATUS": "fail"
}
 

Request      

POST api/v1/modifiers

Query Parameters

data  string  

Required. Type: string. JSON object sent as the data query parameter (?data={...}). Fields inside that JSON (type, required, validation) are listed below.

FieldTypeRequiredValidation
prodnumstringrequiredrequired
catidstringrequiredrequired
pricestringrequiredrequired
descriptstringoptionalstring|max:255
enabledintegeroptionalinteger|min:0|max:1
refcode1stringoptionalstring
istaxable1integeroptionalinteger|min:0|max:1
istaxable2integeroptionalinteger|min:0|max:1
istaxable3integeroptionalinteger|min:0|max:1
isactiveintegeroptionalinteger|min:0|max:1
descript2stringoptional
prodinfostringoptional
prodinfo2stringoptional
groupidintegeroptional
stockstringoptional
pidintegeroptional
brandstringoptional
refcode2stringoptional

Request example:

{
"prodnum": 1003919,
"catid": 1,
"price": 12.5,
"descript": "Ajax Festival",
"enabled": 1,
"refcode1": "example",
"istaxable1": 1,
"istaxable2": 1,
"istaxable3": 1,
"isactive": 1,
"descript2": "example",
"prodinfo": "example",
"prodinfo2": "example",
"groupid": 1,
"stock": "example",
"pid": 1,
"brand": "example",
"refcode2": "example"
}

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Delete Modifier

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v1/modifier/1003919" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/modifier/1003919"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Modifier with id 1003919 has been deleted Successfuly):


{
    "MESSAGE": "Modifier with id 1003919 has been deleted Successfuly",
    "STATUS": "success"
}
 

Example response (Error: you must enter a valid id):


{
    "MESSAGE": "you must enter a valid id",
    "STATUS": "fail"
}
 

Request      

DELETE api/v1/modifier/{prodnum}

URL Parameters

prodnum  integer optional  

Optional. Type: integer.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Add Combo Headers

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/combo/headers?data=%7B%22id%22%3A1%2C%22descript%22%3A%22Ajax+Festival%22%2C%22isactive%22%3A1%2C%22required%22%3A%22example%22%2C%22min%22%3A%22example%22%2C%22max%22%3A%22example%22%2C%22autoselect%22%3A%22example%22%2C%22weight%22%3A%22example%22%2C%22ccols%22%3A%22example%22%2C%22crows%22%3A%22example%22%2C%22conceptid%22%3A1%7D" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/combo/headers"
);

const params = {
    "data": "{"id":1,"descript":"Ajax Festival","isactive":1,"required":"example","min":"example","max":"example","autoselect":"example","weight":"example","ccols":"example","crows":"example","conceptid":1}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (Combo Header Added Successfully):


{
    "MESSAGE": "Combo Header Added Successfully",
    "STATUS": "success"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "MESSAGE": "Wrong data json format",
    "STATUS": "fail"
}
 

Request      

POST api/v1/combo/headers

Query Parameters

data  string  

Required. Type: string. JSON object sent as the data query parameter (?data={...}). Fields inside that JSON (type, required, validation) are listed below.

FieldTypeRequiredValidation
idstringrequiredrequired
descriptstringrequiredrequired|string|max:255
isactiveintegeroptionalinteger|min:0|max:1
requiredstringrequiredrequired
minstringoptional
maxstringoptional
autoselectstringoptional
weightstringoptional
ccolsstringoptional
crowsstringoptional
conceptidintegeroptional

Request example:

{
"id": 1,
"descript": "Ajax Festival",
"isactive": 1,
"required": "example",
"min": "example",
"max": "example",
"autoselect": "example",
"weight": "example",
"ccols": "example",
"crows": "example",
"conceptid": 1
}

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Delete Combo Header

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v1/combo/header/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/combo/header/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Combo Header with id 1 has been deleted Successfuly):


{
    "MESSAGE": "Combo Header with id 1 has been deleted Successfuly",
    "STATUS": "success"
}
 

Example response (Error: you must enter a valid id):


{
    "MESSAGE": "you must enter a valid id",
    "STATUS": "fail"
}
 

Request      

DELETE api/v1/combo/header/{id}

URL Parameters

id  integer optional  

Optional. Type: integer. The ID of the header.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Add Combo Details

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/combo/details?data=%7B%22id%22%3A1%2C%22comboid%22%3A1%2C%22prodnum%22%3A1003919%2C%22seq%22%3A1%2C%22price%22%3A12.5%2C%22isactive%22%3A1%7D" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/combo/details"
);

const params = {
    "data": "{"id":1,"comboid":1,"prodnum":1003919,"seq":1,"price":12.5,"isactive":1}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (Combo Detail Added Successfully):


{
    "MESSAGE": "Combo Detail Added Successfully",
    "STATUS": "success"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "MESSAGE": "Wrong data json format",
    "STATUS": "fail"
}
 

Request      

POST api/v1/combo/details

Query Parameters

data  string  

Required. Type: string. JSON object sent as the data query parameter (?data={...}). Fields inside that JSON (type, required, validation) are listed below.

FieldTypeRequiredValidation
idstringrequiredrequired
comboidstringrequiredrequired
prodnumstringrequiredrequired
seqstringrequiredrequired
pricestringrequiredrequired
isactiveintegeroptionalinteger|min:0|max:1

Request example:

{
"id": 1,
"comboid": 1,
"prodnum": 1003919,
"seq": 1,
"price": 12.5,
"isactive": 1
}

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Delete Combo Detail

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v1/combo/detail/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/combo/detail/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Combo Detail with id 1 has been deleted Successfuly):


{
    "MESSAGE": "Combo Detail with id 1 has been deleted Successfuly",
    "STATUS": "success"
}
 

Example response (Error: you must enter a valid id):


{
    "MESSAGE": "you must enter a valid id",
    "STATUS": "fail"
}
 

Request      

DELETE api/v1/combo/detail/{id}

URL Parameters

id  integer optional  

Optional. Type: integer. The ID of the detail.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Add Product Combos

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/product/combos?data=%7B%22id%22%3A1%2C%22prodnum%22%3A1003919%2C%22comboid%22%3A1%2C%22seq%22%3A1%2C%22isactive%22%3A1%7D" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/product/combos"
);

const params = {
    "data": "{"id":1,"prodnum":1003919,"comboid":1,"seq":1,"isactive":1}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (Product Combo Added Successfully):


{
    "MESSAGE": "Product Combo Added Successfully",
    "STATUS": "success"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "MESSAGE": "Wrong data json format",
    "STATUS": "fail"
}
 

Request      

POST api/v1/product/combos

Query Parameters

data  string  

Required. Type: string. JSON object sent as the data query parameter (?data={...}). Fields inside that JSON (type, required, validation) are listed below.

FieldTypeRequiredValidation
idstringrequiredrequired
prodnumstringrequiredrequired
comboidstringrequiredrequired
seqstringrequiredrequired
isactiveintegeroptionalinteger|min:0|max:1

Request example:

{
"id": 1,
"prodnum": 1003919,
"comboid": 1,
"seq": 1,
"isactive": 1
}

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Delete Product Combo

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v1/product/combo/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/product/combo/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Product Combo with id 1 has been deleted Successfuly):


{
    "MESSAGE": "Product Combo with id 1 has been deleted Successfuly",
    "STATUS": "success"
}
 

Example response (Error: you must enter a valid id):


{
    "MESSAGE": "you must enter a valid id",
    "STATUS": "fail"
}
 

Request      

DELETE api/v1/product/combo/{id}

URL Parameters

id  integer optional  

Optional. Type: integer. The ID of the combo.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Add Comboitems

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/comboitems?data=%7B%22prodnum%22%3A1003919%2C%22catid%22%3A1%2C%22price%22%3A12.5%2C%22descript%22%3A%22Ajax+Festival%22%2C%22enabled%22%3A1%2C%22refcode1%22%3A%22example%22%2C%22istaxable1%22%3A1%2C%22istaxable2%22%3A1%2C%22istaxable3%22%3A1%2C%22isactive%22%3A1%2C%22descript2%22%3A%22example%22%2C%22prodinfo%22%3A%22example%22%2C%22prodinfo2%22%3A%22example%22%2C%22groupid%22%3A1%2C%22stock%22%3A%22example%22%2C%22pid%22%3A1%2C%22brand%22%3A%22example%22%2C%22refcode2%22%3A%22example%22%7D" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/comboitems"
);

const params = {
    "data": "{"prodnum":1003919,"catid":1,"price":12.5,"descript":"Ajax Festival","enabled":1,"refcode1":"example","istaxable1":1,"istaxable2":1,"istaxable3":1,"isactive":1,"descript2":"example","prodinfo":"example","prodinfo2":"example","groupid":1,"stock":"example","pid":1,"brand":"example","refcode2":"example"}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (Combo item Added Successfully):


{
    "MESSAGE": "Combo item Added Successfully",
    "STATUS": "success"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "MESSAGE": "Wrong data json format",
    "STATUS": "fail"
}
 

Request      

POST api/v1/comboitems

Query Parameters

data  string  

Required. Type: string. JSON object sent as the data query parameter (?data={...}). Fields inside that JSON (type, required, validation) are listed below.

FieldTypeRequiredValidation
prodnumstringrequiredrequired
catidstringrequiredrequired
pricestringrequiredrequired
descriptstringoptionalstring|max:255
enabledintegeroptionalinteger|min:0|max:1
refcode1stringoptionalstring
istaxable1integeroptionalinteger|min:0|max:1
istaxable2integeroptionalinteger|min:0|max:1
istaxable3integeroptionalinteger|min:0|max:1
isactiveintegeroptionalinteger|min:0|max:1
descript2stringoptional
prodinfostringoptional
prodinfo2stringoptional
groupidintegeroptional
stockstringoptional
pidintegeroptional
brandstringoptional
refcode2stringoptional

Request example:

{
"prodnum": 1003919,
"catid": 1,
"price": 12.5,
"descript": "Ajax Festival",
"enabled": 1,
"refcode1": "example",
"istaxable1": 1,
"istaxable2": 1,
"istaxable3": 1,
"isactive": 1,
"descript2": "example",
"prodinfo": "example",
"prodinfo2": "example",
"groupid": 1,
"stock": "example",
"pid": 1,
"brand": "example",
"refcode2": "example"
}

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Add Galleries

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/galleries?data=%7B%22id%22%3A1%2C%22name%22%3A%22Example+Name%22%2C%22isactive%22%3A1%7D" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/galleries"
);

const params = {
    "data": "{"id":1,"name":"Example Name","isactive":1}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (Gallery Example Name Added Successfully):


{
    "MESSAGE": "Gallery Example Name Added Successfully",
    "STATUS": "success"
}
 

Example response (Error: Only head office is authorized):


{
    "MESSAGE": "Only head office is authorized",
    "STATUS": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "MESSAGE": "Wrong data json format",
    "STATUS": "fail"
}
 

Request      

POST api/v1/galleries

Query Parameters

data  string  

Required. Type: string. JSON object sent as the data query parameter (?data={...}). Fields inside that JSON (type, required, validation) are listed below.

FieldTypeRequiredValidation
idstringrequiredrequired
namestringrequiredrequired|string|max:100
isactiveintegeroptionalinteger|min:0|max:1

Request example:

{
"id": 1,
"name": "Example Name",
"isactive": 1
}

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v1/gallery/16" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/gallery/16"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Gallery with id 1 has been deleted Successfuly):


{
    "MESSAGE": "Gallery with id 1 has been deleted Successfuly",
    "STATUS": "success"
}
 

Example response (Error: you must enter a valid id):


{
    "MESSAGE": "you must enter a valid id",
    "STATUS": "fail"
}
 

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/gallery/photos/1?data=%7B%22id%22%3A1%2C%22title%22%3A%22example%22%2C%22descript%22%3A%22Ajax+Festival%22%2C%22refnum%22%3A1%2C%22minorderqty%22%3A1%2C%22price%22%3A12.5%2C%22isactive%22%3A1%7D" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/gallery/photos/1"
);

const params = {
    "data": "{"id":1,"title":"example","descript":"Ajax Festival","refnum":1,"minorderqty":1,"price":12.5,"isactive":1}",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (Gallery Photo Added Successfully):


{
    "MESSAGE": "Gallery Photo Added Successfully",
    "STATUS": "success"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "MESSAGE": "Wrong data json format",
    "STATUS": "fail"
}
 

Example response (Error: Only head office is authorized):


{
    "MESSAGE": "Only head office is authorized",
    "STATUS": "fail"
}
 

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/v1/gallery/photo/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/gallery/photo/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (Gallery Photo with id 1 has been deleted Successfuly):


{
    "MESSAGE": "Gallery Photo with id 1 has been deleted Successfuly",
    "STATUS": "success"
}
 

Example response (Error: you must enter a valid id):


{
    "MESSAGE": "you must enter a valid id",
    "STATUS": "fail"
}
 

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Fetch Questiondetail

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/questiondetails/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/questiondetails/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (No questionid provided. These are the question details:):


{
    "message": "No questionid provided. These are the question details:",
    "questionDetails": [
        {
            "*": "example"
        }
    ]
}
 

Example response (Example error response (from controller)):


{
    "error": "Invalid questionid provided."
}
 

Example response (Example error response (from controller)):


{
    "error": "Branch not found for the logged-in user"
}
 

Example response (Example error response (from controller)):


{
    "error": "An unexpected error occurred"
}
 

Request      

GET api/v1/questiondetails/{questionid?}

URL Parameters

questionid  integer optional  

Optional. Type: integer.

Response

Response Fields

message  string  

Returned by this endpoint.

questionDetails  array  

Array field returned by this endpoint.

questionDetails[].*  string  

Returned by this endpoint.

Fetch Questionheader

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v1/questionheaders/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/questionheaders/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


{
    "data": [
        {
            "*": "example"
        }
    ],
    "status": "success"
}
 

Example response (Example error response (from controller)):


{
    "error": "Invalid questionid provided."
}
 

Example response (Example error response (from controller)):


{
    "error": "Branch not found for the logged-in user"
}
 

Example response (Example error response (from controller)):


{
    "error": "An unexpected error occurred"
}
 

Request      

GET api/v1/questionheaders/{questionid?}

URL Parameters

questionid  integer optional  

Optional. Type: integer.

Response

Response Fields

data  array  

Array field returned by this endpoint.

data[].*  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Shop APIs (V1) — SKUs

Store / channel write endpoints for pushing catalog data and integrating external systems (Shopify, Deliverect, etc.).

Add Sku Family

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/sku/family" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"SKUID\": 1,
    \"DESCRIPT\": \"Ajax Festival\",
    \"MASK\": \"example\",
    \"LEVEL\": 1,
    \"ISACTIVE\": false,
    \"UNIT\": 1
}"
const url = new URL(
    "http://localhost/api/v1/sku/family"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "SKUID": 1,
    "DESCRIPT": "Ajax Festival",
    "MASK": "example",
    "LEVEL": 1,
    "ISACTIVE": false,
    "UNIT": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (SKU Families inserted/updated/deleted successfully!):


{
    "message": "SKU Families inserted/updated/deleted successfully!",
    "updated": "example",
    "inserted": "example",
    "deleted": "example",
    "failed fields": [
        {
            "CLIENTID": 1
        }
    ],
    "status": "OK"
}
 

Example response (Example error response (from controller)):


{
    "error": "Invalid request format. Expecting JSON data."
}
 

Request      

POST api/v1/sku/family

Body Parameters

SKUID  integer  

Required. Type: integer. Validation: required|integer.

DESCRIPT  string  

Required. Type: string. Validation: required|string|max:25. Must not be greater than 25 characters.

Request body example:

[
    {
        "SKUID": 1,
        "DESCRIPT": "Ajax Festival",
        "MASK": "example",
        "LEVEL": 1,
        "ISACTIVE": false,
        "UNIT": 1
    }
]

MASK  string optional  

Optional. Type: string. Validation: nullable|string|max:10. Must not be greater than 10 characters.

LEVEL  integer optional  

Optional. Type: integer. Validation: nullable|integer.

ISACTIVE  boolean  

Required. Type: boolean. Validation: required|boolean.

UNIT  integer optional  

Optional. Type: integer. Validation: nullable|integer.

Response

Response Fields

message  string  

Returned by this endpoint.

updated  string  

Returned by this endpoint.

inserted  string  

Returned by this endpoint.

deleted  string  

Returned by this endpoint.

failed fields  array  

Array field returned by this endpoint.

failed fields[].CLIENTID  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add Sku Details

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/sku/details" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"SKUDETAILSID\": 1,
    \"DESCRIPT\": \"Ajax Festival\",
    \"BARCODEADDON\": \"example\",
    \"LEVEL\": 1,
    \"MASK\": \"example\",
    \"SHORTDESCRIPT\": \"example\",
    \"RECIPEYIELD\": 1.5,
    \"RECIPEUNIT\": 1,
    \"RECIPEUNITCONVERSION\": 1.5,
    \"PARENTRECIPEUSAGEQTY\": 1.5,
    \"PARENTRECIPEUSAGEUNIT\": 1,
    \"PARENTRECIPEUNITCONVERSION\": 1.5,
    \"SKUID\": 1,
    \"ISACTIVE\": false
}"
const url = new URL(
    "http://localhost/api/v1/sku/details"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "SKUDETAILSID": 1,
    "DESCRIPT": "Ajax Festival",
    "BARCODEADDON": "example",
    "LEVEL": 1,
    "MASK": "example",
    "SHORTDESCRIPT": "example",
    "RECIPEYIELD": 1.5,
    "RECIPEUNIT": 1,
    "RECIPEUNITCONVERSION": 1.5,
    "PARENTRECIPEUSAGEQTY": 1.5,
    "PARENTRECIPEUSAGEUNIT": 1,
    "PARENTRECIPEUNITCONVERSION": 1.5,
    "SKUID": 1,
    "ISACTIVE": false
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (SKU Details inserted/updated/deleted successfully!):


{
    "message": "SKU Details inserted/updated/deleted successfully!",
    "updated": "example",
    "inserted": "example",
    "deleted": "example",
    "failed fields": [
        {
            "CLIENTID": 1
        }
    ],
    "status": "OK"
}
 

Example response (Example error response (from controller)):


{
    "error": "Invalid request format. Expecting JSON data."
}
 

Request      

POST api/v1/sku/details

Body Parameters

SKUDETAILSID  integer  

Required. Type: integer. Validation: required|integer.

DESCRIPT  string  

Required. Type: string. Validation: required|string|max:50. Must not be greater than 50 characters.

BARCODEADDON  string optional  

Optional. Type: string. Validation: nullable|string|max:20. Must not be greater than 20 characters.

Request body example:

[
    {
        "SKUDETAILSID": 1,
        "DESCRIPT": "Ajax Festival",
        "BARCODEADDON": "example",
        "LEVEL": 1,
        "MASK": "example",
        "SHORTDESCRIPT": "example",
        "RECIPEYIELD": 1.5,
        "RECIPEUNIT": 1,
        "RECIPEUNITCONVERSION": 1.5,
        "PARENTRECIPEUSAGEQTY": 1.5,
        "PARENTRECIPEUSAGEUNIT": 1,
        "PARENTRECIPEUNITCONVERSION": 1.5,
        "SKUID": 1,
        "ISACTIVE": false
    }
]

LEVEL  integer optional  

Optional. Type: integer. Validation: nullable|integer.

MASK  string optional  

Optional. Type: string. Validation: nullable|string|max:10. Must not be greater than 10 characters.

SHORTDESCRIPT  string optional  

Optional. Type: string. Validation: nullable|string|max:10. Must not be greater than 10 characters.

RECIPEYIELD  number optional  

Optional. Type: number. Validation: nullable|numeric.

RECIPEUNIT  integer optional  

Optional. Type: integer. Validation: nullable|integer.

RECIPEUNITCONVERSION  number optional  

Optional. Type: number. Validation: nullable|numeric.

PARENTRECIPEUSAGEQTY  number optional  

Optional. Type: number. Validation: nullable|numeric.

PARENTRECIPEUSAGEUNIT  integer optional  

Optional. Type: integer. Validation: nullable|integer.

PARENTRECIPEUNITCONVERSION  number optional  

Optional. Type: number. Validation: nullable|numeric.

SKUID  integer  

Required. Type: integer. Validation: required|integer.

ISACTIVE  boolean  

Required. Type: boolean. Validation: required|boolean.

Response

Response Fields

message  string  

Returned by this endpoint.

updated  string  

Returned by this endpoint.

inserted  string  

Returned by this endpoint.

deleted  string  

Returned by this endpoint.

failed fields  array  

Array field returned by this endpoint.

failed fields[].CLIENTID  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Shop APIs (V1) — Shopify

Store / channel write endpoints for pushing catalog data and integrating external systems (Shopify, Deliverect, etc.).

Add Menu Shopify

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v1/menu/shopify/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v1/menu/shopify/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (Categories Added Successfully):


{
    "MESSAGE": "Categories Added Successfully",
    "STATUS": "success"
}
 

Example response (Error: Error!! Failed to upload Categories):


{
    "MESSAGE": "Error!! Failed to upload Categories",
    "STATUS": "fail"
}
 

Example response (Error: Failed to upload Products):


{
    "MESSAGE": "Failed to upload Products",
    "STATUS": "fail"
}
 

Example response (Error: Shopify Inventory Item not found!!):


{
    "MESSAGE": "Shopify Inventory Item not found!!",
    "STATUS": "fail"
}
 

Example response (Error: We found multiple locations, that are not implemented yet!!):


{
    "MESSAGE": "We found multiple locations, that are not implemented yet!!",
    "STATUS": "fail"
}
 

Example response (Error: Category with id: 1 not found on shopify, for product with id: 1003919):


{
    "MESSAGE": "Category with id: 1 not found on shopify, for product with id: 1003919",
    "STATUS": "fail"
}
 

Example response (Error: This store does not have a Shopify account):


{
    "MESSAGE": "This store does not have a Shopify account",
    "STATUS": "fail"
}
 

Request      

POST api/v1/menu/shopify/{type?}

URL Parameters

type  string optional  

Optional. Type: string.

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Shop APIs (V2) — Deliverect

Store / channel write endpoints for pushing catalog data and integrating external systems (Shopify, Deliverect, etc.).

Add Webhook Order Deliverect

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/webhooks/orders/deliverect" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v2/webhooks/orders/deliverect"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (Error: example):


{
    "MESSAGE": "example",
    "STATUS": "fail"
}
 

Example response (Error: Channel not found):


{
    "MESSAGE": "Channel not found",
    "STATUS": "fail"
}
 

Example response (Error: Product or modifier not found):


{
    "MESSAGE": "Product or modifier not found",
    "STATUS": "fail"
}
 

Example response (Error: Location ID is not found):


{
    "MESSAGE": "Location ID is not found",
    "STATUS": "fail"
}
 

Example response (Error: Account does not exist):


{
    "MESSAGE": "Account does not exist",
    "STATUS": "fail"
}
 

Example response (Example success response (generated)):


{
    "status": "success",
    "message": "Webhooks saved successfully.",
    "data": {
        "id": 1,
        "webhook_name": "Example Webhook",
        "is_active": true
    }
}
 

Example response (Example unauthorized response (generated)):


{
    "message": "Unauthorized",
    "error": "Unauthorized",
    "status": "fail"
}
 

Request      

POST api/v2/webhooks/orders/deliverect

Response

Response Fields

status  string  

Returned by this endpoint.

message  string  

Returned by this endpoint.

data  object  

Object field returned by this endpoint.

data.id  integer  

Returned by this endpoint.

data.webhook_name  string  

Returned by this endpoint.

data.is_active  boolean  

Returned by this endpoint.

Add Webhook Order Deliverect Stagging

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/webhooks/orders/deliverect/stagging" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v2/webhooks/orders/deliverect/stagging"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (Error: example):


{
    "MESSAGE": "example",
    "STATUS": "fail"
}
 

Example response (Error: Channel not found):


{
    "MESSAGE": "Channel not found",
    "STATUS": "fail"
}
 

Example response (Error: Product or modifier not found):


{
    "MESSAGE": "Product or modifier not found",
    "STATUS": "fail"
}
 

Example response (Error: Location ID is not found):


{
    "MESSAGE": "Location ID is not found",
    "STATUS": "fail"
}
 

Example response (Error: Account does not exist):


{
    "MESSAGE": "Account does not exist",
    "STATUS": "fail"
}
 

Example response (Example success response (generated)):


{
    "status": "success",
    "message": "Webhooks saved successfully.",
    "data": {
        "id": 1,
        "webhook_name": "Example Webhook",
        "is_active": true
    }
}
 

Example response (Example unauthorized response (generated)):


{
    "message": "Unauthorized",
    "error": "Unauthorized",
    "status": "fail"
}
 

Request      

POST api/v2/webhooks/orders/deliverect/stagging

Response

Response Fields

status  string  

Returned by this endpoint.

message  string  

Returned by this endpoint.

data  object  

Object field returned by this endpoint.

data.id  integer  

Returned by this endpoint.

data.webhook_name  string  

Returned by this endpoint.

data.is_active  boolean  

Returned by this endpoint.

Shop APIs (V2) — General

Store / channel write endpoints for pushing catalog data and integrating external systems (Shopify, Deliverect, etc.).

Fetch Menuupdate

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/menuupdates/2026-08-17" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}"
const url = new URL(
    "http://localhost/api/v2/menuupdates/2026-08-17"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


{
    "currentmenuid": "2026-08-17",
    "lastupdated": "2026-08-17",
    "changes": {
        "categories": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "parents": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "products": {
            "updated": [
                {
                    "prodnum": 1,
                    "catid": "example"
                }
            ],
            "deleted": [
                {
                    "prodnum": 1,
                    "catid": "example"
                }
            ]
        },
        "modifiers": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "combos": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "charges": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "branches": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "regions": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "branch_regions": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "cities": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "countries": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "charge_details": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "menus": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "tags": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "order_types": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "order_type_charges": {
            "updated": 1,
            "deleted": 1
        },
        "order_type_charge_branches": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "order_type_charge_branch_regions": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        },
        "store_settings": {
            "updated": [
                1
            ],
            "deleted": [
                1
            ]
        }
    }
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: No updates to display):


{
    "message": "No updates to display",
    "status": "fail"
}
 

Example response (Error: please enter a valied update id):


{
    "message": "please enter a valied update id",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "MenuController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

GET api/v2/menuupdates/{updateid?}

URL Parameters

updateid  integer optional  

Optional. Type: integer.

Response

Response Fields

currentmenuid  string  

Returned by this endpoint.

lastupdated  string  

Returned by this endpoint.

changes  object  

Object field returned by this endpoint.

changes.categories  object  

Object field returned by this endpoint.

changes.categories.updated  array  

Array field returned by this endpoint.

changes.categories.deleted  array  

Array field returned by this endpoint.

changes.parents  object  

Object field returned by this endpoint.

changes.parents.updated  array  

Array field returned by this endpoint.

changes.parents.deleted  array  

Array field returned by this endpoint.

changes.products  object  

Object field returned by this endpoint.

changes.products.updated  array  

Array field returned by this endpoint.

changes.products.updated[].prodnum  integer  

Returned by this endpoint.

changes.products.updated[].catid  string  

Returned by this endpoint.

changes.products.deleted  array  

Array field returned by this endpoint.

changes.products.deleted[].prodnum  integer  

Returned by this endpoint.

changes.products.deleted[].catid  string  

Returned by this endpoint.

changes.modifiers  object  

Object field returned by this endpoint.

changes.modifiers.updated  array  

Array field returned by this endpoint.

changes.modifiers.deleted  array  

Array field returned by this endpoint.

changes.combos  object  

Object field returned by this endpoint.

changes.combos.updated  array  

Array field returned by this endpoint.

changes.combos.deleted  array  

Array field returned by this endpoint.

changes.charges  object  

Object field returned by this endpoint.

changes.charges.updated  array  

Array field returned by this endpoint.

changes.charges.deleted  array  

Array field returned by this endpoint.

changes.branches  object  

Object field returned by this endpoint.

changes.branches.updated  array  

Array field returned by this endpoint.

changes.branches.deleted  array  

Array field returned by this endpoint.

changes.regions  object  

Object field returned by this endpoint.

changes.regions.updated  array  

Array field returned by this endpoint.

changes.regions.deleted  array  

Array field returned by this endpoint.

changes.branch_regions  object  

Object field returned by this endpoint.

changes.branch_regions.updated  array  

Array field returned by this endpoint.

changes.branch_regions.deleted  array  

Array field returned by this endpoint.

changes.cities  object  

Object field returned by this endpoint.

changes.cities.updated  array  

Array field returned by this endpoint.

changes.cities.deleted  array  

Array field returned by this endpoint.

changes.countries  object  

Object field returned by this endpoint.

changes.countries.updated  array  

Array field returned by this endpoint.

changes.countries.deleted  array  

Array field returned by this endpoint.

changes.charge_details  object  

Object field returned by this endpoint.

changes.charge_details.updated  array  

Array field returned by this endpoint.

changes.charge_details.deleted  array  

Array field returned by this endpoint.

changes.menus  object  

Object field returned by this endpoint.

changes.menus.updated  array  

Array field returned by this endpoint.

changes.menus.deleted  array  

Array field returned by this endpoint.

changes.tags  object  

Object field returned by this endpoint.

changes.tags.updated  array  

Array field returned by this endpoint.

changes.tags.deleted  array  

Array field returned by this endpoint.

changes.order_types  object  

Object field returned by this endpoint.

changes.order_types.updated  array  

Array field returned by this endpoint.

changes.order_types.deleted  array  

Array field returned by this endpoint.

changes.order_type_charges  object  

Object field returned by this endpoint.

changes.order_type_charges.updated  integer  

Returned by this endpoint.

changes.order_type_charges.deleted  integer  

Returned by this endpoint.

changes.order_type_charge_branches  object  

Object field returned by this endpoint.

changes.order_type_charge_branches.updated  array  

Array field returned by this endpoint.

changes.order_type_charge_branches.deleted  array  

Array field returned by this endpoint.

changes.order_type_charge_branch_regions  object  

Object field returned by this endpoint.

changes.order_type_charge_branch_regions.updated  array  

Array field returned by this endpoint.

changes.order_type_charge_branch_regions.deleted  array  

Array field returned by this endpoint.

changes.store_settings  object  

Object field returned by this endpoint.

changes.store_settings.updated  array  

Array field returned by this endpoint.

changes.store_settings.deleted  array  

Array field returned by this endpoint.

Add Ordertypes

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/ordertypes" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"id\": 1,
    \"descript\": \"Ajax Festival\",
    \"enforcememberselection\": 1,
    \"opendrawer\": 1,
    \"printmemberdetails\": 1,
    \"showindispatcher\": 1,
    \"printinred\": 1,
    \"autoaddproducts\": 1,
    \"printmoreonprinter\": 1,
    \"autotaginfo\": 1,
    \"remindscheduledbefore\": 1,
    \"enableonlineordertracking\": 1,
    \"isdelivery\": 1,
    \"printtagontickets\": 1,
    \"printtagonlabels\": 1,
    \"showautoupsell\": 1,
    \"printinvoiceongenerateso\": 1,
    \"isactive\": 1
}"
const url = new URL(
    "http://localhost/api/v2/ordertypes"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "id": 1,
    "descript": "Ajax Festival",
    "enforcememberselection": 1,
    "opendrawer": 1,
    "printmemberdetails": 1,
    "showindispatcher": 1,
    "printinred": 1,
    "autoaddproducts": 1,
    "printmoreonprinter": 1,
    "autotaginfo": 1,
    "remindscheduledbefore": 1,
    "enableonlineordertracking": 1,
    "isdelivery": 1,
    "printtagontickets": 1,
    "printtagonlabels": 1,
    "showautoupsell": 1,
    "printinvoiceongenerateso": 1,
    "isactive": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response ( OrderType Added / Updated / Deleted Successfully):


{
    "message": " OrderType Added / Updated / Deleted Successfully",
    "inserted": 1,
    "updated": 1,
    "deleted": 1,
    "status": "success"
}
 

Example response (Error: API key is missing):


{
    "MESSAGE": "API key is missing",
    "STATUS": "fail"
}
 

Example response (Error: Invalid API key):


{
    "MESSAGE": "Invalid API key",
    "STATUS": "fail"
}
 

Example response (Error: Wrong json format):


{
    "MESSAGE": "Wrong json format",
    "STATUS": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "MESSAGE": "Wrong data json format",
    "STATUS": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "OrderTypeController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

POST api/v2/ordertypes

Body Parameters

id  integer  

Required. Type: integer. Validation: required.

descript  string optional  

Optional. Type: string. Validation: string|max:255. Must not be greater than 255 characters.

enforcememberselection  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

opendrawer  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

printmemberdetails  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

showindispatcher  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

printinred  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

autoaddproducts  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

Request body example:

[
    {
        "id": 1,
        "descript": "Ajax Festival",
        "enforcememberselection": 1,
        "opendrawer": 1,
        "printmemberdetails": 1,
        "showindispatcher": 1,
        "printinred": 1,
        "autoaddproducts": 1,
        "printmoreonprinter": 1,
        "autotaginfo": 1,
        "remindscheduledbefore": 1,
        "enableonlineordertracking": 1,
        "isdelivery": 1,
        "printtagontickets": 1,
        "printtagonlabels": 1,
        "showautoupsell": 1,
        "printinvoiceongenerateso": 1,
        "isactive": 1
    }
]

printmoreonprinter  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

autotaginfo  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

remindscheduledbefore  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

enableonlineordertracking  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

isdelivery  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

printtagontickets  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

printtagonlabels  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

showautoupsell  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

printinvoiceongenerateso  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

isactive  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

Response

Response Fields

message  string  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

deleted  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add Ordertypebychargeid

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/ordertypebychargeid" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"id\": 1,
    \"byamount\": 1,
    \"bypercent\": 1,
    \"openpercent\": 1,
    \"openamount\": 1,
    \"autoadd\": 1,
    \"isactive\": 1,
    \"ordertypeid\": 1,
    \"chargeid\": 1
}"
const url = new URL(
    "http://localhost/api/v2/ordertypebychargeid"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "id": 1,
    "byamount": 1,
    "bypercent": 1,
    "openpercent": 1,
    "openamount": 1,
    "autoadd": 1,
    "isactive": 1,
    "ordertypeid": 1,
    "chargeid": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response ( OrderType Charges Added / Updated / Deleted Successfully):


{
    "message": " OrderType Charges Added / Updated / Deleted Successfully",
    "inserted": 1,
    "updated": 1,
    "deleted": 1,
    "status": "success"
}
 

Example response (Error: API key is missing):


{
    "MESSAGE": "API key is missing",
    "STATUS": "fail"
}
 

Example response (Error: Invalid API key):


{
    "MESSAGE": "Invalid API key",
    "STATUS": "fail"
}
 

Example response (Error: you must enter valid ids):


{
    "MESSAGE": "you must enter valid ids",
    "STATUS": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Example response (Error: Wrong json format):


{
    "MESSAGE": "Wrong json format",
    "STATUS": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "OrderTypeController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

POST api/v2/ordertypebychargeid

Body Parameters

id  integer  

Required. Type: integer. Validation: required.

byamount  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

bypercent  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

openpercent  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

openamount  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

autoadd  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

Request body example:

[
    {
        "id": 1,
        "byamount": 1,
        "bypercent": 1,
        "openpercent": 1,
        "openamount": 1,
        "autoadd": 1,
        "isactive": 1,
        "ordertypeid": 1,
        "chargeid": 1
    }
]

isactive  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

ordertypeid  integer  

Required. Type: integer. Validation: integer|required.

chargeid  integer  

Required. Type: integer. Validation: integer|required.

Response

Response Fields

message  string  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

deleted  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add Ordertypebybranchid

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/ordertypebybranchid" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"id\": 1,
    \"byamount\": 1,
    \"bypercent\": 1,
    \"openpercent\": 1,
    \"openamount\": 1,
    \"autoadd\": 1,
    \"isactive\": 1
}"
const url = new URL(
    "http://localhost/api/v2/ordertypebybranchid"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "id": 1,
    "byamount": 1,
    "bypercent": 1,
    "openpercent": 1,
    "openamount": 1,
    "autoadd": 1,
    "isactive": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response ( OrderType Charges Branches Added / Updated / Deleted Successfully):


{
    "message": " OrderType Charges Branches Added / Updated / Deleted Successfully",
    "inserted": 1,
    "updated": 1,
    "deleted": 1,
    "status": "success"
}
 

Example response (Error: API key is missing):


{
    "MESSAGE": "API key is missing",
    "STATUS": "fail"
}
 

Example response (Error: Invalid API key):


{
    "MESSAGE": "Invalid API key",
    "STATUS": "fail"
}
 

Example response (Error: Wrong json format):


{
    "MESSAGE": "Wrong json format",
    "STATUS": "fail"
}
 

Example response (Error: you must enter valid ids):


{
    "MESSAGE": "you must enter valid ids",
    "STATUS": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "OrderTypeController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

POST api/v2/ordertypebybranchid

Body Parameters

id  integer  

Required. Type: integer. Validation: required.

byamount  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

bypercent  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

openpercent  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

openamount  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

autoadd  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

Request body example:

[
    {
        "id": 1,
        "byamount": 1,
        "bypercent": 1,
        "openpercent": 1,
        "openamount": 1,
        "autoadd": 1,
        "isactive": 1
    }
]

isactive  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

Response

Response Fields

message  string  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

deleted  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add Ordertypebyregionid

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/ordertypebyregionid" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"id\": 1,
    \"byamount\": 1,
    \"bypercent\": 1,
    \"openpercent\": 1,
    \"openamount\": 1,
    \"autoadd\": 1,
    \"isactive\": 1
}"
const url = new URL(
    "http://localhost/api/v2/ordertypebyregionid"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "id": 1,
    "byamount": 1,
    "bypercent": 1,
    "openpercent": 1,
    "openamount": 1,
    "autoadd": 1,
    "isactive": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response ( OrderType Charges Branches Regions Added / Updated / Deleted Successfully):


{
    "message": " OrderType Charges Branches Regions Added / Updated / Deleted Successfully",
    "inserted": 1,
    "updated": 1,
    "deleted": 1,
    "status": "success"
}
 

Example response (Error: API key is missing):


{
    "MESSAGE": "API key is missing",
    "STATUS": "fail"
}
 

Example response (Error: Invalid API key):


{
    "MESSAGE": "Invalid API key",
    "STATUS": "fail"
}
 

Example response (Error: Wrong json format):


{
    "MESSAGE": "Wrong json format",
    "STATUS": "fail"
}
 

Example response (Error: you must enter valid ids):


{
    "MESSAGE": "you must enter valid ids",
    "STATUS": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "MESSAGE": "The given data was invalid.",
    "STATUS": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "OrderTypeController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

POST api/v2/ordertypebyregionid

Body Parameters

id  integer  

Required. Type: integer. Validation: required.

byamount  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

bypercent  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

openpercent  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

openamount  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

autoadd  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

Request body example:

[
    {
        "id": 1,
        "byamount": 1,
        "bypercent": 1,
        "openpercent": 1,
        "openamount": 1,
        "autoadd": 1,
        "isactive": 1
    }
]

isactive  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

Response

Response Fields

message  string  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

deleted  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add Charges

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/charges" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"id\": 1,
    \"descript\": \"Ajax Festival\",
    \"isactive\": 1,
    \"byamount\": 1,
    \"bypercent\": 1,
    \"openpercent\": 1,
    \"openamount\": 1,
    \"customschedule\": 1,
    \"autoadd\": 1,
    \"appliedontaxex\": 1
}"
const url = new URL(
    "http://localhost/api/v2/charges"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "id": 1,
    "descript": "Ajax Festival",
    "isactive": 1,
    "byamount": 1,
    "bypercent": 1,
    "openpercent": 1,
    "openamount": 1,
    "customschedule": 1,
    "autoadd": 1,
    "appliedontaxex": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response ( Charges Added / Updated / Deleted Successfully):


{
    "message": " Charges Added / Updated / Deleted Successfully",
    "inserted": 1,
    "updated": 1,
    "deleted": 1,
    "status": "success"
}
 

Example response (Error: Wrong json format):


{
    "message": "Wrong json format",
    "status": "fail"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Wrong json format):


{
    "message": "Wrong json format",
    "status": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "message": "The given data was invalid.",
    "status": "fail"
}
 

Example response (Error: Only head office is authorized):


{
    "message": "Only head office is authorized",
    "status": "fail"
}
 

Request      

POST api/v2/charges

Body Parameters

id  integer  

Required. Type: integer. Validation: required.

descript  string optional  

Optional. Type: string. Validation: string|max:255. Must not be greater than 255 characters.

isactive  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

byamount  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

bypercent  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

openpercent  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

openamount  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

customschedule  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

autoadd  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

appliedontaxex  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

Request body example:

[
    {
        "id": 1,
        "descript": "Ajax Festival",
        "isactive": 1,
        "byamount": 1,
        "bypercent": 1,
        "openpercent": 1,
        "openamount": 1,
        "customschedule": 1,
        "autoadd": 1,
        "appliedontaxex": 1
    }
]

Response

Response Fields

message  string  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

deleted  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add Chargedetails

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/chargedetails" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"id\": 1,
    \"isactive\": 1
}"
const url = new URL(
    "http://localhost/api/v2/chargedetails"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "id": 1,
    "isactive": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response ( Charge Details Added / Updated / Deleted Successfully):


{
    "message": " Charge Details Added / Updated / Deleted Successfully",
    "inserted": 1,
    "updated": 1,
    "deleted": 1,
    "status": "success"
}
 

Example response (Error: Wrong Json Format):


{
    "message": "Wrong Json Format",
    "status": "fail"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Wrong json format):


{
    "message": "Wrong json format",
    "status": "fail"
}
 

Example response (Error: you must enter valid ids):


{
    "message": "you must enter valid ids",
    "status": "fail"
}
 

Example response (Error: The charge id: 1, city id: 1, and branchid: 1 are not found):


{
    "message": "The charge id: 1,  city id: 1, and branchid: 1 are not found",
    "status": "success"
}
 

Request      

POST api/v2/chargedetails

Body Parameters

id  integer  

Required. Type: integer. Validation: required.

Request body example:

[
    {
        "id": 1,
        "isactive": 1
    }
]

isactive  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

Response

Response Fields

message  string  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

deleted  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add Departments

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/departments" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"id\": 1,
    \"name\": \"Example Name\",
    \"email\": \"example@bimpos.com\",
    \"mobile\": \"03000000\",
    \"isactive\": 1
}"
const url = new URL(
    "http://localhost/api/v2/departments"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "id": 1,
    "name": "Example Name",
    "email": "example@bimpos.com",
    "mobile": "03000000",
    "isactive": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response ( Departments Added / Updated / Deleted Successfully):


{
    "message": " Departments Added / Updated / Deleted Successfully",
    "inserted": 1,
    "updated": 1,
    "deleted": 1,
    "status": "success"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Wrong json format):


{
    "message": "Wrong json format",
    "status": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "message": "The given data was invalid.",
    "status": "fail"
}
 

Example response (Error: Only head office is authorized):


{
    "message": "Only head office is authorized",
    "status": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "message": "Wrong data json format",
    "status": "fail"
}
 

Request      

POST api/v2/departments

Body Parameters

id  integer  

Required. Type: integer. Validation: required.

name  string  

Required. Type: string. Validation: required|string|max:100. Must not be greater than 100 characters.

email  string  

Required. Type: string. Validation: required|string|max:200. Must not be greater than 200 characters.

Request body example:

[
    {
        "id": 1,
        "name": "Example Name",
        "email": "example@bimpos.com",
        "mobile": "03000000",
        "isactive": 1
    }
]

mobile  string  

Required. Type: string. Validation: required|string|max:20. Must not be greater than 20 characters.

isactive  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

Response

Response Fields

message  string  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

deleted  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add Feedbacks

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/feedbacks" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"id\": 1,
    \"mobile\": \"03000000\",
    \"msg\": \"example\",
    \"type\": 1,
    \"isactive\": 1,
    \"departmentid\": 1
}"
const url = new URL(
    "http://localhost/api/v2/feedbacks"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "id": 1,
    "mobile": "03000000",
    "msg": "example",
    "type": 1,
    "isactive": 1,
    "departmentid": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response ( Feedback Added / Updated / Deleted Successfully):


{
    "message": " Feedback Added / Updated / Deleted Successfully",
    "inserted": 1,
    "updated": 1,
    "deleted": 1,
    "status": "success"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Wrong json format):


{
    "message": "Wrong json format",
    "status": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "message": "The given data was invalid.",
    "status": "fail"
}
 

Example response (Error: Only head office is authorized):


{
    "message": "Only head office is authorized",
    "status": "fail"
}
 

Example response (Error: Wrong data Json Format):


{
    "message": "Wrong data Json Format",
    "status": "fail"
}
 

Request      

POST api/v2/feedbacks

Body Parameters

id  integer  

Required. Type: integer. Validation: required.

mobile  string  

Required. Type: string. Validation: required|string|max:20. Must not be greater than 20 characters.

msg  string  

Required. Type: string. Validation: required|string|max:500. Must not be greater than 500 characters.

type  integer  

Required. Type: integer. Validation: required|integer.

isactive  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

departmentid  integer  

Required. Type: integer. Validation: required.

Request body example:

[
    {
        "id": 1,
        "mobile": "03000000",
        "msg": "example",
        "type": 1,
        "isactive": 1,
        "departmentid": 1
    }
]

Response

Response Fields

message  string  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

deleted  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add Contents

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/contents" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"id\": 1,
    \"page_title\": \"example\",
    \"page_url\": \"https:\\/\\/posapis.com\\/example.jpg\",
    \"isactive\": 1
}"
const url = new URL(
    "http://localhost/api/v2/contents"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "id": 1,
    "page_title": "example",
    "page_url": "https:\/\/posapis.com\/example.jpg",
    "isactive": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response ( Web Contents Added / Updated / Deleted Successfully):


{
    "message": " Web Contents Added / Updated / Deleted Successfully",
    "inserted": 1,
    "updated": 1,
    "deleted": 1,
    "status": "success"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Wrong json format):


{
    "message": "Wrong json format",
    "status": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "message": "The given data was invalid.",
    "status": "fail"
}
 

Example response (Error: Only head office is authorized):


{
    "message": "Only head office is authorized",
    "status": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "message": "Wrong data json format",
    "status": "fail"
}
 

Request      

POST api/v2/contents

Body Parameters

id  integer  

Required. Type: integer. Validation: required.

Request body example:

[
    {
        "id": 1,
        "page_title": "example",
        "page_url": "https://posapis.com/example.jpg",
        "isactive": 1
    }
]

page_title  string  

Required. Type: string. Validation: required|string|max:100. Must not be greater than 100 characters.

page_url  string  

Required. Type: string. Validation: required|string|max:200. Must not be greater than 200 characters.

isactive  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

Response

Response Fields

message  string  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

deleted  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add App Settings

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/app/settings" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"id\": 1,
    \"mobile_prefix\": \"example\",
    \"currency\": \"example\",
    \"show_remarks_on_questions\": 1,
    \"show_remarks_on_all_items\": 1,
    \"android_maintenance_mode\": 1,
    \"android_min_version\": \"example\",
    \"android_cur_version\": \"example\",
    \"ios_min_version\": \"example\",
    \"ios_cur_version\": \"example\",
    \"money_format\": \"example\",
    \"phone_mask\": \"03000000\",
    \"show_big_category\": 1,
    \"order_menu_catalog_id\": 1,
    \"gallery_catalog_id\": 1,
    \"product_catalog_id\": 1,
    \"isactive\": 1
}"
const url = new URL(
    "http://localhost/api/v2/app/settings"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "id": 1,
    "mobile_prefix": "example",
    "currency": "example",
    "show_remarks_on_questions": 1,
    "show_remarks_on_all_items": 1,
    "android_maintenance_mode": 1,
    "android_min_version": "example",
    "android_cur_version": "example",
    "ios_min_version": "example",
    "ios_cur_version": "example",
    "money_format": "example",
    "phone_mask": "03000000",
    "show_big_category": 1,
    "order_menu_catalog_id": 1,
    "gallery_catalog_id": 1,
    "product_catalog_id": 1,
    "isactive": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response ( App Settings Added / Updated / Deleted Successfully):


{
    "message": " App Settings Added / Updated / Deleted Successfully",
    "inserted": 1,
    "updated": 1,
    "deleted": 1,
    "status": "success"
}
 

Example response (Error: No Data Has Been Entered):


{
    "message": "No Data Has Been Entered",
    "status": "fail"
}
 

Example response (Error: Wrong json format):


{
    "message": "Wrong json format",
    "status": "fail"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Wrong json format):


{
    "message": "Wrong json format",
    "status": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "message": "The given data was invalid.",
    "status": "fail"
}
 

Request      

POST api/v2/app/settings

Body Parameters

id  integer  

Required. Type: integer. Validation: required.

mobile_prefix  string  

Required. Type: string. Validation: required|string|max:5. Must not be greater than 5 characters.

currency  string optional  

Optional. Type: string. Validation: string|max:3. Must not be greater than 3 characters.

show_remarks_on_questions  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

show_remarks_on_all_items  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

android_maintenance_mode  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

android_min_version  string  

Required. Type: string. Validation: required|string|max:12. Must not be greater than 12 characters.

android_cur_version  string  

Required. Type: string. Validation: required|string|max:12. Must not be greater than 12 characters.

Request body example:

[
    {
        "id": 1,
        "mobile_prefix": "example",
        "currency": "example",
        "show_remarks_on_questions": 1,
        "show_remarks_on_all_items": 1,
        "android_maintenance_mode": 1,
        "android_min_version": "example",
        "android_cur_version": "example",
        "ios_min_version": "example",
        "ios_cur_version": "example",
        "money_format": "example",
        "phone_mask": "03000000",
        "show_big_category": 1,
        "order_menu_catalog_id": 1,
        "gallery_catalog_id": 1,
        "product_catalog_id": 1,
        "isactive": 1
    }
]

ios_min_version  string  

Required. Type: string. Validation: required|string|max:12. Must not be greater than 12 characters.

ios_cur_version  string  

Required. Type: string. Validation: required|string|max:12. Must not be greater than 12 characters.

money_format  string  

Required. Type: string. Validation: required|string|max:255. Must not be greater than 255 characters.

phone_mask  string  

Required. Type: string. Validation: required|string|max:255. Must not be greater than 255 characters.

show_big_category  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

order_menu_catalog_id  integer  

Required. Type: integer. Validation: required.

gallery_catalog_id  integer optional  

Optional. Type: integer. Validation: integer.

product_catalog_id  integer optional  

Optional. Type: integer. Validation: integer.

isactive  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

Response

Response Fields

message  string  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

deleted  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Fetch Health

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/health" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v2/health"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (System is healthy):


{
    "MESSAGE": "System is healthy",
    "STATUS": "success"
}
 

Request      

GET api/v2/health

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Fetch Updateid

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/updateid" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}"
const url = new URL(
    "http://localhost/api/v2/updateid"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


{
    "updateid": 1
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Example error response (from controller)):


{
    "error": "Branch not found for the logged-in user"
}
 

Example response (Example error response (from controller)):


{
    "error": "An unexpected error occurred"
}
 

Request      

GET api/v2/updateid

Response

Response Fields

updateid  integer  

Returned by this endpoint.

Fetch Questiongroup Detail

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/questiongroup/details/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}"
const url = new URL(
    "http://localhost/api/v2/questiongroup/details/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


{
    "data": [
        {
            "*": "example"
        }
    ],
    "status": "success"
}
 

Example response (Example error response (from controller)):


{
    "error": "Invalid questionid provided."
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Example error response (from controller)):


{
    "error": "Branch not found for the logged-in user"
}
 

Example response (Example error response (from controller)):


{
    "error": "An unexpected error occurred"
}
 

Request      

GET api/v2/questiongroup/details/{questionid?}

URL Parameters

questionid  integer optional  

Optional. Type: integer.

Response

Response Fields

data  array  

Array field returned by this endpoint.

data[].*  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Fetch Questiongroup Header

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/questiongroup/headers/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}"
const url = new URL(
    "http://localhost/api/v2/questiongroup/headers/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


{
    "data": [
        {
            "*": "example"
        }
    ],
    "status": "success"
}
 

Example response (Example error response (from controller)):


{
    "error": "Invalid questionid provided."
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Example error response (from controller)):


{
    "error": "Branch not found for the logged-in user"
}
 

Example response (Example error response (from controller)):


{
    "error": "An unexpected error occurred"
}
 

Request      

GET api/v2/questiongroup/headers/{questionid?}

URL Parameters

questionid  integer optional  

Optional. Type: integer.

Response

Response Fields

data  array  

Array field returned by this endpoint.

data[].*  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Fetch Webhook Order Shopify

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/webhooks/orders/shopify" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v2/webhooks/orders/shopify"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (generated)):


{
    "status": "success",
    "message": "",
    "data": [
        {
            "id": 1,
            "webhook_name": "Example Webhook",
            "is_active": true
        },
        {
            "id": 2,
            "webhook_name": "Example Webhook",
            "is_active": true
        }
    ]
}
 

Example response (Example unauthorized response (generated)):


{
    "message": "Unauthorized",
    "error": "Unauthorized",
    "status": "fail"
}
 

Request      

GET api/v2/webhooks/orders/shopify

POST api/v2/webhooks/orders/shopify

PUT api/v2/webhooks/orders/shopify

PATCH api/v2/webhooks/orders/shopify

DELETE api/v2/webhooks/orders/shopify

OPTIONS api/v2/webhooks/orders/shopify

Response

Response Fields

status  string  

Returned by this endpoint.

message  string  

Returned by this endpoint.

data  array  

Array field returned by this endpoint.

data[].id  integer  

Returned by this endpoint.

data[].webhook_name  string  

Returned by this endpoint.

data[].is_active  boolean  

Returned by this endpoint.

Fetch Webhook Shopify Customer Data Request

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/webhooks/shopify/customers/data_request" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v2/webhooks/shopify/customers/data_request"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (successfull):


{
    "MESSAGE": "successfull",
    "STATUS": "success"
}
 

Example response (Error: unauth):


{
    "MESSAGE": "unauth",
    "STATUS": "success"
}
 

Request      

GET api/v2/webhooks/shopify/customers/data_request

POST api/v2/webhooks/shopify/customers/data_request

PUT api/v2/webhooks/shopify/customers/data_request

PATCH api/v2/webhooks/shopify/customers/data_request

DELETE api/v2/webhooks/shopify/customers/data_request

OPTIONS api/v2/webhooks/shopify/customers/data_request

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Fetch Webhook Shopify App Uninstalled

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/webhooks/shopify/app-uninstalled" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v2/webhooks/shopify/app-uninstalled"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (uninstalled successfully):


{
    "MESSAGE": "uninstalled successfully",
    "STATUS": "success"
}
 

Request      

GET api/v2/webhooks/shopify/app-uninstalled

POST api/v2/webhooks/shopify/app-uninstalled

PUT api/v2/webhooks/shopify/app-uninstalled

PATCH api/v2/webhooks/shopify/app-uninstalled

DELETE api/v2/webhooks/shopify/app-uninstalled

OPTIONS api/v2/webhooks/shopify/app-uninstalled

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Fetch Webhook Shopify Customer Redact

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/webhooks/shopify/customers/redact" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v2/webhooks/shopify/customers/redact"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (successfull):


{
    "MESSAGE": "successfull",
    "STATUS": "success"
}
 

Example response (Error: unauth):


{
    "MESSAGE": "unauth",
    "STATUS": "success"
}
 

Request      

GET api/v2/webhooks/shopify/customers/redact

POST api/v2/webhooks/shopify/customers/redact

PUT api/v2/webhooks/shopify/customers/redact

PATCH api/v2/webhooks/shopify/customers/redact

DELETE api/v2/webhooks/shopify/customers/redact

OPTIONS api/v2/webhooks/shopify/customers/redact

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Fetch Webhook Shopify Shop Redact

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/webhooks/shopify/shop/redact" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v2/webhooks/shopify/shop/redact"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (successfull):


{
    "MESSAGE": "successfull",
    "STATUS": "success"
}
 

Example response (Error: unauth):


{
    "MESSAGE": "unauth",
    "STATUS": "fail"
}
 

Request      

GET api/v2/webhooks/shopify/shop/redact

POST api/v2/webhooks/shopify/shop/redact

PUT api/v2/webhooks/shopify/shop/redact

PATCH api/v2/webhooks/shopify/shop/redact

DELETE api/v2/webhooks/shopify/shop/redact

OPTIONS api/v2/webhooks/shopify/shop/redact

Response

Response Fields

MESSAGE  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Fetch Menuapp Categories

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/menuapp/categories" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v2/menuapp/categories"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


{
    "status": "OK",
    "code": 200,
    "data": {
        "status_code": 200,
        "categories": [
            {
                "id": 1,
                "name": "Ajax Festival",
                "items": [
                    {
                        "in_stock": false,
                        "price_levels": [
                            {
                                "id": 1,
                                "price": 12.5
                            }
                        ]
                    }
                ]
            }
        ]
    }
}
 

Example response (Example error response (from controller)):


{
    "status": "OK",
    "code": 200,
    "data": {
        "status_code": 400,
        "message": "Something went wrong / Exception"
    }
}
 

Request      

GET api/v2/menuapp/categories

Response

Response Fields

status  string  

Returned by this endpoint.

code  integer  

Returned by this endpoint.

data  object  

Object field returned by this endpoint.

data.status_code  integer  

Returned by this endpoint.

data.categories  array  

Array field returned by this endpoint.

data.categories[].id  integer  

Returned by this endpoint.

data.categories[].name  string  

Returned by this endpoint.

data.categories[].items  array  

Array field returned by this endpoint.

data.categories[].items[].in_stock  boolean  

Returned by this endpoint.

data.categories[].items[].price_levels  array  

Array field returned by this endpoint.

data.categories[].items[].price_levels[].id  integer  

Returned by this endpoint.

data.categories[].items[].price_levels[].price  number  

Returned by this endpoint.

Fetch Menuapp Combo Meals

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/menuapp/combo-meals" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v2/menuapp/combo-meals"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example error response (from controller)):


{
    "status": "OK",
    "code": 200,
    "data": {
        "status_code": 400,
        "message": "Something went wrong / Exception"
    }
}
 

Example response (Example success response (generated)):


{
    "status": "success",
    "message": "",
    "data": [
        {
            "id": 1,
            "menuapp_name": "Example Menuapp",
            "is_active": true
        },
        {
            "id": 2,
            "menuapp_name": "Example Menuapp",
            "is_active": true
        }
    ]
}
 

Example response (Example unauthorized response (generated)):


{
    "message": "Unauthorized",
    "error": "Unauthorized",
    "status": "fail"
}
 

Request      

GET api/v2/menuapp/combo-meals

Response

Response Fields

status  string  

Returned by this endpoint.

message  string  

Returned by this endpoint.

data  array  

Array field returned by this endpoint.

data[].id  integer  

Returned by this endpoint.

data[].menuapp_name  string  

Returned by this endpoint.

data[].is_active  boolean  

Returned by this endpoint.

Fetch Menuapp Modifiers

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/menuapp/modifiers" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v2/menuapp/modifiers"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example error response (from controller)):


{
    "status": "OK",
    "code": 200,
    "data": {
        "status_code": 400,
        "message": "Something went wrong / Exception"
    }
}
 

Example response (Example success response (generated)):


{
    "status": "success",
    "message": "",
    "data": [
        {
            "id": 1,
            "menuapp_name": "Example Menuapp",
            "is_active": true
        },
        {
            "id": 2,
            "menuapp_name": "Example Menuapp",
            "is_active": true
        }
    ]
}
 

Example response (Example unauthorized response (generated)):


{
    "message": "Unauthorized",
    "error": "Unauthorized",
    "status": "fail"
}
 

Request      

GET api/v2/menuapp/modifiers

Response

Response Fields

status  string  

Returned by this endpoint.

message  string  

Returned by this endpoint.

data  array  

Array field returned by this endpoint.

data[].id  integer  

Returned by this endpoint.

data[].menuapp_name  string  

Returned by this endpoint.

data[].is_active  boolean  

Returned by this endpoint.

Add Menuapp Orders

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/menuapp/orders" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/v2/menuapp/orders"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


{
    "MESSAGE": {
        "status": "OK",
        "code": 200,
        "data": {
            "status_code": 200,
            "order_id": "ORD-1001",
            "order_code": 1,
            "order_uuid": 1,
            "order_due": 0,
            "is_open": true,
            "closed_at": "example",
            "pos_order_info": {
                "pos_order_id": "ORD-1001",
                "pos_order_code": "ORD-1001"
            }
        }
    },
    "STATUS": "success"
}
 

Example response (Error: Order Not Added):


{
    "MESSAGE": "Order Not Added",
    "STATUS": "fail"
}
 

Example response (Error: Items not Added Please Delete the order and try again):


{
    "MESSAGE": "Items not Added Please Delete the order and try again",
    "STATUS": "fail"
}
 

Example response (Error: Branch not Registed):


{
    "MESSAGE": "Branch not Registed",
    "STATUS": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "MESSAGE": "Wrong data json format",
    "STATUS": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "https://posapis.com/example.jpg",
    "line": 1,
    "status": "fail"
}
 

Request      

POST api/v2/menuapp/orders

Response

Response Fields

MESSAGE  object  

Object field returned by this endpoint.

MESSAGE.status  string  

Returned by this endpoint.

MESSAGE.code  integer  

Returned by this endpoint.

MESSAGE.data  object  

Object field returned by this endpoint.

MESSAGE.data.status_code  integer  

Returned by this endpoint.

MESSAGE.data.order_id  string  

Returned by this endpoint.

MESSAGE.data.order_code  integer  

Returned by this endpoint.

MESSAGE.data.order_uuid  integer  

Returned by this endpoint.

MESSAGE.data.order_due  integer  

Returned by this endpoint.

MESSAGE.data.is_open  boolean  

Returned by this endpoint.

MESSAGE.data.closed_at  string  

Returned by this endpoint.

MESSAGE.data.pos_order_info  object  

Object field returned by this endpoint.

MESSAGE.data.pos_order_info.pos_order_id  string  

Returned by this endpoint.

MESSAGE.data.pos_order_info.pos_order_code  string  

Returned by this endpoint.

STATUS  string  

Returned by this endpoint.

Shop APIs (V2) — Geo Addresses

Store / channel write endpoints for pushing catalog data and integrating external systems (Shopify, Deliverect, etc.).

Add Branchesregions

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/branchesregions" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"id\": 1,
    \"name\": \"Example Name\",
    \"isactive\": 1,
    \"branchid\": 1,
    \"regionid\": 1
}"
const url = new URL(
    "http://localhost/api/v2/branchesregions"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "id": 1,
    "name": "Example Name",
    "isactive": 1,
    "branchid": 1,
    "regionid": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response ( Branch Region Added / Updated / Deleted Successfully):


{
    "message": " Branch Region Added / Updated / Deleted Successfully",
    "inserted": 1,
    "updated": 1,
    "deleted": 1,
    "status": "success"
}
 

Example response (Error: No Data Has Been Entered):


{
    "message": "No Data Has Been Entered",
    "status": "fail"
}
 

Example response (Error: Wrong json format):


{
    "message": "Wrong json format",
    "status": "fail"
}
 

Example response (Error: Wrong Data Format):


{
    "message": "Wrong Data Format",
    "status": "fail"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: you must enter valid ids):


{
    "message": "you must enter valid ids",
    "status": "fail"
}
 

Request      

POST api/v2/branchesregions

Body Parameters

id  integer  

Required. Type: integer. Validation: required.

name  string optional  

Optional. Type: string. Validation: string|max:200. Must not be greater than 200 characters.

isactive  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

branchid  integer  

Required. Type: integer. Validation: required.

Request body example:

[
    {
        "id": 1,
        "name": "Example Name",
        "isactive": 1,
        "branchid": 1,
        "regionid": 1
    }
]

regionid  integer  

Required. Type: integer. Validation: required.

Response

Response Fields

message  string  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

deleted  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add Branches

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/branches" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"id\": 1,
    \"clientid\": 1,
    \"name\": \"Example Name\",
    \"phone\": \"03000000\",
    \"email\": \"example@bimpos.com\",
    \"isactive\": 1,
    \"openinghours\": \"example\",
    \"acceptsdelivery\": 1,
    \"acceptstakeaway\": 1
}"
const url = new URL(
    "http://localhost/api/v2/branches"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "id": 1,
    "clientid": 1,
    "name": "Example Name",
    "phone": "03000000",
    "email": "example@bimpos.com",
    "isactive": 1,
    "openinghours": "example",
    "acceptsdelivery": 1,
    "acceptstakeaway": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response ( Branch Added / Updated / Deleted Successfully):


{
    "message": " Branch Added / Updated / Deleted Successfully",
    "inserted": 1,
    "updated": 1,
    "deleted": 1,
    "status": "success"
}
 

Example response (Error: No Data Has Been Entered):


{
    "message": "No Data Has Been Entered",
    "status": "fail"
}
 

Example response (Error: Wrong json format):


{
    "message": "Wrong json format",
    "status": "fail"
}
 

Example response (Error: Wrong Data Format):


{
    "message": "Wrong Data Format",
    "status": "fail"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Wrong json format):


{
    "message": "Wrong json format",
    "status": "fail"
}
 

Request      

POST api/v2/branches

Body Parameters

id  integer  

Required. Type: integer. Validation: required.

clientid  integer  

Required. Type: integer. Validation: required.

name  string  

Required. Type: string. Validation: required|string|max:255. Must not be greater than 255 characters.

phone  string optional  

Optional. Type: string. Validation: string|max:50. Must not be greater than 50 characters.

email  string optional  

Optional. Type: string. Validation: string|email|max:255. Must be a valid email address. Must not be greater than 255 characters.

isactive  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

openinghours  string optional  

Optional. Type: string. Validation: string|max:255. Must not be greater than 255 characters.

acceptsdelivery  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

Request body example:

[
    {
        "id": 1,
        "clientid": 1,
        "name": "Example Name",
        "phone": "03000000",
        "email": "example@bimpos.com",
        "isactive": 1,
        "openinghours": "example",
        "acceptsdelivery": 1,
        "acceptstakeaway": 1
    }
]

acceptstakeaway  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

Response

Response Fields

message  string  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

deleted  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add Countries

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/countries" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"id\": 1,
    \"name\": \"Example Name\",
    \"isactive\": 1,
    \"phonemask\": \"03000000\",
    \"smscodestart\": \"example\"
}"
const url = new URL(
    "http://localhost/api/v2/countries"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "id": 1,
    "name": "Example Name",
    "isactive": 1,
    "phonemask": "03000000",
    "smscodestart": "example"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response ( Countries Added / Updated / Deleted Successfully):


{
    "message": " Countries Added / Updated / Deleted Successfully",
    "inserted": 1,
    "updated": 1,
    "deleted": 1,
    "status": "success"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Wrong json format):


{
    "message": "Wrong json format",
    "status": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "message": "The given data was invalid.",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "CountriesController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

POST api/v2/countries

Body Parameters

id  integer  

Required. Type: integer. Validation: required.

Request body example:

[
    {
        "id": 1,
        "name": "Example Name",
        "isactive": 1,
        "phonemask": "03000000",
        "smscodestart": "example"
    }
]

name  string  

Required. Type: string. Validation: required|string|max:100. Must not be greater than 100 characters.

isactive  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

phonemask  string optional  

Optional. Type: string. Validation: string|max:20. Must not be greater than 20 characters.

smscodestart  string optional  

Optional. Type: string. Validation: string|max:100. Must not be greater than 100 characters.

Response

Response Fields

message  string  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

deleted  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add Regions

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/regions" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"id\": 1,
    \"name\": \"Example Name\",
    \"isactive\": 1
}"
const url = new URL(
    "http://localhost/api/v2/regions"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "id": 1,
    "name": "Example Name",
    "isactive": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response ( Region Added / Updated / Deleted Successfully):


{
    "message": " Region Added / Updated / Deleted Successfully",
    "inserted": 1,
    "updated": 1,
    "deleted": 1,
    "status": "success"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Wrong json format):


{
    "message": "Wrong json format",
    "status": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "message": "The given data was invalid.",
    "status": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "message": "Wrong data json format",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "https://posapis.com/example.jpg",
    "line": 1,
    "status": "fail"
}
 

Request      

POST api/v2/regions

Body Parameters

id  integer  

Required. Type: integer. Validation: required.

Request body example:

[
    {
        "id": 1,
        "name": "Example Name",
        "isactive": 1
    }
]

name  string  

Required. Type: string. Validation: required|string|max:255. Must not be greater than 255 characters.

isactive  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

Response

Response Fields

message  string  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

deleted  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add Cities

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/cities" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"id\": 1,
    \"name\": \"Example Name\",
    \"phonecode\": \"03000000\",
    \"isactive\": 1
}"
const url = new URL(
    "http://localhost/api/v2/cities"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "id": 1,
    "name": "Example Name",
    "phonecode": "03000000",
    "isactive": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response ( Cities Added / Updated / Deleted Successfully):


{
    "message": " Cities Added / Updated / Deleted Successfully",
    "inserted": 1,
    "updated": 1,
    "deleted": 1,
    "status": "success"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Wrong json format):


{
    "message": "Wrong json format",
    "status": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "message": "The given data was invalid.",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "CityController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

POST api/v2/cities

Body Parameters

id  integer  

Required. Type: integer. Validation: required.

Request body example:

[
    {
        "id": 1,
        "name": "Example Name",
        "phonecode": "03000000",
        "isactive": 1
    }
]

name  string  

Required. Type: string. Validation: required|string|max:255. Must not be greater than 255 characters.

phonecode  string optional  

Optional. Type: string. Validation: string|max:255. Must not be greater than 255 characters.

isactive  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

Response

Response Fields

message  string  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

deleted  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add Branch Settings

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/branch/settings" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"settingkey\": \"example\",
    \"boolvalue\": 1,
    \"numvalue\": 1,
    \"doublevalue\": \"example\",
    \"isactive\": 1
}"
const url = new URL(
    "http://localhost/api/v2/branch/settings"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "settingkey": "example",
    "boolvalue": 1,
    "numvalue": 1,
    "doublevalue": "example",
    "isactive": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response ( Branch Settings Added / Updated / Deleted Successfully):


{
    "message": " Branch Settings Added / Updated / Deleted Successfully",
    "inserted": 1,
    "updated": 1,
    "deleted": 1,
    "status": "success"
}
 

Example response (Error: No Data Has Been Entered):


{
    "message": "No Data Has Been Entered",
    "status": "fail"
}
 

Example response (Error: Wrong json format):


{
    "message": "Wrong json format",
    "status": "fail"
}
 

Example response (Error: Wrong Data Format):


{
    "message": "Wrong Data Format",
    "status": "fail"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Wrong json format):


{
    "message": "Wrong json format",
    "status": "fail"
}
 

Request      

POST api/v2/branch/settings

Body Parameters

settingkey  string  

Required. Type: string. Validation: required|string|max:100. Must not be greater than 100 characters.

boolvalue  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

Request body example:

[
    {
        "settingkey": "example",
        "boolvalue": 1,
        "numvalue": 1,
        "doublevalue": "example",
        "isactive": 1
    }
]

numvalue  integer optional  

Optional. Type: integer. Validation: integer.

doublevalue  string optional  

Optional. Type: string. Validation: regex:/^[0-9]+(\.[0-9][0-9]?)?$/. The value format is invalid.

isactive  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

Response

Response Fields

message  string  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

deleted  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Shop APIs (V2) — Products

Store / channel write endpoints for pushing catalog data and integrating external systems (Shopify, Deliverect, etc.).

Add Parents

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/parents" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"id\": 1,
    \"descript\": \"Ajax Festival\",
    \"isactive\": 1,
    \"clientid\": 1,
    \"versionid\": 1
}"
const url = new URL(
    "http://localhost/api/v2/parents"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "id": 1,
    "descript": "Ajax Festival",
    "isactive": 1,
    "clientid": 1,
    "versionid": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response ( Parent Added / Updated / Deleted Successfully):


{
    "message": " Parent Added / Updated / Deleted Successfully",
    "inserted": 1,
    "updated": 1,
    "deleted": 1,
    "status": "success"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Wrong json format):


{
    "message": "Wrong json format",
    "status": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "message": "The given data was invalid.",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "https://posapis.com/example.jpg",
    "line": 1,
    "status": "fail"
}
 

Request      

POST api/v2/parents

Body Parameters

id  integer  

Required. Type: integer. Validation: required.

descript  string optional  

Optional. Type: string. Validation: string|max:255|nullable. Must not be greater than 255 characters.

isactive  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1|nullable. Must be at least 0. Must not be greater than 1.

clientid  string optional  

Optional. Type: string. Validation: max:6|string. Must not be greater than 6 characters.

Request body example:

[
    {
        "id": 1,
        "descript": "Ajax Festival",
        "isactive": 1,
        "clientid": 1,
        "versionid": 1
    }
]

versionid  integer optional  

Optional. Type: integer. Validation: integer.

Response

Response Fields

message  string  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

deleted  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add Category

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/category" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"catid\": 1,
    \"catname\": \"Example Catname\",
    \"descript\": \"Ajax Festival\",
    \"hidefromnavigation\": 1,
    \"isactive\": 1,
    \"menuid\": 1,
    \"parentid\": 1
}"
const url = new URL(
    "http://localhost/api/v2/category"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "catid": 1,
    "catname": "Example Catname",
    "descript": "Ajax Festival",
    "hidefromnavigation": 1,
    "isactive": 1,
    "menuid": 1,
    "parentid": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response ( Categories Added / Updated / Deleted Successfully):


{
    "message": " Categories Added / Updated / Deleted Successfully",
    "inserted": 1,
    "updated": 1,
    "deleted": 1,
    "status": "success"
}
 

Example response (Error: No Data Has Been Entered):


{
    "message": "No Data Has Been Entered",
    "status": "fail"
}
 

Example response (Error: Wrong json format):


{
    "message": "Wrong json format",
    "status": "fail"
}
 

Example response (Error: Wrong Data Format):


{
    "message": "Wrong Data Format",
    "status": "fail"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Wrong json format):


{
    "message": "Wrong json format",
    "status": "fail"
}
 

Request      

POST api/v2/category

Body Parameters

catid  integer  

Required. Type: integer. Validation: required.

Request body example:

[
    {
        "catid": 1,
        "catname": "Example Catname",
        "descript": "Ajax Festival",
        "hidefromnavigation": 1,
        "isactive": 1,
        "menuid": 1,
        "parentid": 1
    }
]

catname  string  

Required. Type: string. Validation: required.

descript  string optional  

Optional. Type: string. Validation: string|nullable.

hidefromnavigation  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1|nullable. Must be at least 0. Must not be greater than 1.

isactive  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1|nullable. Must be at least 0. Must not be greater than 1.

menuid  integer  

Required. Type: integer. Validation: required.

parentid  integer  

Required. Type: integer. Validation: required.

Response

Response Fields

message  string  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

deleted  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add Products

requires authentication

Each element is validated and upserted. Set isactive to 0 to delete.

Example request:
curl --request POST \
    "http://localhost/api/v2/products" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"prodnum\": 1000606,
    \"catid\": 10,
    \"descript\": \"Ajax Festival\",
    \"enabled\": 1,
    \"refcode1\": \"example\",
    \"istaxable1\": 1,
    \"istaxable2\": 0,
    \"istaxable3\": 0,
    \"SKUID1\": 1,
    \"SKUID2\": 3,
    \"isactive\": 1,
    \"isproduction\": 0
}"
const url = new URL(
    "http://localhost/api/v2/products"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "prodnum": 1000606,
    "catid": 10,
    "descript": "Ajax Festival",
    "enabled": 1,
    "refcode1": "example",
    "istaxable1": 1,
    "istaxable2": 0,
    "istaxable3": 0,
    "SKUID1": 1,
    "SKUID2": 3,
    "isactive": 1,
    "isproduction": 0
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response ( Products Added / Updated / Deleted Successfully):


{
    "message": " Products Added / Updated / Deleted Successfully",
    "inserted": 1,
    "updated": 1,
    "deleted": 1,
    "status": "success"
}
 

Example response (Error: The Category is not found on shopify):


{
    "message": "The Category is not found on shopify",
    "status": "fail"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Wrong json format):


{
    "message": "Wrong json format",
    "status": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "message": "The given data was invalid.",
    "status": "fail"
}
 

Example response (Error: Category id must exist ):


{
    "message": "Category id must exist ",
    "status": "fail"
}
 

Request      

POST api/v2/products

Body Parameters

prodnum  integer  

Required. Product number / ID. Required. Type: integer. Validation: required.

catid  integer  

Required. Category ID (must exist). Required. Type: integer. Validation: required.

descript  string optional  

Optional. Product description (max 255). Optional. Type: string. Validation: string|max:255. Must not be greater than 255 characters.

enabled  integer optional  

Optional. Enable product (0 or 1). Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

refcode1  string optional  

Optional. Barcode / reference code. Optional. Type: string. Validation: string.

istaxable1  integer optional  

Optional. Taxable flag 1 (0 or 1). Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

istaxable2  integer optional  

Optional. Taxable flag 2 (0 or 1). Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

istaxable3  integer optional  

Optional. Taxable flag 3 (0 or 1). Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

SKUID1  integer optional  

Optional. First SKU ID. Optional. Type: integer. Validation: integer.

Request body example:

[
    {
        "prodnum": 1000606,
        "catid": 10,
        "descript": "Ajax Festival",
        "enabled": 1,
        "refcode1": "example",
        "istaxable1": 1,
        "istaxable2": 0,
        "istaxable3": 0,
        "SKUID1": 1,
        "SKUID2": 3,
        "isactive": 1,
        "isproduction": 0,
        "0": {
            "prodnum": 1000606,
            "catid": 10,
            "descript": "Ajax Festival of Flowers",
            "enabled": 1,
            "SKUID1": 1,
            "SKUID2": 3,
            "isactive": 1,
            "isproduction": 0
        }
    }
]

SKUID2  integer optional  

Optional. Second SKU ID. Optional. Type: integer. Validation: integer.

isactive  integer optional  

Optional. 1 = active, 0 = delete if exists. Optional. Type: integer. Validation: integer|min:0|max:1|nullable. Must be at least 0. Must not be greater than 1.

isproduction  integer optional  

Optional. Production / kitchen flag (0 or 1). Optional. Type: integer. Validation: integer|min:0|max:1|nullable. Must be at least 0. Must not be greater than 1.

*  object  

*.prodnum  integer  

Required. Type: integer. Product number / ID.

*.catid  integer  

Required. Type: integer. Category ID (must exist).

*.descript  string optional  

Optional. Type: string. Product description (max 255).

*.enabled  integer optional  

Optional. Type: integer. Enable product (0 or 1).

*.SKUID1  integer optional  

Optional. Type: integer. First SKU ID.

*.SKUID2  integer optional  

Optional. Type: integer. Second SKU ID.

*.isactive  integer optional  

Optional. Type: integer. 1 active, 0 delete if exists.

*.isproduction  integer optional  

Optional. Type: integer. Production / kitchen flag (0 or 1).

Response

Response Fields

message  string  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

deleted  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add Product Stock

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/product/stock" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"stock\": \"example\",
    \"branchid\": 1,
    \"skuid1\": \"example\",
    \"skuid2\": \"example\",
    \"isactive\": 1
}"
const url = new URL(
    "http://localhost/api/v2/product/stock"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "stock": "example",
    "branchid": 1,
    "skuid1": "example",
    "skuid2": "example",
    "isactive": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response ( Product Stock Added / Updated / Deleted Successfully):


{
    "message": " Product Stock Added / Updated / Deleted Successfully",
    "inserted": 1,
    "updated": 1,
    "deleted": 1,
    "status": "success"
}
 

Example response (Error: Shopify Inventory Item not found!!):


{
    "message": "Shopify Inventory Item not found!!",
    "status": "fail"
}
 

Example response (Error: We found multiple locations, that are not implemented yet!!):


{
    "message": "We found multiple locations, that are not implemented yet!!",
    "status": "fail"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "message": "The given data was invalid.",
    "status": "fail"
}
 

Example response (Error: Branch not registered):


{
    "message": "Branch not registered",
    "status": "fail"
}
 

Request      

POST api/v2/product/stock

Body Parameters

stock  string  

Required. Type: string. Validation: required.

branchid  integer  

Required. Type: integer. Validation: required.

Request body example:

[
    {
        "stock": "example",
        "branchid": 1,
        "skuid1": "example",
        "skuid2": "example",
        "isactive": 1
    }
]

skuid1  string  

Required. Type: string. Validation: required.

skuid2  string  

Required. Type: string. Validation: required.

isactive  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

Response

Response Fields

message  string  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

deleted  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add Product Stocks

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/product/stocks" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"stock\": \"example\",
    \"branchid\": 1,
    \"skuid1\": \"example\",
    \"skuid2\": \"example\",
    \"isactive\": 1
}"
const url = new URL(
    "http://localhost/api/v2/product/stocks"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "stock": "example",
    "branchid": 1,
    "skuid1": "example",
    "skuid2": "example",
    "isactive": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response ( Product Stocks Added / Updated / Deleted Successfully):


{
    "message": " Product Stocks Added / Updated / Deleted Successfully",
    "inserted": 1,
    "updated": 1,
    "deleted": 1,
    "status": "success"
}
 

Example response (Error: Shopify Inventory Item not found!!):


{
    "message": "Shopify Inventory Item not found!!",
    "status": "fail"
}
 

Example response (Error: We found multiple locations, that are not implemented yet!!):


{
    "message": "We found multiple locations, that are not implemented yet!!",
    "status": "fail"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "message": "The given data was invalid.",
    "status": "fail"
}
 

Example response (Error: Branch not registered):


{
    "message": "Branch not registered",
    "status": "fail"
}
 

Request      

POST api/v2/product/stocks

Body Parameters

stock  string  

Required. Type: string. Validation: required.

branchid  integer  

Required. Type: integer. Validation: required.

Request body example:

[
    {
        "stock": "example",
        "branchid": 1,
        "skuid1": "example",
        "skuid2": "example",
        "isactive": 1
    }
]

skuid1  string  

Required. Type: string. Validation: required.

skuid2  string  

Required. Type: string. Validation: required.

isactive  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

Response

Response Fields

message  string  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

deleted  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add Menus

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/menus" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"menuid\": 1,
    \"descript\": \"Ajax Festival\",
    \"isactive\": 1
}"
const url = new URL(
    "http://localhost/api/v2/menus"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "menuid": 1,
    "descript": "Ajax Festival",
    "isactive": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response ( Menus Added / Updated / Deleted Successfully):


{
    "message": " Menus Added / Updated / Deleted Successfully",
    "inserted": 1,
    "updated": 1,
    "deleted": 1,
    "status": "success"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Wrong json format):


{
    "message": "Wrong json format",
    "status": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "message": "The given data was invalid.",
    "status": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "message": "Wrong data json format",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "MenuController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

POST api/v2/menus

Body Parameters

menuid  integer  

Required. Type: integer. Validation: required.

descript  string optional  

Optional. Type: string. Validation: string|max:255. Must not be greater than 255 characters.

Request body example:

[
    {
        "menuid": 1,
        "descript": "Ajax Festival",
        "isactive": 1
    }
]

isactive  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

Response

Response Fields

message  string  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

deleted  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add Tags

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/tags" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"tagid\": 1,
    \"descript\": \"Ajax Festival\",
    \"isactive\": 1
}"
const url = new URL(
    "http://localhost/api/v2/tags"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "tagid": 1,
    "descript": "Ajax Festival",
    "isactive": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response ( Tags Added / Updated / Deleted Successfully):


{
    "message": " Tags Added / Updated / Deleted Successfully",
    "inserted": 1,
    "updated": 1,
    "deleted": 1,
    "status": "success"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Wrong json format):


{
    "message": "Wrong json format",
    "status": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "message": "The given data was invalid.",
    "status": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "message": "Wrong data json format",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "TagsController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

POST api/v2/tags

Body Parameters

tagid  integer  

Required. Type: integer. Validation: required.

descript  string optional  

Optional. Type: string. Validation: string|max:255. Must not be greater than 255 characters.

Request body example:

[
    {
        "tagid": 1,
        "descript": "Ajax Festival",
        "isactive": 1
    }
]

isactive  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

Response

Response Fields

message  string  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

deleted  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add Producttags

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/producttags" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"id\": 1,
    \"tagid\": 1,
    \"prodnum\": 1003919,
    \"isactive\": 1
}"
const url = new URL(
    "http://localhost/api/v2/producttags"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "id": 1,
    "tagid": 1,
    "prodnum": 1003919,
    "isactive": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response ( Product Tags Added / Updated / Deleted Successfully):


{
    "message": " Product Tags Added / Updated / Deleted Successfully",
    "inserted": 0,
    "updated": 0,
    "deleted": 1,
    "status": "success"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: you must enter valid product id):


{
    "message": "you must enter valid product id",
    "status": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "message": "The given data was invalid.",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "TagsController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

POST api/v2/producttags

Body Parameters

id  integer  

Required. Type: integer. Validation: required.

Request body example:

[
    {
        "id": 1,
        "tagid": 1,
        "prodnum": 1003919,
        "isactive": 1
    }
]

tagid  integer  

Required. Type: integer. Validation: required.

prodnum  integer  

Required. Type: integer. Validation: required.

isactive  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

Response

Response Fields

message  string  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

deleted  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add Modifiers

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/modifiers" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"prodnum\": 1003919,
    \"catid\": 1,
    \"price\": 12.5,
    \"descript\": \"Ajax Festival\",
    \"enabled\": 1,
    \"refcode1\": \"example\",
    \"istaxable1\": 1,
    \"istaxable2\": 1,
    \"istaxable3\": 1,
    \"isactive\": 1
}"
const url = new URL(
    "http://localhost/api/v2/modifiers"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "prodnum": 1003919,
    "catid": 1,
    "price": 12.5,
    "descript": "Ajax Festival",
    "enabled": 1,
    "refcode1": "example",
    "istaxable1": 1,
    "istaxable2": 1,
    "istaxable3": 1,
    "isactive": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response ( Modifiers Added / Updated / Deleted Successfully):


{
    "message": " Modifiers Added / Updated / Deleted Successfully",
    "inserted": 1,
    "updated": 1,
    "deleted": 1,
    "status": "success"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Wrong json format):


{
    "message": "Wrong json format",
    "status": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "message": "The given data was invalid.",
    "status": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "message": "Wrong data json format",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "ModifiersController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

POST api/v2/modifiers

Body Parameters

prodnum  integer  

Required. Type: integer. Validation: required.

catid  integer  

Required. Type: integer. Validation: required.

Request body example:

[
    {
        "prodnum": 1003919,
        "catid": 1,
        "price": 12.5,
        "descript": "Ajax Festival",
        "enabled": 1,
        "refcode1": "example",
        "istaxable1": 1,
        "istaxable2": 1,
        "istaxable3": 1,
        "isactive": 1
    }
]

price  string  

Required. Type: string. Validation: required.

descript  string optional  

Optional. Type: string. Validation: string|max:255. Must not be greater than 255 characters.

enabled  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

refcode1  string optional  

Optional. Type: string. Validation: string.

istaxable1  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

istaxable2  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

istaxable3  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

isactive  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

Response

Response Fields

message  string  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

deleted  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add Combo Headers

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/combo/headers" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"id\": 1,
    \"descript\": \"Ajax Festival\",
    \"isactive\": 1,
    \"required\": \"example\"
}"
const url = new URL(
    "http://localhost/api/v2/combo/headers"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "id": 1,
    "descript": "Ajax Festival",
    "isactive": 1,
    "required": "example"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response ( Combo Headers Added / Updated / Deleted Successfully):


{
    "message": " Combo Headers Added / Updated / Deleted Successfully",
    "inserted": 1,
    "updated": 1,
    "deleted": 1,
    "status": "success"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Wrong json format):


{
    "message": "Wrong json format",
    "status": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "message": "The given data was invalid.",
    "status": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "message": "Wrong data json format",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "ComboHeadersController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

POST api/v2/combo/headers

Body Parameters

id  integer  

Required. Type: integer. Validation: required.

descript  string  

Required. Type: string. Validation: required|string|max:255. Must not be greater than 255 characters.

Request body example:

[
    {
        "id": 1,
        "descript": "Ajax Festival",
        "isactive": 1,
        "required": "example"
    }
]

isactive  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

required  string  

Required. Type: string. Validation: required.

Response

Response Fields

message  string  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

deleted  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add Combo Details

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/combo/details" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"id\": 1,
    \"comboid\": 1,
    \"prodnum\": 1003919,
    \"seq\": 1,
    \"price\": 12.5,
    \"isactive\": 1
}"
const url = new URL(
    "http://localhost/api/v2/combo/details"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "id": 1,
    "comboid": 1,
    "prodnum": 1003919,
    "seq": 1,
    "price": 12.5,
    "isactive": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response ( Combo Details Added / Updated / Deleted Successfully):


{
    "message": " Combo Details Added / Updated / Deleted Successfully",
    "inserted": 1,
    "updated": 1,
    "deleted": 1,
    "status": "success"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Wrong json format):


{
    "message": "Wrong json format",
    "status": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "message": "The given data was invalid.",
    "status": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "message": "Wrong data json format",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "ComboDetailsController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

POST api/v2/combo/details

Body Parameters

id  integer  

Required. Type: integer. Validation: required.

comboid  integer  

Required. Type: integer. Validation: required.

Request body example:

[
    {
        "id": 1,
        "comboid": 1,
        "prodnum": 1003919,
        "seq": 1,
        "price": 12.5,
        "isactive": 1
    }
]

prodnum  integer  

Required. Type: integer. Validation: required.

seq  string  

Required. Type: string. Validation: required.

price  string  

Required. Type: string. Validation: required.

isactive  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

Response

Response Fields

message  string  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

deleted  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add Product Combos

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/product/combos" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"id\": 1,
    \"prodnum\": 1003919,
    \"comboid\": 1,
    \"seq\": 1,
    \"isactive\": 1
}"
const url = new URL(
    "http://localhost/api/v2/product/combos"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "id": 1,
    "prodnum": 1003919,
    "comboid": 1,
    "seq": 1,
    "isactive": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response ( Product Combos Added / Updated / Deleted Successfully):


{
    "message": " Product Combos Added / Updated / Deleted Successfully",
    "inserted": 1,
    "updated": 1,
    "deleted": 1,
    "status": "success"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Wrong json format):


{
    "message": "Wrong json format",
    "status": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "message": "The given data was invalid.",
    "status": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "message": "Wrong data json format",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "ProductComboController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

POST api/v2/product/combos

Body Parameters

id  integer  

Required. Type: integer. Validation: required.

prodnum  integer  

Required. Type: integer. Validation: required.

comboid  integer  

Required. Type: integer. Validation: required.

Request body example:

[
    {
        "id": 1,
        "prodnum": 1003919,
        "comboid": 1,
        "seq": 1,
        "isactive": 1
    }
]

seq  string  

Required. Type: string. Validation: required.

isactive  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

Response

Response Fields

message  string  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

deleted  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add Galleries

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/galleries" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"id\": 1,
    \"name\": \"Example Name\",
    \"isactive\": 1
}"
const url = new URL(
    "http://localhost/api/v2/galleries"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "id": 1,
    "name": "Example Name",
    "isactive": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (Gallery Added / Updated / Deleted Successfully):


{
    "message": "Gallery Added / Updated / Deleted Successfully",
    "inserted": 1,
    "updated": 1,
    "deleted": 1,
    "status": "success"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Wrong json format):


{
    "message": "Wrong json format",
    "status": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "message": "The given data was invalid.",
    "status": "fail"
}
 

Example response (Error: Only head office is authorized):


{
    "message": "Only head office is authorized",
    "status": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "message": "Wrong data json format",
    "status": "fail"
}
 

Request      

POST api/v2/galleries

Body Parameters

id  integer  

Required. Type: integer. Validation: required.

Request body example:

[
    {
        "id": 1,
        "name": "Example Name",
        "isactive": 1
    }
]

name  string  

Required. Type: string. Validation: required|string|max:100. Must not be greater than 100 characters.

isactive  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

Response

Response Fields

message  string  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

deleted  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/gallery/photos" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"id\": 1,
    \"title\": \"example\",
    \"descript\": \"Ajax Festival\",
    \"refnum\": 1,
    \"minorderqty\": 1,
    \"price\": 12.5,
    \"isactive\": 1,
    \"galleryid\": 1
}"
const url = new URL(
    "http://localhost/api/v2/gallery/photos"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "id": 1,
    "title": "example",
    "descript": "Ajax Festival",
    "refnum": 1,
    "minorderqty": 1,
    "price": 12.5,
    "isactive": 1,
    "galleryid": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (Gallery Photos Added / Updated / Deleted Successfully):


{
    "message": "Gallery Photos Added / Updated / Deleted Successfully",
    "inserted": 1,
    "updated": 1,
    "deleted": 1,
    "status": "success"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Wrong json format):


{
    "message": "Wrong json format",
    "status": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "message": "The given data was invalid.",
    "status": "fail"
}
 

Example response (Error: Only head office is authorized):


{
    "message": "Only head office is authorized",
    "status": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "message": "Wrong data json format",
    "status": "fail"
}
 

Response

Response Fields

message  string  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

deleted  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add Questiongroups

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/questiongroups" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"id\": 1,
    \"descript\": \"Ajax Festival\",
    \"isactive\": 1
}"
const url = new URL(
    "http://localhost/api/v2/questiongroups"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "id": 1,
    "descript": "Ajax Festival",
    "isactive": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response ( Question Group Added / Updated / Deleted Successfully):


{
    "message": " Question Group Added / Updated / Deleted Successfully",
    "inserted": 1,
    "updated": 1,
    "deleted": 1,
    "status": "success"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Wrong json format):


{
    "message": "Wrong json format",
    "status": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "message": "The given data was invalid.",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "https://posapis.com/example.jpg",
    "line": 1,
    "status": "fail"
}
 

Request      

POST api/v2/questiongroups

Body Parameters

id  integer  

Required. Type: integer. Validation: required.

descript  string optional  

Optional. Type: string. Validation: string|max:100. Must not be greater than 100 characters.

Request body example:

[
    {
        "id": 1,
        "descript": "Ajax Festival",
        "isactive": 1
    }
]

isactive  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

Response

Response Fields

message  string  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

deleted  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add Questiongroup Details

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/questiongroups/details" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"uniqueid\": 1,
    \"questiongroupid\": 1,
    \"headerid\": 1,
    \"isactive\": 1
}"
const url = new URL(
    "http://localhost/api/v2/questiongroups/details"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "uniqueid": 1,
    "questiongroupid": 1,
    "headerid": 1,
    "isactive": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response ( Question Group Details Added / Updated / Deleted Successfully):


{
    "message": " Question Group Details Added / Updated / Deleted Successfully",
    "inserted": 1,
    "updated": 1,
    "deleted": 1,
    "status": "success"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Wrong json format):


{
    "message": "Wrong json format",
    "status": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "message": "The given data was invalid.",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "https://posapis.com/example.jpg",
    "line": 1,
    "status": "fail"
}
 

Request      

POST api/v2/questiongroups/details

Body Parameters

uniqueid  integer  

Required. Type: integer. Validation: required.

questiongroupid  integer  

Required. Type: integer. Validation: required.

headerid  integer  

Required. Type: integer. Validation: required.

Request body example:

[
    {
        "uniqueid": 1,
        "questiongroupid": 1,
        "headerid": 1,
        "isactive": 1
    }
]

isactive  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

Response

Response Fields

message  string  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

deleted  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add Questionheaders

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/questionheaders" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"id\": 1,
    \"descript\": \"Ajax Festival\",
    \"isactive\": 1,
    \"required\": \"example\"
}"
const url = new URL(
    "http://localhost/api/v2/questionheaders"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "id": 1,
    "descript": "Ajax Festival",
    "isactive": 1,
    "required": "example"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response ( Question Headers Added / Updated / Deleted Successfully):


{
    "message": " Question Headers Added / Updated / Deleted Successfully",
    "inserted": 1,
    "updated": 1,
    "deleted": 1,
    "status": "success"
}
 

Example response (Error: Invalid JSON data):


{
    "message": "Invalid JSON data",
    "status": "fail"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Wrong json format):


{
    "message": "Wrong json format",
    "status": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "message": "The given data was invalid.",
    "status": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "message": "Wrong data json format",
    "status": "fail"
}
 

Request      

POST api/v2/questionheaders

Body Parameters

id  integer  

Required. Tracy Raheb 11/12/2023. Required. Type: integer. Validation: required.

descript  string optional  

Optional. Type: string. Validation: string|max:100. Must not be greater than 100 characters.

Request body example:

[
    {
        "id": 1,
        "descript": "Ajax Festival",
        "isactive": 1,
        "required": "example"
    }
]

isactive  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

required  string  

Required. Type: string. Validation: required.

Response

Response Fields

message  string  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

deleted  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add Questiondetails

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/questiondetails" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"id\": 1,
    \"headerid\": 1,
    \"prodnum\": 1003919,
    \"sequence_order\": 1,
    \"isactive\": 1
}"
const url = new URL(
    "http://localhost/api/v2/questiondetails"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "id": 1,
    "headerid": 1,
    "prodnum": 1003919,
    "sequence_order": 1,
    "isactive": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response ( Question Details Added / Updated / Deleted Successfully):


{
    "message": " Question Details Added / Updated / Deleted Successfully",
    "inserted": 1,
    "updated": 1,
    "deleted": 1,
    "status": "success"
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Wrong json format):


{
    "message": "Wrong json format",
    "status": "fail"
}
 

Example response (Error: The given data was invalid.):


{
    "message": "The given data was invalid.",
    "status": "fail"
}
 

Example response (Error: Wrong data json format):


{
    "message": "Wrong data json format",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "QuestionDetailsController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

POST api/v2/questiondetails

Body Parameters

id  integer  

Required. Type: integer. Validation: required.

headerid  integer optional  

Optional. Type: integer. Validation: integer.

Request body example:

[
    {
        "id": 1,
        "headerid": 1,
        "prodnum": 1003919,
        "sequence_order": 1,
        "isactive": 1
    }
]

prodnum  integer optional  

Optional. Type: integer. Validation: integer.

sequence_order  integer optional  

Optional. Type: integer. Validation: integer.

isactive  integer optional  

Optional. Type: integer. Validation: integer|min:0|max:1. Must be at least 0. Must not be greater than 1.

Response

Response Fields

message  string  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

deleted  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Fetch Questiondetail

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/questiondetails/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}"
const url = new URL(
    "http://localhost/api/v2/questiondetails/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (No questionid provided. These are the question details:):


{
    "message": "No questionid provided. These are the question details:",
    "questionDetails": [
        {
            "*": "example"
        }
    ]
}
 

Example response (Example error response (from controller)):


{
    "error": "Invalid questionid provided."
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Example error response (from controller)):


{
    "error": "Branch not found for the logged-in user"
}
 

Example response (Error: Exception message):


{
    "error": "An unexpected error occurred",
    "message": "Exception message",
    "file": "ModifierV2Controller.php",
    "line": 1
}
 

Request      

GET api/v2/questiondetails/{questionid?}

URL Parameters

questionid  integer optional  

Optional. Type: integer.

Response

Response Fields

message  string  

Returned by this endpoint.

questionDetails  array  

Array field returned by this endpoint.

questionDetails[].*  string  

Returned by this endpoint.

Fetch Questionheader

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/v2/questionheaders/1" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}"
const url = new URL(
    "http://localhost/api/v2/questionheaders/1"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (from controller)):


{
    "data": [
        {
            "*": "example"
        }
    ],
    "status": "success"
}
 

Example response (Example error response (from controller)):


{
    "error": "Invalid questionid provided."
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Example error response (from controller)):


{
    "error": "Branch not found for the logged-in user"
}
 

Example response (Error: Exception message):


{
    "error": "An unexpected error occurred",
    "message": "Exception message",
    "file": "ModifierV2Controller.php",
    "line": 1
}
 

Request      

GET api/v2/questionheaders/{questionid?}

URL Parameters

questionid  integer optional  

Optional. Type: integer.

Response

Response Fields

data  array  

Array field returned by this endpoint.

data[].*  string  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Shop APIs (V2) — SKUs

Store / channel write endpoints for pushing catalog data and integrating external systems (Shopify, Deliverect, etc.).

Add Sku Family

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/sku/family" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"SKUID\": 1,
    \"DESCRIPT\": \"Ajax Festival\",
    \"MASK\": \"example\",
    \"LEVEL\": 1,
    \"ISACTIVE\": false,
    \"UNIT\": 1
}"
const url = new URL(
    "http://localhost/api/v2/sku/family"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "SKUID": 1,
    "DESCRIPT": "Ajax Festival",
    "MASK": "example",
    "LEVEL": 1,
    "ISACTIVE": false,
    "UNIT": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (SKU Families inserted/updated/deleted successfully!):


{
    "message": "SKU Families inserted/updated/deleted successfully!",
    "updated": 0,
    "inserted": 0,
    "deleted": "example",
    "failed fields": [
        {
            "CLIENTID": 1
        }
    ],
    "status": "OK"
}
 

Example response (Example error response (from controller)):


{
    "error": "Invalid request format. Expecting JSON data."
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "SkuController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

POST api/v2/sku/family

Body Parameters

SKUID  integer  

Required. Type: integer. Validation: required|integer.

DESCRIPT  string  

Required. Type: string. Validation: required|string|max:25. Must not be greater than 25 characters.

Request body example:

[
    {
        "SKUID": 1,
        "DESCRIPT": "Ajax Festival",
        "MASK": "example",
        "LEVEL": 1,
        "ISACTIVE": false,
        "UNIT": 1
    }
]

MASK  string optional  

Optional. Type: string. Validation: nullable|string|max:10. Must not be greater than 10 characters.

LEVEL  integer optional  

Optional. Type: integer. Validation: nullable|integer.

ISACTIVE  boolean  

Required. Type: boolean. Validation: required|boolean.

UNIT  integer optional  

Optional. Type: integer. Validation: nullable|integer.

Response

Response Fields

message  string  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

deleted  string  

Returned by this endpoint.

failed fields  array  

Array field returned by this endpoint.

failed fields[].CLIENTID  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Add Sku Details

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/v2/sku/details" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "X-API-Key: {YOUR_INTEGRATOR_API_KEY}" \
    --data "{
    \"SKUDETAILSID\": 1,
    \"DESCRIPT\": \"Ajax Festival\",
    \"BARCODEADDON\": \"example\",
    \"LEVEL\": 1,
    \"MASK\": \"example\",
    \"SHORTDESCRIPT\": \"example\",
    \"RECIPEYIELD\": 1.5,
    \"RECIPEUNIT\": 1,
    \"RECIPEUNITCONVERSION\": 1.5,
    \"PARENTRECIPEUSAGEQTY\": 1.5,
    \"PARENTRECIPEUSAGEUNIT\": 1,
    \"PARENTRECIPEUNITCONVERSION\": 1.5,
    \"SKUID\": 1,
    \"ISACTIVE\": false
}"
const url = new URL(
    "http://localhost/api/v2/sku/details"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-API-Key": "{YOUR_INTEGRATOR_API_KEY}",
};

let body = {
    "SKUDETAILSID": 1,
    "DESCRIPT": "Ajax Festival",
    "BARCODEADDON": "example",
    "LEVEL": 1,
    "MASK": "example",
    "SHORTDESCRIPT": "example",
    "RECIPEYIELD": 1.5,
    "RECIPEUNIT": 1,
    "RECIPEUNITCONVERSION": 1.5,
    "PARENTRECIPEUSAGEQTY": 1.5,
    "PARENTRECIPEUSAGEUNIT": 1,
    "PARENTRECIPEUNITCONVERSION": 1.5,
    "SKUID": 1,
    "ISACTIVE": false
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (SKU Details inserted/updated/deleted successfully!):


{
    "message": "SKU Details inserted/updated/deleted successfully!",
    "updated": 0,
    "inserted": 0,
    "deleted": "example",
    "failed fields": [
        {
            "CLIENTID": 1
        }
    ],
    "status": "OK"
}
 

Example response (Example error response (from controller)):


{
    "error": "Invalid request format. Expecting JSON data."
}
 

Example response (Error: API key is missing):


{
    "message": "API key is missing",
    "status": "fail"
}
 

Example response (Error: Invalid API key):


{
    "message": "Invalid API key",
    "status": "fail"
}
 

Example response (Error: Exception message):


{
    "message": "Exception message",
    "path": "SkuController.php",
    "line": 1,
    "status": "fail"
}
 

Request      

POST api/v2/sku/details

Body Parameters

SKUDETAILSID  integer  

Required. Type: integer. Validation: required|integer.

DESCRIPT  string  

Required. Type: string. Validation: required|string|max:50. Must not be greater than 50 characters.

BARCODEADDON  string optional  

Optional. Type: string. Validation: nullable|string|max:20. Must not be greater than 20 characters.

Request body example:

[
    {
        "SKUDETAILSID": 1,
        "DESCRIPT": "Ajax Festival",
        "BARCODEADDON": "example",
        "LEVEL": 1,
        "MASK": "example",
        "SHORTDESCRIPT": "example",
        "RECIPEYIELD": 1.5,
        "RECIPEUNIT": 1,
        "RECIPEUNITCONVERSION": 1.5,
        "PARENTRECIPEUSAGEQTY": 1.5,
        "PARENTRECIPEUSAGEUNIT": 1,
        "PARENTRECIPEUNITCONVERSION": 1.5,
        "SKUID": 1,
        "ISACTIVE": false
    }
]

LEVEL  integer optional  

Optional. Type: integer. Validation: nullable|integer.

MASK  string optional  

Optional. Type: string. Validation: nullable|string|max:10. Must not be greater than 10 characters.

SHORTDESCRIPT  string optional  

Optional. Type: string. Validation: nullable|string|max:10. Must not be greater than 10 characters.

RECIPEYIELD  number optional  

Optional. Type: number. Validation: nullable|numeric.

RECIPEUNIT  integer optional  

Optional. Type: integer. Validation: nullable|integer.

RECIPEUNITCONVERSION  number optional  

Optional. Type: number. Validation: nullable|numeric.

PARENTRECIPEUSAGEQTY  number optional  

Optional. Type: number. Validation: nullable|numeric.

PARENTRECIPEUSAGEUNIT  integer optional  

Optional. Type: integer. Validation: nullable|integer.

PARENTRECIPEUNITCONVERSION  number optional  

Optional. Type: number. Validation: nullable|numeric.

SKUID  integer  

Required. Type: integer. Validation: required|integer.

ISACTIVE  boolean  

Required. Type: boolean. Validation: required|boolean.

Response

Response Fields

message  string  

Returned by this endpoint.

updated  integer  

Returned by this endpoint.

inserted  integer  

Returned by this endpoint.

deleted  string  

Returned by this endpoint.

failed fields  array  

Array field returned by this endpoint.

failed fields[].CLIENTID  integer  

Returned by this endpoint.

status  string  

Returned by this endpoint.

Shop APIs — SMS Verification

Store / channel write endpoints for pushing catalog data and integrating external systems (Shopify, Deliverect, etc.).

Fetch Sendsms

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/sendsms" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/sendsms"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (Example success response (generated)):


{
    "status": "success",
    "message": "",
    "data": [
        {
            "id": 1,
            "item_name": "Example Item",
            "is_active": true
        },
        {
            "id": 2,
            "item_name": "Example Item",
            "is_active": true
        }
    ]
}
 

Example response (Example unauthorized response (generated)):


{
    "message": "Unauthorized",
    "error": "Unauthorized",
    "status": "fail"
}
 

Request      

GET api/sendsms

Response

Response Fields

status  string  

Returned by this endpoint.

message  string  

Returned by this endpoint.

data  array  

Array field returned by this endpoint.

data[].id  integer  

Returned by this endpoint.

data[].item_name  string  

Returned by this endpoint.

data[].is_active  boolean  

Returned by this endpoint.

Shop APIs (V1) — Branch Scheduled Orders

Upsert Branch Schedule

requires authentication

Create or update delivery / takeaway hours for one branch or many (store JWT). POST and PATCH share this behaviour.

Single branch

{
  "clientid": "ZAL005",
  "schedule": [
    {
      "day": "Monday",
      "delivery": { "from": "12:00 AM", "to": "6:00 PM" },
      "takeaway": { "from": "12:00 AM", "to": "12:00 PM" }
    },
    {
      "day": "Sunday",
      "delivery": "None",
      "takeaway": "None"
    }
  ]
}

Bulk — same hours

{
  "clientids": ["ZAL001", "ZAL002", "ZAL005"],
  "schedule": [
    {
      "day": "Monday",
      "delivery": { "from": "12:00 AM", "to": "6:00 PM" },
      "takeaway": { "from": "12:00 AM", "to": "12:00 PM" }
    }
  ]
}

Bulk — per branch

{
  "branches": [
    {
      "clientid": "ZAL001",
      "schedule": [
        {
          "day": "Monday",
          "delivery": { "from": "12:00 AM", "to": "6:00 PM" },
          "takeaway": { "from": "12:00 AM", "to": "12:00 PM" }
        }
      ]
    },
    {
      "clientid": "ZAL002",
      "schedule": [
        {
          "day": "Monday",
          "delivery": { "from": "9:00 AM", "to": "10:00 PM" },
          "takeaway": "None"
        }
      ]
    }
  ]
}
Example request:
curl --request POST \
    "http://localhost/api/v1/order/schedule" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"clientid\": \"ZAL005\",
    \"clientids\": [
        \"ZAL001\",
        \"ZAL002\",
        \"ZAL005\"
    ],
    \"branches\": [],
    \"schedule\": [
        {
            \"day\": \"Monday\",
            \"delivery\": {
                \"from\": \"12:00 AM\",
                \"to\": \"6:00 PM\"
            },
            \"takeaway\": {
                \"from\": \"12:00 AM\",
                \"to\": \"12:00 PM\"
            }
        }
    ]
}"
const url = new URL(
    "http://localhost/api/v1/order/schedule"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "clientid": "ZAL005",
    "clientids": [
        "ZAL001",
        "ZAL002",
        "ZAL005"
    ],
    "branches": [],
    "schedule": [
        {
            "day": "Monday",
            "delivery": {
                "from": "12:00 AM",
                "to": "6:00 PM"
            },
            "takeaway": {
                "from": "12:00 AM",
                "to": "12:00 PM"
            }
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (Single branch):


{
    "status": "success",
    "message": "Schedule updated successfully",
    "clientid": "ZAL005",
    "hoclientid": "ZAL001",
    "data": []
}
 

Request      

POST api/v1/order/schedule

Body Parameters

clientid  string optional  

Branch client ID (single-branch mode).

clientids  string[] optional  

Bulk: same schedule for many branches.

branches  object[] optional  

Bulk: per-branch schedules or list of client IDs.

schedule  object[]  

Weekly day slots.

Upsert Branch Schedule

requires authentication

Alias of POST /api/v1/order/schedule.

Example request:
curl --request POST \
    "http://localhost/api/v1/order/schedule/store" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"clientid\": \"ZAL005\",
    \"schedule\": [
        {
            \"day\": \"Monday\",
            \"delivery\": {
                \"from\": \"12:00 AM\",
                \"to\": \"6:00 PM\"
            },
            \"takeaway\": \"None\"
        }
    ]
}"
const url = new URL(
    "http://localhost/api/v1/order/schedule/store"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "clientid": "ZAL005",
    "schedule": [
        {
            "day": "Monday",
            "delivery": {
                "from": "12:00 AM",
                "to": "6:00 PM"
            },
            "takeaway": "None"
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (Success):


{
    "status": "success",
    "message": "Schedule updated successfully",
    "clientid": "ZAL005",
    "hoclientid": "ZAL001",
    "data": []
}
 

Request      

POST api/v1/order/schedule/store

Body Parameters

clientid  string optional  

Branch client ID.

schedule  object[]  

Weekly day slots.

Update Branch Schedule

requires authentication

Same as POST — upsert single or bulk branch schedules.

Example request:
curl --request PATCH \
    "http://localhost/api/v1/order/schedule" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"clientid\": \"ZAL005\",
    \"schedule\": [
        {
            \"day\": \"Monday\",
            \"delivery\": {
                \"from\": \"12:00 AM\",
                \"to\": \"6:00 PM\"
            },
            \"takeaway\": \"None\"
        }
    ]
}"
const url = new URL(
    "http://localhost/api/v1/order/schedule"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "clientid": "ZAL005",
    "schedule": [
        {
            "day": "Monday",
            "delivery": {
                "from": "12:00 AM",
                "to": "6:00 PM"
            },
            "takeaway": "None"
        }
    ]
};

fetch(url, {
    method: "PATCH",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (Success):


{
    "status": "success",
    "message": "Schedule updated successfully",
    "clientid": "ZAL005",
    "hoclientid": "ZAL001",
    "data": []
}
 

Request      

PATCH api/v1/order/schedule

Body Parameters

clientid  string optional  

Branch client ID.

schedule  object[]  

Weekly day slots.

Delete Branch Schedule

requires authentication

Remove the schedule for one or more branches (store JWT).

Single — { "clientid": "ZAL005" } or ?clientid=ZAL005

Bulk — { "clientids": ["ZAL001", "ZAL002"] }

Example request:
curl --request DELETE \
    "http://localhost/api/v1/order/schedule?clientid=ZAL005" \
    --header "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"clientid\": \"ZAL005\",
    \"clientids\": [
        \"ZAL001\",
        \"ZAL002\"
    ]
}"
const url = new URL(
    "http://localhost/api/v1/order/schedule"
);

const params = {
    "clientid": "ZAL005",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "clientid": "ZAL005",
    "clientids": [
        "ZAL001",
        "ZAL002"
    ]
};

fetch(url, {
    method: "DELETE",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (Single delete):


{
    "status": "success",
    "message": "Schedule deleted successfully",
    "clientid": "ZAL005",
    "hoclientid": "ZAL001"
}
 

Example response (Bulk delete):


{
    "status": "success",
    "message": "Deleted 2 schedule(s)",
    "success_count": 2,
    "error_count": 0,
    "results": [
        {
            "status": "success",
            "clientid": "ZAL001",
            "message": "Schedule deleted successfully"
        },
        {
            "status": "success",
            "clientid": "ZAL002",
            "message": "Schedule deleted successfully"
        }
    ]
}
 

Example response (Not found):


{
    "status": "error",
    "message": "Schedule not found",
    "clientid": "ZAL005"
}
 

Request      

DELETE api/v1/order/schedule

Query Parameters

clientid  string optional  

Branch client ID.

Body Parameters

clientid  string optional  

Branch client ID.

clientids  string[] optional  

Bulk client IDs.