MENU navbar-image

Introduction

UltimatePOS API Documentation

This documentation aims to provide all the information you need to work with our API.

Authenticating requests

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

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

Getting access_token

  1. Get client_id & client_secret: Login to your account. Go to Connector > Clients, click on Create Client button.
  2. Requesting Tokens: Send request with client_id, client_secret, username & password as given in laravel documentation. In response, you get access_token

Attendance management

Get Attendance

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/get-attendance/1" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/get-attendance/1"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/get-attendance/1';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": {
        "id": 4,
        "user_id": 1,
        "business_id": 1,
        "clock_in_time": "2020-09-12 13:13:00",
        "clock_out_time": "2020-09-12 13:15:00",
        "essentials_shift_id": 3,
        "ip_address": null,
        "clock_in_note": "test clock in from api",
        "clock_out_note": "test clock out from api",
        "created_at": "2020-09-12 13:14:39",
        "updated_at": "2020-09-12 13:15:39"
    }
}
 

Request   

GET connector/api/get-attendance/{user_id}

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

user_id   string   

id of the user Example: 1

Clock In

requires authentication

[User must have "essentials.allow_users_for_attendance_from_api" permission to Clock in]

Example request:
curl --request POST \
    "http://127.0.0.1:8000/connector/api/clock-in" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"user_id\": 1,
    \"clock_in_time\": \"2000-06-13 13:13:00\",
    \"clock_in_note\": \"corporis\",
    \"ip_address\": \"ut\",
    \"latitude\": \"tenetur\",
    \"longitude\": \"quisquam\"
}"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/clock-in"
);

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

let body = {
    "user_id": 1,
    "clock_in_time": "2000-06-13 13:13:00",
    "clock_in_note": "corporis",
    "ip_address": "ut",
    "latitude": "tenetur",
    "longitude": "quisquam"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/clock-in';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'user_id' => 1,
            'clock_in_time' => '2000-06-13 13:13:00',
            'clock_in_note' => 'corporis',
            'ip_address' => 'ut',
            'latitude' => 'tenetur',
            'longitude' => 'quisquam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "success": true,
    "msg": "Clocked In successfully",
    "type": "clock_in"
}
 

Request   

POST connector/api/clock-in

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

user_id   integer   

id of the user Example: 1

clock_in_time   string  optional  

Clock in time.If not given current date time will be used Fromat: Y-m-d H:i:s Example: 2000-06-13 13:13:00

clock_in_note   string  optional  

Clock in note. Example: corporis

ip_address   string  optional  

IP address. Example: ut

latitude   string  optional  

Latitude of the clock in location. Example: tenetur

longitude   string  optional  

Longitude of the clock in location. Example: quisquam

Clock Out

requires authentication

[User must have "essentials.allow_users_for_attendance_from_api" permission to Clock out]

Example request:
curl --request POST \
    "http://127.0.0.1:8000/connector/api/clock-out" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"user_id\": 1,
    \"clock_out_time\": \"2000-06-13 13:13:00\",
    \"clock_out_note\": \"fugiat\",
    \"latitude\": \"velit\",
    \"longitude\": \"suscipit\"
}"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/clock-out"
);

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

let body = {
    "user_id": 1,
    "clock_out_time": "2000-06-13 13:13:00",
    "clock_out_note": "fugiat",
    "latitude": "velit",
    "longitude": "suscipit"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/clock-out';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'user_id' => 1,
            'clock_out_time' => '2000-06-13 13:13:00',
            'clock_out_note' => 'fugiat',
            'latitude' => 'velit',
            'longitude' => 'suscipit',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "success": true,
    "msg": "Clocked Out successfully",
    "type": "clock_out"
}
 

Request   

POST connector/api/clock-out

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

user_id   integer   

id of the user Example: 1

clock_out_time   string  optional  

Clock out time.If not given current date time will be used Fromat: Y-m-d H:i:s Example: 2000-06-13 13:13:00

clock_out_note   string  optional  

Clock out note. Example: fugiat

latitude   string  optional  

Latitude of the clock out location. Example: velit

longitude   string  optional  

Longitude of the clock out location. Example: suscipit

List Holidays

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/holidays?location_id=1&start_date=2020-06-25&end_date=2020-06-25" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/holidays"
);

const params = {
    "location_id": "1",
    "start_date": "2020-06-25",
    "end_date": "2020-06-25",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/holidays';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'location_id' => '1',
            'start_date' => '2020-06-25',
            'end_date' => '2020-06-25',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "id": 2,
            "name": "Independence Day",
            "start_date": "2020-08-15",
            "end_date": "2020-09-15",
            "business_id": 1,
            "location_id": null,
            "note": "test holiday",
            "created_at": "2020-09-15 11:25:56",
            "updated_at": "2020-09-15 11:25:56"
        }
    ]
}
 

Request   

GET connector/api/holidays

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

location_id   string  optional  

id of the location Example: 1

start_date   string  optional  

format:Y-m-d Example: 2020-06-25

end_date   string  optional  

format:Y-m-d Example: 2020-06-25

Brand management

List brands

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/brand" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/brand"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/brand';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "id": 1,
            "business_id": 1,
            "name": "Levis",
            "description": null,
            "created_by": 1,
            "deleted_at": null,
            "created_at": "2018-01-03 21:19:47",
            "updated_at": "2018-01-03 21:19:47"
        },
        {
            "id": 2,
            "business_id": 1,
            "name": "Espirit",
            "description": null,
            "created_by": 1,
            "deleted_at": null,
            "created_at": "2018-01-03 21:19:58",
            "updated_at": "2018-01-03 21:19:58"
        }
    ]
}
 

Request   

GET connector/api/brand

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Get the specified brand

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/brand/similique" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/brand/similique"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/brand/similique';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "id": 1,
            "business_id": 1,
            "name": "Levis",
            "description": null,
            "created_by": 1,
            "deleted_at": null,
            "created_at": "2018-01-03 21:19:47",
            "updated_at": "2018-01-03 21:19:47"
        }
    ]
}
 

Request   

GET connector/api/brand/{id}

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the brand. Example: similique

brand   string   

comma separated ids of the brands Example: 1

Business Location management

List business locations

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/business-location" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/business-location"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/business-location';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "id": 1,
            "business_id": 1,
            "location_id": null,
            "name": "Awesome Shop",
            "landmark": "Linking Street",
            "country": "USA",
            "state": "Arizona",
            "city": "Phoenix",
            "zip_code": "85001",
            "invoice_scheme_id": 1,
            "invoice_layout_id": 1,
            "selling_price_group_id": null,
            "print_receipt_on_invoice": 1,
            "receipt_printer_type": "browser",
            "printer_id": null,
            "mobile": null,
            "alternate_number": null,
            "email": null,
            "website": null,
            "featured_products": [
                "5",
                "71"
            ],
            "is_active": 1,
            "payment_methods": [
                {
                    "name": "cash",
                    "label": "Cash",
                    "account_id": "1"
                },
                {
                    "name": "card",
                    "label": "Card",
                    "account_id": null
                },
                {
                    "name": "cheque",
                    "label": "Cheque",
                    "account_id": null
                },
                {
                    "name": "bank_transfer",
                    "label": "Bank Transfer",
                    "account_id": null
                },
                {
                    "name": "other",
                    "label": "Other",
                    "account_id": null
                },
                {
                    "name": "custom_pay_1",
                    "label": "Custom Payment 1",
                    "account_id": null
                },
                {
                    "name": "custom_pay_2",
                    "label": "Custom Payment 2",
                    "account_id": null
                },
                {
                    "name": "custom_pay_3",
                    "label": "Custom Payment 3",
                    "account_id": null
                }
            ],
            "custom_field1": null,
            "custom_field2": null,
            "custom_field3": null,
            "custom_field4": null,
            "deleted_at": null,
            "created_at": "2018-01-04 02:15:20",
            "updated_at": "2020-06-05 00:56:54"
        }
    ]
}
 

Request   

GET connector/api/business-location

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Get the specified business location

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/business-location/vero" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/business-location/vero"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/business-location/vero';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "id": 1,
            "business_id": 1,
            "location_id": null,
            "name": "Awesome Shop",
            "landmark": "Linking Street",
            "country": "USA",
            "state": "Arizona",
            "city": "Phoenix",
            "zip_code": "85001",
            "invoice_scheme_id": 1,
            "invoice_layout_id": 1,
            "selling_price_group_id": null,
            "print_receipt_on_invoice": 1,
            "receipt_printer_type": "browser",
            "printer_id": null,
            "mobile": null,
            "alternate_number": null,
            "email": null,
            "website": null,
            "featured_products": [
                "5",
                "71"
            ],
            "is_active": 1,
            "payment_methods": [
                {
                    "name": "cash",
                    "label": "Cash",
                    "account_id": "1"
                },
                {
                    "name": "card",
                    "label": "Card",
                    "account_id": null
                },
                {
                    "name": "cheque",
                    "label": "Cheque",
                    "account_id": null
                },
                {
                    "name": "bank_transfer",
                    "label": "Bank Transfer",
                    "account_id": null
                },
                {
                    "name": "other",
                    "label": "Other",
                    "account_id": null
                },
                {
                    "name": "custom_pay_1",
                    "label": "Custom Payment 1",
                    "account_id": null
                },
                {
                    "name": "custom_pay_2",
                    "label": "Custom Payment 2",
                    "account_id": null
                },
                {
                    "name": "custom_pay_3",
                    "label": "Custom Payment 3",
                    "account_id": null
                }
            ],
            "custom_field1": null,
            "custom_field2": null,
            "custom_field3": null,
            "custom_field4": null,
            "deleted_at": null,
            "created_at": "2018-01-04 02:15:20",
            "updated_at": "2020-06-05 00:56:54"
        }
    ]
}
 

Request   

GET connector/api/business-location/{id}

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the business location. Example: vero

location   string   

comma separated ids of the business location Example: 1

Cash register management

List Cash Registers

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/cash-register?status=open&user_id=10&start_date=2018-06-25&end_date=2018-06-25&location_id=1&per_page=15" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/cash-register"
);

const params = {
    "status": "open",
    "user_id": "10",
    "start_date": "2018-06-25",
    "end_date": "2018-06-25",
    "location_id": "1",
    "per_page": "15",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/cash-register';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'status' => 'open',
            'user_id' => '10',
            'start_date' => '2018-06-25',
            'end_date' => '2018-06-25',
            'location_id' => '1',
            'per_page' => '15',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "id": 1,
            "business_id": 1,
            "location_id": 1,
            "user_id": 9,
            "status": "open",
            "closed_at": null,
            "closing_amount": "0.0000",
            "total_card_slips": 0,
            "total_cheques": 0,
            "closing_note": null,
            "created_at": "2020-07-02 12:03:00",
            "updated_at": "2020-07-02 12:03:19",
            "cash_register_transactions": [
                {
                    "id": 1,
                    "cash_register_id": 1,
                    "amount": "0.0000",
                    "pay_method": "cash",
                    "type": "credit",
                    "transaction_type": "initial",
                    "transaction_id": null,
                    "created_at": "2018-07-13 07:39:34",
                    "updated_at": "2018-07-13 07:39:34"
                },
                {
                    "id": 2,
                    "cash_register_id": 1,
                    "amount": "42.5000",
                    "pay_method": "cash",
                    "type": "credit",
                    "transaction_type": "sell",
                    "transaction_id": 41,
                    "created_at": "2018-07-13 07:44:40",
                    "updated_at": "2018-07-13 07:44:40"
                }
            ]
        },
        {
            "id": 2,
            "business_id": 1,
            "location_id": 1,
            "user_id": 1,
            "status": "",
            "closed_at": "2020-07-02 12:03:00",
            "closing_amount": "0.0000",
            "total_card_slips": 0,
            "total_cheques": 0,
            "closing_note": null,
            "created_at": "2020-07-06 15:38:23",
            "updated_at": "2020-07-06 15:38:23",
            "cash_register_transactions": [
                {
                    "id": 19,
                    "cash_register_id": 2,
                    "amount": "10.0000",
                    "pay_method": "cash",
                    "type": "credit",
                    "transaction_type": "initial",
                    "transaction_id": null,
                    "created_at": "2020-07-06 15:38:23",
                    "updated_at": "2020-07-06 15:38:23"
                }
            ]
        }
    ],
    "links": {
        "first": "http://local.pos.com/connector/api/cash-register?page=1",
        "last": null,
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "path": "http://local.pos.com/connector/api/cash-register",
        "per_page": 10,
        "to": 2
    }
}
 

Request   

GET connector/api/cash-register

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

status   string  optional  

status of the register (open, close) Example: open

user_id   string  optional  

id of the user Example: 10

start_date   string  optional  

format:Y-m-d Example: 2018-06-25

end_date   string  optional  

format:Y-m-d Example: 2018-06-25

location_id   string  optional  

id of the location Example: 1

per_page   integer  optional  

Total records per page. default: 10, Set -1 for no pagination Example: 15

Create Cash Register

requires authentication

Example request:
curl --request POST \
    "http://127.0.0.1:8000/connector/api/cash-register" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"location_id\": 1,
    \"initial_amount\": 6289.69338,
    \"created_at\": \"2020-5-7 15:20:22\",
    \"closed_at\": \"2020-5-7 15:20:22\",
    \"status\": \"close\",
    \"closing_amount\": 1186802.4635786528,
    \"total_card_slips\": 12,
    \"total_cheques\": 19,
    \"closing_note\": \"aut\",
    \"transaction_ids\": \"1,2,3\\n\\nresponse {\\n\\\"data\\\": {\\n\\\"status\\\": \\\"closed\\\",\\n\\\"location_id\\\": \\\"1\\\",\\n\\\"closed_at\\\": \\\"2020-07-02 12:03:00\\\",\\n\\\"business_id\\\": 1,\\n\\\"user_id\\\": 1,\\n\\\"updated_at\\\": \\\"2020-07-06 16:28:42\\\",\\n\\\"created_at\\\": \\\"2020-07-06 16:28:42\\\",\\n\\\"id\\\": 3\\n}\\n}\"
}"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/cash-register"
);

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

let body = {
    "location_id": 1,
    "initial_amount": 6289.69338,
    "created_at": "2020-5-7 15:20:22",
    "closed_at": "2020-5-7 15:20:22",
    "status": "close",
    "closing_amount": 1186802.4635786528,
    "total_card_slips": 12,
    "total_cheques": 19,
    "closing_note": "aut",
    "transaction_ids": "1,2,3\n\nresponse {\n\"data\": {\n\"status\": \"closed\",\n\"location_id\": \"1\",\n\"closed_at\": \"2020-07-02 12:03:00\",\n\"business_id\": 1,\n\"user_id\": 1,\n\"updated_at\": \"2020-07-06 16:28:42\",\n\"created_at\": \"2020-07-06 16:28:42\",\n\"id\": 3\n}\n}"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/cash-register';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'location_id' => 1,
            'initial_amount' => 6289.69338,
            'created_at' => '2020-5-7 15:20:22',
            'closed_at' => '2020-5-7 15:20:22',
            'status' => 'close',
            'closing_amount' => 1186802.4635786528,
            'total_card_slips' => 12,
            'total_cheques' => 19,
            'closing_note' => 'aut',
            'transaction_ids' => '1,2,3'."\n"
                ."\n"
                .'response {'."\n"
                .'"data": {'."\n"
                .'"status": "closed",'."\n"
                .'"location_id": "1",'."\n"
                .'"closed_at": "2020-07-02 12:03:00",'."\n"
                .'"business_id": 1,'."\n"
                .'"user_id": 1,'."\n"
                .'"updated_at": "2020-07-06 16:28:42",'."\n"
                .'"created_at": "2020-07-06 16:28:42",'."\n"
                .'"id": 3'."\n"
                .'}'."\n"
                .'}',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Request   

POST connector/api/cash-register

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

location_id   integer   

id of the business location Example: 1

initial_amount   number  optional  

Initial amount Example: 6289.69338

created_at   string  optional  

Register open datetime format:Y-m-d H:i:s, Example: 2020-5-7 15:20:22

closed_at   string  optional  

Register closed datetime format:Y-m-d H:i:s, Example: 2020-5-7 15:20:22

status   register  optional  

status (open, close) Example: close

closing_amount   number  optional  

Closing amount Example: 1186802.4635787

total_card_slips   integer  optional  

total number of card slips Example: 12

total_cheques   integer  optional  

total number of checks Example: 19

closing_note   string  optional  

Closing note Example: aut

transaction_ids   string  optional  

Comma separated ids of sells associated with the register Example: `1,2,3

response { "data": { "status": "closed", "location_id": "1", "closed_at": "2020-07-02 12:03:00", "business_id": 1, "user_id": 1, "updated_at": "2020-07-06 16:28:42", "created_at": "2020-07-06 16:28:42", "id": 3 } }`

Get the specified Register

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/cash-register/et" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/cash-register/et"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/cash-register/et';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "id": 1,
            "business_id": 1,
            "location_id": 1,
            "user_id": 9,
            "status": "open",
            "closed_at": null,
            "closing_amount": "0.0000",
            "total_card_slips": 0,
            "total_cheques": 0,
            "closing_note": null,
            "created_at": "2020-07-02 12:03:00",
            "updated_at": "2020-07-02 12:03:19",
            "cash_register_transactions": [
                {
                    "id": 1,
                    "cash_register_id": 1,
                    "amount": "0.0000",
                    "pay_method": "cash",
                    "type": "credit",
                    "transaction_type": "initial",
                    "transaction_id": null,
                    "created_at": "2018-07-13 07:39:34",
                    "updated_at": "2018-07-13 07:39:34"
                },
                {
                    "id": 2,
                    "cash_register_id": 1,
                    "amount": "42.5000",
                    "pay_method": "cash",
                    "type": "credit",
                    "transaction_type": "sell",
                    "transaction_id": 41,
                    "created_at": "2018-07-13 07:44:40",
                    "updated_at": "2018-07-13 07:44:40"
                }
            ]
        }
    ]
}
 

Request   

GET connector/api/cash-register/{id}

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the cash register. Example: et

cash_register   string   

comma separated ids of the cash registers Example: 59

Contact management

List contact

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/contactapi?type=iusto&name=ad&biz_name=quia&mobile_num=2&contact_id=qui&order_by=excepturi&direction=est&per_page=10" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/contactapi"
);

const params = {
    "type": "iusto",
    "name": "ad",
    "biz_name": "quia",
    "mobile_num": "2",
    "contact_id": "qui",
    "order_by": "excepturi",
    "direction": "est",
    "per_page": "10",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/contactapi';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'type' => 'iusto',
            'name' => 'ad',
            'biz_name' => 'quia',
            'mobile_num' => '2',
            'contact_id' => 'qui',
            'order_by' => 'excepturi',
            'direction' => 'est',
            'per_page' => '10',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "id": 2,
            "business_id": 1,
            "type": "supplier",
            "supplier_business_name": "Alpha Clothings",
            "name": "Michael",
            "prefix": null,
            "first_name": "Michael",
            "middle_name": null,
            "last_name": null,
            "email": null,
            "contact_id": "CO0001",
            "contact_status": "active",
            "tax_number": "4590091535",
            "city": "Phoenix",
            "state": "Arizona",
            "country": "USA",
            "address_line_1": "Linking Street",
            "address_line_2": null,
            "zip_code": null,
            "dob": null,
            "mobile": "(378) 400-1234",
            "landline": null,
            "alternate_number": null,
            "pay_term_number": 15,
            "pay_term_type": "days",
            "credit_limit": null,
            "created_by": 1,
            "balance": "0.0000",
            "total_rp": 0,
            "total_rp_used": 0,
            "total_rp_expired": 0,
            "is_default": 0,
            "shipping_address": null,
            "position": null,
            "customer_group_id": null,
            "crm_source": null,
            "crm_life_stage": null,
            "custom_field1": null,
            "custom_field2": null,
            "custom_field3": null,
            "custom_field4": null,
            "custom_field5": null,
            "custom_field6": null,
            "custom_field7": null,
            "custom_field8": null,
            "custom_field9": null,
            "custom_field10": null,
            "deleted_at": null,
            "created_at": "2018-01-03 20:59:38",
            "updated_at": "2018-06-11 22:21:03",
            "remember_token": null,
            "password": null
        },
        {
            "id": 3,
            "business_id": 1,
            "type": "supplier",
            "supplier_business_name": "Manhattan Clothing Ltd.",
            "name": "Philip",
            "prefix": null,
            "first_name": "Philip",
            "middle_name": null,
            "last_name": null,
            "email": null,
            "contact_id": "CO0003",
            "contact_status": "active",
            "tax_number": "54869310093",
            "city": "Phoenix",
            "state": "Arizona",
            "country": "USA",
            "address_line_1": "Linking Street",
            "address_line_2": null,
            "zip_code": null,
            "dob": null,
            "mobile": "(378) 400-1234",
            "landline": null,
            "alternate_number": null,
            "pay_term_number": 15,
            "pay_term_type": "days",
            "credit_limit": null,
            "created_by": 1,
            "balance": "0.0000",
            "total_rp": 0,
            "total_rp_used": 0,
            "total_rp_expired": 0,
            "is_default": 0,
            "shipping_address": null,
            "position": null,
            "customer_group_id": null,
            "crm_source": null,
            "crm_life_stage": null,
            "custom_field1": null,
            "custom_field2": null,
            "custom_field3": null,
            "custom_field4": null,
            "custom_field5": null,
            "custom_field6": null,
            "custom_field7": null,
            "custom_field8": null,
            "custom_field9": null,
            "custom_field10": null,
            "deleted_at": null,
            "created_at": "2018-01-03 21:00:55",
            "updated_at": "2018-06-11 22:21:36",
            "remember_token": null,
            "password": null
        },
        {
            "id": 5,
            "business_id": 1,
            "type": "supplier",
            "supplier_business_name": "Digital Ocean",
            "name": "Mike McCubbin",
            "prefix": null,
            "first_name": "Mike McCubbin",
            "middle_name": null,
            "last_name": null,
            "email": null,
            "contact_id": "CN0004",
            "contact_status": "active",
            "tax_number": "52965489001",
            "city": "Phoenix",
            "state": "Arizona",
            "country": "USA",
            "address_line_1": "Linking Street",
            "address_line_2": null,
            "zip_code": null,
            "dob": null,
            "mobile": "(378) 400-1234",
            "landline": null,
            "alternate_number": null,
            "pay_term_number": 30,
            "pay_term_type": "days",
            "credit_limit": null,
            "created_by": 1,
            "balance": "0.0000",
            "total_rp": 0,
            "total_rp_used": 0,
            "total_rp_expired": 0,
            "is_default": 0,
            "shipping_address": null,
            "position": null,
            "customer_group_id": null,
            "crm_source": null,
            "crm_life_stage": null,
            "custom_field1": null,
            "custom_field2": null,
            "custom_field3": null,
            "custom_field4": null,
            "custom_field5": null,
            "custom_field6": null,
            "custom_field7": null,
            "custom_field8": null,
            "custom_field9": null,
            "custom_field10": null,
            "deleted_at": null,
            "created_at": "2018-01-06 06:53:22",
            "updated_at": "2018-06-11 22:21:47",
            "remember_token": null,
            "password": null
        },
        {
            "id": 6,
            "business_id": 1,
            "type": "supplier",
            "supplier_business_name": "Univer Suppliers",
            "name": "Jackson Hill",
            "prefix": null,
            "first_name": "Jackson Hill",
            "middle_name": null,
            "last_name": null,
            "email": null,
            "contact_id": "CO0002",
            "contact_status": "active",
            "tax_number": "5459000655",
            "city": "Phoenix",
            "state": "Arizona",
            "country": "USA",
            "address_line_1": "Linking Street",
            "address_line_2": null,
            "zip_code": null,
            "dob": null,
            "mobile": "(378) 400-1234",
            "landline": null,
            "alternate_number": null,
            "pay_term_number": 45,
            "pay_term_type": "days",
            "credit_limit": null,
            "created_by": 1,
            "balance": "0.0000",
            "total_rp": 0,
            "total_rp_used": 0,
            "total_rp_expired": 0,
            "is_default": 0,
            "shipping_address": null,
            "position": null,
            "customer_group_id": null,
            "crm_source": null,
            "crm_life_stage": null,
            "custom_field1": null,
            "custom_field2": null,
            "custom_field3": null,
            "custom_field4": null,
            "custom_field5": null,
            "custom_field6": null,
            "custom_field7": null,
            "custom_field8": null,
            "custom_field9": null,
            "custom_field10": null,
            "deleted_at": null,
            "created_at": "2018-01-06 06:55:09",
            "updated_at": "2018-06-11 22:21:18",
            "remember_token": null,
            "password": null
        }
    ],
    "links": {
        "first": "http://local.pos.com/connector/api/contactapi?page=1",
        "last": "http://local.pos.com/connector/api/contactapi?page=1",
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "path": "http://local.pos.com/connector/api/contactapi",
        "per_page": "10",
        "to": 4,
        "total": 4
    }
}
 

Request   

GET connector/api/contactapi

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

type   string   

Type of contact (supplier, customer) Example: iusto

name   string  optional  

Search term for contact name Example: ad

biz_name   string  optional  

Search term for contact's business name Example: quia

mobile_num   integer  optional  

Search term for contact's mobile number Example: 2

contact_id   string  optional  

Search term for contact's contact_id. Ex(CO0005) Example: qui

order_by   string  optional  

Column name to sort the result, Column: name, supplier_business_name Example: excepturi

direction   string  optional  

Direction to sort the result, Direction: desc, asc Example: est

per_page   integer  optional  

Total records per page. default: 10, Set -1 for no pagination Example: 10

Create contact

requires authentication

Example request:
curl --request POST \
    "http://127.0.0.1:8000/connector/api/contactapi" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"type\": \"customer\",
    \"supplier_business_name\": \"voluptates\",
    \"prefix\": \"quae\",
    \"first_name\": \"possimus\",
    \"middle_name\": \"modi\",
    \"last_name\": \"sint\",
    \"tax_number\": \"8787fefef\",
    \"pay_term_number\": 3,
    \"pay_term_type\": \"months\",
    \"mobile\": \"4578691009\",
    \"landline\": \"5487-8454-4145\",
    \"alternate_number\": \"841847541222\",
    \"address_line_1\": \"eum\",
    \"address_line_2\": \"asperiores\",
    \"city\": \"excepturi\",
    \"state\": \"numquam\",
    \"country\": \"qui\",
    \"zip_code\": \"porro\",
    \"customer_group_id\": \"omnis\",
    \"contact_id\": \"fugit\",
    \"dob\": \"2000-06-13\",
    \"custom_field1\": \"velit\",
    \"custom_field2\": \"similique\",
    \"custom_field3\": \"vel\",
    \"custom_field4\": \"natus\",
    \"email\": \"vnikolaus@example.com\",
    \"shipping_address\": \"quaerat\",
    \"position\": \"et\",
    \"opening_balance\": 0,
    \"source_id\": 9,
    \"life_stage_id\": 16,
    \"assigned_to\": [
        \"beatae\"
    ]
}"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/contactapi"
);

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

let body = {
    "type": "customer",
    "supplier_business_name": "voluptates",
    "prefix": "quae",
    "first_name": "possimus",
    "middle_name": "modi",
    "last_name": "sint",
    "tax_number": "8787fefef",
    "pay_term_number": 3,
    "pay_term_type": "months",
    "mobile": "4578691009",
    "landline": "5487-8454-4145",
    "alternate_number": "841847541222",
    "address_line_1": "eum",
    "address_line_2": "asperiores",
    "city": "excepturi",
    "state": "numquam",
    "country": "qui",
    "zip_code": "porro",
    "customer_group_id": "omnis",
    "contact_id": "fugit",
    "dob": "2000-06-13",
    "custom_field1": "velit",
    "custom_field2": "similique",
    "custom_field3": "vel",
    "custom_field4": "natus",
    "email": "vnikolaus@example.com",
    "shipping_address": "quaerat",
    "position": "et",
    "opening_balance": 0,
    "source_id": 9,
    "life_stage_id": 16,
    "assigned_to": [
        "beatae"
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/contactapi';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'type' => 'customer',
            'supplier_business_name' => 'voluptates',
            'prefix' => 'quae',
            'first_name' => 'possimus',
            'middle_name' => 'modi',
            'last_name' => 'sint',
            'tax_number' => '8787fefef',
            'pay_term_number' => 3.0,
            'pay_term_type' => 'months',
            'mobile' => '4578691009',
            'landline' => '5487-8454-4145',
            'alternate_number' => '841847541222',
            'address_line_1' => 'eum',
            'address_line_2' => 'asperiores',
            'city' => 'excepturi',
            'state' => 'numquam',
            'country' => 'qui',
            'zip_code' => 'porro',
            'customer_group_id' => 'omnis',
            'contact_id' => 'fugit',
            'dob' => '2000-06-13',
            'custom_field1' => 'velit',
            'custom_field2' => 'similique',
            'custom_field3' => 'vel',
            'custom_field4' => 'natus',
            'email' => 'vnikolaus@example.com',
            'shipping_address' => 'quaerat',
            'position' => 'et',
            'opening_balance' => 0.0,
            'source_id' => 9,
            'life_stage_id' => 16,
            'assigned_to' => [
                'beatae',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": {
        "type": "customer",
        "name": "test customer",
        "tax_number": "75879BHF",
        "mobile": "7878825008",
        "business_id": 1,
        "created_by": 9,
        "credit_limit": null,
        "contact_id": "CO0007",
        "updated_at": "2020-06-04 21:59:21",
        "created_at": "2020-06-04 21:59:21",
        "id": 17
    }
}
 

Request   

POST connector/api/contactapi

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

type   string   

Type of contact (supplier, customer, both, lead) Example: customer

supplier_business_name   string   

Required if type is supplier Example: voluptates

prefix   string  optional  

Prefix for the name of the contact Example: quae

first_name   string   

Name of the contact Example: possimus

middle_name   string  optional  

Example: modi

last_name   string  optional  

Example: sint

tax_number   string  optional  

Example: 8787fefef

pay_term_number   number  optional  

Example: 3

pay_term_type   string  optional  

(months ,days) Example: months

mobile   string   

Example: 4578691009

landline   string  optional  

Example: 5487-8454-4145

alternate_number   string  optional  

Example: 841847541222

address_line_1   string  optional  

Example: eum

address_line_2   string  optional  

Example: asperiores

city   string  optional  

Example: excepturi

state   string  optional  

Example: numquam

country   string  optional  

Example: qui

zip_code   string  optional  

Example: porro

customer_group_id   string  optional  

Example: omnis

contact_id   string  optional  

Example: fugit

dob   string  optional  

Fromat: Y-m-d Example: 2000-06-13

custom_field1   string  optional  

Example: velit

custom_field2   string  optional  

Example: similique

custom_field3   string  optional  

Example: vel

custom_field4   string  optional  

Example: natus

email   string  optional  

Example: vnikolaus@example.com

shipping_address   string  optional  

Example: quaerat

position   string  optional  

Example: et

opening_balance   number  optional  

Example: 0

source_id   integer  optional  

Id of the source. Applicable only if the type is lead Example: 9

life_stage_id   integer  optional  

Id of the Life stage. Applicable only if the type is lead Example: 16

assigned_to   string[]  optional  

Ids of the users the lead is assigned to. Applicable only if the type is lead

Get the specified contact

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/contactapi/laboriosam" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/contactapi/laboriosam"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/contactapi/laboriosam';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "id": 1,
            "business_id": 1,
            "type": "customer",
            "supplier_business_name": null,
            "name": " Walk-In Customer  ",
            "prefix": null,
            "first_name": "Walk-In Customer",
            "middle_name": null,
            "last_name": null,
            "email": "walkin@test.com",
            "contact_id": "CO0005",
            "contact_status": "active",
            "tax_number": null,
            "city": "Phoenix",
            "state": "Arizona",
            "country": "USA",
            "address_line_1": "Linking Street",
            "address_line_2": null,
            "zip_code": "85001",
            "dob": null,
            "mobile": "(378) 400-1234",
            "landline": null,
            "alternate_number": null,
            "pay_term_number": null,
            "pay_term_type": null,
            "credit_limit": "0.0000",
            "created_by": 1,
            "balance": "0.0000",
            "total_rp": 0,
            "total_rp_used": 0,
            "total_rp_expired": 0,
            "is_default": 1,
            "shipping_address": null,
            "position": null,
            "customer_group_id": null,
            "crm_source": null,
            "crm_life_stage": null,
            "custom_field1": null,
            "custom_field2": null,
            "custom_field3": null,
            "custom_field4": null,
            "deleted_at": null,
            "created_at": "2018-01-03 20:45:20",
            "updated_at": "2020-08-10 10:26:45",
            "remember_token": null,
            "password": null,
            "customer_group": null,
            "opening_balance": "0.0000",
            "opening_balance_paid": "0.0000",
            "total_purchase": "0.0000",
            "purchase_paid": "0.0000",
            "total_purchase_return": "0.0000",
            "purchase_return_paid": "0.0000",
            "total_invoice": "2050.0000",
            "invoice_received": "1987.5000",
            "total_sell_return": "0.0000",
            "sell_return_paid": "0.0000",
            "purchase_due": 0,
            "sell_due": 62.5,
            "purchase_return_due": 0,
            "sell_return_due": 0
        }
    ]
}
 

Request   

GET connector/api/contactapi/{id}

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the contactapi. Example: laboriosam

contact   string   

comma separated ids of contacts Example: 2

Update contact

requires authentication

Example request:
curl --request PUT \
    "http://127.0.0.1:8000/connector/api/contactapi/consectetur" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"type\": \"customer\",
    \"supplier_business_name\": \"voluptate\",
    \"prefix\": \"impedit\",
    \"first_name\": \"laborum\",
    \"middle_name\": \"est\",
    \"last_name\": \"voluptatem\",
    \"tax_number\": \"488744dwd\",
    \"pay_term_number\": 3,
    \"pay_term_type\": \"months\",
    \"mobile\": \"8795461009\",
    \"landline\": \"65484-848-848\",
    \"alternate_number\": \"9898795220\",
    \"address_line_1\": \"autem\",
    \"address_line_2\": \"et\",
    \"city\": \"unde\",
    \"state\": \"quis\",
    \"country\": \"dolor\",
    \"zip_code\": \"aut\",
    \"customer_group_id\": \"totam\",
    \"contact_id\": \"aut\",
    \"dob\": \"2000-06-13\",
    \"custom_field1\": \"non\",
    \"custom_field2\": \"fuga\",
    \"custom_field3\": \"placeat\",
    \"custom_field4\": \"sed\",
    \"email\": \"greenfelder.alessia@example.net\",
    \"shipping_address\": \"voluptatem\",
    \"position\": \"assumenda\",
    \"opening_balance\": 10.3,
    \"source_id\": 12,
    \"life_stage_id\": 5,
    \"assigned_to\": [
        \"aliquam\"
    ]
}"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/contactapi/consectetur"
);

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

let body = {
    "type": "customer",
    "supplier_business_name": "voluptate",
    "prefix": "impedit",
    "first_name": "laborum",
    "middle_name": "est",
    "last_name": "voluptatem",
    "tax_number": "488744dwd",
    "pay_term_number": 3,
    "pay_term_type": "months",
    "mobile": "8795461009",
    "landline": "65484-848-848",
    "alternate_number": "9898795220",
    "address_line_1": "autem",
    "address_line_2": "et",
    "city": "unde",
    "state": "quis",
    "country": "dolor",
    "zip_code": "aut",
    "customer_group_id": "totam",
    "contact_id": "aut",
    "dob": "2000-06-13",
    "custom_field1": "non",
    "custom_field2": "fuga",
    "custom_field3": "placeat",
    "custom_field4": "sed",
    "email": "greenfelder.alessia@example.net",
    "shipping_address": "voluptatem",
    "position": "assumenda",
    "opening_balance": 10.3,
    "source_id": 12,
    "life_stage_id": 5,
    "assigned_to": [
        "aliquam"
    ]
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/contactapi/consectetur';
$response = $client->put(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'type' => 'customer',
            'supplier_business_name' => 'voluptate',
            'prefix' => 'impedit',
            'first_name' => 'laborum',
            'middle_name' => 'est',
            'last_name' => 'voluptatem',
            'tax_number' => '488744dwd',
            'pay_term_number' => 3.0,
            'pay_term_type' => 'months',
            'mobile' => '8795461009',
            'landline' => '65484-848-848',
            'alternate_number' => '9898795220',
            'address_line_1' => 'autem',
            'address_line_2' => 'et',
            'city' => 'unde',
            'state' => 'quis',
            'country' => 'dolor',
            'zip_code' => 'aut',
            'customer_group_id' => 'totam',
            'contact_id' => 'aut',
            'dob' => '2000-06-13',
            'custom_field1' => 'non',
            'custom_field2' => 'fuga',
            'custom_field3' => 'placeat',
            'custom_field4' => 'sed',
            'email' => 'greenfelder.alessia@example.net',
            'shipping_address' => 'voluptatem',
            'position' => 'assumenda',
            'opening_balance' => 10.3,
            'source_id' => 12,
            'life_stage_id' => 5,
            'assigned_to' => [
                'aliquam',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": {
        "id": 21,
        "business_id": 1,
        "type": "customer",
        "supplier_business_name": null,
        "name": "created from api",
        "prefix": null,
        "first_name": "created from api",
        "middle_name": null,
        "last_name": null,
        "email": null,
        "contact_id": "CO0009",
        "contact_status": "active",
        "tax_number": null,
        "city": null,
        "state": null,
        "country": null,
        "address_line_1": "test address",
        "address_line_2": null,
        "zip_code": "54878787",
        "dob": "2000-06-13",
        "mobile": "8754154872154",
        "landline": null,
        "alternate_number": null,
        "pay_term_number": null,
        "pay_term_type": null,
        "credit_limit": null,
        "created_by": 1,
        "balance": "0.0000",
        "total_rp": 0,
        "total_rp_used": 0,
        "total_rp_expired": 0,
        "is_default": 0,
        "shipping_address": null,
        "position": null,
        "customer_group_id": null,
        "crm_source": null,
        "crm_life_stage": null,
        "custom_field1": null,
        "custom_field2": null,
        "custom_field3": null,
        "custom_field4": null,
        "deleted_at": null,
        "created_at": "2020-08-10 10:41:42",
        "updated_at": "2020-08-10 10:41:42",
        "remember_token": null,
        "password": null
    }
}
 

Request   

PUT connector/api/contactapi/{id}

PATCH connector/api/contactapi/{id}

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the contactapi. Example: consectetur

contact   string   

id of the contact to be updated Example: 17

Body Parameters

type   string  optional  

Type of contact (supplier, customer, both) Example: customer

supplier_business_name   string  optional  

required* Required if type is supplier Example: voluptate

prefix   string  optional  

Prefix for the name of the contact Example: impedit

first_name   string   

Name of the contact Example: laborum

middle_name   string  optional  

Example: est

last_name   string  optional  

Example: voluptatem

tax_number   string  optional  

Example: 488744dwd

pay_term_number   number  optional  

Example: 3

pay_term_type   string  optional  

(months ,days) Example: months

mobile   string   

Example: 8795461009

landline   string  optional  

Example: 65484-848-848

alternate_number   string  optional  

Example: 9898795220

address_line_1   string  optional  

Example: autem

address_line_2   string  optional  

Example: et

city   string  optional  

Example: unde

state   string  optional  

Example: quis

country   string  optional  

Example: dolor

zip_code   string  optional  

Example: aut

customer_group_id   string  optional  

Example: totam

contact_id   string  optional  

Example: aut

dob   string  optional  

Fromat: Y-m-d Example: 2000-06-13

custom_field1   string  optional  

Example: non

custom_field2   string  optional  

Example: fuga

custom_field3   string  optional  

Example: placeat

custom_field4   string  optional  

Example: sed

email   string  optional  

Example: greenfelder.alessia@example.net

shipping_address   string  optional  

Example: voluptatem

position   string  optional  

Example: assumenda

opening_balance   number  optional  

Example: 10.3

source_id   integer  optional  

Id of the source. Applicable only if the type is lead Example: 12

life_stage_id   integer  optional  

Id of the Life stage. Applicable only if the type is lead Example: 5

assigned_to   string[]  optional  

Ids of the users the lead is assigned to. Applicable only if the type is lead

Contact payment

requires authentication

Example request:
curl --request POST \
    "http://127.0.0.1:8000/connector/api/contactapi-payment" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"contact_id\": 17,
    \"amount\": 453.13,
    \"method\": \"cash\",
    \"paid_on\": \"2020-07-22 15:48:29\",
    \"account_id\": 6,
    \"card_number\": \"atque\",
    \"card_holder_name\": \"nesciunt\",
    \"card_transaction_number\": \"aut\",
    \"card_type\": \"voluptates\",
    \"card_month\": \"voluptatem\",
    \"card_year\": \"consequatur\",
    \"card_security\": \"error\",
    \"transaction_no_1\": \"voluptates\",
    \"transaction_no_2\": \"ea\",
    \"transaction_no_3\": \"molestias\",
    \"cheque_number\": \"itaque\",
    \"bank_account_number\": \"incidunt\",
    \"note\": \"id\"
}"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/contactapi-payment"
);

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

let body = {
    "contact_id": 17,
    "amount": 453.13,
    "method": "cash",
    "paid_on": "2020-07-22 15:48:29",
    "account_id": 6,
    "card_number": "atque",
    "card_holder_name": "nesciunt",
    "card_transaction_number": "aut",
    "card_type": "voluptates",
    "card_month": "voluptatem",
    "card_year": "consequatur",
    "card_security": "error",
    "transaction_no_1": "voluptates",
    "transaction_no_2": "ea",
    "transaction_no_3": "molestias",
    "cheque_number": "itaque",
    "bank_account_number": "incidunt",
    "note": "id"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/contactapi-payment';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'contact_id' => 17,
            'amount' => 453.13,
            'method' => 'cash',
            'paid_on' => '2020-07-22 15:48:29',
            'account_id' => 6,
            'card_number' => 'atque',
            'card_holder_name' => 'nesciunt',
            'card_transaction_number' => 'aut',
            'card_type' => 'voluptates',
            'card_month' => 'voluptatem',
            'card_year' => 'consequatur',
            'card_security' => 'error',
            'transaction_no_1' => 'voluptates',
            'transaction_no_2' => 'ea',
            'transaction_no_3' => 'molestias',
            'cheque_number' => 'itaque',
            'bank_account_number' => 'incidunt',
            'note' => 'id',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": {
        "amount": "20",
        "method": "cash",
        "paid_on": "2020-07-22 15:48:29",
        "created_by": 1,
        "payment_for": "19",
        "business_id": 1,
        "is_advance": 1,
        "payment_ref_no": "SP2020/0127",
        "document": null,
        "updated_at": "2020-07-22 15:48:29",
        "created_at": "2020-07-22 15:48:29",
        "id": 215
    }
}
 

Request   

POST connector/api/contactapi-payment

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

contact_id   integer   

id of the contact Example: 17

amount   number   

amount of the payment Example: 453.13

method   string  optional  

payment methods ('cash', 'card', 'cheque', 'bank_transfer', 'other', 'custom_pay_1', 'custom_pay_2', 'custom_pay_3') Example: cash

paid_on   string  optional  

transaction date format:Y-m-d H:i:s, Example: 2020-07-22 15:48:29

account_id   integer  optional  

account id Example: 6

card_number   string  optional  

Example: atque

card_holder_name   string  optional  

Example: nesciunt

card_transaction_number   string  optional  

Example: aut

card_type   string  optional  

Example: voluptates

card_month   string  optional  

Example: voluptatem

card_year   string  optional  

Example: consequatur

card_security   string  optional  

Example: error

transaction_no_1   string  optional  

Example: voluptates

transaction_no_2   string  optional  

Example: ea

transaction_no_3   string  optional  

Example: molestias

cheque_number   string  optional  

Example: itaque

bank_account_number   string  optional  

Example: incidunt

note   string  optional  

payment note Example: id

Endpoints

List payment accounts

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/payment-accounts" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/payment-accounts"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/payment-accounts';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "id": 1,
            "business_id": 1,
            "name": "Test Account",
            "account_number": "8746888847455",
            "account_type_id": 0,
            "note": null,
            "created_by": 9,
            "is_closed": 0,
            "deleted_at": null,
            "created_at": "2020-06-04 21:34:21",
            "updated_at": "2020-06-04 21:34:21"
        }
    ]
}
 

Request   

GET connector/api/payment-accounts

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

List payment methods

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/payment-methods" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/payment-methods"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/payment-methods';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "cash": "Cash",
    "card": "Card",
    "cheque": "Cheque",
    "bank_transfer": "Bank Transfer",
    "other": "Other",
    "custom_pay_1": "Custom Payment 1",
    "custom_pay_2": "Custom Payment 2",
    "custom_pay_3": "Custom Payment 3"
}
 

Request   

GET connector/api/payment-methods

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Get business details

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/business-details" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/business-details"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/business-details';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": {
        "id": 1,
        "name": "Awesome Shop",
        "currency_id": 2,
        "start_date": "2018-01-01",
        "tax_number_1": "3412569900",
        "tax_label_1": "GSTIN",
        "tax_number_2": null,
        "tax_label_2": null,
        "default_sales_tax": null,
        "default_profit_percent": 25,
        "owner_id": 1,
        "time_zone": "America/Phoenix",
        "fy_start_month": 1,
        "accounting_method": "fifo",
        "default_sales_discount": "10.00",
        "sell_price_tax": "includes",
        "logo": null,
        "sku_prefix": "AS",
        "enable_product_expiry": 0,
        "expiry_type": "add_expiry",
        "on_product_expiry": "keep_selling",
        "stop_selling_before": 0,
        "enable_tooltip": 1,
        "purchase_in_diff_currency": 0,
        "purchase_currency_id": null,
        "p_exchange_rate": "1.000",
        "transaction_edit_days": 30,
        "stock_expiry_alert_days": 30,
        "keyboard_shortcuts": {
            "pos": {
                "express_checkout": "shift+e",
                "pay_n_ckeckout": "shift+p",
                "draft": "shift+d",
                "cancel": "shift+c",
                "recent_product_quantity": "f2",
                "weighing_scale": null,
                "edit_discount": "shift+i",
                "edit_order_tax": "shift+t",
                "add_payment_row": "shift+r",
                "finalize_payment": "shift+f",
                "add_new_product": "f4"
            }
        },
        "pos_settings": {
            "amount_rounding_method": null,
            "disable_pay_checkout": 0,
            "disable_draft": 0,
            "disable_express_checkout": 0,
            "hide_product_suggestion": 0,
            "hide_recent_trans": 0,
            "disable_discount": 0,
            "disable_order_tax": 0,
            "is_pos_subtotal_editable": 0
        },
        "weighing_scale_setting": {
            "label_prefix": null,
            "product_sku_length": "4",
            "qty_length": "3",
            "qty_length_decimal": "2"
        },
        "manufacturing_settings": null,
        "essentials_settings": null,
        "ecom_settings": null,
        "woocommerce_wh_oc_secret": null,
        "woocommerce_wh_ou_secret": null,
        "woocommerce_wh_od_secret": null,
        "woocommerce_wh_or_secret": null,
        "enable_brand": 1,
        "enable_category": 1,
        "enable_sub_category": 1,
        "enable_price_tax": 1,
        "enable_purchase_status": 1,
        "enable_lot_number": 0,
        "default_unit": null,
        "enable_sub_units": 0,
        "enable_racks": 0,
        "enable_row": 0,
        "enable_position": 0,
        "enable_editing_product_from_purchase": 1,
        "sales_cmsn_agnt": null,
        "item_addition_method": 1,
        "enable_inline_tax": 1,
        "currency_symbol_placement": "before",
        "enabled_modules": [
            "purchases",
            "add_sale",
            "pos_sale",
            "stock_transfers",
            "stock_adjustment",
            "expenses",
            "account",
            "tables",
            "modifiers",
            "service_staff",
            "booking",
            "kitchen",
            "subscription",
            "types_of_service"
        ],
        "date_format": "m/d/Y",
        "time_format": "24",
        "ref_no_prefixes": {
            "purchase": "PO",
            "purchase_return": null,
            "stock_transfer": "ST",
            "stock_adjustment": "SA",
            "sell_return": "CN",
            "expense": "EP",
            "contacts": "CO",
            "purchase_payment": "PP",
            "sell_payment": "SP",
            "expense_payment": null,
            "business_location": "BL",
            "username": null,
            "subscription": null
        },
        "theme_color": null,
        "created_by": null,
        "enable_rp": 0,
        "rp_name": null,
        "amount_for_unit_rp": "1.0000",
        "min_order_total_for_rp": "1.0000",
        "max_rp_per_order": null,
        "redeem_amount_per_unit_rp": "1.0000",
        "min_order_total_for_redeem": "1.0000",
        "min_redeem_point": null,
        "max_redeem_point": null,
        "rp_expiry_period": null,
        "rp_expiry_type": "year",
        "repair_settings": null,
        "email_settings": {
            "mail_driver": "smtp",
            "mail_host": null,
            "mail_port": null,
            "mail_username": null,
            "mail_password": null,
            "mail_encryption": null,
            "mail_from_address": null,
            "mail_from_name": null
        },
        "sms_settings": {
            "url": null,
            "send_to_param_name": "to",
            "msg_param_name": "text",
            "request_method": "post",
            "param_1": null,
            "param_val_1": null,
            "param_2": null,
            "param_val_2": null,
            "param_3": null,
            "param_val_3": null,
            "param_4": null,
            "param_val_4": null,
            "param_5": null,
            "param_val_5": null,
            "param_6": null,
            "param_val_6": null,
            "param_7": null,
            "param_val_7": null,
            "param_8": null,
            "param_val_8": null,
            "param_9": null,
            "param_val_9": null,
            "param_10": null,
            "param_val_10": null
        },
        "custom_labels": {
            "payments": {
                "custom_pay_1": null,
                "custom_pay_2": null,
                "custom_pay_3": null
            },
            "contact": {
                "custom_field_1": null,
                "custom_field_2": null,
                "custom_field_3": null,
                "custom_field_4": null
            },
            "product": {
                "custom_field_1": null,
                "custom_field_2": null,
                "custom_field_3": null,
                "custom_field_4": null
            },
            "location": {
                "custom_field_1": null,
                "custom_field_2": null,
                "custom_field_3": null,
                "custom_field_4": null
            },
            "user": {
                "custom_field_1": null,
                "custom_field_2": null,
                "custom_field_3": null,
                "custom_field_4": null
            },
            "purchase": {
                "custom_field_1": null,
                "custom_field_2": null,
                "custom_field_3": null,
                "custom_field_4": null
            },
            "sell": {
                "custom_field_1": null,
                "custom_field_2": null,
                "custom_field_3": null,
                "custom_field_4": null
            },
            "types_of_service": {
                "custom_field_1": null,
                "custom_field_2": null,
                "custom_field_3": null,
                "custom_field_4": null
            }
        },
        "common_settings": {
            "default_datatable_page_entries": "25"
        },
        "is_active": 1,
        "created_at": "2018-01-04 02:15:19",
        "updated_at": "2020-06-04 22:33:01",
        "locations": [
            {
                "id": 1,
                "business_id": 1,
                "location_id": null,
                "name": "Awesome Shop",
                "landmark": "Linking Street",
                "country": "USA",
                "state": "Arizona",
                "city": "Phoenix",
                "zip_code": "85001",
                "invoice_scheme_id": 1,
                "invoice_layout_id": 1,
                "selling_price_group_id": null,
                "print_receipt_on_invoice": 1,
                "receipt_printer_type": "browser",
                "printer_id": null,
                "mobile": null,
                "alternate_number": null,
                "email": null,
                "website": null,
                "featured_products": [
                    "5",
                    "71"
                ],
                "is_active": 1,
                "default_payment_accounts": {
                    "cash": {
                        "is_enabled": "1",
                        "account": null
                    },
                    "card": {
                        "is_enabled": "1",
                        "account": null
                    },
                    "cheque": {
                        "is_enabled": "1",
                        "account": null
                    },
                    "bank_transfer": {
                        "is_enabled": "1",
                        "account": null
                    },
                    "other": {
                        "is_enabled": "1",
                        "account": null
                    },
                    "custom_pay_1": {
                        "is_enabled": "1",
                        "account": null
                    },
                    "custom_pay_2": {
                        "is_enabled": "1",
                        "account": null
                    },
                    "custom_pay_3": {
                        "is_enabled": "1",
                        "account": null
                    }
                },
                "custom_field1": null,
                "custom_field2": null,
                "custom_field3": null,
                "custom_field4": null,
                "deleted_at": null,
                "created_at": "2018-01-04 02:15:20",
                "updated_at": "2020-06-05 00:56:54"
            }
        ],
        "currency": {
            "id": 2,
            "country": "America",
            "currency": "Dollars",
            "code": "USD",
            "symbol": "$",
            "thousand_separator": ",",
            "decimal_separator": ".",
            "created_at": null,
            "updated_at": null
        },
        "printers": [],
        "currency_precision": 2,
        "quantity_precision": 2
    }
}
 

Request   

GET connector/api/business-details

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Get profit and loss report

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/profit-loss-report?location_id=1&start_date=2018-06-25&end_date=2018-06-25&user_id=1" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/profit-loss-report"
);

const params = {
    "location_id": "1",
    "start_date": "2018-06-25",
    "end_date": "2018-06-25",
    "user_id": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/profit-loss-report';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'location_id' => '1',
            'start_date' => '2018-06-25',
            'end_date' => '2018-06-25',
            'user_id' => '1',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": {
        "total_purchase_shipping_charge": 0,
        "total_sell_shipping_charge": 0,
        "total_transfer_shipping_charges": "0.0000",
        "opening_stock": 0,
        "closing_stock": "386859.00000000",
        "total_purchase": 386936,
        "total_purchase_discount": "0.000000000000",
        "total_purchase_return": "0.0000",
        "total_sell": 9764.5,
        "total_sell_discount": "11.550000000000",
        "total_sell_return": "0.0000",
        "total_sell_round_off": "0.0000",
        "total_expense": "0.0000",
        "total_adjustment": "0.0000",
        "total_recovered": "0.0000",
        "total_reward_amount": "0.0000",
        "left_side_module_data": [
            {
                "value": "0.0000",
                "label": "Total Payroll",
                "add_to_net_profit": true
            },
            {
                "value": 0,
                "label": "Total Production Cost",
                "add_to_net_profit": true
            }
        ],
        "right_side_module_data": [],
        "net_profit": 9675.95,
        "gross_profit": -11.55,
        "total_sell_by_subtype": []
    }
}
 

Request   

GET connector/api/profit-loss-report

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

location_id   string  optional  

optional id of the location Example: 1

start_date   string  optional  

optional format:Y-m-d Example: 2018-06-25

end_date   string  optional  

optional format:Y-m-d Example: 2018-06-25

user_id   string  optional  

optional id of the user Example: 1

Get product current stock

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/product-stock-report" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/product-stock-report"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/product-stock-report';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "total_sold": null,
            "total_transfered": null,
            "total_adjusted": null,
            "stock_price": null,
            "stock": null,
            "sku": "AS0001",
            "product": "Men's Reverse Fleece Crew",
            "type": "single",
            "product_id": 1,
            "unit": "Pc(s)",
            "enable_stock": 1,
            "unit_price": "143.0000",
            "product_variation": "DUMMY",
            "variation_name": "DUMMY",
            "location_name": null,
            "location_id": null,
            "variation_id": 1
        },
        {
            "total_sold": "50.0000",
            "total_transfered": null,
            "total_adjusted": null,
            "stock_price": "3850.00000000",
            "stock": "50.0000",
            "sku": "AS0002-1",
            "product": "Levis Men's Slimmy Fit Jeans",
            "type": "variable",
            "product_id": 2,
            "unit": "Pc(s)",
            "enable_stock": 1,
            "unit_price": "77.0000",
            "product_variation": "Waist Size",
            "variation_name": "28",
            "location_name": "Awesome Shop",
            "location_id": 1,
            "variation_id": 2
        },
        {
            "total_sold": "60.0000",
            "total_transfered": null,
            "total_adjusted": null,
            "stock_price": "6930.00000000",
            "stock": "90.0000",
            "sku": "AS0002-2",
            "product": "Levis Men's Slimmy Fit Jeans",
            "type": "variable",
            "product_id": 2,
            "unit": "Pc(s)",
            "enable_stock": 1,
            "unit_price": "77.0000",
            "product_variation": "Waist Size",
            "variation_name": "30",
            "location_name": "Awesome Shop",
            "location_id": 1,
            "variation_id": 3
        }
    ],
    "links": {
        "first": "http://local.pos.com/connector/api/product-stock-report?page=1",
        "last": "http://local.pos.com/connector/api/product-stock-report?page=22",
        "prev": null,
        "next": "http://local.pos.com/connector/api/product-stock-report?page=2"
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 22,
        "path": "http://local.pos.com/connector/api/product-stock-report",
        "per_page": 3,
        "to": 3,
        "total": 66
    }
}
 

Request   

GET connector/api/product-stock-report

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Get notifications

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/notifications" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/notifications"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/notifications';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "msg": "Payroll for August/2020 added by Mr. Super Admin. Reference No. 2020/0002",
            "icon_class": "fas fa-money-bill-alt bg-green",
            "link": "http://local.pos.com/hrm/payroll",
            "read_at": null,
            "created_at": "3 hours ago"
        }
    ]
}
 

Request   

GET connector/api/notifications

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Get location details from coordinates

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/get-location" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"lat\": \"41.40338\",
    \"lon\": \"2.17403\"
}"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/get-location"
);

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

let body = {
    "lat": "41.40338",
    "lon": "2.17403"
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/get-location';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'lat' => '41.40338',
            'lon' => '2.17403',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "address": "Radhanath Mullick Ln, Tiretta Bazaar, Bow Bazaar, Kolkata, West Bengal, 700 073, India"
}
 

Request   

GET connector/api/get-location

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

lat   decimal   

Lattitude of the location Example: 41.40338

lon   decimal   

Longitude of the location Example: 2.17403

Serve the OpenAPI specification in JSON format.

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/swagger.json" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/swagger.json"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/swagger.json';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Request   

GET connector/api/swagger.json

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Serve the OpenAPI specification in YAML format.

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/swagger.yaml" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/swagger.yaml"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/swagger.yaml';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Request   

GET connector/api/swagger.yaml

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Install

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/install" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/install"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/install';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Request   

GET connector/install

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Uninstall

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/install/uninstall" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/install/uninstall"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/install/uninstall';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Request   

GET connector/install/uninstall

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

update module

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/install/update" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/install/update"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/install/update';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Request   

GET connector/install/update

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Request   

GET connector/api

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Display a listing of the resource.

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/client" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/client"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/client';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Request   

GET connector/client

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Show the form for creating a new resource.

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/client/create" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/client/create"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/client/create';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Request   

GET connector/client/create

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Store a newly created resource in storage.

Example request:
curl --request POST \
    "http://127.0.0.1:8000/connector/client" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/client"
);

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

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/client';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Request   

POST connector/client

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Show the specified resource.

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/client/ut" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/client/ut"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/client/ut';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Request   

GET connector/client/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the client. Example: ut

Show the form for editing the specified resource.

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/client/voluptas/edit" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/client/voluptas/edit"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/client/voluptas/edit';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Request   

GET connector/client/{client}/edit

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

client   string   

The client. Example: voluptas

Update the specified resource in storage.

Example request:
curl --request PUT \
    "http://127.0.0.1:8000/connector/client/accusantium" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/client/accusantium"
);

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

fetch(url, {
    method: "PUT",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/client/accusantium';
$response = $client->put(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Request   

PUT connector/client/{id}

PATCH connector/client/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the client. Example: accusantium

Remove the specified resource from storage.

Example request:
curl --request DELETE \
    "http://127.0.0.1:8000/connector/client/voluptates" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/client/voluptates"
);

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

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/client/voluptates';
$response = $client->delete(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Request   

DELETE connector/client/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the client. Example: voluptates

Display the Swagger UI documentation interface.

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/docs/swagger" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/docs/swagger"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/docs/swagger';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Request   

GET connector/docs/swagger

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Display the Swagger UI documentation interface.

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/swagger" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/swagger"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/swagger';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Request   

GET connector/swagger

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Serve the OpenAPI specification in JSON format.

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/swagger/json" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/swagger/json"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/swagger/json';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Request   

GET connector/swagger/json

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Serve the OpenAPI specification in YAML format.

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/swagger/yaml" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/swagger/yaml"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/swagger/yaml';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Request   

GET connector/swagger/yaml

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

OAuth2 redirect callback for Swagger UI.

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/swagger/oauth2-callback" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/swagger/oauth2-callback"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/swagger/oauth2-callback';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Request   

GET connector/swagger/oauth2-callback

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Expense management

List expenses

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/expense?location_id=1&payment_status=paid&start_date=2018-06-25&end_date=2018-06-25&expense_for=perferendis&per_page=15" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/expense"
);

const params = {
    "location_id": "1",
    "payment_status": "paid",
    "start_date": "2018-06-25",
    "end_date": "2018-06-25",
    "expense_for": "perferendis",
    "per_page": "15",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/expense';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'location_id' => '1',
            'payment_status' => 'paid',
            'start_date' => '2018-06-25',
            'end_date' => '2018-06-25',
            'expense_for' => 'perferendis',
            'per_page' => '15',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "id": 59,
            "business_id": 1,
            "location_id": 1,
            "payment_status": "due",
            "ref_no": "EP2020/0001",
            "transaction_date": "2020-07-03 12:58:00",
            "total_before_tax": "50.0000",
            "tax_id": null,
            "tax_amount": "0.0000",
            "final_total": "50.0000",
            "expense_category_id": null,
            "document": null,
            "created_by": 9,
            "is_recurring": 0,
            "recur_interval": null,
            "recur_interval_type": null,
            "recur_repetitions": null,
            "recur_stopped_on": null,
            "recur_parent_id": null,
            "created_at": "2020-07-03 12:58:23",
            "updated_at": "2020-07-03 12:58:24",
            "transaction_for": {
                "id": 1,
                "user_type": "user",
                "surname": "Mr",
                "first_name": "Admin",
                "last_name": null,
                "username": "admin",
                "email": "admin@example.com",
                "language": "en",
                "contact_no": null,
                "address": null,
                "business_id": 1,
                "max_sales_discount_percent": null,
                "allow_login": 1,
                "essentials_department_id": null,
                "essentials_designation_id": null,
                "status": "active",
                "crm_contact_id": null,
                "is_cmmsn_agnt": 0,
                "cmmsn_percent": "0.00",
                "selected_contacts": 0,
                "dob": null,
                "gender": null,
                "marital_status": null,
                "blood_group": null,
                "contact_number": null,
                "fb_link": null,
                "twitter_link": null,
                "social_media_1": null,
                "social_media_2": null,
                "permanent_address": null,
                "current_address": null,
                "guardian_name": null,
                "custom_field_1": null,
                "custom_field_2": null,
                "custom_field_3": null,
                "custom_field_4": null,
                "bank_details": null,
                "id_proof_name": null,
                "id_proof_number": null,
                "deleted_at": null,
                "created_at": "2018-01-04 02:15:19",
                "updated_at": "2018-01-04 02:15:19"
            }
        }
    ],
    "links": {
        "first": "http://local.pos.com/connector/api/expense?page=1",
        "last": null,
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "path": "http://local.pos.com/connector/api/expense",
        "per_page": 10,
        "to": 1
    }
}
 

Request   

GET connector/api/expense

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

location_id   string  optional  

id of the location Example: 1

payment_status   string  optional  

payment status Example: paid

start_date   string  optional  

format:Y-m-d Example: 2018-06-25

end_date   string  optional  

format:Y-m-d Example: 2018-06-25

expense_for   string  optional  

id of the user for which expense is created Example: perferendis

per_page   integer  optional  

Total records per page. default: 10, Set -1 for no pagination Example: 15

Create expense / expense refund

requires authentication

Example request:
curl --request POST \
    "http://127.0.0.1:8000/connector/api/expense" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"location_id\": 1,
    \"final_total\": 1014120.400922,
    \"transaction_date\": \"2020-5-7 15:20:22\",
    \"tax_rate_id\": 1,
    \"expense_for\": 5,
    \"contact_id\": 17,
    \"expense_category_id\": 7,
    \"expense_sub_category_id\": 9,
    \"additional_notes\": \"distinctio\",
    \"is_refund\": 0,
    \"is_recurring\": 0,
    \"recur_interval\": 13,
    \"recur_interval_type\": \"months\",
    \"subscription_repeat_on\": 15,
    \"subscription_no\": \"quae\",
    \"recur_repetitions\": 6,
    \"payment\": [
        \"accusamus\"
    ]
}"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/expense"
);

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

let body = {
    "location_id": 1,
    "final_total": 1014120.400922,
    "transaction_date": "2020-5-7 15:20:22",
    "tax_rate_id": 1,
    "expense_for": 5,
    "contact_id": 17,
    "expense_category_id": 7,
    "expense_sub_category_id": 9,
    "additional_notes": "distinctio",
    "is_refund": 0,
    "is_recurring": 0,
    "recur_interval": 13,
    "recur_interval_type": "months",
    "subscription_repeat_on": 15,
    "subscription_no": "quae",
    "recur_repetitions": 6,
    "payment": [
        "accusamus"
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/expense';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'location_id' => 1,
            'final_total' => 1014120.400922,
            'transaction_date' => '2020-5-7 15:20:22',
            'tax_rate_id' => 1,
            'expense_for' => 5,
            'contact_id' => 17,
            'expense_category_id' => 7,
            'expense_sub_category_id' => 9,
            'additional_notes' => 'distinctio',
            'is_refund' => 0,
            'is_recurring' => 0,
            'recur_interval' => 13,
            'recur_interval_type' => 'months',
            'subscription_repeat_on' => 15,
            'subscription_no' => 'quae',
            'recur_repetitions' => 6,
            'payment' => [
                'accusamus',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": {
        "id": 75,
        "business_id": 1,
        "location_id": "1",
        "payment_status": "due",
        "ref_no": "EP2020/0013",
        "transaction_date": "2020-07-06T05:31:29.480975Z",
        "total_before_tax": "43",
        "tax_id": null,
        "tax_amount": 0,
        "final_total": "43",
        "expense_category_id": null,
        "document": null,
        "created_by": 1,
        "is_recurring": 0,
        "recur_interval": null,
        "recur_interval_type": null,
        "recur_repetitions": null,
        "recur_stopped_on": null,
        "recur_parent_id": null,
        "created_at": "2020-07-06 11:01:29",
        "updated_at": "2020-07-06 11:01:29",
        "expense_for": []
    }
}
 

Request   

POST connector/api/expense

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

location_id   integer   

id of the business location Example: 1

final_total   number   

Expense amount Example: 1014120.400922

transaction_date   string  optional  

transaction date format:Y-m-d H:i:s, Example: 2020-5-7 15:20:22

tax_rate_id   integer  optional  

id of the tax rate applicable to the expense Example: 1

expense_for   integer  optional  

id of the user for which expense is created Example: 5

contact_id   integer  optional  

id of the contact(customer or supplier) for which expense is created Example: 17

expense_category_id   integer  optional  

id of the expense category Example: 7

expense_sub_category_id   integer  optional  

id of the expense sub-category Example: 9

additional_notes   string  optional  

Example: distinctio

is_refund   integer  optional  

whether expense refund (0, 1) Example: 0

is_recurring   integer  optional  

whether expense is recurring (0, 1) Example: 0

recur_interval   integer  optional  

value of the interval expense will be regenerated Example: 13

recur_interval_type   string  optional  

type of the recur interval ('days', 'months', 'years') Example: months

subscription_repeat_on   integer  optional  

day of the month on which expense will be generated if recur interval type is months (1-30) Example: 15

subscription_no   string  optional  

subscription number Example: quae

recur_repetitions   integer  optional  

total number of expense to be generated Example: 6

payment   string[]  optional  

payment lines for the expense

*   object  optional  
amount   number  optional  

amount of the payment Example: 453.13

method   string  optional  

payment methods ('cash', 'card', 'cheque', 'bank_transfer', 'other', 'custom_pay_1', 'custom_pay_2', 'custom_pay_3') Example: cash

account_id   integer  optional  

account id Example: 14

card_number   string  optional  

Example: nihil

card_holder_name   string  optional  

Example: aut

card_transaction_number   string  optional  

Example: quasi

card_type   string  optional  

Example: ut

card_month   string  optional  

Example: deleniti

card_year   string  optional  

Example: vitae

card_security   string  optional  

Example: iure

transaction_no_1   string  optional  

Example: molestiae

transaction_no_2   string  optional  

Example: quis

transaction_no_3   string  optional  

Example: ab

note   string  optional  

payment note Example: non

cheque_number   string  optional  

Example: alias

Get the specified expense / expense refund

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/expense/blanditiis" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/expense/blanditiis"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/expense/blanditiis';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "id": 59,
            "business_id": 1,
            "location_id": 1,
            "payment_status": "due",
            "ref_no": "EP2020/0001",
            "transaction_date": "2020-07-03 12:58:00",
            "total_before_tax": "50.0000",
            "tax_id": null,
            "tax_amount": "0.0000",
            "final_total": "50.0000",
            "expense_category_id": null,
            "document": null,
            "created_by": 9,
            "is_recurring": 0,
            "recur_interval": null,
            "recur_interval_type": null,
            "recur_repetitions": null,
            "recur_stopped_on": null,
            "recur_parent_id": null,
            "created_at": "2020-07-03 12:58:23",
            "updated_at": "2020-07-03 12:58:24",
            "transaction_for": {
                "id": 1,
                "user_type": "user",
                "surname": "Mr",
                "first_name": "Admin",
                "last_name": null,
                "username": "admin",
                "email": "admin@example.com",
                "language": "en",
                "contact_no": null,
                "address": null,
                "business_id": 1,
                "max_sales_discount_percent": null,
                "allow_login": 1,
                "essentials_department_id": null,
                "essentials_designation_id": null,
                "status": "active",
                "crm_contact_id": null,
                "is_cmmsn_agnt": 0,
                "cmmsn_percent": "0.00",
                "selected_contacts": 0,
                "dob": null,
                "gender": null,
                "marital_status": null,
                "blood_group": null,
                "contact_number": null,
                "fb_link": null,
                "twitter_link": null,
                "social_media_1": null,
                "social_media_2": null,
                "permanent_address": null,
                "current_address": null,
                "guardian_name": null,
                "custom_field_1": null,
                "custom_field_2": null,
                "custom_field_3": null,
                "custom_field_4": null,
                "bank_details": null,
                "id_proof_name": null,
                "id_proof_number": null,
                "deleted_at": null,
                "created_at": "2018-01-04 02:15:19",
                "updated_at": "2018-01-04 02:15:19"
            }
        }
    ]
}
 

Request   

GET connector/api/expense/{id}

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the expense. Example: blanditiis

expense   string   

comma separated ids of the expenses Example: 59

Update expense / expense refund

requires authentication

Example request:
curl --request PUT \
    "http://127.0.0.1:8000/connector/api/expense/maiores" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"final_total\": 322703.8307,
    \"transaction_date\": \"2020-5-7 15:20:22\",
    \"tax_rate_id\": 15,
    \"expense_for\": 20,
    \"contact_id\": 14,
    \"expense_category_id\": 6,
    \"expense_sub_category_id\": 6,
    \"additional_notes\": \"dolorum\",
    \"is_recurring\": 0,
    \"recur_interval\": 7,
    \"recur_interval_type\": \"months\",
    \"subscription_repeat_on\": 15,
    \"subscription_no\": \"consequatur\",
    \"recur_repetitions\": 4,
    \"payment\": [
        \"dolorem\"
    ]
}"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/expense/maiores"
);

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

let body = {
    "final_total": 322703.8307,
    "transaction_date": "2020-5-7 15:20:22",
    "tax_rate_id": 15,
    "expense_for": 20,
    "contact_id": 14,
    "expense_category_id": 6,
    "expense_sub_category_id": 6,
    "additional_notes": "dolorum",
    "is_recurring": 0,
    "recur_interval": 7,
    "recur_interval_type": "months",
    "subscription_repeat_on": 15,
    "subscription_no": "consequatur",
    "recur_repetitions": 4,
    "payment": [
        "dolorem"
    ]
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/expense/maiores';
$response = $client->put(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'final_total' => 322703.8307,
            'transaction_date' => '2020-5-7 15:20:22',
            'tax_rate_id' => 15,
            'expense_for' => 20,
            'contact_id' => 14,
            'expense_category_id' => 6,
            'expense_sub_category_id' => 6,
            'additional_notes' => 'dolorum',
            'is_recurring' => 0,
            'recur_interval' => 7,
            'recur_interval_type' => 'months',
            'subscription_repeat_on' => 15,
            'subscription_no' => 'consequatur',
            'recur_repetitions' => 4,
            'payment' => [
                'dolorem',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": {
        "id": 75,
        "business_id": 1,
        "location_id": "1",
        "payment_status": "due",
        "ref_no": "EP2020/0013",
        "transaction_date": "2020-07-06T05:31:29.480975Z",
        "total_before_tax": "43",
        "tax_id": null,
        "tax_amount": 0,
        "final_total": "43",
        "expense_category_id": null,
        "document": null,
        "created_by": 1,
        "is_recurring": 0,
        "recur_interval": null,
        "recur_interval_type": null,
        "recur_repetitions": null,
        "recur_stopped_on": null,
        "recur_parent_id": null,
        "created_at": "2020-07-06 11:01:29",
        "updated_at": "2020-07-06 11:01:29",
        "expense_for": []
    }
}
 

Request   

PUT connector/api/expense/{id}

PATCH connector/api/expense/{id}

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the expense. Example: maiores

Body Parameters

final_total   number  optional  

Expense amount Example: 322703.8307

transaction_date   string  optional  

transaction date format:Y-m-d H:i:s, Example: 2020-5-7 15:20:22

tax_rate_id   integer  optional  

id of the tax rate applicable to the expense Example: 15

expense_for   integer  optional  

id of the user for which expense is created Example: 20

contact_id   integer  optional  

id of the contact(customer or supplier) for which expense is created Example: 14

expense_category_id   integer  optional  

id of the expense category Example: 6

expense_sub_category_id   integer  optional  

id of the expense sub-category Example: 6

additional_notes   string  optional  

Example: dolorum

is_recurring   integer  optional  

whether expense is recurring (0, 1) Example: 0

recur_interval   integer  optional  

value of the interval expense will be regenerated Example: 7

recur_interval_type   string  optional  

type of the recur interval ('days', 'months', 'years') Example: months

subscription_repeat_on   integer  optional  

day of the month on which expense will be generated if recur interval type is months (1-30) Example: 15

subscription_no   string  optional  

subscription number Example: consequatur

recur_repetitions   integer  optional  

total number of expense to be generated Example: 4

payment   string[]  optional  

payment lines for the expense

List expense refunds

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/expense-refund?location_id=1&payment_status=paid&start_date=2018-06-25&end_date=2018-06-25&expense_for=et&per_page=15" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/expense-refund"
);

const params = {
    "location_id": "1",
    "payment_status": "paid",
    "start_date": "2018-06-25",
    "end_date": "2018-06-25",
    "expense_for": "et",
    "per_page": "15",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/expense-refund';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'location_id' => '1',
            'payment_status' => 'paid',
            'start_date' => '2018-06-25',
            'end_date' => '2018-06-25',
            'expense_for' => 'et',
            'per_page' => '15',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "id": 230,
            "business_id": 1,
            "location_id": 1,
            "payment_status": "partial",
            "ref_no": "refund",
            "transaction_date": "2020-12-15 11:16:00",
            "total_before_tax": "65.0000",
            "tax_id": null,
            "tax_amount": "0.0000",
            "final_total": "65.0000",
            "expense_category_id": null,
            "document": null,
            "created_by": 9,
            "created_at": "2020-12-15 11:46:56",
            "updated_at": "2020-12-15 12:47:30",
            "expense_for": []
        }
    ],
    "links": {
        "first": "http://local.pos.com/connector/api/expense-refund?page=1",
        "last": null,
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "path": "http://local.pos.com/connector/api/expense-refund",
        "per_page": 15,
        "to": 1
    }
}
 

Request   

GET connector/api/expense-refund

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

location_id   string  optional  

id of the location Example: 1

payment_status   string  optional  

payment status Example: paid

start_date   string  optional  

format:Y-m-d Example: 2018-06-25

end_date   string  optional  

format:Y-m-d Example: 2018-06-25

expense_for   string  optional  

id of the user for which expense is created Example: et

per_page   integer  optional  

Total records per page. default: 10, Set -1 for no pagination Example: 15

List expense categories

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/expense-categories" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/expense-categories"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/expense-categories';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "id": 1,
            "name": "cat 1",
            "business_id": 1,
            "code": null,
            "parent_id": null,
            "deleted_at": null,
            "created_at": "2021-12-16 17:54:40",
            "updated_at": "2021-12-16 17:54:40",
            "sub_categories": [
                {
                    "id": 3,
                    "name": "sub cat 1",
                    "business_id": 1,
                    "code": null,
                    "parent_id": 1,
                    "deleted_at": null,
                    "created_at": "2021-12-16 18:12:07",
                    "updated_at": "2021-12-16 18:12:07"
                }
            ]
        },
        {
            "id": 7,
            "name": "cat 2",
            "business_id": 1,
            "code": null,
            "parent_id": null,
            "deleted_at": null,
            "created_at": "2021-12-17 10:36:13",
            "updated_at": "2021-12-17 10:36:13",
            "sub_categories": [
                {
                    "id": 8,
                    "name": "sub cat 2",
                    "business_id": 1,
                    "code": null,
                    "parent_id": 7,
                    "deleted_at": null,
                    "created_at": "2021-12-17 10:36:44",
                    "updated_at": "2021-12-17 10:36:44"
                }
            ]
        }
    ]
}
 

Request   

GET connector/api/expense-categories

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Field Force

List visits

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/field-force?contact_id=molestiae&assigned_to=et&status=officia&start_date=2018-06-25&end_date=2018-06-25&per_page=15&order_by_date=0" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/field-force"
);

const params = {
    "contact_id": "molestiae",
    "assigned_to": "et",
    "status": "officia",
    "start_date": "2018-06-25",
    "end_date": "2018-06-25",
    "per_page": "15",
    "order_by_date": "0",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/field-force';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'contact_id' => 'molestiae',
            'assigned_to' => 'et',
            'status' => 'officia',
            'start_date' => '2018-06-25',
            'end_date' => '2018-06-25',
            'per_page' => '15',
            'order_by_date' => '0',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Request   

GET connector/api/field-force

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

contact_id   string  optional  

id of the contact Example: molestiae

assigned_to   string  optional  

id of the assigned user Example: et

status   string  optional  

status of the visit (assigned, finished) Example: officia

start_date   string  optional  

Start date filter for visit on format:Y-m-d Example: 2018-06-25

end_date   string  optional  

End date filter for visit on format:Y-m-d Example: 2018-06-25

per_page   integer  optional  

Total records per page. default: 10, Set -1 for no pagination Example: 15

order_by_date   integer  optional  

Sort visit by visit on date ('asc', 'desc') Example: 0

Create Visit

requires authentication

Example request:
curl --request POST \
    "http://127.0.0.1:8000/connector/api/field-force/create" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"contact_id\": 16,
    \"visit_to\": \"aut\",
    \"visit_address\": \"modi\",
    \"assigned_to\": 11,
    \"visit_on\": \"2021-12-28 17:23:00\",
    \"visit_for\": \"sint\"
}"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/field-force/create"
);

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

let body = {
    "contact_id": 16,
    "visit_to": "aut",
    "visit_address": "modi",
    "assigned_to": 11,
    "visit_on": "2021-12-28 17:23:00",
    "visit_for": "sint"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/field-force/create';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'contact_id' => 16,
            'visit_to' => 'aut',
            'visit_address' => 'modi',
            'assigned_to' => 11,
            'visit_on' => '2021-12-28 17:23:00',
            'visit_for' => 'sint',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": {
        "contact_id": "6",
        "assigned_to": "9",
        "visit_on": "2022-01-15 17:23:00",
        "visit_for": "",
        "meet_with": "",
        "meet_with2": "",
        "meet_with3": "",
        "meet_with_mobileno": "",
        "meet_with_mobileno2": "",
        "meet_with_mobileno3": "",
        "meet_with_designation": "",
        "meet_with_designation2": "",
        "meet_with_designation3": "",
        "visit_id": "2021/0031",
        "status": "assigned",
        "business_id": 1,
        "updated_at": "2021-12-30 11:00:47",
        "created_at": "2021-12-30 11:00:47",
        "id": 3
    }
}
 

Request   

POST connector/api/field-force/create

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

contact_id   integer  optional  

id of the contact Example: 16

visit_to   string  optional  

Name of the visiting person or company if contact_id is not given Example: aut

visit_address   string  optional  

Address of the visiting person or company if contact_id is not given Example: modi

assigned_to   integer   

id of the assigned user Example: 11

visit_on   format:Y-m-d  optional  

H:i:s Example: 2021-12-28 17:23:00

visit_for   string  optional  

Purpose of visiting Example: sint

Update Visit status

requires authentication

Example request:
curl --request POST \
    "http://127.0.0.1:8000/connector/api/field-force/update-visit-status/17" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "status=finished"\
    --form "reason_to_not_meet_contact=suscipit"\
    --form "visited_on=2021-12-28 17:23:00"\
    --form "visited_address=Radhanath Mullick Ln, Tiretta Bazaar, Bow Bazaar, Kolkata, West Bengal, 700 073, India"\
    --form "latitude=41.40338"\
    --form "longitude=2.17403"\
    --form "comments=eius"\
    --form "meet_with=quae"\
    --form "meet_with_mobileno=possimus"\
    --form "photo=@C:\Users\payzy\AppData\Local\Temp\php6088.tmp" 
const url = new URL(
    "http://127.0.0.1:8000/connector/api/field-force/update-visit-status/17"
);

const headers = {
    "Authorization": "Bearer {access_token}",
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('status', 'finished');
body.append('reason_to_not_meet_contact', 'suscipit');
body.append('visited_on', '2021-12-28 17:23:00');
body.append('visited_address', 'Radhanath Mullick Ln, Tiretta Bazaar, Bow Bazaar, Kolkata, West Bengal, 700 073, India');
body.append('latitude', '41.40338');
body.append('longitude', '2.17403');
body.append('comments', 'eius');
body.append('meet_with', 'quae');
body.append('meet_with_mobileno', 'possimus');
body.append('photo', document.querySelector('input[name="photo"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/field-force/update-visit-status/17';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'multipart/form-data',
            'Accept' => 'application/json',
        ],
        'multipart' => [
            [
                'name' => 'status',
                'contents' => 'finished'
            ],
            [
                'name' => 'reason_to_not_meet_contact',
                'contents' => 'suscipit'
            ],
            [
                'name' => 'visited_on',
                'contents' => '2021-12-28 17:23:00'
            ],
            [
                'name' => 'visited_address',
                'contents' => 'Radhanath Mullick Ln, Tiretta Bazaar, Bow Bazaar, Kolkata, West Bengal, 700 073, India'
            ],
            [
                'name' => 'latitude',
                'contents' => '41.40338'
            ],
            [
                'name' => 'longitude',
                'contents' => '2.17403'
            ],
            [
                'name' => 'comments',
                'contents' => 'eius'
            ],
            [
                'name' => 'meet_with',
                'contents' => 'quae'
            ],
            [
                'name' => 'meet_with_mobileno',
                'contents' => 'possimus'
            ],
            [
                'name' => 'photo',
                'contents' => fopen('C:\Users\payzy\AppData\Local\Temp\php6088.tmp', 'r')
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": {
        "id": 10,
        "business_id": 1,
        "contact_id": 6,
        "assigned_to": 9,
        "latitude": "23.6101808",
        "longitude": "85.2799354",
        "visited_address": "New address",
        "status": "finished",
        "visit_on": "2021-12-28 17:23:00",
        "visit_for": "assigned from api",
        "meet_with": "Name",
        "meet_with2": "Name",
        "meet_with3": "Name",
        "meet_with_mobileno": "123456789",
        "meet_with_mobileno2": "123456789",
        "meet_with_mobileno3": "123456789",
        "meet_with_designation": "dr",
        "meet_with_designation2": "dr",
        "meet_with_designation3": "dr",
        "comments": "Users comment",
        "created_at": "2021-12-28 17:35:13",
        "updated_at": "2021-12-28 18:06:03"
    }
}
 

Request   

POST connector/api/field-force/update-visit-status/{id}

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

id   string   

id of the visit to be updated Example: 17

Body Parameters

status   string  optional  

Current status of the visit (assigned, finished, met_contact, did_not_meet_contact) Example: finished

reason_to_not_meet_contact   string  optional  

Reason if status is did_not_meet_contact Example: suscipit

visited_on   format:Y-m-d  optional  

H:i:s Example: 2021-12-28 17:23:00

visited_address   string  optional  

Full address of the contact Example: Radhanath Mullick Ln, Tiretta Bazaar, Bow Bazaar, Kolkata, West Bengal, 700 073, India

latitude   decimal  optional  

Lattitude of the user location if full address is not given Example: 41.40338

longitude   decimal  optional  

Longitude of the user location if full address is not given Example: 2.17403

comments   string  optional  

Extra comments Example: eius

photo   file  optional  

Upload Photo as a file of the visit if any or base64 encoded image Example: C:\Users\payzy\AppData\Local\Temp\php6088.tmp

meet_with   required  optional  

name of person field force meet with Example: quae

meet_with_mobileno   required  optional  

mobile number of the person field force meet with Example: possimus

New end points

New List products

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/new_product?order_by=et&order_direction=vitae&location_custom_field_1=earum&category_id=omnis&sub_category_id=sit&location_id=1&not_for_sell=fuga&send_lot_detail=sunt&name=officiis&sku=aperiam&product_ids=1%2C2&per_page=10" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/new_product"
);

const params = {
    "order_by": "et",
    "order_direction": "vitae",
    "location_custom_field_1": "earum",
    "category_id": "omnis",
    "sub_category_id": "sit",
    "location_id": "1",
    "not_for_sell": "fuga",
    "send_lot_detail": "sunt",
    "name": "officiis",
    "sku": "aperiam",
    "product_ids": "1,2",
    "per_page": "10",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/new_product';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'order_by' => 'et',
            'order_direction' => 'vitae',
            'location_custom_field_1' => 'earum',
            'category_id' => 'omnis',
            'sub_category_id' => 'sit',
            'location_id' => '1',
            'not_for_sell' => 'fuga',
            'send_lot_detail' => 'sunt',
            'name' => 'officiis',
            'sku' => 'aperiam',
            'product_ids' => '1,2',
            'per_page' => '10',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "id": 2,
            "name": "Levis Men's Slimmy Fit Jeans",
            "business_id": 1,
            "type": "variable",
            "exemption_type_id": null,
            "enable_stock": 1,
            "sku": "AS0002",
            "product_custom_field1": null,
            "product_custom_field2": null,
            "product_custom_field3": null,
            "product_custom_field4": null,
            "woocommerce_media_id": null,
            "product_description": null,
            "is_inactive": 0,
            "repair_model_id": null,
            "not_for_selling": 0,
            "ecom_shipping_class_id": null,
            "ecom_active_in_store": 1,
            "woocommerce_product_id": 627,
            "woocommerce_disable_sync": 0,
            "image_url": "http://local.pos.com/uploads/img/1528727964_levis_jeans.jpg",
            "product_variations": [
                {
                    "id": 2,
                    "variation_template_id": 5,
                    "name": "Waist Size",
                    "product_id": 2,
                    "is_dummy": 0,
                    "variations": [
                        {
                            "id": 2,
                            "name": "28",
                            "product_id": 2,
                            "sub_sku": "AS0002-1",
                            "product_variation_id": 2,
                            "woocommerce_variation_id": 658,
                            "default_purchase_price": "70.0000",
                            "dpp_inc_tax": "77.0000",
                            "default_sell_price": "70.0000",
                            "sell_price_inc_tax": "77.0000",
                            "combo_variations": null,
                            "variation_location_details": [
                                {
                                    "id": 1,
                                    "product_id": 2,
                                    "product_variation_id": 2,
                                    "variation_id": 2,
                                    "location_id": 1,
                                    "qty_available": "71.0000"
                                }
                            ],
                            "media": [],
                            "discounts": []
                        },
                        {
                            "id": 3,
                            "name": "30",
                            "product_id": 2,
                            "sub_sku": "AS0002-2",
                            "product_variation_id": 2,
                            "woocommerce_variation_id": 659,
                            "default_purchase_price": "70.0000",
                            "dpp_inc_tax": "77.0000",
                            "default_sell_price": "70.0000",
                            "sell_price_inc_tax": "77.0000",
                            "combo_variations": null,
                            "variation_location_details": [
                                {
                                    "id": 2,
                                    "product_id": 2,
                                    "product_variation_id": 2,
                                    "variation_id": 3,
                                    "location_id": 1,
                                    "qty_available": "89.0000"
                                }
                            ],
                            "media": [],
                            "discounts": []
                        },
                        {
                            "id": 4,
                            "name": "32",
                            "product_id": 2,
                            "sub_sku": "AS0002-3",
                            "product_variation_id": 2,
                            "woocommerce_variation_id": 660,
                            "default_purchase_price": "70.0000",
                            "dpp_inc_tax": "77.0000",
                            "default_sell_price": "70.0000",
                            "sell_price_inc_tax": "77.0000",
                            "combo_variations": null,
                            "variation_location_details": [
                                {
                                    "id": 3,
                                    "product_id": 2,
                                    "product_variation_id": 2,
                                    "variation_id": 4,
                                    "location_id": 1,
                                    "qty_available": "127.0000"
                                },
                                {
                                    "id": 1371,
                                    "product_id": 2,
                                    "product_variation_id": 2,
                                    "variation_id": 4,
                                    "location_id": 7,
                                    "qty_available": "-1.0000"
                                }
                            ],
                            "media": [],
                            "discounts": []
                        },
                        {
                            "id": 5,
                            "name": "34",
                            "product_id": 2,
                            "sub_sku": "AS0002-4",
                            "product_variation_id": 2,
                            "woocommerce_variation_id": 661,
                            "default_purchase_price": "72.0000",
                            "dpp_inc_tax": "79.2000",
                            "default_sell_price": "72.0000",
                            "sell_price_inc_tax": "79.2000",
                            "combo_variations": null,
                            "variation_location_details": [
                                {
                                    "id": 4,
                                    "product_id": 2,
                                    "product_variation_id": 2,
                                    "variation_id": 5,
                                    "location_id": 1,
                                    "qty_available": "128.0000"
                                }
                            ],
                            "media": [],
                            "discounts": []
                        },
                        {
                            "id": 6,
                            "name": "36",
                            "product_id": 2,
                            "sub_sku": "AS0002-5",
                            "product_variation_id": 2,
                            "woocommerce_variation_id": 662,
                            "default_purchase_price": "72.0000",
                            "dpp_inc_tax": "79.2000",
                            "default_sell_price": "72.0000",
                            "sell_price_inc_tax": "79.2000",
                            "combo_variations": null,
                            "variation_location_details": [
                                {
                                    "id": 5,
                                    "product_id": 2,
                                    "product_variation_id": 2,
                                    "variation_id": 6,
                                    "location_id": 1,
                                    "qty_available": "99.0000"
                                }
                            ],
                            "media": [],
                            "discounts": []
                        }
                    ]
                }
            ],
            "brand": {
                "id": 1,
                "business_id": 1,
                "name": "Levis",
                "description": null,
                "created_by": 1,
                "use_for_repair": 1,
                "deleted_at": null,
                "created_at": "2018-01-03 21:19:47",
                "updated_at": "2018-01-03 21:19:47"
            },
            "unit": {
                "id": 1,
                "business_id": 1,
                "actual_name": "Pieces",
                "short_name": "Pc(s)",
                "allow_decimal": 0,
                "base_unit_id": null,
                "base_unit_multiplier": null
            },
            "category": {
                "id": 1,
                "name": "Men's",
                "business_id": 1,
                "short_code": "sfefef",
                "parent_id": 0,
                "category_type": "product",
                "description": null,
                "slug": null,
                "woocommerce_cat_id": null
            },
            "sub_category": {
                "id": 4,
                "name": "Jeans",
                "business_id": 1,
                "short_code": null,
                "parent_id": 1,
                "category_type": "product",
                "description": null,
                "slug": null,
                "woocommerce_cat_id": null
            },
            "product_tax": {
                "id": 1,
                "business_id": 1,
                "name": "VAT@10%",
                "amount": 10,
                "is_tax_group": 0,
                "for_tax_group": 0,
                "created_by": 1,
                "woocommerce_tax_rate_id": null,
                "deleted_at": null,
                "created_at": "2018-01-04 02:40:07",
                "updated_at": "2018-01-04 02:40:07"
            },
            "product_locations": [
                {
                    "id": 1,
                    "business_id": 1,
                    "name": "Location 1",
                    "custom_field1": "gdgdgd88",
                    "custom_field2": null,
                    "custom_field3": null,
                    "custom_field4": null
                }
            ]
        }
    ],
    "links": {
        "first": "http://local.pos.com/connector/api/new_product?per_page=1&page=1",
        "last": "http://local.pos.com/connector/api/new_product?per_page=1&page=1088",
        "prev": null,
        "next": "http://local.pos.com/connector/api/new_product?per_page=1&page=2"
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 1088,
        "path": "http://local.pos.com/connector/api/new_product",
        "per_page": "1",
        "to": 1,
        "total": 1088
    }
}
 

Request   

GET connector/api/new_product

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

order_by   string  optional  

Values: product_name or newest Example: et

order_direction   string  optional  

Values: asc or desc Example: vitae

location_custom_field_1   string  optional  

Custom field 1 of the location Example: earum

category_id   string  optional  

comma separated ids of one or multiple category Example: omnis

sub_category_id   string  optional  

comma separated ids of one or multiple sub-category Example: sit

location_id   string  optional  

Example: 1

not_for_sell   string  optional  

(1, 0) Example: fuga

send_lot_detail   string  optional  

Send lot details in each variation location details(1, 0) Example: sunt

name   string  optional  

Search term for product name Example: officiis

sku   string  optional  

Search term for product sku Example: aperiam

product_ids   string  optional  

comma separated ids of products Example: 1,2

per_page   integer  optional  

Total records per page. default: 10, Set -1 for no pagination Example: 10

New List sells

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/new_sell?location_id=1&contact_id=iure&payment_status=due%2Cpartial&start_date=2018-06-25&end_date=2018-06-25&user_id=quibusdam&service_staff_id=voluptatem&shipping_status=ordered&source=quidem&customer_group_id=dolor&product_name=omnis&product_sku=tempore&product_custom_field_1=rem&location_custom_field_1=excepturi&location_invoice_scheme_prefix=sunt&product_category_id=sit&product_sub_category_id=et&sell_ids=55%2C64&only_subscriptions=rerum&send_purchase_details=a&order_by_date=desc&per_page=10" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/new_sell"
);

const params = {
    "location_id": "1",
    "contact_id": "iure",
    "payment_status": "due,partial",
    "start_date": "2018-06-25",
    "end_date": "2018-06-25",
    "user_id": "quibusdam",
    "service_staff_id": "voluptatem",
    "shipping_status": "ordered",
    "source": "quidem",
    "customer_group_id": "dolor",
    "product_name": "omnis",
    "product_sku": "tempore",
    "product_custom_field_1": "rem",
    "location_custom_field_1": "excepturi",
    "location_invoice_scheme_prefix": "sunt",
    "product_category_id": "sit",
    "product_sub_category_id": "et",
    "sell_ids": "55,64",
    "only_subscriptions": "rerum",
    "send_purchase_details": "a",
    "order_by_date": "desc",
    "per_page": "10",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/new_sell';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'location_id' => '1',
            'contact_id' => 'iure',
            'payment_status' => 'due,partial',
            'start_date' => '2018-06-25',
            'end_date' => '2018-06-25',
            'user_id' => 'quibusdam',
            'service_staff_id' => 'voluptatem',
            'shipping_status' => 'ordered',
            'source' => 'quidem',
            'customer_group_id' => 'dolor',
            'product_name' => 'omnis',
            'product_sku' => 'tempore',
            'product_custom_field_1' => 'rem',
            'location_custom_field_1' => 'excepturi',
            'location_invoice_scheme_prefix' => 'sunt',
            'product_category_id' => 'sit',
            'product_sub_category_id' => 'et',
            'sell_ids' => '55,64',
            'only_subscriptions' => 'rerum',
            'send_purchase_details' => 'a',
            'order_by_date' => 'desc',
            'per_page' => '10',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "id": 6,
            "business_id": 1,
            "location_id": 1,
            "res_table_id": null,
            "type": "sell",
            "status": "final",
            "is_quotation": 0,
            "payment_status": "paid",
            "contact_id": 4,
            "customer_group_id": null,
            "invoice_no": "AS0001",
            "ref_no": "",
            "source": null,
            "unique_hash": null,
            "hash_control": null,
            "subscription_no": null,
            "subscription_repeat_on": null,
            "transaction_date": "2018-04-10 13:23:21",
            "total_before_tax": "770.0000",
            "tax_id": null,
            "tax_amount": "0.0000",
            "discount_type": "percentage",
            "discount_amount": "0.0000",
            "rp_redeemed": 0,
            "rp_redeemed_amount": "0.0000",
            "shipping_details": null,
            "shipping_address": null,
            "shipping_status": null,
            "delivered_to": null,
            "additional_notes": null,
            "staff_note": null,
            "round_off_amount": "0.0000",
            "final_total": "770.0000",
            "expense_sub_category_id": null,
            "is_direct_sale": 0,
            "is_suspend": 0,
            "total_amount_recovered": null,
            "crm_is_order_request": 0,
            "mfg_production_cost": "0.0000",
            "mfg_production_cost_type": "percentage",
            "mfg_is_final": 0,
            "is_created_from_api": 0,
            "essentials_duration": "0.00",
            "essentials_duration_unit": null,
            "essentials_amount_per_unit_duration": "0.0000",
            "essentials_allowances": null,
            "essentials_deductions": null,
            "repair_completed_on": null,
            "repair_warranty_id": null,
            "repair_brand_id": null,
            "repair_status_id": null,
            "repair_model_id": null,
            "repair_job_sheet_id": null,
            "repair_defects": null,
            "repair_serial_no": null,
            "repair_checklist": null,
            "repair_security_pwd": null,
            "repair_security_pattern": null,
            "repair_due_date": null,
            "repair_device_id": null,
            "repair_updates_notif": 0,
            "invoice_token": "00f79f7fd292225e8c303a6bf8626d06",
            "pjt_project_id": null,
            "pjt_title": null,
            "woocommerce_order_id": null,
            "selling_price_group_id": null,
            "created_at": "2018-01-06 07:06:11",
            "updated_at": "2021-10-23 11:42:13",
            "location_name": "Location 1",
            "location_custom_field1": "gdgdgd88",
            "location_invoice_scheme_prefix": "AS",
            "table_name": null,
            "table_description": null,
            "contact": "Harry",
            "customer_group_name": "grp 2",
            "sell_lines": [
                {
                    "id": 1,
                    "transaction_id": 6,
                    "product_id": 2,
                    "quantity": 10,
                    "quantity_returned": "0.0000",
                    "unit_price_before_discount": "70.0000",
                    "unit_price": "70.0000",
                    "line_discount_type": null,
                    "line_discount_amount": "0.0000",
                    "unit_price_inc_tax": "77.0000",
                    "item_tax": "7.0000",
                    "tax_id": 1,
                    "discount_id": null,
                    "lot_no_line_id": null,
                    "sell_line_note": null,
                    "woocommerce_line_items_id": null,
                    "children_type": "",
                    "created_at": "2018-01-06 07:06:11",
                    "updated_at": "2018-01-06 07:06:11",
                    "product_name": "Levis Men's Slimmy Fit Jeans",
                    "product_custom_field_1": null,
                    "product_type": "variable",
                    "product_sku": "AS0002",
                    "category": {
                        "id": 1,
                        "name": "Men's",
                        "business_id": 1,
                        "short_code": "sfefef",
                        "parent_id": 0,
                        "created_by": 1,
                        "category_type": "product",
                        "description": null,
                        "slug": null,
                        "woocommerce_cat_id": null
                    },
                    "sub_category": {
                        "id": 4,
                        "name": "Jeans",
                        "business_id": 1,
                        "short_code": null,
                        "parent_id": 1,
                        "created_by": 1,
                        "category_type": "product",
                        "description": null,
                        "slug": null,
                        "woocommerce_cat_id": null
                    },
                    "product_variations": {
                        "id": 3,
                        "name": "30",
                        "product_id": 2,
                        "sub_sku": "AS0002-2",
                        "product_variation_id": 2,
                        "default_purchase_price": "70.0000",
                        "dpp_inc_tax": "77.0000",
                        "default_sell_price": "70.0000",
                        "sell_price_inc_tax": "77.0000"
                    }
                }
            ],
            "payment_lines": [
                {
                    "id": 1,
                    "transaction_id": 6,
                    "business_id": null,
                    "is_return": 0,
                    "amount": "770.0000",
                    "method": "cash",
                    "card_type": "visa",
                    "paid_on": "2018-01-09 17:30:35",
                    "payment_ref_no": null
                }
            ],
            "invoice_url": "http://local.pos.com/invoice/00f79f7fd292225e8c303a6bf8626d06",
            "payment_link": ""
        }
    ],
    "links": {
        "first": "http://local.pos.com/connector/api/new_sell?per_page=1&page=1",
        "last": "http://local.pos.com/connector/api/new_sell?per_page=1&page=213",
        "prev": null,
        "next": "http://local.pos.com/connector/api/new_sell?per_page=1&page=2"
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 213,
        "path": "http://local.pos.com/connector/api/new_sell",
        "per_page": "1",
        "to": 1,
        "total": 213
    }
}
 

Request   

GET connector/api/new_sell

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

location_id   string  optional  

id of the location Example: 1

contact_id   string  optional  

id of the customer Example: iure

payment_status   string  optional  

Comma separated values of payment statuses. Available values due, partial, paid, overdue Example: due,partial

start_date   string  optional  

format:Y-m-d Example: 2018-06-25

end_date   string  optional  

format:Y-m-d Example: 2018-06-25

user_id   string  optional  

id of the user who created the sale Example: quibusdam

service_staff_id   string  optional  

id of the service staff assigned with the sale Example: voluptatem

shipping_status   string  optional  

Shipping Status of the sale ('ordered', 'packed', 'shipped', 'delivered', 'cancelled') Example: ordered

source   string  optional  

Source of the sale Example: quidem

customer_group_id   string  optional  

id of the customer group Example: dolor

product_name   string  optional  

name of the product Example: omnis

product_sku   string  optional  

sku of the product or variation Example: tempore

product_custom_field_1   string  optional  

custome field 1 of the product Example: rem

location_custom_field_1   string  optional  

custome field 1 of the location Example: excepturi

location_invoice_scheme_prefix   string  optional  

Invoice scheme prefix of the location Example: sunt

product_category_id   string  optional  

category id of the product Example: sit

product_sub_category_id   string  optional  

Sub category id of the product Example: et

sell_ids   string  optional  

comma separated ids of the sells Example: 55,64

only_subscriptions   string  optional  

Filter only subcription invoices (1, 0) Example: rerum

send_purchase_details   string  optional  

Get purchase details of each sell line (1, 0) Example: a

order_by_date   string  optional  

Sort sell list by date ('asc', 'desc') Example: desc

per_page   integer  optional  

Total records per page. default: 10, Set -1 for no pagination Example: 10

New List contact

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/new_contactapi?type=temporibus&customer_group_id=eum&custom_field_1=eos&contact_ids=2%2C3&name=consequuntur&biz_name=perspiciatis&mobile_num=2&contact_id=laudantium&order_by=ipsa&direction=voluptatibus&per_page=10" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/new_contactapi"
);

const params = {
    "type": "temporibus",
    "customer_group_id": "eum",
    "custom_field_1": "eos",
    "contact_ids": "2,3",
    "name": "consequuntur",
    "biz_name": "perspiciatis",
    "mobile_num": "2",
    "contact_id": "laudantium",
    "order_by": "ipsa",
    "direction": "voluptatibus",
    "per_page": "10",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/new_contactapi';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'type' => 'temporibus',
            'customer_group_id' => 'eum',
            'custom_field_1' => 'eos',
            'contact_ids' => '2,3',
            'name' => 'consequuntur',
            'biz_name' => 'perspiciatis',
            'mobile_num' => '2',
            'contact_id' => 'laudantium',
            'order_by' => 'ipsa',
            'direction' => 'voluptatibus',
            'per_page' => '10',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "id": 18,
            "business_id": 1,
            "type": "customer",
            "name": "Mr. Rohit Kumar Agrawalla",
            "prefix": "Mr.",
            "first_name": "Rohit",
            "middle_name": "Kumar",
            "last_name": "Agrawalla",
            "email": null,
            "contact_status": "active",
            "mobile": "8596859647",
            "credit_limit": null,
            "converted_by": null,
            "converted_on": null,
            "balance": "40.0000",
            "total_rp": 0,
            "total_rp_used": 0,
            "total_rp_expired": 0,
            "customer_group_id": 1,
            "crm_source": null,
            "crm_life_stage": null,
            "custom_field1": null,
            "custom_field2": null,
            "custom_field3": null,
            "custom_field4": null,
            "custom_field5": null,
            "custom_field6": null,
            "custom_field7": null,
            "custom_field8": null,
            "custom_field9": null,
            "custom_field10": null,
            "remember_token": null,
            "password": null
        }
    ],
    "links": {
        "first": "http://local.pos.com/connector/api/new_contactapi?customer_group_id=1&page=1",
        "last": "http://local.pos.com/connector/api/new_contactapi?customer_group_id=1&page=1",
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "path": "http://local.pos.com/connector/api/new_contactapi",
        "per_page": 10,
        "to": 1,
        "total": 1
    }
}
 

Request   

GET connector/api/new_contactapi

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

type   string   

Type of contact (supplier, customer) Example: temporibus

customer_group_id   string  optional  

id of the customer group Example: eum

custom_field_1   string  optional  

Custom field 1 of the contact Example: eos

contact_ids   string  optional  

comma separated ids of contacts Example: 2,3

name   string  optional  

Search term for contact name Example: consequuntur

biz_name   string  optional  

Search term for contact's business name Example: perspiciatis

mobile_num   integer  optional  

Search term for contact's mobile number Example: 2

contact_id   string  optional  

Search term for contact's contact_id. Ex(CO0005) Example: laudantium

order_by   string  optional  

Column name to sort the result, Column: name, supplier_business_name Example: ipsa

direction   string  optional  

Direction to sort the result, Direction: desc, asc Example: voluptatibus

per_page   integer  optional  

Total records per page. default: 10, Set -1 for no pagination Example: 10

Product management

List products

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/product?order_by=distinctio&order_direction=velit&brand_id=non&category_id=modi&sub_category_id=hic&location_id=1&selling_price_group=voluptas&send_lot_detail=et&name=ut&sku=culpa&per_page=10" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/product"
);

const params = {
    "order_by": "distinctio",
    "order_direction": "velit",
    "brand_id": "non",
    "category_id": "modi",
    "sub_category_id": "hic",
    "location_id": "1",
    "selling_price_group": "voluptas",
    "send_lot_detail": "et",
    "name": "ut",
    "sku": "culpa",
    "per_page": "10",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/product';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'order_by' => 'distinctio',
            'order_direction' => 'velit',
            'brand_id' => 'non',
            'category_id' => 'modi',
            'sub_category_id' => 'hic',
            'location_id' => '1',
            'selling_price_group' => 'voluptas',
            'send_lot_detail' => 'et',
            'name' => 'ut',
            'sku' => 'culpa',
            'per_page' => '10',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "id": 1,
            "name": "Men's Reverse Fleece Crew",
            "business_id": 1,
            "type": "single",
            "sub_unit_ids": null,
            "enable_stock": 1,
            "alert_quantity": "5.0000",
            "sku": "AS0001",
            "barcode_type": "C128",
            "expiry_period": null,
            "expiry_period_type": null,
            "enable_sr_no": 0,
            "weight": null,
            "product_custom_field1": null,
            "product_custom_field2": null,
            "product_custom_field3": null,
            "product_custom_field4": null,
            "image": null,
            "woocommerce_media_id": null,
            "product_description": null,
            "created_by": 1,
            "warranty_id": null,
            "is_inactive": 0,
            "repair_model_id": null,
            "not_for_selling": 0,
            "ecom_shipping_class_id": null,
            "ecom_active_in_store": 1,
            "woocommerce_product_id": 356,
            "woocommerce_disable_sync": 0,
            "image_url": "http://local.pos.com/img/default.png",
            "product_variations": [
                {
                    "id": 1,
                    "variation_template_id": null,
                    "name": "DUMMY",
                    "product_id": 1,
                    "is_dummy": 1,
                    "created_at": "2018-01-03 21:29:08",
                    "updated_at": "2018-01-03 21:29:08",
                    "variations": [
                        {
                            "id": 1,
                            "name": "DUMMY",
                            "product_id": 1,
                            "sub_sku": "AS0001",
                            "product_variation_id": 1,
                            "woocommerce_variation_id": null,
                            "variation_value_id": null,
                            "default_purchase_price": "130.0000",
                            "dpp_inc_tax": "143.0000",
                            "profit_percent": "0.0000",
                            "default_sell_price": "130.0000",
                            "sell_price_inc_tax": "143.0000",
                            "created_at": "2018-01-03 21:29:08",
                            "updated_at": "2020-06-09 00:23:22",
                            "deleted_at": null,
                            "combo_variations": null,
                            "variation_location_details": [
                                {
                                    "id": 56,
                                    "product_id": 1,
                                    "product_variation_id": 1,
                                    "variation_id": 1,
                                    "location_id": 1,
                                    "qty_available": "20.0000",
                                    "created_at": "2020-06-08 23:46:40",
                                    "updated_at": "2020-06-08 23:46:40"
                                }
                            ],
                            "media": [
                                {
                                    "id": 1,
                                    "business_id": 1,
                                    "file_name": "1591686466_978227300_nn.jpeg",
                                    "description": null,
                                    "uploaded_by": 9,
                                    "model_type": "App\\Variation",
                                    "woocommerce_media_id": null,
                                    "model_id": 1,
                                    "created_at": "2020-06-09 00:07:46",
                                    "updated_at": "2020-06-09 00:07:46",
                                    "display_name": "nn.jpeg",
                                    "display_url": "http://local.pos.com/uploads/media/1591686466_978227300_nn.jpeg"
                                }
                            ],
                            "discounts": [
                                {
                                    "id": 2,
                                    "name": "FLAT 10%",
                                    "business_id": 1,
                                    "brand_id": null,
                                    "category_id": null,
                                    "location_id": 1,
                                    "priority": 2,
                                    "discount_type": "fixed",
                                    "discount_amount": "5.0000",
                                    "starts_at": "2021-09-01 11:45:00",
                                    "ends_at": "2021-09-30 11:45:00",
                                    "is_active": 1,
                                    "spg": null,
                                    "applicable_in_cg": 1,
                                    "created_at": "2021-09-01 11:46:00",
                                    "updated_at": "2021-09-01 12:12:55",
                                    "formated_starts_at": " 11:45",
                                    "formated_ends_at": " 11:45"
                                }
                            ],
                            "selling_price_group": [
                                {
                                    "id": 2,
                                    "variation_id": 1,
                                    "price_group_id": 1,
                                    "price_inc_tax": "140.0000",
                                    "created_at": "2020-06-09 00:23:31",
                                    "updated_at": "2020-06-09 00:23:31"
                                }
                            ]
                        }
                    ]
                }
            ],
            "brand": {
                "id": 1,
                "business_id": 1,
                "name": "Levis",
                "description": null,
                "created_by": 1,
                "deleted_at": null,
                "created_at": "2018-01-03 21:19:47",
                "updated_at": "2018-01-03 21:19:47"
            },
            "unit": {
                "id": 1,
                "business_id": 1,
                "actual_name": "Pieces",
                "short_name": "Pc(s)",
                "allow_decimal": 0,
                "base_unit_id": null,
                "base_unit_multiplier": null,
                "created_by": 1,
                "deleted_at": null,
                "created_at": "2018-01-03 15:15:20",
                "updated_at": "2018-01-03 15:15:20"
            },
            "category": {
                "id": 1,
                "name": "Men's",
                "business_id": 1,
                "short_code": null,
                "parent_id": 0,
                "created_by": 1,
                "category_type": "product",
                "description": null,
                "slug": null,
                "woocommerce_cat_id": null,
                "deleted_at": null,
                "created_at": "2018-01-03 21:06:34",
                "updated_at": "2018-01-03 21:06:34"
            },
            "sub_category": {
                "id": 5,
                "name": "Shirts",
                "business_id": 1,
                "short_code": null,
                "parent_id": 1,
                "created_by": 1,
                "category_type": "product",
                "description": null,
                "slug": null,
                "woocommerce_cat_id": null,
                "deleted_at": null,
                "created_at": "2018-01-03 21:08:18",
                "updated_at": "2018-01-03 21:08:18"
            },
            "product_tax": {
                "id": 1,
                "business_id": 1,
                "name": "VAT@10%",
                "amount": 10,
                "is_tax_group": 0,
                "created_by": 1,
                "woocommerce_tax_rate_id": null,
                "deleted_at": null,
                "created_at": "2018-01-04 02:40:07",
                "updated_at": "2018-01-04 02:40:07"
            },
            "product_locations": [
                {
                    "id": 1,
                    "business_id": 1,
                    "location_id": null,
                    "name": "Awesome Shop",
                    "landmark": "Linking Street",
                    "country": "USA",
                    "state": "Arizona",
                    "city": "Phoenix",
                    "zip_code": "85001",
                    "invoice_scheme_id": 1,
                    "invoice_layout_id": 1,
                    "selling_price_group_id": null,
                    "print_receipt_on_invoice": 1,
                    "receipt_printer_type": "browser",
                    "printer_id": null,
                    "mobile": null,
                    "alternate_number": null,
                    "email": null,
                    "website": null,
                    "featured_products": [
                        "5",
                        "71"
                    ],
                    "is_active": 1,
                    "default_payment_accounts": "{\"cash\":{\"is_enabled\":\"1\",\"account\":\"1\"},\"card\":{\"is_enabled\":\"1\",\"account\":\"3\"},\"cheque\":{\"is_enabled\":\"1\",\"account\":\"2\"},\"bank_transfer\":{\"is_enabled\":\"1\",\"account\":\"1\"},\"other\":{\"is_enabled\":\"1\",\"account\":\"3\"},\"custom_pay_1\":{\"is_enabled\":\"1\",\"account\":\"1\"},\"custom_pay_2\":{\"is_enabled\":\"1\",\"account\":\"2\"},\"custom_pay_3\":{\"is_enabled\":\"1\",\"account\":\"3\"}}",
                    "custom_field1": null,
                    "custom_field2": null,
                    "custom_field3": null,
                    "custom_field4": null,
                    "deleted_at": null,
                    "created_at": "2018-01-04 02:15:20",
                    "updated_at": "2020-06-09 01:07:05",
                    "pivot": {
                        "product_id": 2,
                        "location_id": 1
                    }
                }
            ]
        }
    ],
    "links": {
        "first": "http://local.pos.com/connector/api/product?page=1",
        "last": "http://local.pos.com/connector/api/product?page=32",
        "prev": null,
        "next": "http://local.pos.com/connector/api/product?page=2"
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "path": "http://local.pos.com/connector/api/product",
        "per_page": 10,
        "to": 10
    }
}
 

Request   

GET connector/api/product

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

order_by   string  optional  

Values: product_name or newest Example: distinctio

order_direction   string  optional  

Values: asc or desc Example: velit

brand_id   string  optional  

comma separated ids of one or multiple brands Example: non

category_id   string  optional  

comma separated ids of one or multiple category Example: modi

sub_category_id   string  optional  

comma separated ids of one or multiple sub-category Example: hic

location_id   string  optional  

Example: 1

selling_price_group   string  optional  

(1, 0) Example: voluptas

send_lot_detail   string  optional  

Send lot details in each variation location details(1, 0) Example: et

name   string  optional  

Search term for product name Example: ut

sku   string  optional  

Search term for product sku Example: culpa

per_page   integer  optional  

Total records per page. default: 10, Set -1 for no pagination Example: 10

Get the specified product

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/product/aut?selling_price_group=minima&send_lot_detail=earum" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/product/aut"
);

const params = {
    "selling_price_group": "minima",
    "send_lot_detail": "earum",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/product/aut';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'selling_price_group' => 'minima',
            'send_lot_detail' => 'earum',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "id": 1,
            "name": "Men's Reverse Fleece Crew",
            "business_id": 1,
            "type": "single",
            "sub_unit_ids": null,
            "enable_stock": 1,
            "alert_quantity": "5.0000",
            "sku": "AS0001",
            "barcode_type": "C128",
            "expiry_period": null,
            "expiry_period_type": null,
            "enable_sr_no": 0,
            "weight": null,
            "product_custom_field1": null,
            "product_custom_field2": null,
            "product_custom_field3": null,
            "product_custom_field4": null,
            "image": null,
            "woocommerce_media_id": null,
            "product_description": null,
            "created_by": 1,
            "warranty_id": null,
            "is_inactive": 0,
            "repair_model_id": null,
            "not_for_selling": 0,
            "ecom_shipping_class_id": null,
            "ecom_active_in_store": 1,
            "woocommerce_product_id": 356,
            "woocommerce_disable_sync": 0,
            "image_url": "http://local.pos.com/img/default.png",
            "product_variations": [
                {
                    "id": 1,
                    "variation_template_id": null,
                    "name": "DUMMY",
                    "product_id": 1,
                    "is_dummy": 1,
                    "created_at": "2018-01-03 21:29:08",
                    "updated_at": "2018-01-03 21:29:08",
                    "variations": [
                        {
                            "id": 1,
                            "name": "DUMMY",
                            "product_id": 1,
                            "sub_sku": "AS0001",
                            "product_variation_id": 1,
                            "woocommerce_variation_id": null,
                            "variation_value_id": null,
                            "default_purchase_price": "130.0000",
                            "dpp_inc_tax": "143.0000",
                            "profit_percent": "0.0000",
                            "default_sell_price": "130.0000",
                            "sell_price_inc_tax": "143.0000",
                            "created_at": "2018-01-03 21:29:08",
                            "updated_at": "2020-06-09 00:23:22",
                            "deleted_at": null,
                            "combo_variations": null,
                            "variation_location_details": [
                                {
                                    "id": 56,
                                    "product_id": 1,
                                    "product_variation_id": 1,
                                    "variation_id": 1,
                                    "location_id": 1,
                                    "qty_available": "20.0000",
                                    "created_at": "2020-06-08 23:46:40",
                                    "updated_at": "2020-06-08 23:46:40"
                                }
                            ],
                            "media": [
                                {
                                    "id": 1,
                                    "business_id": 1,
                                    "file_name": "1591686466_978227300_nn.jpeg",
                                    "description": null,
                                    "uploaded_by": 9,
                                    "model_type": "App\\Variation",
                                    "woocommerce_media_id": null,
                                    "model_id": 1,
                                    "created_at": "2020-06-09 00:07:46",
                                    "updated_at": "2020-06-09 00:07:46",
                                    "display_name": "nn.jpeg",
                                    "display_url": "http://local.pos.com/uploads/media/1591686466_978227300_nn.jpeg"
                                }
                            ],
                            "discounts": [
                                {
                                    "id": 2,
                                    "name": "FLAT 10%",
                                    "business_id": 1,
                                    "brand_id": null,
                                    "category_id": null,
                                    "location_id": 1,
                                    "priority": 2,
                                    "discount_type": "fixed",
                                    "discount_amount": "5.0000",
                                    "starts_at": "2021-09-01 11:45:00",
                                    "ends_at": "2021-09-30 11:45:00",
                                    "is_active": 1,
                                    "spg": null,
                                    "applicable_in_cg": 1,
                                    "created_at": "2021-09-01 11:46:00",
                                    "updated_at": "2021-09-01 12:12:55",
                                    "formated_starts_at": " 11:45",
                                    "formated_ends_at": " 11:45"
                                }
                            ],
                            "selling_price_group": [
                                {
                                    "id": 2,
                                    "variation_id": 1,
                                    "price_group_id": 1,
                                    "price_inc_tax": "140.0000",
                                    "created_at": "2020-06-09 00:23:31",
                                    "updated_at": "2020-06-09 00:23:31"
                                }
                            ]
                        }
                    ]
                }
            ],
            "brand": {
                "id": 1,
                "business_id": 1,
                "name": "Levis",
                "description": null,
                "created_by": 1,
                "deleted_at": null,
                "created_at": "2018-01-03 21:19:47",
                "updated_at": "2018-01-03 21:19:47"
            },
            "unit": {
                "id": 1,
                "business_id": 1,
                "actual_name": "Pieces",
                "short_name": "Pc(s)",
                "allow_decimal": 0,
                "base_unit_id": null,
                "base_unit_multiplier": null,
                "created_by": 1,
                "deleted_at": null,
                "created_at": "2018-01-03 15:15:20",
                "updated_at": "2018-01-03 15:15:20"
            },
            "category": {
                "id": 1,
                "name": "Men's",
                "business_id": 1,
                "short_code": null,
                "parent_id": 0,
                "created_by": 1,
                "category_type": "product",
                "description": null,
                "slug": null,
                "woocommerce_cat_id": null,
                "deleted_at": null,
                "created_at": "2018-01-03 21:06:34",
                "updated_at": "2018-01-03 21:06:34"
            },
            "sub_category": {
                "id": 5,
                "name": "Shirts",
                "business_id": 1,
                "short_code": null,
                "parent_id": 1,
                "created_by": 1,
                "category_type": "product",
                "description": null,
                "slug": null,
                "woocommerce_cat_id": null,
                "deleted_at": null,
                "created_at": "2018-01-03 21:08:18",
                "updated_at": "2018-01-03 21:08:18"
            },
            "product_tax": {
                "id": 1,
                "business_id": 1,
                "name": "VAT@10%",
                "amount": 10,
                "is_tax_group": 0,
                "created_by": 1,
                "woocommerce_tax_rate_id": null,
                "deleted_at": null,
                "created_at": "2018-01-04 02:40:07",
                "updated_at": "2018-01-04 02:40:07"
            },
            "product_locations": [
                {
                    "id": 1,
                    "business_id": 1,
                    "location_id": null,
                    "name": "Awesome Shop",
                    "landmark": "Linking Street",
                    "country": "USA",
                    "state": "Arizona",
                    "city": "Phoenix",
                    "zip_code": "85001",
                    "invoice_scheme_id": 1,
                    "invoice_layout_id": 1,
                    "selling_price_group_id": null,
                    "print_receipt_on_invoice": 1,
                    "receipt_printer_type": "browser",
                    "printer_id": null,
                    "mobile": null,
                    "alternate_number": null,
                    "email": null,
                    "website": null,
                    "featured_products": [
                        "5",
                        "71"
                    ],
                    "is_active": 1,
                    "default_payment_accounts": "{\"cash\":{\"is_enabled\":\"1\",\"account\":\"1\"},\"card\":{\"is_enabled\":\"1\",\"account\":\"3\"},\"cheque\":{\"is_enabled\":\"1\",\"account\":\"2\"},\"bank_transfer\":{\"is_enabled\":\"1\",\"account\":\"1\"},\"other\":{\"is_enabled\":\"1\",\"account\":\"3\"},\"custom_pay_1\":{\"is_enabled\":\"1\",\"account\":\"1\"},\"custom_pay_2\":{\"is_enabled\":\"1\",\"account\":\"2\"},\"custom_pay_3\":{\"is_enabled\":\"1\",\"account\":\"3\"}}",
                    "custom_field1": null,
                    "custom_field2": null,
                    "custom_field3": null,
                    "custom_field4": null,
                    "deleted_at": null,
                    "created_at": "2018-01-04 02:15:20",
                    "updated_at": "2020-06-09 01:07:05",
                    "pivot": {
                        "product_id": 2,
                        "location_id": 1
                    }
                }
            ]
        }
    ]
}
 

Request   

GET connector/api/product/{id}

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the product. Example: aut

product   string   

comma separated ids of products Example: 1

Query Parameters

selling_price_group   string  optional  

(1, 0) Example: minima

send_lot_detail   string  optional  

Send lot details in each variation location details(1, 0) Example: earum

List Selling Price Group

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/selling-price-group" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/selling-price-group"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/selling-price-group';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "id": 1,
            "name": "Retail",
            "description": null,
            "business_id": 1,
            "is_active": 1,
            "deleted_at": null,
            "created_at": "2020-10-21 04:30:06",
            "updated_at": "2020-11-16 18:23:15"
        },
        {
            "id": 2,
            "name": "Wholesale",
            "description": null,
            "business_id": 1,
            "is_active": 1,
            "deleted_at": null,
            "created_at": "2020-10-21 04:30:21",
            "updated_at": "2020-11-16 18:23:00"
        }
    ]
}
 

Request   

GET connector/api/selling-price-group

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

List Variations

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/variation/2?product_id=occaecati&location_id=1&brand_id=consequatur&category_id=quia&sub_category_id=delectus&not_for_selling=explicabo&name=alias&sku=delectus&per_page=10" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/variation/2"
);

const params = {
    "product_id": "occaecati",
    "location_id": "1",
    "brand_id": "consequatur",
    "category_id": "quia",
    "sub_category_id": "delectus",
    "not_for_selling": "explicabo",
    "name": "alias",
    "sku": "delectus",
    "per_page": "10",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/variation/2';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'product_id' => 'occaecati',
            'location_id' => '1',
            'brand_id' => 'consequatur',
            'category_id' => 'quia',
            'sub_category_id' => 'delectus',
            'not_for_selling' => 'explicabo',
            'name' => 'alias',
            'sku' => 'delectus',
            'per_page' => '10',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "variation_id": 1,
            "variation_name": "",
            "sub_sku": "AS0001",
            "product_id": 1,
            "product_name": "Men's Reverse Fleece Crew",
            "sku": "AS0001",
            "type": "single",
            "business_id": 1,
            "barcode_type": "C128",
            "expiry_period": null,
            "expiry_period_type": null,
            "enable_sr_no": 0,
            "weight": null,
            "product_custom_field1": null,
            "product_custom_field2": null,
            "product_custom_field3": null,
            "product_custom_field4": null,
            "product_image": "1528728059_fleece_crew.jpg",
            "product_description": null,
            "warranty_id": null,
            "brand_id": 1,
            "brand_name": "Levis",
            "unit_id": 1,
            "enable_stock": 1,
            "not_for_selling": 0,
            "unit_name": "Pc(s)",
            "unit_allow_decimal": 0,
            "category_id": 1,
            "category": "Men's",
            "sub_category_id": 5,
            "sub_category": "Shirts",
            "tax_id": 1,
            "tax_type": "exclusive",
            "tax_name": "VAT@10%",
            "tax_amount": 10,
            "product_variation_id": 1,
            "default_purchase_price": "130.0000",
            "dpp_inc_tax": "143.0000",
            "profit_percent": "0.0000",
            "default_sell_price": "130.0000",
            "sell_price_inc_tax": "143.0000",
            "product_variation_name": "",
            "variation_location_details": [],
            "media": [],
            "selling_price_group": [],
            "product_image_url": "http://local.pos.com/uploads/img/1528728059_fleece_crew.jpg",
            "product_locations": [
                {
                    "id": 1,
                    "business_id": 1,
                    "location_id": null,
                    "name": "Awesome Shop",
                    "landmark": "Linking Street",
                    "country": "USA",
                    "state": "Arizona",
                    "city": "Phoenix",
                    "zip_code": "85001",
                    "invoice_scheme_id": 1,
                    "invoice_layout_id": 1,
                    "selling_price_group_id": null,
                    "print_receipt_on_invoice": 1,
                    "receipt_printer_type": "browser",
                    "printer_id": null,
                    "mobile": null,
                    "alternate_number": null,
                    "email": null,
                    "website": null,
                    "featured_products": null,
                    "is_active": 1,
                    "default_payment_accounts": "",
                    "custom_field1": null,
                    "custom_field2": null,
                    "custom_field3": null,
                    "custom_field4": null,
                    "deleted_at": null,
                    "created_at": "2018-01-04 02:15:20",
                    "updated_at": "2019-12-11 04:53:39",
                    "pivot": {
                        "product_id": 1,
                        "location_id": 1
                    }
                }
            ]
        },
        {
            "variation_id": 2,
            "variation_name": "28",
            "sub_sku": "AS0002-1",
            "product_id": 2,
            "product_name": "Levis Men's Slimmy Fit Jeans",
            "sku": "AS0002",
            "type": "variable",
            "business_id": 1,
            "barcode_type": "C128",
            "expiry_period": null,
            "expiry_period_type": null,
            "enable_sr_no": 0,
            "weight": null,
            "product_custom_field1": null,
            "product_custom_field2": null,
            "product_custom_field3": null,
            "product_custom_field4": null,
            "product_image": "1528727964_levis_jeans.jpg",
            "product_description": null,
            "warranty_id": null,
            "brand_id": 1,
            "brand_name": "Levis",
            "unit_id": 1,
            "enable_stock": 1,
            "not_for_selling": 0,
            "unit_name": "Pc(s)",
            "unit_allow_decimal": 0,
            "category_id": 1,
            "category": "Men's",
            "sub_category_id": 4,
            "sub_category": "Jeans",
            "tax_id": 1,
            "tax_type": "exclusive",
            "tax_name": "VAT@10%",
            "tax_amount": 10,
            "product_variation_id": 2,
            "default_purchase_price": "70.0000",
            "dpp_inc_tax": "77.0000",
            "profit_percent": "0.0000",
            "default_sell_price": "70.0000",
            "sell_price_inc_tax": "77.0000",
            "product_variation_name": "Waist Size",
            "variation_location_details": [
                {
                    "id": 1,
                    "product_id": 2,
                    "product_variation_id": 2,
                    "variation_id": 2,
                    "location_id": 1,
                    "qty_available": "50.0000",
                    "created_at": "2018-01-06 06:57:11",
                    "updated_at": "2020-08-04 04:11:27"
                }
            ],
            "media": [
                {
                    "id": 1,
                    "business_id": 1,
                    "file_name": "1596701997_743693452_test.jpg",
                    "description": null,
                    "uploaded_by": 9,
                    "model_type": "App\\Variation",
                    "woocommerce_media_id": null,
                    "model_id": 2,
                    "created_at": "2020-08-06 13:49:57",
                    "updated_at": "2020-08-06 13:49:57",
                    "display_name": "test.jpg",
                    "display_url": "http://local.pos.com/uploads/media/1596701997_743693452_test.jpg"
                }
            ],
            "selling_price_group": [],
            "product_image_url": "http://local.pos.com/uploads/img/1528727964_levis_jeans.jpg",
            "product_locations": [
                {
                    "id": 1,
                    "business_id": 1,
                    "location_id": null,
                    "name": "Awesome Shop",
                    "landmark": "Linking Street",
                    "country": "USA",
                    "state": "Arizona",
                    "city": "Phoenix",
                    "zip_code": "85001",
                    "invoice_scheme_id": 1,
                    "invoice_layout_id": 1,
                    "selling_price_group_id": null,
                    "print_receipt_on_invoice": 1,
                    "receipt_printer_type": "browser",
                    "printer_id": null,
                    "mobile": null,
                    "alternate_number": null,
                    "email": null,
                    "website": null,
                    "featured_products": null,
                    "is_active": 1,
                    "default_payment_accounts": "",
                    "custom_field1": null,
                    "custom_field2": null,
                    "custom_field3": null,
                    "custom_field4": null,
                    "deleted_at": null,
                    "created_at": "2018-01-04 02:15:20",
                    "updated_at": "2019-12-11 04:53:39",
                    "pivot": {
                        "product_id": 2,
                        "location_id": 1
                    }
                }
            ],
            "discounts": [
                {
                    "id": 2,
                    "name": "FLAT 10%",
                    "business_id": 1,
                    "brand_id": null,
                    "category_id": null,
                    "location_id": 1,
                    "priority": 2,
                    "discount_type": "fixed",
                    "discount_amount": "5.0000",
                    "starts_at": "2021-09-01 11:45:00",
                    "ends_at": "2021-09-30 11:45:00",
                    "is_active": 1,
                    "spg": null,
                    "applicable_in_cg": 1,
                    "created_at": "2021-09-01 11:46:00",
                    "updated_at": "2021-09-01 12:12:55",
                    "formated_starts_at": " 11:45",
                    "formated_ends_at": " 11:45"
                }
            ]
        }
    ],
    "links": {
        "first": "http://local.pos.com/connector/api/variation?page=1",
        "last": null,
        "prev": null,
        "next": "http://local.pos.com/connector/api/variation?page=2"
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "path": "http://local.pos.com/connector/api/variation",
        "per_page": "2",
        "to": 2
    }
}
 

Request   

GET connector/api/variation/{id?}

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string  optional  

comma separated ids of variations Example: 2

Query Parameters

product_id   string  optional  

Filter by comma separated products ids Example: occaecati

location_id   string  optional  

Example: 1

brand_id   string  optional  

Example: consequatur

category_id   string  optional  

Example: quia

sub_category_id   string  optional  

Example: delectus

not_for_selling   string  optional  

Values: 0 or 1 Example: explicabo

name   string  optional  

Search term for product name Example: alias

sku   string  optional  

Search term for product sku Example: delectus

per_page   integer  optional  

Total records per page. default: 10, Set -1 for no pagination Example: 10

Sales management

List sells

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/sell?location_id=1&contact_id=maxime&status=final&payment_status=due%2Cpartial&start_date=2018-06-25&end_date=2018-06-25&user_id=consequatur&service_staff_id=neque&shipping_status=ordered&source=perspiciatis&only_subscriptions=nostrum&send_purchase_details=iste&order_by_date=desc&per_page=10" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/sell"
);

const params = {
    "location_id": "1",
    "contact_id": "maxime",
    "status": "final",
    "payment_status": "due,partial",
    "start_date": "2018-06-25",
    "end_date": "2018-06-25",
    "user_id": "consequatur",
    "service_staff_id": "neque",
    "shipping_status": "ordered",
    "source": "perspiciatis",
    "only_subscriptions": "nostrum",
    "send_purchase_details": "iste",
    "order_by_date": "desc",
    "per_page": "10",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/sell';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'location_id' => '1',
            'contact_id' => 'maxime',
            'status' => 'final',
            'payment_status' => 'due,partial',
            'start_date' => '2018-06-25',
            'end_date' => '2018-06-25',
            'user_id' => 'consequatur',
            'service_staff_id' => 'neque',
            'shipping_status' => 'ordered',
            'source' => 'perspiciatis',
            'only_subscriptions' => 'nostrum',
            'send_purchase_details' => 'iste',
            'order_by_date' => 'desc',
            'per_page' => '10',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "id": 6,
            "business_id": 1,
            "location_id": 1,
            "res_table_id": null,
            "res_waiter_id": null,
            "res_order_status": null,
            "type": "sell",
            "sub_type": null,
            "status": "final",
            "is_quotation": 0,
            "payment_status": "paid",
            "adjustment_type": null,
            "contact_id": 4,
            "customer_group_id": null,
            "invoice_no": "AS0001",
            "ref_no": "",
            "source": null,
            "subscription_no": null,
            "subscription_repeat_on": null,
            "transaction_date": "2018-04-10 13:23:21",
            "total_before_tax": "770.0000",
            "tax_id": null,
            "tax_amount": "0.0000",
            "discount_type": "percentage",
            "discount_amount": "0.0000",
            "rp_redeemed": 0,
            "rp_redeemed_amount": "0.0000",
            "shipping_details": null,
            "shipping_address": null,
            "shipping_status": null,
            "delivered_to": null,
            "shipping_charges": "0.0000",
            "additional_notes": null,
            "staff_note": null,
            "round_off_amount": "0.0000",
            "final_total": "770.0000",
            "expense_category_id": null,
            "expense_for": null,
            "commission_agent": null,
            "document": null,
            "is_direct_sale": 0,
            "is_suspend": 0,
            "exchange_rate": "1.000",
            "total_amount_recovered": null,
            "transfer_parent_id": null,
            "return_parent_id": null,
            "opening_stock_product_id": null,
            "created_by": 1,
            "import_batch": null,
            "import_time": null,
            "types_of_service_id": null,
            "packing_charge": null,
            "packing_charge_type": null,
            "service_custom_field_1": null,
            "service_custom_field_2": null,
            "service_custom_field_3": null,
            "service_custom_field_4": null,
            "mfg_parent_production_purchase_id": null,
            "mfg_wasted_units": null,
            "mfg_production_cost": "0.0000",
            "mfg_is_final": 0,
            "is_created_from_api": 0,
            "essentials_duration": "0.00",
            "essentials_duration_unit": null,
            "essentials_amount_per_unit_duration": "0.0000",
            "essentials_allowances": null,
            "essentials_deductions": null,
            "rp_earned": 0,
            "repair_completed_on": null,
            "repair_warranty_id": null,
            "repair_brand_id": null,
            "repair_status_id": null,
            "repair_model_id": null,
            "repair_defects": null,
            "repair_serial_no": null,
            "repair_updates_email": 0,
            "repair_updates_sms": 0,
            "repair_checklist": null,
            "repair_security_pwd": null,
            "repair_security_pattern": null,
            "repair_due_date": null,
            "repair_device_id": null,
            "order_addresses": null,
            "is_recurring": 0,
            "recur_interval": null,
            "recur_interval_type": null,
            "recur_repetitions": null,
            "recur_stopped_on": null,
            "recur_parent_id": null,
            "invoice_token": null,
            "pay_term_number": null,
            "pay_term_type": null,
            "pjt_project_id": null,
            "pjt_title": null,
            "woocommerce_order_id": null,
            "selling_price_group_id": null,
            "created_at": "2018-01-06 07:06:11",
            "updated_at": "2018-01-06 07:06:11",
            "sell_lines": [
                {
                    "id": 1,
                    "transaction_id": 6,
                    "product_id": 2,
                    "variation_id": 3,
                    "quantity": 10,
                    "mfg_waste_percent": "0.0000",
                    "quantity_returned": "0.0000",
                    "unit_price_before_discount": "70.0000",
                    "unit_price": "70.0000",
                    "line_discount_type": null,
                    "line_discount_amount": "0.0000",
                    "unit_price_inc_tax": "77.0000",
                    "item_tax": "7.0000",
                    "tax_id": 1,
                    "discount_id": null,
                    "lot_no_line_id": null,
                    "sell_line_note": null,
                    "res_service_staff_id": null,
                    "res_line_order_status": null,
                    "woocommerce_line_items_id": null,
                    "parent_sell_line_id": null,
                    "children_type": "",
                    "sub_unit_id": null,
                    "created_at": "2018-01-06 07:06:11",
                    "updated_at": "2018-01-06 07:06:11"
                }
            ],
            "payment_lines": [
                {
                    "id": 1,
                    "transaction_id": 6,
                    "business_id": null,
                    "is_return": 0,
                    "amount": "770.0000",
                    "method": "cash",
                    "transaction_no": null,
                    "card_transaction_number": null,
                    "card_number": null,
                    "card_type": "visa",
                    "card_holder_name": null,
                    "card_month": null,
                    "card_year": null,
                    "card_security": null,
                    "cheque_number": null,
                    "bank_account_number": null,
                    "paid_on": "2018-01-09 17:30:35",
                    "created_by": 1,
                    "payment_for": null,
                    "parent_id": null,
                    "note": null,
                    "document": null,
                    "payment_ref_no": null,
                    "account_id": null,
                    "created_at": "2018-01-06 01:36:11",
                    "updated_at": "2018-01-06 01:36:11"
                }
            ],
            "invoice_url": "http://local.pos.com/invoice/6dfd77eb80f4976b456128e7f1311c9f",
            "payment_link": "http://local.pos.com/pay/6dfd77eb80f4976b456128e7f1311c9f"
        }
    ],
    "links": {
        "first": "http://local.pos.com/connector/api/sell?page=1",
        "last": "http://local.pos.com/connector/api/sell?page=6",
        "prev": null,
        "next": "http://local.pos.com/connector/api/sell?page=2"
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "path": "http://local.pos.com/connector/api/sell",
        "per_page": 10,
        "to": 10
    }
}
 

Request   

GET connector/api/sell

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

location_id   string  optional  

id of the location Example: 1

contact_id   string  optional  

id of the customer Example: maxime

status   string  optional  

Sell status. Available values final, draft, quotation, proforma Example: final

payment_status   string  optional  

Comma separated values of payment statuses. Available values due, partial, paid, overdue Example: due,partial

start_date   string  optional  

format:Y-m-d Example: 2018-06-25

end_date   string  optional  

format:Y-m-d Example: 2018-06-25

user_id   string  optional  

id of the user who created the sale Example: consequatur

service_staff_id   string  optional  

id of the service staff assigned with the sale Example: neque

shipping_status   string  optional  

Shipping Status of the sale ('ordered', 'packed', 'shipped', 'delivered', 'cancelled') Example: ordered

source   string  optional  

Source of the sale Example: perspiciatis

only_subscriptions   string  optional  

Filter only subcription invoices (1, 0) Example: nostrum

send_purchase_details   string  optional  

Get purchase details of each sell line (1, 0) Example: iste

order_by_date   string  optional  

Sort sell list by date ('asc', 'desc') Example: desc

per_page   integer  optional  

Total records per page. default: 10, Set -1 for no pagination Example: 10

Create sell

requires authentication

Example request:
curl --request POST \
    "http://127.0.0.1:8000/connector/api/sell" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
const url = new URL(
    "http://127.0.0.1:8000/connector/api/sell"
);

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

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/sell';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "id": 6,
            "business_id": 1,
            "location_id": 1,
            "res_table_id": null,
            "res_waiter_id": null,
            "res_order_status": null,
            "type": "sell",
            "sub_type": null,
            "status": "final",
            "is_quotation": 0,
            "payment_status": "paid",
            "adjustment_type": null,
            "contact_id": 4,
            "customer_group_id": null,
            "invoice_no": "AS0001",
            "ref_no": "",
            "source": null,
            "subscription_no": null,
            "subscription_repeat_on": null,
            "transaction_date": "2018-04-10 13:23:21",
            "total_before_tax": "770.0000",
            "tax_id": null,
            "tax_amount": "0.0000",
            "discount_type": "percentage",
            "discount_amount": "0.0000",
            "rp_redeemed": 0,
            "rp_redeemed_amount": "0.0000",
            "shipping_details": null,
            "shipping_address": null,
            "shipping_status": null,
            "delivered_to": null,
            "shipping_charges": "0.0000",
            "additional_notes": null,
            "staff_note": null,
            "round_off_amount": "0.0000",
            "final_total": "770.0000",
            "expense_category_id": null,
            "expense_for": null,
            "commission_agent": null,
            "document": null,
            "is_direct_sale": 0,
            "is_suspend": 0,
            "exchange_rate": "1.000",
            "total_amount_recovered": null,
            "transfer_parent_id": null,
            "return_parent_id": null,
            "opening_stock_product_id": null,
            "created_by": 1,
            "import_batch": null,
            "import_time": null,
            "types_of_service_id": null,
            "packing_charge": null,
            "packing_charge_type": null,
            "service_custom_field_1": null,
            "service_custom_field_2": null,
            "service_custom_field_3": null,
            "service_custom_field_4": null,
            "mfg_parent_production_purchase_id": null,
            "mfg_wasted_units": null,
            "mfg_production_cost": "0.0000",
            "mfg_is_final": 0,
            "is_created_from_api": 0,
            "essentials_duration": "0.00",
            "essentials_duration_unit": null,
            "essentials_amount_per_unit_duration": "0.0000",
            "essentials_allowances": null,
            "essentials_deductions": null,
            "rp_earned": 0,
            "repair_completed_on": null,
            "repair_warranty_id": null,
            "repair_brand_id": null,
            "repair_status_id": null,
            "repair_model_id": null,
            "repair_defects": null,
            "repair_serial_no": null,
            "repair_updates_email": 0,
            "repair_updates_sms": 0,
            "repair_checklist": null,
            "repair_security_pwd": null,
            "repair_security_pattern": null,
            "repair_due_date": null,
            "repair_device_id": null,
            "order_addresses": null,
            "is_recurring": 0,
            "recur_interval": null,
            "recur_interval_type": null,
            "recur_repetitions": null,
            "recur_stopped_on": null,
            "recur_parent_id": null,
            "invoice_token": null,
            "pay_term_number": null,
            "pay_term_type": null,
            "pjt_project_id": null,
            "pjt_title": null,
            "woocommerce_order_id": null,
            "selling_price_group_id": null,
            "created_at": "2018-01-06 07:06:11",
            "updated_at": "2018-01-06 07:06:11",
            "invoice_url": "http://local.pos.com/invoice/6dfd77eb80f4976b456128e7f1311c9f",
            "payment_link": "http://local.pos.com/pay/6dfd77eb80f4976b456128e7f1311c9f",
            "sell_lines": [
                {
                    "id": 1,
                    "transaction_id": 6,
                    "product_id": 2,
                    "variation_id": 3,
                    "quantity": 10,
                    "mfg_waste_percent": "0.0000",
                    "quantity_returned": "0.0000",
                    "unit_price_before_discount": "70.0000",
                    "unit_price": "70.0000",
                    "line_discount_type": null,
                    "line_discount_amount": "0.0000",
                    "unit_price_inc_tax": "77.0000",
                    "item_tax": "7.0000",
                    "tax_id": 1,
                    "discount_id": null,
                    "lot_no_line_id": null,
                    "sell_line_note": null,
                    "res_service_staff_id": null,
                    "res_line_order_status": null,
                    "woocommerce_line_items_id": null,
                    "parent_sell_line_id": null,
                    "children_type": "",
                    "sub_unit_id": null,
                    "created_at": "2018-01-06 07:06:11",
                    "updated_at": "2018-01-06 07:06:11"
                }
            ],
            "payment_lines": [
                {
                    "id": 1,
                    "transaction_id": 6,
                    "business_id": null,
                    "is_return": 0,
                    "amount": "770.0000",
                    "method": "cash",
                    "transaction_no": null,
                    "card_transaction_number": null,
                    "card_number": null,
                    "card_type": "visa",
                    "card_holder_name": null,
                    "card_month": null,
                    "card_year": null,
                    "card_security": null,
                    "cheque_number": null,
                    "bank_account_number": null,
                    "paid_on": "2018-01-09 17:30:35",
                    "created_by": 1,
                    "payment_for": null,
                    "parent_id": null,
                    "note": null,
                    "document": null,
                    "payment_ref_no": null,
                    "account_id": null,
                    "created_at": "2018-01-06 01:36:11",
                    "updated_at": "2018-01-06 01:36:11"
                }
            ]
        }
    ]
}
 

Request   

POST connector/api/sell

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

sells   object  optional  
*   object  optional  
location_id   integer   

id of the business location Example: 1

contact_id   integer   

id of the customer Example: 13

transaction_date   string  optional  

transaction date format:Y-m-d H:i:s, Example: 2020-07-22 15:48:29

invoice_no   string  optional  

Invoice number Example: unde

source   string  optional  

Source of the invoice Example: api, phone, woocommerce

status   string  optional  

sale status (final, draft) Example: final

sub_status   string  optional  

sale sub status ("quotation" for quotation and "proforma" for proforma invoice)

is_quotation   boolean  optional  

Is sell quotation (0, 1), If 1 status should be draft Example: true

tax_rate_id   integer  optional  

id of the tax rate applicable to the sale Example: 14

discount_amount   number  optional  

discount amount applicable to the sale Example: 10

discount_type   string  optional  

type of the discount amount (fixed, percentage) Example: fixed

sale_note   string  optional  

Example: molestiae

staff_note   string  optional  

Example: qui

commission_agent   integer  optional  

commission agent id Example: 8

shipping_details   string  optional  

shipping details Example: Express Delivery

shipping_address   string  optional  

shipping address Example: illo

shipping_status   string  optional  

('ordered', 'packed', 'shipped', 'delivered', 'cancelled') Example: ordered

delivered_to   string  optional  

Name of the person recieved the consignment Example: 'Mr robin'

shipping_charges   number  optional  

shipping amount Example: 10

packing_charge   number  optional  

packing charge Example: 10

exchange_rate   number  optional  

exchange rate for the currency used Example: 1

selling_price_group_id   integer  optional  

id of the selling price group Example: 1

pay_term_number   integer  optional  

pay term value Example: 3

pay_term_type   string  optional  

type of the pay term value ('days', 'months') Example: months

is_suspend   boolean  optional  

Is suspended sale (0, 1) Example: false

is_recurring   integer  optional  

whether the invoice is recurring (0, 1) Example: 0

recur_interval   integer  optional  

value of the interval invoice will be regenerated Example: 4

recur_interval_type   string  optional  

type of the recur interval ('days', 'months', 'years') Example: months

subscription_repeat_on   integer  optional  

day of the month on which invoice will be generated if recur interval type is months (1-30) Example: 15

subscription_no   string  optional  

subscription number Example: neque

recur_repetitions   integer  optional  

total number of invoices to be generated Example: 8

rp_redeemed   integer  optional  

reward points redeemed Example: 5

rp_redeemed_amount   number  optional  

reward point redeemed amount after conversion Example: 13.5

types_of_service_id   integer  optional  

types of service id Example: 3

service_custom_field_1   string  optional  

types of service custom field 1 Example: amet

service_custom_field_2   string  optional  

types of service custom field 2 Example: omnis

service_custom_field_3   string  optional  

types of service custom field 3 Example: perspiciatis

service_custom_field_4   string  optional  

types of service custom field 4 Example: explicabo

service_custom_field_5   string  optional  

types of service custom field 5 Example: atque

service_custom_field_6   string  optional  

types of service custom field 6 Example: ut

round_off_amount   number  optional  

round off amount on total payable Example: 521321.25192028

table_id   integer  optional  

id of the table Example: 1

service_staff_id   integer  optional  

id of the service staff assigned to the sale Example: 17

change_return   number  optional  

Excess paid amount Example: 0

products   string[]   

array of the products for the sale

*   object  optional  
product_id   integer   

product id Example: 17

variation_id   integer   

variation id Example: 58

quantity   number   

quantity Example: 1

unit_price   number  optional  

unit selling price Example: 437.5

tax_rate_id   integer  optional  

tax rate id applicable on the product

discount_amount   number  optional  

discount amount applicable on the product Example: 0

discount_type   string  optional  

type of discount amount ('fixed', 'percentage') Example: percentage

sub_unit_id   integer  optional  

sub unit id Example: 10

res_service_staff_id   integer  optional  

service staff id Example: 11

note   string  optional  

note for the product Example: est

payments   string[]  optional  

payment lines for the sale

*   object  optional  
amount   number   

amount of the payment Example: 453.13

method   string  optional  

payment methods ('cash', 'card', 'cheque', 'bank_transfer', 'other', 'custom_pay_1', 'custom_pay_2', 'custom_pay_3') Example: cash

account_id   integer  optional  

account id Example: 6

card_number   string  optional  

Example: saepe

card_holder_name   string  optional  

Example: ratione

card_transaction_number   string  optional  

Example: facilis

card_type   string  optional  

Example: nobis

card_month   string  optional  

Example: voluptatem

card_year   string  optional  

Example: sed

card_security   string  optional  

Example: cupiditate

transaction_no_1   string  optional  

Example: optio

transaction_no_2   string  optional  

Example: harum

transaction_no_3   string  optional  

Example: ea

bank_account_number   string  optional  

Example: accusantium

note   string  optional  

payment note Example: vel

cheque_number   string  optional  

Example: exercitationem

Get the specified sell

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/sell/voluptatem?send_purchase_details=et" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/sell/voluptatem"
);

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

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/sell/voluptatem';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'send_purchase_details' => 'et',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "id": 55,
            "business_id": 1,
            "location_id": 1,
            "res_table_id": 5,
            "res_waiter_id": null,
            "res_order_status": null,
            "type": "sell",
            "sub_type": null,
            "status": "final",
            "is_quotation": 0,
            "payment_status": "paid",
            "adjustment_type": null,
            "contact_id": 1,
            "customer_group_id": null,
            "invoice_no": "AS0007",
            "ref_no": "",
            "source": null,
            "subscription_no": null,
            "subscription_repeat_on": null,
            "transaction_date": "2020-06-04 23:29:36",
            "total_before_tax": "437.5000",
            "tax_id": 1,
            "tax_amount": "39.3750",
            "discount_type": "percentage",
            "discount_amount": "10.0000",
            "rp_redeemed": 0,
            "rp_redeemed_amount": "0.0000",
            "shipping_details": "Express Delivery",
            "shipping_address": null,
            "shipping_status": "ordered",
            "delivered_to": "Mr Robin",
            "shipping_charges": "10.0000",
            "additional_notes": null,
            "staff_note": null,
            "round_off_amount": "0.0000",
            "final_total": "453.1300",
            "expense_category_id": null,
            "expense_for": null,
            "commission_agent": null,
            "document": null,
            "is_direct_sale": 0,
            "is_suspend": 0,
            "exchange_rate": "1.000",
            "total_amount_recovered": null,
            "transfer_parent_id": null,
            "return_parent_id": null,
            "opening_stock_product_id": null,
            "created_by": 9,
            "import_batch": null,
            "import_time": null,
            "types_of_service_id": 1,
            "packing_charge": "10.0000",
            "packing_charge_type": "fixed",
            "service_custom_field_1": null,
            "service_custom_field_2": null,
            "service_custom_field_3": null,
            "service_custom_field_4": null,
            "mfg_parent_production_purchase_id": null,
            "mfg_wasted_units": null,
            "mfg_production_cost": "0.0000",
            "mfg_is_final": 0,
            "is_created_from_api": 0,
            "essentials_duration": "0.00",
            "essentials_duration_unit": null,
            "essentials_amount_per_unit_duration": "0.0000",
            "essentials_allowances": null,
            "essentials_deductions": null,
            "rp_earned": 0,
            "repair_completed_on": null,
            "repair_warranty_id": null,
            "repair_brand_id": null,
            "repair_status_id": null,
            "repair_model_id": null,
            "repair_defects": null,
            "repair_serial_no": null,
            "repair_updates_email": 0,
            "repair_updates_sms": 0,
            "repair_checklist": null,
            "repair_security_pwd": null,
            "repair_security_pattern": null,
            "repair_due_date": null,
            "repair_device_id": null,
            "order_addresses": null,
            "is_recurring": 0,
            "recur_interval": null,
            "recur_interval_type": "days",
            "recur_repetitions": 0,
            "recur_stopped_on": null,
            "recur_parent_id": null,
            "invoice_token": null,
            "pay_term_number": null,
            "pay_term_type": null,
            "pjt_project_id": null,
            "pjt_title": null,
            "woocommerce_order_id": null,
            "selling_price_group_id": 0,
            "created_at": "2020-06-04 23:29:36",
            "updated_at": "2020-06-04 23:29:36",
            "sell_lines": [
                {
                    "id": 38,
                    "transaction_id": 55,
                    "product_id": 17,
                    "variation_id": 58,
                    "quantity": 1,
                    "mfg_waste_percent": "0.0000",
                    "quantity_returned": "0.0000",
                    "unit_price_before_discount": "437.5000",
                    "unit_price": "437.5000",
                    "line_discount_type": "fixed",
                    "line_discount_amount": "0.0000",
                    "unit_price_inc_tax": "437.5000",
                    "item_tax": "0.0000",
                    "tax_id": null,
                    "discount_id": null,
                    "lot_no_line_id": null,
                    "sell_line_note": "",
                    "res_service_staff_id": null,
                    "res_line_order_status": null,
                    "woocommerce_line_items_id": null,
                    "parent_sell_line_id": null,
                    "children_type": "",
                    "sub_unit_id": null,
                    "created_at": "2020-06-04 23:29:36",
                    "updated_at": "2020-06-04 23:29:36"
                }
            ],
            "payment_lines": [
                {
                    "id": 37,
                    "transaction_id": 55,
                    "business_id": 1,
                    "is_return": 0,
                    "amount": "453.1300",
                    "method": "cash",
                    "transaction_no": null,
                    "card_transaction_number": null,
                    "card_number": null,
                    "card_type": "credit",
                    "card_holder_name": null,
                    "card_month": null,
                    "card_year": null,
                    "card_security": null,
                    "cheque_number": null,
                    "bank_account_number": null,
                    "paid_on": "2020-06-04 23:29:36",
                    "created_by": 9,
                    "payment_for": 1,
                    "parent_id": null,
                    "note": null,
                    "document": null,
                    "payment_ref_no": "SP2020/0002",
                    "account_id": null,
                    "created_at": "2020-06-04 23:29:36",
                    "updated_at": "2020-06-04 23:29:36"
                }
            ],
            "invoice_url": "http://local.pos.com/invoice/6dfd77eb80f4976b456128e7f1311c9f",
            "payment_link": "http://local.pos.com/pay/6dfd77eb80f4976b456128e7f1311c9f"
        }
    ]
}
 

Request   

GET connector/api/sell/{id}

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the sell. Example: voluptatem

sell   string   

comma separated ids of the sells Example: 55

Query Parameters

send_purchase_details   string  optional  

Get purchase details of each sell line (1, 0) Example: et

Update sell

requires authentication

Example request:
curl --request PUT \
    "http://127.0.0.1:8000/connector/api/sell/optio" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"contact_id\": 10,
    \"transaction_date\": \"2020-5-7 15:20:22\",
    \"status\": \"final\",
    \"sub_status\": null,
    \"is_quotation\": true,
    \"tax_rate_id\": 17,
    \"discount_amount\": 10,
    \"discount_type\": \"fixed\",
    \"sale_note\": \"ut\",
    \"source\": \"explicabo\",
    \"staff_note\": \"sit\",
    \"is_suspend\": false,
    \"commission_agent\": 17,
    \"shipping_details\": \"Express Delivery\",
    \"shipping_address\": \"qui\",
    \"shipping_status\": \"ordered\",
    \"delivered_to\": \"Mr Robin\",
    \"shipping_charges\": 10,
    \"packing_charge\": 10,
    \"exchange_rate\": 1,
    \"selling_price_group_id\": 12,
    \"pay_term_number\": 8,
    \"pay_term_type\": \"months\",
    \"is_recurring\": 0,
    \"recur_interval\": 17,
    \"recur_interval_type\": \"days\",
    \"subscription_repeat_on\": 7,
    \"subscription_no\": \"tempore\",
    \"recur_repetitions\": 3,
    \"rp_redeemed\": 4,
    \"rp_redeemed_amount\": 13.5,
    \"types_of_service_id\": 12,
    \"service_custom_field_1\": \"ut\",
    \"service_custom_field_2\": \"ullam\",
    \"service_custom_field_3\": \"ab\",
    \"service_custom_field_4\": \"aut\",
    \"service_custom_field_5\": \"modi\",
    \"service_custom_field_6\": \"quibusdam\",
    \"round_off_amount\": 2553.85721436,
    \"table_id\": 3,
    \"service_staff_id\": 2,
    \"change_return\": 0,
    \"change_return_id\": 4,
    \"products\": [
        \"illum\"
    ],
    \"payments\": [
        \"et\"
    ]
}"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/sell/optio"
);

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

let body = {
    "contact_id": 10,
    "transaction_date": "2020-5-7 15:20:22",
    "status": "final",
    "sub_status": null,
    "is_quotation": true,
    "tax_rate_id": 17,
    "discount_amount": 10,
    "discount_type": "fixed",
    "sale_note": "ut",
    "source": "explicabo",
    "staff_note": "sit",
    "is_suspend": false,
    "commission_agent": 17,
    "shipping_details": "Express Delivery",
    "shipping_address": "qui",
    "shipping_status": "ordered",
    "delivered_to": "Mr Robin",
    "shipping_charges": 10,
    "packing_charge": 10,
    "exchange_rate": 1,
    "selling_price_group_id": 12,
    "pay_term_number": 8,
    "pay_term_type": "months",
    "is_recurring": 0,
    "recur_interval": 17,
    "recur_interval_type": "days",
    "subscription_repeat_on": 7,
    "subscription_no": "tempore",
    "recur_repetitions": 3,
    "rp_redeemed": 4,
    "rp_redeemed_amount": 13.5,
    "types_of_service_id": 12,
    "service_custom_field_1": "ut",
    "service_custom_field_2": "ullam",
    "service_custom_field_3": "ab",
    "service_custom_field_4": "aut",
    "service_custom_field_5": "modi",
    "service_custom_field_6": "quibusdam",
    "round_off_amount": 2553.85721436,
    "table_id": 3,
    "service_staff_id": 2,
    "change_return": 0,
    "change_return_id": 4,
    "products": [
        "illum"
    ],
    "payments": [
        "et"
    ]
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/sell/optio';
$response = $client->put(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'contact_id' => 10,
            'transaction_date' => '2020-5-7 15:20:22',
            'status' => 'final',
            'sub_status' => null,
            'is_quotation' => true,
            'tax_rate_id' => 17,
            'discount_amount' => 10.0,
            'discount_type' => 'fixed',
            'sale_note' => 'ut',
            'source' => 'explicabo',
            'staff_note' => 'sit',
            'is_suspend' => false,
            'commission_agent' => 17,
            'shipping_details' => 'Express Delivery',
            'shipping_address' => 'qui',
            'shipping_status' => 'ordered',
            'delivered_to' => 'Mr Robin',
            'shipping_charges' => 10.0,
            'packing_charge' => 10.0,
            'exchange_rate' => 1.0,
            'selling_price_group_id' => 12,
            'pay_term_number' => 8,
            'pay_term_type' => 'months',
            'is_recurring' => 0,
            'recur_interval' => 17,
            'recur_interval_type' => 'days',
            'subscription_repeat_on' => 7,
            'subscription_no' => 'tempore',
            'recur_repetitions' => 3,
            'rp_redeemed' => 4,
            'rp_redeemed_amount' => 13.5,
            'types_of_service_id' => 12,
            'service_custom_field_1' => 'ut',
            'service_custom_field_2' => 'ullam',
            'service_custom_field_3' => 'ab',
            'service_custom_field_4' => 'aut',
            'service_custom_field_5' => 'modi',
            'service_custom_field_6' => 'quibusdam',
            'round_off_amount' => 2553.85721436,
            'table_id' => 3,
            'service_staff_id' => 2,
            'change_return' => 0.0,
            'change_return_id' => 4,
            'products' => [
                'illum',
            ],
            'payments' => [
                'et',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "id": 91,
    "business_id": 1,
    "location_id": 1,
    "res_table_id": null,
    "res_waiter_id": null,
    "res_order_status": null,
    "type": "sell",
    "sub_type": null,
    "status": "final",
    "is_quotation": 0,
    "payment_status": "paid",
    "adjustment_type": null,
    "contact_id": 1,
    "customer_group_id": 1,
    "invoice_no": "AS0020",
    "ref_no": "",
    "source": null,
    "subscription_no": null,
    "subscription_repeat_on": null,
    "transaction_date": "25-09-2020 15:22",
    "total_before_tax": 962.5,
    "tax_id": null,
    "tax_amount": 0,
    "discount_type": "fixed",
    "discount_amount": "19.5000",
    "rp_redeemed": 0,
    "rp_redeemed_amount": "0.0000",
    "shipping_details": null,
    "shipping_address": null,
    "shipping_status": null,
    "delivered_to": null,
    "shipping_charges": "0.0000",
    "additional_notes": null,
    "staff_note": null,
    "round_off_amount": "0.0000",
    "final_total": 943,
    "expense_category_id": null,
    "expense_for": null,
    "commission_agent": null,
    "document": null,
    "is_direct_sale": 0,
    "is_suspend": 0,
    "exchange_rate": "1.000",
    "total_amount_recovered": null,
    "transfer_parent_id": null,
    "return_parent_id": null,
    "opening_stock_product_id": null,
    "created_by": 9,
    "import_batch": null,
    "import_time": null,
    "types_of_service_id": null,
    "packing_charge": "0.0000",
    "packing_charge_type": null,
    "service_custom_field_1": null,
    "service_custom_field_2": null,
    "service_custom_field_3": null,
    "service_custom_field_4": null,
    "mfg_parent_production_purchase_id": null,
    "mfg_wasted_units": null,
    "mfg_production_cost": "0.0000",
    "mfg_production_cost_type": "percentage",
    "mfg_is_final": 0,
    "is_created_from_api": 0,
    "essentials_duration": "0.00",
    "essentials_duration_unit": null,
    "essentials_amount_per_unit_duration": "0.0000",
    "essentials_allowances": null,
    "essentials_deductions": null,
    "rp_earned": 0,
    "repair_completed_on": null,
    "repair_warranty_id": null,
    "repair_brand_id": null,
    "repair_status_id": null,
    "repair_model_id": null,
    "repair_job_sheet_id": null,
    "repair_defects": null,
    "repair_serial_no": null,
    "repair_checklist": null,
    "repair_security_pwd": null,
    "repair_security_pattern": null,
    "repair_due_date": null,
    "repair_device_id": null,
    "repair_updates_notif": 0,
    "order_addresses": null,
    "is_recurring": 0,
    "recur_interval": 1,
    "recur_interval_type": "days",
    "recur_repetitions": 0,
    "recur_stopped_on": null,
    "recur_parent_id": null,
    "invoice_token": null,
    "pay_term_number": null,
    "pay_term_type": null,
    "pjt_project_id": null,
    "pjt_title": null,
    "woocommerce_order_id": null,
    "selling_price_group_id": 0,
    "created_at": "2020-09-23 20:16:19",
    "updated_at": "2020-09-25 17:57:08",
    "payment_lines": [
        {
            "id": 55,
            "transaction_id": 91,
            "business_id": 1,
            "is_return": 0,
            "amount": "461.7500",
            "method": "cash",
            "transaction_no": null,
            "card_transaction_number": null,
            "card_number": null,
            "card_type": "credit",
            "card_holder_name": null,
            "card_month": null,
            "card_year": null,
            "card_security": null,
            "cheque_number": null,
            "bank_account_number": null,
            "paid_on": "2020-09-23 20:16:19",
            "created_by": 9,
            "is_advance": 0,
            "payment_for": 1,
            "parent_id": null,
            "note": null,
            "document": null,
            "payment_ref_no": "SP2020/0018",
            "account_id": null,
            "created_at": "2020-09-23 20:16:19",
            "updated_at": "2020-09-23 20:16:19"
        }
    ],
    "invoice_url": "http://local.pos.com/invoice/6dfd77eb80f4976b456128e7f1311c9f",
    "payment_link": "http://local.pos.com/pay/6dfd77eb80f4976b456128e7f1311c9f"
}
 

Request   

PUT connector/api/sell/{id}

PATCH connector/api/sell/{id}

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the sell. Example: optio

sell   string   

id of sell to update Example: 6

Body Parameters

contact_id   integer  optional  

id of the customer Example: 10

transaction_date   string  optional  

transaction date format:Y-m-d H:i:s, Example: 2020-5-7 15:20:22

status   string  optional  

sale status (final, draft) Example: final

sub_status   string  optional  

sale sub status ("quotation" for quotation and "proforma" for proforma invoice)

is_quotation   boolean  optional  

Is sell quotation (0, 1), If 1 status should be draft Example: true

tax_rate_id   integer  optional  

id of the tax rate applicable to the sale Example: 17

discount_amount   number  optional  

discount amount applicable to the sale Example: 10

discount_type   string  optional  

type of the discount amount (fixed, percentage) Example: fixed

sale_note   string  optional  

Example: ut

source   string  optional  

Source of the invoice Example: explicabo

staff_note   string  optional  

Example: sit

is_suspend   boolean  optional  

Is suspended sale (0, 1) Example: false

commission_agent   integer  optional  

commission agent id Example: 17

shipping_details   string  optional  

shipping details Example: Express Delivery

shipping_address   string  optional  

shipping address Example: qui

shipping_status   string  optional  

('ordered', 'packed', 'shipped', 'delivered', 'cancelled') Example: ordered

delivered_to   string  optional  

Name of the person recieved the consignment Example: Mr Robin

shipping_charges   number  optional  

shipping amount Example: 10

packing_charge   number  optional  

packing charge Example: 10

exchange_rate   number  optional  

exchange rate for the currency used Example: 1

selling_price_group_id   integer  optional  

id of the selling price group Example: 12

pay_term_number   integer  optional  

pay term value Example: 8

pay_term_type   string  optional  

type of the pay term value ('days', 'months') Example: months

is_recurring   integer  optional  

whether the invoice is recurring (0, 1) Example: 0

recur_interval   integer  optional  

value of the interval invoice will be regenerated Example: 17

recur_interval_type   string  optional  

type of the recur interval ('days', 'months', 'years') Example: days

subscription_repeat_on   integer  optional  

day of the month on which invoice will be generated if recur interval type is months (1-30) Example: 7

subscription_no   string  optional  

subscription number Example: tempore

recur_repetitions   integer  optional  

total number of invoices to be generated Example: 3

rp_redeemed   integer  optional  

reward points redeemed Example: 4

rp_redeemed_amount   number  optional  

reward point redeemed amount after conversion Example: 13.5

types_of_service_id   integer  optional  

types of service id Example: 12

service_custom_field_1   string  optional  

types of service custom field 1 Example: ut

service_custom_field_2   string  optional  

types of service custom field 2 Example: ullam

service_custom_field_3   string  optional  

types of service custom field 3 Example: ab

service_custom_field_4   string  optional  

types of service custom field 4 Example: aut

service_custom_field_5   string  optional  

types of service custom field 5 Example: modi

service_custom_field_6   string  optional  

types of service custom field 6 Example: quibusdam

round_off_amount   number  optional  

round off amount on total payable Example: 2553.85721436

table_id   integer  optional  

id of the table Example: 3

service_staff_id   integer  optional  

id of the service staff assigned to the sale Example: 2

change_return   number  optional  

Excess paid amount Example: 0

change_return_id   integer  optional  

id of the change return payment if exists Example: 4

products   string[]   

array of the products for the sale

*   object  optional  
sell_line_id   integer  optional  

sell line id for existing item only Example: 15

product_id   integer  optional  

product id Example: 17

variation_id   integer  optional  

variation id Example: 58

quantity   number  optional  

quantity Example: 1

unit_price   number  optional  

unit selling price Example: 437.5

tax_rate_id   integer  optional  

tax rate id applicable on the product Example: 17

discount_amount   number  optional  

discount amount applicable on the product Example: 0

discount_type   string  optional  

type of discount amount ('fixed', 'percentage') Example: percentage

sub_unit_id   integer  optional  

sub unit id Example: 14

res_service_staff_id   integer  optional  

service staff id Example: 1

note   string  optional  

note for the product Example: temporibus

payments   string[]  optional  

payment lines for the sale

*   object  optional  
payment_id   integer  optional  

payment id for existing payment line Example: 18

amount   number  optional  

amount of the payment Example: 453.13

method   string  optional  

payment methods ('cash', 'card', 'cheque', 'bank_transfer', 'other', 'custom_pay_1', 'custom_pay_2', 'custom_pay_3') Example: cash

account_id   integer  optional  

account id Example: 9

card_number   string  optional  

Example: fugit

card_holder_name   string  optional  

Example: sed

card_transaction_number   string  optional  

Example: ut

card_type   string  optional  

Example: et

card_month   string  optional  

Example: vero

card_year   string  optional  

Example: pariatur

card_security   string  optional  

Example: dolore

transaction_no_1   string  optional  

Example: sint

transaction_no_2   string  optional  

Example: consequatur

transaction_no_3   string  optional  

Example: sequi

note   string  optional  

payment note Example: iure

cheque_number   string  optional  

Example: enim

bank_account_number   string  optional  

Example: pariatur

Delete Sell

requires authentication

Example request:
curl --request DELETE \
    "http://127.0.0.1:8000/connector/api/sell/quo" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/sell/quo"
);

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

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/sell/quo';
$response = $client->delete(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Request   

DELETE connector/api/sell/{id}

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the sell. Example: quo

sell   string   

id of the sell to be deleted Example: enim

List sales orders

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/sales-order?location_id=1&contact_id=1&status=ordered&shipping_status=ordered&payment_status=due%2Cpartial&start_date=2026-01-01&end_date=2026-12-31&user_id=16&service_staff_id=1&source=app&only_pending=1&order_by_date=desc&per_page=10&send_purchase_details=0" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/sales-order"
);

const params = {
    "location_id": "1",
    "contact_id": "1",
    "status": "ordered",
    "shipping_status": "ordered",
    "payment_status": "due,partial",
    "start_date": "2026-01-01",
    "end_date": "2026-12-31",
    "user_id": "16",
    "service_staff_id": "1",
    "source": "app",
    "only_pending": "1",
    "order_by_date": "desc",
    "per_page": "10",
    "send_purchase_details": "0",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/sales-order';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'location_id' => '1',
            'contact_id' => '1',
            'status' => 'ordered',
            'shipping_status' => 'ordered',
            'payment_status' => 'due,partial',
            'start_date' => '2026-01-01',
            'end_date' => '2026-12-31',
            'user_id' => '16',
            'service_staff_id' => '1',
            'source' => 'app',
            'only_pending' => '1',
            'order_by_date' => 'desc',
            'per_page' => '10',
            'send_purchase_details' => '0',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "id": 10,
            "business_id": 1,
            "location_id": 1,
            "type": "sales_order",
            "status": "ordered",
            "contact_id": 1,
            "invoice_no": "SO0001",
            "transaction_date": "2026-08-19 12:00:00",
            "total_before_tax": "500.0000",
            "final_total": "500.0000",
            "payment_status": "due",
            "shipping_status": "ordered",
            "sell_lines": [],
            "payment_lines": [],
            "invoice_url": "http://example.com/invoice/...",
            "payment_link": "http://example.com/pay/..."
        }
    ]
}
 

Request   

GET connector/api/sales-order

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

location_id   integer  optional  

id of the location Example: 1

contact_id   integer  optional  

id of the customer Example: 1

status   string  optional  

Sales order status. Available values: ordered, partial, completed Example: ordered

shipping_status   string  optional  

Shipping status ('ordered', 'packed', 'shipped', 'delivered', 'cancelled') Example: ordered

payment_status   string  optional  

Comma separated values of payment statuses. Available values: due, partial, paid Example: due,partial

start_date   string  optional  

format:Y-m-d Example: 2026-01-01

end_date   string  optional  

format:Y-m-d Example: 2026-12-31

user_id   integer  optional  

id of the user who created the sales order Example: 16

service_staff_id   integer  optional  

id of the service staff assigned Example: 1

source   string  optional  

Source of the sales order Example: app

only_pending   integer  optional  

Filter only pending sales orders (ordered, partial) (1, 0) Example: 1

order_by_date   string  optional  

Sort order by date ('asc', 'desc') Example: desc

per_page   integer  optional  

Total records per page. default: 10, Set -1 for no pagination Example: 10

send_purchase_details   integer  optional  

Get purchase details of each line (1, 0) Example: 0

Create sales order

requires authentication

Example request:
curl --request POST \
    "http://127.0.0.1:8000/connector/api/sales-order" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"sales_orders\": [
        \"illo\"
    ]
}"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/sales-order"
);

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

let body = {
    "sales_orders": [
        "illo"
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/sales-order';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'sales_orders' => [
                'illo',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "id": 10,
            "business_id": 1,
            "location_id": 1,
            "type": "sales_order",
            "status": "ordered",
            "contact_id": 1,
            "invoice_no": "SO0001",
            "transaction_date": "2026-08-19 12:00:00",
            "total_before_tax": "500.0000",
            "final_total": "500.0000",
            "payment_status": "due",
            "sell_lines": [],
            "payment_lines": [],
            "invoice_url": "http://example.com/invoice/...",
            "payment_link": "http://example.com/pay/..."
        }
    ]
}
 

Request   

POST connector/api/sales-order

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

sales_orders   string[]  optional  

list of sales orders to create

*   object  optional  
location_id   integer   

id of the business location Example: 1

contact_id   integer   

id of the customer Example: 1

transaction_date   string  optional  

transaction date format:Y-m-d H:i:s Example: 2026-08-19 12:00:00

invoice_no   string  optional  

Sales order reference number / invoice number Example: SO0001

status   string  optional  

Sales order status ('ordered', 'partial', 'completed') Example: ordered

shipping_status   string  optional  

('ordered', 'packed', 'shipped', 'delivered', 'cancelled') Example: ordered

shipping_details   string  optional  

shipping details Example: Express Delivery

shipping_address   string  optional  

shipping address Example: 123 Main St

delivered_to   string  optional  

Name of recipient Example: John Doe

shipping_charges   number  optional  

shipping amount Example: 0

discount_amount   number  optional  

discount amount Example: 0

discount_type   string  optional  

type of discount ('fixed', 'percentage') Example: fixed

tax_rate_id   integer  optional  

tax rate id applicable

sale_note   string  optional  

Additional note for sales order Example: aperiam

staff_note   string  optional  

Staff note Example: dolor

commission_agent   integer  optional  

Commission agent user id

source   string  optional  

Source Example: app

products   string[]   

Array of products for the sales order

*   object  optional  
product_id   integer   

product id Example: 1

variation_id   integer   

variation id Example: 1

quantity   number   

quantity Example: 2

unit_price   number  optional  

unit price before tax Example: 100

discount_amount   number  optional  

discount amount on product Example: 0

discount_type   string  optional  

('fixed', 'percentage') Example: percentage

tax_rate_id   integer  optional  

tax rate id

sub_unit_id   integer  optional  

sub unit id

note   string  optional  

line note

payments   string[]  optional  

Optional payment lines for advance payment

*   object  optional  
amount   number  optional  

Payment amount Example: 50

method   string  optional  

('cash', 'card', 'cheque', 'bank_transfer', 'other', 'custom_pay_1', 'custom_pay_2', 'custom_pay_3') Example: cash

account_id   integer  optional  

Account id

note   string  optional  

Payment note Example: Advance payment

Get specified sales order

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/sales-order/qui?send_purchase_details=0" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/sales-order/qui"
);

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

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/sales-order/qui';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'send_purchase_details' => '0',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "id": 10,
            "business_id": 1,
            "location_id": 1,
            "type": "sales_order",
            "status": "ordered",
            "contact_id": 1,
            "invoice_no": "SO0001",
            "final_total": "500.0000",
            "sell_lines": [],
            "payment_lines": []
        }
    ]
}
 

Request   

GET connector/api/sales-order/{id}

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the sales order. Example: qui

sales_order   string   

comma separated IDs of sales orders Example: 10

Query Parameters

send_purchase_details   integer  optional  

Get purchase details of each line (1, 0) Example: 0

Update sales order

requires authentication

Example request:
curl --request PUT \
    "http://127.0.0.1:8000/connector/api/sales-order/quasi" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"contact_id\": 1,
    \"transaction_date\": \"2026-08-19 12:00:00\",
    \"status\": \"ordered\",
    \"shipping_status\": \"ordered\",
    \"shipping_details\": \"Express Delivery\",
    \"shipping_address\": \"ipsa\",
    \"delivered_to\": \"excepturi\",
    \"shipping_charges\": 0,
    \"discount_amount\": 0,
    \"discount_type\": \"fixed\",
    \"tax_rate_id\": null,
    \"sale_note\": \"ullam\",
    \"staff_note\": \"omnis\",
    \"products\": [
        \"repellat\"
    ]
}"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/sales-order/quasi"
);

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

let body = {
    "contact_id": 1,
    "transaction_date": "2026-08-19 12:00:00",
    "status": "ordered",
    "shipping_status": "ordered",
    "shipping_details": "Express Delivery",
    "shipping_address": "ipsa",
    "delivered_to": "excepturi",
    "shipping_charges": 0,
    "discount_amount": 0,
    "discount_type": "fixed",
    "tax_rate_id": null,
    "sale_note": "ullam",
    "staff_note": "omnis",
    "products": [
        "repellat"
    ]
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/sales-order/quasi';
$response = $client->put(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'contact_id' => 1,
            'transaction_date' => '2026-08-19 12:00:00',
            'status' => 'ordered',
            'shipping_status' => 'ordered',
            'shipping_details' => 'Express Delivery',
            'shipping_address' => 'ipsa',
            'delivered_to' => 'excepturi',
            'shipping_charges' => 0.0,
            'discount_amount' => 0.0,
            'discount_type' => 'fixed',
            'tax_rate_id' => null,
            'sale_note' => 'ullam',
            'staff_note' => 'omnis',
            'products' => [
                'repellat',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "id": 10,
    "business_id": 1,
    "type": "sales_order",
    "status": "ordered",
    "final_total": "500.0000"
}
 

Request   

PUT connector/api/sales-order/{id}

PATCH connector/api/sales-order/{id}

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the sales order. Example: quasi

sales_order   string   

id of sales order to update Example: 10

Body Parameters

contact_id   integer  optional  

id of the customer Example: 1

transaction_date   string  optional  

transaction date format:Y-m-d H:i:s Example: 2026-08-19 12:00:00

status   string  optional  

Sales order status ('ordered', 'partial', 'completed') Example: ordered

shipping_status   string  optional  

('ordered', 'packed', 'shipped', 'delivered', 'cancelled') Example: ordered

shipping_details   string  optional  

shipping details Example: Express Delivery

shipping_address   string  optional  

shipping address Example: ipsa

delivered_to   string  optional  

Name of recipient Example: excepturi

shipping_charges   number  optional  

shipping amount Example: 0

discount_amount   number  optional  

discount amount Example: 0

discount_type   string  optional  

('fixed', 'percentage') Example: fixed

tax_rate_id   integer  optional  

tax rate id

sale_note   string  optional  

Example: ullam

staff_note   string  optional  

Example: omnis

products   string[]  optional  

Array of products for the sales order

Delete sales order

requires authentication

Example request:
curl --request DELETE \
    "http://127.0.0.1:8000/connector/api/sales-order/fugit" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/sales-order/fugit"
);

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

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/sales-order/fugit';
$response = $client->delete(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "success": 1,
    "msg": "Sales order deleted successfully"
}
 

Request   

DELETE connector/api/sales-order/{id}

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the sales order. Example: fugit

sales_order   string   

id of sales order to delete Example: 10

List sales orders

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/list-sales-order?location_id=1&contact_id=1&status=ordered&shipping_status=ordered&payment_status=due%2Cpartial&start_date=2026-01-01&end_date=2026-12-31&user_id=10&service_staff_id=19&source=app&only_pending=1&order_by_date=desc&per_page=10&send_purchase_details=0" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/list-sales-order"
);

const params = {
    "location_id": "1",
    "contact_id": "1",
    "status": "ordered",
    "shipping_status": "ordered",
    "payment_status": "due,partial",
    "start_date": "2026-01-01",
    "end_date": "2026-12-31",
    "user_id": "10",
    "service_staff_id": "19",
    "source": "app",
    "only_pending": "1",
    "order_by_date": "desc",
    "per_page": "10",
    "send_purchase_details": "0",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/list-sales-order';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'location_id' => '1',
            'contact_id' => '1',
            'status' => 'ordered',
            'shipping_status' => 'ordered',
            'payment_status' => 'due,partial',
            'start_date' => '2026-01-01',
            'end_date' => '2026-12-31',
            'user_id' => '10',
            'service_staff_id' => '19',
            'source' => 'app',
            'only_pending' => '1',
            'order_by_date' => 'desc',
            'per_page' => '10',
            'send_purchase_details' => '0',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "id": 10,
            "business_id": 1,
            "location_id": 1,
            "type": "sales_order",
            "status": "ordered",
            "contact_id": 1,
            "invoice_no": "SO0001",
            "transaction_date": "2026-08-19 12:00:00",
            "total_before_tax": "500.0000",
            "final_total": "500.0000",
            "payment_status": "due",
            "shipping_status": "ordered",
            "sell_lines": [],
            "payment_lines": [],
            "invoice_url": "http://example.com/invoice/...",
            "payment_link": "http://example.com/pay/..."
        }
    ]
}
 

Request   

GET connector/api/list-sales-order

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

location_id   integer  optional  

id of the location Example: 1

contact_id   integer  optional  

id of the customer Example: 1

status   string  optional  

Sales order status. Available values: ordered, partial, completed Example: ordered

shipping_status   string  optional  

Shipping status ('ordered', 'packed', 'shipped', 'delivered', 'cancelled') Example: ordered

payment_status   string  optional  

Comma separated values of payment statuses. Available values: due, partial, paid Example: due,partial

start_date   string  optional  

format:Y-m-d Example: 2026-01-01

end_date   string  optional  

format:Y-m-d Example: 2026-12-31

user_id   integer  optional  

id of the user who created the sales order Example: 10

service_staff_id   integer  optional  

id of the service staff assigned Example: 19

source   string  optional  

Source of the sales order Example: app

only_pending   integer  optional  

Filter only pending sales orders (ordered, partial) (1, 0) Example: 1

order_by_date   string  optional  

Sort order by date ('asc', 'desc') Example: desc

per_page   integer  optional  

Total records per page. default: 10, Set -1 for no pagination Example: 10

send_purchase_details   integer  optional  

Get purchase details of each line (1, 0) Example: 0

Update sales order status

requires authentication

Example request:
curl --request POST \
    "http://127.0.0.1:8000/connector/api/sales-order-status/10" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"id\": 10,
    \"status\": \"completed\"
}"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/sales-order-status/10"
);

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

let body = {
    "id": 10,
    "status": "completed"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/sales-order-status/10';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'id' => 10,
            'status' => 'completed',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "success": 1,
    "msg": "Status updated successfully",
    "status": "completed"
}
 

Request   

POST connector/api/sales-order-status/{id?}

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer  optional  

id of the sales order Example: 10

Body Parameters

id   integer  optional  

id of the sales order (if not in URL) Example: 10

status   string   

Status ('ordered', 'partial', 'completed') Example: completed

Add Sell Return

requires authentication

Example request:
curl --request POST \
    "http://127.0.0.1:8000/connector/api/sell-return" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"transaction_id\": 10,
    \"transaction_date\": \"2020-5-7 15:20:22\",
    \"invoice_no\": \"mollitia\",
    \"discount_amount\": 10,
    \"discount_type\": \"fixed\",
    \"products\": [
        \"et\"
    ]
}"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/sell-return"
);

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

let body = {
    "transaction_id": 10,
    "transaction_date": "2020-5-7 15:20:22",
    "invoice_no": "mollitia",
    "discount_amount": 10,
    "discount_type": "fixed",
    "products": [
        "et"
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/sell-return';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'transaction_id' => 10,
            'transaction_date' => '2020-5-7 15:20:22',
            'invoice_no' => 'mollitia',
            'discount_amount' => 10.0,
            'discount_type' => 'fixed',
            'products' => [
                'et',
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "id": 159,
    "business_id": 1,
    "location_id": 1,
    "res_table_id": null,
    "res_waiter_id": null,
    "res_order_status": null,
    "type": "sell_return",
    "sub_type": null,
    "status": "final",
    "is_quotation": 0,
    "payment_status": "paid",
    "adjustment_type": null,
    "contact_id": 1,
    "customer_group_id": null,
    "invoice_no": "CN2020/0005",
    "ref_no": null,
    "subscription_no": null,
    "subscription_repeat_on": null,
    "transaction_date": "2020-11-17 00:00:00",
    "total_before_tax": 3,
    "tax_id": null,
    "tax_amount": 0,
    "discount_type": "percentage",
    "discount_amount": 12,
    "rp_redeemed": 0,
    "rp_redeemed_amount": "0.0000",
    "shipping_details": null,
    "shipping_address": null,
    "shipping_status": null,
    "delivered_to": null,
    "shipping_charges": "0.0000",
    "additional_notes": null,
    "staff_note": null,
    "round_off_amount": "0.0000",
    "final_total": 2.64,
    "expense_category_id": null,
    "expense_for": null,
    "commission_agent": null,
    "document": null,
    "is_direct_sale": 0,
    "is_suspend": 0,
    "exchange_rate": "1.000",
    "total_amount_recovered": null,
    "transfer_parent_id": null,
    "return_parent_id": 157,
    "opening_stock_product_id": null,
    "created_by": 9,
    "import_batch": null,
    "import_time": null,
    "types_of_service_id": null,
    "packing_charge": null,
    "packing_charge_type": null,
    "service_custom_field_1": null,
    "service_custom_field_2": null,
    "service_custom_field_3": null,
    "service_custom_field_4": null,
    "mfg_parent_production_purchase_id": null,
    "mfg_wasted_units": null,
    "mfg_production_cost": "0.0000",
    "mfg_production_cost_type": "percentage",
    "mfg_is_final": 0,
    "is_created_from_api": 0,
    "essentials_duration": "0.00",
    "essentials_duration_unit": null,
    "essentials_amount_per_unit_duration": "0.0000",
    "essentials_allowances": null,
    "essentials_deductions": null,
    "rp_earned": 0,
    "repair_completed_on": null,
    "repair_warranty_id": null,
    "repair_brand_id": null,
    "repair_status_id": null,
    "repair_model_id": null,
    "repair_job_sheet_id": null,
    "repair_defects": null,
    "repair_serial_no": null,
    "repair_checklist": null,
    "repair_security_pwd": null,
    "repair_security_pattern": null,
    "repair_due_date": null,
    "repair_device_id": null,
    "repair_updates_notif": 0,
    "order_addresses": null,
    "is_recurring": 0,
    "recur_interval": null,
    "recur_interval_type": null,
    "recur_repetitions": null,
    "recur_stopped_on": null,
    "recur_parent_id": null,
    "invoice_token": null,
    "pay_term_number": null,
    "pay_term_type": null,
    "pjt_project_id": null,
    "pjt_title": null,
    "woocommerce_order_id": null,
    "selling_price_group_id": null,
    "created_at": "2020-11-17 12:05:11",
    "updated_at": "2020-11-17 13:22:09"
}
 

Request   

POST connector/api/sell-return

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

transaction_id   integer   

Id of the sell Example: 10

transaction_date   string  optional  

transaction date format:Y-m-d H:i:s, Example: 2020-5-7 15:20:22

invoice_no   string  optional  

Invoice number of the return Example: mollitia

discount_amount   number  optional  

discount amount applicable to the sale Example: 10

discount_type   string  optional  

type of the discount amount (fixed, percentage) Example: fixed

products   string[]   

array of the products for the sale

*   object  optional  
sell_line_id   integer   

sell line id Example: 5

quantity   number   

quantity to be returned from the sell line Example: 1

unit_price_inc_tax   number   

unit selling price of the returning item Example: 437.5

List Sell Return

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/list-sell-return" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/list-sell-return"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/list-sell-return';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "id": 159,
            "business_id": 1,
            "location_id": 1,
            "res_table_id": null,
            "res_waiter_id": null,
            "res_order_status": null,
            "type": "sell_return",
            "sub_type": null,
            "status": "final",
            "is_quotation": 0,
            "payment_status": "partial",
            "adjustment_type": null,
            "contact_id": 1,
            "customer_group_id": null,
            "invoice_no": "CN2020/0005",
            "ref_no": null,
            "subscription_no": null,
            "subscription_repeat_on": null,
            "transaction_date": "2020-11-17 00:00:00",
            "total_before_tax": "3.0000",
            "tax_id": null,
            "tax_amount": "0.0000",
            "discount_type": "percentage",
            "discount_amount": "12.0000",
            "rp_redeemed": 0,
            "rp_redeemed_amount": "0.0000",
            "shipping_details": null,
            "shipping_address": null,
            "shipping_status": null,
            "delivered_to": null,
            "shipping_charges": "0.0000",
            "additional_notes": null,
            "staff_note": null,
            "round_off_amount": "0.0000",
            "final_total": "2.6400",
            "expense_category_id": null,
            "expense_for": null,
            "commission_agent": null,
            "document": null,
            "is_direct_sale": 0,
            "is_suspend": 0,
            "exchange_rate": "1.000",
            "total_amount_recovered": null,
            "transfer_parent_id": null,
            "return_parent_id": 157,
            "opening_stock_product_id": null,
            "created_by": 9,
            "import_batch": null,
            "import_time": null,
            "types_of_service_id": null,
            "packing_charge": null,
            "packing_charge_type": null,
            "service_custom_field_1": null,
            "service_custom_field_2": null,
            "service_custom_field_3": null,
            "service_custom_field_4": null,
            "mfg_parent_production_purchase_id": null,
            "mfg_wasted_units": null,
            "mfg_production_cost": "0.0000",
            "mfg_production_cost_type": "percentage",
            "mfg_is_final": 0,
            "is_created_from_api": 0,
            "essentials_duration": "0.00",
            "essentials_duration_unit": null,
            "essentials_amount_per_unit_duration": "0.0000",
            "essentials_allowances": null,
            "essentials_deductions": null,
            "rp_earned": 0,
            "repair_completed_on": null,
            "repair_warranty_id": null,
            "repair_brand_id": null,
            "repair_status_id": null,
            "repair_model_id": null,
            "repair_job_sheet_id": null,
            "repair_defects": null,
            "repair_serial_no": null,
            "repair_checklist": null,
            "repair_security_pwd": null,
            "repair_security_pattern": null,
            "repair_due_date": null,
            "repair_device_id": null,
            "repair_updates_notif": 0,
            "order_addresses": null,
            "is_recurring": 0,
            "recur_interval": null,
            "recur_interval_type": null,
            "recur_repetitions": null,
            "recur_stopped_on": null,
            "recur_parent_id": null,
            "invoice_token": null,
            "pay_term_number": null,
            "pay_term_type": null,
            "pjt_project_id": null,
            "pjt_title": null,
            "woocommerce_order_id": null,
            "selling_price_group_id": null,
            "created_at": "2020-11-17 12:05:11",
            "updated_at": "2020-11-17 13:22:09",
            "payment_lines": [
                {
                    "id": 126,
                    "transaction_id": 159,
                    "business_id": 1,
                    "is_return": 0,
                    "amount": "1.8000",
                    "method": "cash",
                    "transaction_no": null,
                    "card_transaction_number": null,
                    "card_number": null,
                    "card_type": "credit",
                    "card_holder_name": null,
                    "card_month": null,
                    "card_year": null,
                    "card_security": null,
                    "cheque_number": null,
                    "bank_account_number": null,
                    "paid_on": "2020-11-17 12:05:00",
                    "created_by": 9,
                    "is_advance": 0,
                    "payment_for": 1,
                    "parent_id": null,
                    "note": null,
                    "document": null,
                    "payment_ref_no": "SP2020/0078",
                    "account_id": null,
                    "created_at": "2020-11-17 12:05:58",
                    "updated_at": "2020-11-17 12:05:58"
                }
            ],
            "return_parent_sell": {
                "id": 157,
                "business_id": 1,
                "location_id": 1,
                "res_table_id": null,
                "res_waiter_id": null,
                "res_order_status": null,
                "type": "sell",
                "sub_type": null,
                "status": "final",
                "is_quotation": 0,
                "payment_status": "paid",
                "adjustment_type": null,
                "contact_id": 1,
                "customer_group_id": null,
                "invoice_no": "AS0073",
                "ref_no": "",
                "subscription_no": null,
                "subscription_repeat_on": null,
                "transaction_date": "2020-11-13 12:42:17",
                "total_before_tax": "6.2500",
                "tax_id": null,
                "tax_amount": "0.0000",
                "discount_type": "percentage",
                "discount_amount": "10.0000",
                "rp_redeemed": 0,
                "rp_redeemed_amount": "0.0000",
                "shipping_details": null,
                "shipping_address": null,
                "shipping_status": null,
                "delivered_to": null,
                "shipping_charges": "0.0000",
                "additional_notes": null,
                "staff_note": null,
                "round_off_amount": "0.0000",
                "final_total": "5.6300",
                "expense_category_id": null,
                "expense_for": null,
                "commission_agent": null,
                "document": null,
                "is_direct_sale": 0,
                "is_suspend": 0,
                "exchange_rate": "1.000",
                "total_amount_recovered": null,
                "transfer_parent_id": null,
                "return_parent_id": null,
                "opening_stock_product_id": null,
                "created_by": 9,
                "import_batch": null,
                "import_time": null,
                "types_of_service_id": null,
                "packing_charge": "0.0000",
                "packing_charge_type": null,
                "service_custom_field_1": null,
                "service_custom_field_2": null,
                "service_custom_field_3": null,
                "service_custom_field_4": null,
                "mfg_parent_production_purchase_id": null,
                "mfg_wasted_units": null,
                "mfg_production_cost": "0.0000",
                "mfg_production_cost_type": "percentage",
                "mfg_is_final": 0,
                "is_created_from_api": 0,
                "essentials_duration": "0.00",
                "essentials_duration_unit": null,
                "essentials_amount_per_unit_duration": "0.0000",
                "essentials_allowances": null,
                "essentials_deductions": null,
                "rp_earned": 0,
                "repair_completed_on": null,
                "repair_warranty_id": null,
                "repair_brand_id": null,
                "repair_status_id": null,
                "repair_model_id": null,
                "repair_job_sheet_id": null,
                "repair_defects": null,
                "repair_serial_no": null,
                "repair_checklist": null,
                "repair_security_pwd": null,
                "repair_security_pattern": null,
                "repair_due_date": null,
                "repair_device_id": null,
                "repair_updates_notif": 0,
                "order_addresses": null,
                "is_recurring": 0,
                "recur_interval": 1,
                "recur_interval_type": "days",
                "recur_repetitions": 0,
                "recur_stopped_on": null,
                "recur_parent_id": null,
                "invoice_token": null,
                "pay_term_number": null,
                "pay_term_type": null,
                "pjt_project_id": null,
                "pjt_title": null,
                "woocommerce_order_id": null,
                "selling_price_group_id": 0,
                "created_at": "2020-11-13 12:42:17",
                "updated_at": "2020-11-13 12:42:18",
                "sell_lines": [
                    {
                        "id": 139,
                        "transaction_id": 157,
                        "product_id": 157,
                        "variation_id": 205,
                        "quantity": 5,
                        "mfg_waste_percent": "0.0000",
                        "quantity_returned": "3.0000",
                        "unit_price_before_discount": "1.2500",
                        "unit_price": "1.2500",
                        "line_discount_type": "fixed",
                        "line_discount_amount": "0.0000",
                        "unit_price_inc_tax": "1.2500",
                        "item_tax": "0.0000",
                        "tax_id": null,
                        "discount_id": null,
                        "lot_no_line_id": null,
                        "sell_line_note": "",
                        "res_service_staff_id": null,
                        "res_line_order_status": null,
                        "woocommerce_line_items_id": null,
                        "parent_sell_line_id": null,
                        "children_type": "",
                        "sub_unit_id": null,
                        "created_at": "2020-11-13 12:42:17",
                        "updated_at": "2020-11-17 13:22:09"
                    }
                ]
            }
        }
    ],
    "links": {
        "first": "http://local.pos.com/connector/api/list-sell-return?sell_id=157&page=1",
        "last": null,
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "path": "http://local.pos.com/connector/api/list-sell-return",
        "per_page": 10,
        "to": 1
    }
}
 

Request   

GET connector/api/list-sell-return

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

sell_id   string  optional  

Id of the sell for which return is added Example: assumenda

Update shipping status

requires authentication

Example request:
curl --request POST \
    "http://127.0.0.1:8000/connector/api/update-shipping-status" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"id\": 17,
    \"shipping_status\": \"ordered\",
    \"delivered_to\": \"repellendus\"
}"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/update-shipping-status"
);

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

let body = {
    "id": 17,
    "shipping_status": "ordered",
    "delivered_to": "repellendus"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/update-shipping-status';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'id' => 17,
            'shipping_status' => 'ordered',
            'delivered_to' => 'repellendus',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Request   

POST connector/api/update-shipping-status

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

id   integer   

id of the sale Example: 17

shipping_status   string  optional  

('ordered', 'packed', 'shipped', 'delivered', 'cancelled') Example: ordered

delivered_to   string  optional  

Name of the consignee Example: repellendus

Superadmin

If SaaS installed get active subscription details, else return the enabled modules details in package_details

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/active-subscription" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/active-subscription"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/active-subscription';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": {
        "id": 1,
        "business_id": 1,
        "package_id": 3,
        "start_date": "2020-09-05 00:00:00",
        "trial_end_date": "2020-09-15",
        "end_date": "2020-10-05 00:00:00",
        "package_price": "599.9900",
        "package_details": {
            "location_count": 0,
            "user_count": 0,
            "product_count": 0,
            "invoice_count": 0,
            "name": "Unlimited",
            "woocommerce_module": 1,
            "essentials_module": 1
        },
        "created_id": 1,
        "paid_via": "stripe",
        "payment_transaction_id": "ch_1CuLdQAhokBpT93LVZNg2At6",
        "status": "approved",
        "deleted_at": null,
        "created_at": "2018-08-01 07:49:09",
        "updated_at": "2018-08-01 07:49:09",
        "locations_created": 1,
        "users_created": 6,
        "products_created": 2,
        "invoices_created": 1
    }
}
 

Request   

GET connector/api/active-subscription

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Get Superadmin Package List

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/packages" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/packages"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/packages';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "id": 1,
            "name": "Starter - Free",
            "description": "Give it a test drive...",
            "location_count": 0,
            "user_count": 0,
            "product_count": 0,
            "bookings": 0,
            "kitchen": 0,
            "order_screen": 0,
            "tables": 0,
            "invoice_count": 0,
            "interval": "months",
            "interval_count": 1,
            "trial_days": 10,
            "price": "0.0000",
            "custom_permissions": {
                "assetmanagement_module": "1",
                "connector_module": "1",
                "crm_module": "1",
                "essentials_module": "1",
                "manufacturing_module": "1",
                "productcatalogue_module": "1",
                "project_module": "1",
                "repair_module": "1",
                "woocommerce_module": "1"
            },
            "created_by": 1,
            "sort_order": 0,
            "is_active": 1,
            "is_private": 0,
            "is_one_time": 0,
            "enable_custom_link": 0,
            "custom_link": "",
            "custom_link_text": "",
            "deleted_at": null,
            "created_at": "2020-10-09 16:38:02",
            "updated_at": "2020-11-11 12:19:17"
        },
        {
            "id": 2,
            "name": "Regular",
            "description": "For Small Shops",
            "location_count": 0,
            "user_count": 0,
            "product_count": 0,
            "bookings": 0,
            "kitchen": 0,
            "order_screen": 0,
            "tables": 0,
            "invoice_count": 0,
            "interval": "months",
            "interval_count": 1,
            "trial_days": 10,
            "price": "199.9900",
            "custom_permissions": {
                "repair_module": "1"
            },
            "created_by": 1,
            "sort_order": 1,
            "is_active": 1,
            "is_private": 0,
            "is_one_time": 0,
            "enable_custom_link": 0,
            "custom_link": null,
            "custom_link_text": null,
            "deleted_at": null,
            "created_at": "2020-10-09 16:38:02",
            "updated_at": "2020-10-09 16:38:02"
        },
        {
            "id": 3,
            "name": "Unlimited",
            "description": "For Large Business",
            "location_count": 0,
            "user_count": 0,
            "product_count": 0,
            "bookings": 0,
            "kitchen": 0,
            "order_screen": 0,
            "tables": 0,
            "invoice_count": 0,
            "interval": "months",
            "interval_count": 1,
            "trial_days": 10,
            "price": "599.9900",
            "custom_permissions": {
                "assetmanagement_module": "1",
                "connector_module": "1",
                "crm_module": "1",
                "essentials_module": "1",
                "manufacturing_module": "1",
                "productcatalogue_module": "1",
                "project_module": "1",
                "repair_module": "1",
                "woocommerce_module": "1"
            },
            "created_by": 1,
            "sort_order": 1,
            "is_active": 1,
            "is_private": 0,
            "is_one_time": 0,
            "enable_custom_link": 0,
            "custom_link": "",
            "custom_link_text": "",
            "deleted_at": null,
            "created_at": "2020-10-09 16:38:02",
            "updated_at": "2020-11-02 12:09:19"
        }
    ]
}
 

Request   

GET connector/api/packages

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Table management

List tables

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/table?location_id=1" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/table"
);

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

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/table';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'location_id' => '1',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "id": 5,
            "business_id": 1,
            "location_id": 1,
            "name": "Table 1",
            "description": null,
            "created_by": 9,
            "deleted_at": null,
            "created_at": "2020-06-04 22:36:37",
            "updated_at": "2020-06-04 22:36:37"
        }
    ]
}
 

Request   

GET connector/api/table

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

location_id   integer  optional  

id of the location Example: 1

Show the specified table

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/table/quae" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/table/quae"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/table/quae';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "id": 5,
            "business_id": 1,
            "location_id": 1,
            "name": "Table 1",
            "description": null,
            "created_by": 9,
            "deleted_at": null,
            "created_at": "2020-06-04 22:36:37",
            "updated_at": "2020-06-04 22:36:37"
        }
    ]
}
 

Request   

GET connector/api/table/{id}

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the table. Example: quae

table   string   

comma separated ids of required tables Example: 5

Tax management

List taxes

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/tax" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/tax"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/tax';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "id": 1,
            "business_id": 1,
            "name": "VAT@10%",
            "amount": 10,
            "is_tax_group": 0,
            "created_by": 1,
            "woocommerce_tax_rate_id": null,
            "deleted_at": null,
            "created_at": "2018-01-04 02:40:07",
            "updated_at": "2018-01-04 02:40:07"
        },
        {
            "id": 2,
            "business_id": 1,
            "name": "CGST@10%",
            "amount": 10,
            "is_tax_group": 0,
            "created_by": 1,
            "woocommerce_tax_rate_id": null,
            "deleted_at": null,
            "created_at": "2018-01-04 02:40:55",
            "updated_at": "2018-01-04 02:40:55"
        },
        {
            "id": 3,
            "business_id": 1,
            "name": "SGST@8%",
            "amount": 8,
            "is_tax_group": 0,
            "created_by": 1,
            "woocommerce_tax_rate_id": null,
            "deleted_at": null,
            "created_at": "2018-01-04 02:41:13",
            "updated_at": "2018-01-04 02:41:13"
        },
        {
            "id": 4,
            "business_id": 1,
            "name": "GST@18%",
            "amount": 18,
            "is_tax_group": 1,
            "created_by": 1,
            "woocommerce_tax_rate_id": null,
            "deleted_at": null,
            "created_at": "2018-01-04 02:42:19",
            "updated_at": "2018-01-04 02:42:19"
        }
    ]
}
 

Request   

GET connector/api/tax

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Get the specified tax

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/tax/aperiam" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/tax/aperiam"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/tax/aperiam';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "id": 1,
            "business_id": 1,
            "name": "VAT@10%",
            "amount": 10,
            "is_tax_group": 0,
            "created_by": 1,
            "woocommerce_tax_rate_id": null,
            "deleted_at": null,
            "created_at": "2018-01-04 02:40:07",
            "updated_at": "2018-01-04 02:40:07"
        }
    ]
}
 

Request   

GET connector/api/tax/{id}

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the tax. Example: aperiam

tax   string   

comma separated ids of required taxes Example: 1

Taxonomy management

List taxonomy

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/taxonomy?type=vel" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/taxonomy"
);

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

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/taxonomy';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'type' => 'vel',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "id": 1,
            "name": "Men's",
            "business_id": 1,
            "short_code": null,
            "parent_id": 0,
            "created_by": 1,
            "category_type": "product",
            "description": null,
            "slug": null,
            "woocommerce_cat_id": null,
            "deleted_at": null,
            "created_at": "2018-01-03 21:06:34",
            "updated_at": "2018-01-03 21:06:34",
            "sub_categories": [
                {
                    "id": 4,
                    "name": "Jeans",
                    "business_id": 1,
                    "short_code": null,
                    "parent_id": 1,
                    "created_by": 1,
                    "category_type": "product",
                    "description": null,
                    "slug": null,
                    "woocommerce_cat_id": null,
                    "deleted_at": null,
                    "created_at": "2018-01-03 21:07:34",
                    "updated_at": "2018-01-03 21:07:34"
                },
                {
                    "id": 5,
                    "name": "Shirts",
                    "business_id": 1,
                    "short_code": null,
                    "parent_id": 1,
                    "created_by": 1,
                    "category_type": "product",
                    "description": null,
                    "slug": null,
                    "woocommerce_cat_id": null,
                    "deleted_at": null,
                    "created_at": "2018-01-03 21:08:18",
                    "updated_at": "2018-01-03 21:08:18"
                }
            ]
        },
        {
            "id": 21,
            "name": "Food & Grocery",
            "business_id": 1,
            "short_code": null,
            "parent_id": 0,
            "created_by": 1,
            "category_type": "product",
            "description": null,
            "slug": null,
            "woocommerce_cat_id": null,
            "deleted_at": null,
            "created_at": "2018-01-06 05:31:35",
            "updated_at": "2018-01-06 05:31:35",
            "sub_categories": []
        }
    ]
}
 

Request   

GET connector/api/taxonomy

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

type   string  optional  

Type of taxonomy (product, device, hrm_department) Example: vel

Get the specified taxonomy

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/taxonomy/eos" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/taxonomy/eos"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/taxonomy/eos';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "id": 1,
            "name": "Men's",
            "business_id": 1,
            "short_code": null,
            "parent_id": 0,
            "created_by": 1,
            "category_type": "product",
            "description": null,
            "slug": null,
            "woocommerce_cat_id": null,
            "deleted_at": null,
            "created_at": "2018-01-03 21:06:34",
            "updated_at": "2018-01-03 21:06:34",
            "sub_categories": [
                {
                    "id": 4,
                    "name": "Jeans",
                    "business_id": 1,
                    "short_code": null,
                    "parent_id": 1,
                    "created_by": 1,
                    "category_type": "product",
                    "description": null,
                    "slug": null,
                    "woocommerce_cat_id": null,
                    "deleted_at": null,
                    "created_at": "2018-01-03 21:07:34",
                    "updated_at": "2018-01-03 21:07:34"
                },
                {
                    "id": 5,
                    "name": "Shirts",
                    "business_id": 1,
                    "short_code": null,
                    "parent_id": 1,
                    "created_by": 1,
                    "category_type": "product",
                    "description": null,
                    "slug": null,
                    "woocommerce_cat_id": null,
                    "deleted_at": null,
                    "created_at": "2018-01-03 21:08:18",
                    "updated_at": "2018-01-03 21:08:18"
                }
            ]
        }
    ]
}
 

Request   

GET connector/api/taxonomy/{id}

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the taxonomy. Example: eos

taxonomy   string   

comma separated ids of product categories Example: 1

Types of service management

List types of service

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/types-of-service" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/types-of-service"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/types-of-service';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "id": 1,
            "name": "Home Delivery",
            "description": null,
            "business_id": 1,
            "location_price_group": {
                "1": "0"
            },
            "packing_charge": "10.0000",
            "packing_charge_type": "fixed",
            "enable_custom_fields": 0,
            "created_at": "2020-06-04 22:41:13",
            "updated_at": "2020-06-04 22:41:13"
        }
    ]
}
 

Request   

GET connector/api/types-of-service

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Get the specified types of service

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/types-of-service/nemo" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/types-of-service/nemo"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/types-of-service/nemo';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "id": 1,
            "name": "Home Delivery",
            "description": null,
            "business_id": 1,
            "location_price_group": {
                "1": "0"
            },
            "packing_charge": "10.0000",
            "packing_charge_type": "fixed",
            "enable_custom_fields": 0,
            "created_at": "2020-06-04 22:41:13",
            "updated_at": "2020-06-04 22:41:13"
        }
    ]
}
 

Request   

GET connector/api/types-of-service/{id}

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the types of service. Example: nemo

types_of_service   string   

comma separated ids of required types of services Example: 1

Unit management

List units

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/unit" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/unit"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/unit';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "id": 1,
            "business_id": 1,
            "actual_name": "Pieces",
            "short_name": "Pc(s)",
            "allow_decimal": 0,
            "base_unit_id": null,
            "base_unit_multiplier": null,
            "created_by": 1,
            "deleted_at": null,
            "created_at": "2018-01-03 15:15:20",
            "updated_at": "2018-01-03 15:15:20",
            "base_unit": null
        },
        {
            "id": 2,
            "business_id": 1,
            "actual_name": "Packets",
            "short_name": "packets",
            "allow_decimal": 0,
            "base_unit_id": null,
            "base_unit_multiplier": null,
            "created_by": 1,
            "deleted_at": null,
            "created_at": "2018-01-06 01:07:01",
            "updated_at": "2018-01-06 01:08:36",
            "base_unit": null
        },
        {
            "id": 15,
            "business_id": 1,
            "actual_name": "Dozen",
            "short_name": "dz",
            "allow_decimal": 0,
            "base_unit_id": 1,
            "base_unit_multiplier": "12.0000",
            "created_by": 9,
            "deleted_at": null,
            "created_at": "2020-07-20 13:11:09",
            "updated_at": "2020-07-20 13:11:09",
            "base_unit": {
                "id": 1,
                "business_id": 1,
                "actual_name": "Pieces",
                "short_name": "Pc(s)",
                "allow_decimal": 0,
                "base_unit_id": null,
                "base_unit_multiplier": null,
                "created_by": 1,
                "deleted_at": null,
                "created_at": "2018-01-03 15:15:20",
                "updated_at": "2018-01-03 15:15:20"
            }
        }
    ]
}
 

Request   

GET connector/api/unit

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Get the specified unit

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/unit/ab" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/unit/ab"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/unit/ab';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "id": 1,
            "business_id": 1,
            "actual_name": "Pieces",
            "short_name": "Pc(s)",
            "allow_decimal": 0,
            "base_unit_id": null,
            "base_unit_multiplier": null,
            "created_by": 1,
            "deleted_at": null,
            "created_at": "2018-01-03 15:15:20",
            "updated_at": "2018-01-03 15:15:20",
            "base_unit": null
        }
    ]
}
 

Request   

GET connector/api/unit/{id}

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the unit. Example: ab

unit   string   

comma separated ids of the units Example: 1

User management

Get the loggedin user details.

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/user/loggedin" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/user/loggedin"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/user/loggedin';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": {
        "id": 1,
        "user_type": "user",
        "surname": "Mr",
        "first_name": "Admin",
        "last_name": null,
        "username": "admin",
        "email": "admin@example.com",
        "language": "en",
        "contact_no": null,
        "address": null,
        "business_id": 1,
        "max_sales_discount_percent": null,
        "allow_login": 1,
        "essentials_department_id": null,
        "essentials_designation_id": null,
        "status": "active",
        "crm_contact_id": null,
        "is_cmmsn_agnt": 0,
        "cmmsn_percent": "0.00",
        "selected_contacts": 0,
        "dob": null,
        "gender": null,
        "marital_status": null,
        "blood_group": null,
        "contact_number": null,
        "fb_link": null,
        "twitter_link": null,
        "social_media_1": null,
        "social_media_2": null,
        "permanent_address": null,
        "current_address": null,
        "guardian_name": null,
        "custom_field_1": null,
        "custom_field_2": null,
        "custom_field_3": null,
        "custom_field_4": null,
        "bank_details": null,
        "id_proof_name": null,
        "id_proof_number": null,
        "deleted_at": null,
        "created_at": "2018-01-04 02:15:19",
        "updated_at": "2018-01-04 02:15:19"
    }
}
 

Request   

GET connector/api/user/loggedin

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Register User

requires authentication

Example request:
curl --request POST \
    "http://127.0.0.1:8000/connector/api/user-registration" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"username\": \"quis\",
    \"email\": \"stokes.eleanore@example.net\",
    \"user_type\": \"sint\",
    \"surname\": \"corrupti\",
    \"first_name\": \"fugiat\",
    \"last_name\": \"maxime\",
    \"is_active\": \"aspernatur\",
    \"crm_contact_id\": 8,
    \"allow_login\": true,
    \"password\": \"d!k3]AmrdAiHAu-{r*5\",
    \"role\": 4,
    \"access_all_locations\": false,
    \"location_permissions\": [
        \"dolores\"
    ],
    \"cmmsn_percent\": \"cum\",
    \"max_sales_discount_percent\": \"rem\",
    \"selected_contacts\": true,
    \"selected_contact_ids\": [
        \"architecto\"
    ],
    \"dob\": \"quia\",
    \"gender\": \"dolores\",
    \"marital_status\": \"culpa\",
    \"blood_group\": \"illum\",
    \"contact_number\": \"et\",
    \"alt_number\": \"perferendis\",
    \"family_number\": \"iusto\",
    \"fb_link\": \"incidunt\",
    \"twitter_link\": \"odio\",
    \"social_media_1\": \"eum\",
    \"social_media_2\": \"tenetur\",
    \"custom_field_1\": \"necessitatibus\",
    \"custom_field_2\": \"iste\",
    \"custom_field_3\": \"placeat\",
    \"custom_field_4\": \"quidem\",
    \"guardian_name\": \"aliquam\",
    \"id_proof_name\": \"ipsa\",
    \"id_proof_number\": \"nemo\",
    \"permanent_address\": \"neque\",
    \"current_address\": \"et\"
}"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/user-registration"
);

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

let body = {
    "username": "quis",
    "email": "stokes.eleanore@example.net",
    "user_type": "sint",
    "surname": "corrupti",
    "first_name": "fugiat",
    "last_name": "maxime",
    "is_active": "aspernatur",
    "crm_contact_id": 8,
    "allow_login": true,
    "password": "d!k3]AmrdAiHAu-{r*5",
    "role": 4,
    "access_all_locations": false,
    "location_permissions": [
        "dolores"
    ],
    "cmmsn_percent": "cum",
    "max_sales_discount_percent": "rem",
    "selected_contacts": true,
    "selected_contact_ids": [
        "architecto"
    ],
    "dob": "quia",
    "gender": "dolores",
    "marital_status": "culpa",
    "blood_group": "illum",
    "contact_number": "et",
    "alt_number": "perferendis",
    "family_number": "iusto",
    "fb_link": "incidunt",
    "twitter_link": "odio",
    "social_media_1": "eum",
    "social_media_2": "tenetur",
    "custom_field_1": "necessitatibus",
    "custom_field_2": "iste",
    "custom_field_3": "placeat",
    "custom_field_4": "quidem",
    "guardian_name": "aliquam",
    "id_proof_name": "ipsa",
    "id_proof_number": "nemo",
    "permanent_address": "neque",
    "current_address": "et"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/user-registration';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'username' => 'quis',
            'email' => 'stokes.eleanore@example.net',
            'user_type' => 'sint',
            'surname' => 'corrupti',
            'first_name' => 'fugiat',
            'last_name' => 'maxime',
            'is_active' => 'aspernatur',
            'crm_contact_id' => 8,
            'allow_login' => true,
            'password' => 'd!k3]AmrdAiHAu-{r*5',
            'role' => 4,
            'access_all_locations' => false,
            'location_permissions' => [
                'dolores',
            ],
            'cmmsn_percent' => 'cum',
            'max_sales_discount_percent' => 'rem',
            'selected_contacts' => true,
            'selected_contact_ids' => [
                'architecto',
            ],
            'dob' => 'quia',
            'gender' => 'dolores',
            'marital_status' => 'culpa',
            'blood_group' => 'illum',
            'contact_number' => 'et',
            'alt_number' => 'perferendis',
            'family_number' => 'iusto',
            'fb_link' => 'incidunt',
            'twitter_link' => 'odio',
            'social_media_1' => 'eum',
            'social_media_2' => 'tenetur',
            'custom_field_1' => 'necessitatibus',
            'custom_field_2' => 'iste',
            'custom_field_3' => 'placeat',
            'custom_field_4' => 'quidem',
            'guardian_name' => 'aliquam',
            'id_proof_name' => 'ipsa',
            'id_proof_number' => 'nemo',
            'permanent_address' => 'neque',
            'current_address' => 'et',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "success": 1,
    "msg": "User added successfully",
    "user": {
        "surname": "Mr",
        "first_name": "Test",
        "last_name": "kumar",
        "email": "test@example.com",
        "user_type": "user_customer",
        "crm_contact_id": "2",
        "allow_login": 1,
        "username": "0017",
        "cmmsn_percent": "25",
        "max_sales_discount_percent": "52",
        "dob": "1997-10-12",
        "gender": "male",
        "marital_status": "unmarried",
        "blood_group": "0+",
        "contact_number": "4578451245",
        "alt_number": "7474747474",
        "family_number": "7474147414",
        "fb_link": "fb.com/username",
        "twitter_link": "twitter.com/username",
        "social_media_1": "test",
        "social_media_2": "test",
        "custom_field_1": "test",
        "custom_field_2": "test",
        "custom_field_3": "test",
        "custom_field_4": "test",
        "guardian_name": "test",
        "id_proof_name": "uid",
        "id_proof_number": "747845120124",
        "permanent_address": "test permanent adrress",
        "current_address": "test current address",
        "bank_details": "{\"account_holder_name\":\"test\",\"account_number\":\"test\",\"bank_name\":\"test\",\"bank_code\":\"test\",\"branch\":\"test\",\"tax_payer_id\":\"test\"}",
        "selected_contacts": "1",
        "status": "active",
        "business_id": 1,
        "updated_at": "2021-08-12 18:03:58",
        "created_at": "2021-08-12 18:03:58",
        "id": 140
    }
}
 

Request   

POST connector/api/user-registration

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

username   string  optional  

minimum 5 characters Example: quis

email   string   

Example: stokes.eleanore@example.net

user_type   string   

'user_customer' for contact/customer login & 'user' for general user Example: sint

surname   string  optional  

prefix like Mr, Mrs,Dr Example: corrupti

first_name   string   

Example: fugiat

last_name   string  optional  

Example: maxime

is_active   string   

'active', 'inactive', 'terminated' Example: aspernatur

crm_contact_id   integer  optional  

if user_type is 'user_customer' then required Example: 8

allow_login   boolean  optional  

1 to allow login & 0 to disable login Example: true

password   string  optional  

minimum 6 characters & required if 'allow_login' is 1 Example: d!k3]AmrdAiHAu-{r*5

role   integer  optional  

id of role to be assigned to user & required if user_type is 'user' Example: 4

access_all_locations   boolean  optional  

1 if user has access all location else 0 & required if user_type is 'user' Example: false

location_permissions   string[]  optional  

array of location ids to be assigned to user & required if user_type is 'user' and 'access_all_locations' is 0

cmmsn_percent   decimal  optional  

Example: cum

max_sales_discount_percent   decimal  optional  

Example: rem

selected_contacts   boolean  optional  

1 or 0 Example: true

selected_contact_ids   string[]  optional  

array of contact ids & required if 'selected_contacts' is 1

dob   date  optional  

dob of user in "Y-m-d" format Ex: 1997-10-29 Example: quia

gender   string  optional  

if user is 'male', 'female', 'others' Example: dolores

marital_status   string  optional  

if user is 'married', 'unmarried', 'divorced' Example: culpa

blood_group   string  optional  

Example: illum

contact_number   string  optional  

Example: et

alt_number   string  optional  

Example: perferendis

family_number   string  optional  

Example: iusto

fb_link   string  optional  

Example: incidunt

twitter_link   string  optional  

Example: odio

social_media_1   string  optional  

Example: eum

social_media_2   string  optional  

Example: tenetur

custom_field_1   string  optional  

Example: necessitatibus

custom_field_2   string  optional  

Example: iste

custom_field_3   string  optional  

Example: placeat

custom_field_4   string  optional  

Example: quidem

guardian_name   string  optional  

Example: aliquam

id_proof_name   string  optional  

ID proof of user like Adhar No. Example: ipsa

id_proof_number   string  optional  

Id Number like adhar number Example: nemo

permanent_address   string  optional  

Example: neque

current_address   string  optional  

Example: et

bank_details   object  optional  
*   object  optional  
account_holder_name   string  optional  

Example: voluptatem

account_number   string  optional  

Example: voluptas

bank_name   string  optional  

Example: ipsam

bank_code   string  optional  

Example: in

branch   string  optional  

Example: aut

tax_payer_id   string  optional  

Example: repudiandae

List users

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/user?service_staff=" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/user"
);

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

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/user';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'service_staff' => '0',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "id": 1,
            "user_type": "user",
            "surname": "Mr",
            "first_name": "Admin",
            "last_name": null,
            "username": "admin",
            "email": "admin@example.com",
            "language": "en",
            "contact_no": null,
            "address": null,
            "business_id": 1,
            "max_sales_discount_percent": null,
            "allow_login": 1,
            "essentials_department_id": null,
            "essentials_designation_id": null,
            "status": "active",
            "crm_contact_id": null,
            "is_cmmsn_agnt": 0,
            "cmmsn_percent": "0.00",
            "selected_contacts": 0,
            "dob": null,
            "gender": null,
            "marital_status": null,
            "blood_group": null,
            "contact_number": null,
            "fb_link": null,
            "twitter_link": null,
            "social_media_1": null,
            "social_media_2": null,
            "permanent_address": null,
            "current_address": null,
            "guardian_name": null,
            "custom_field_1": null,
            "custom_field_2": null,
            "custom_field_3": null,
            "custom_field_4": null,
            "bank_details": null,
            "id_proof_name": null,
            "id_proof_number": null,
            "deleted_at": null,
            "created_at": "2018-01-04 02:15:19",
            "updated_at": "2018-01-04 02:15:19"
        }
    ]
}
 

Request   

GET connector/api/user

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

service_staff   boolean  optional  

Filter service staffs from users list (0, 1) Example: false

Get the specified user

requires authentication

Example request:
curl --request GET \
    --get "http://127.0.0.1:8000/connector/api/user/nesciunt" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/user/nesciunt"
);

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

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/user/nesciunt';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "id": 1,
            "user_type": "user",
            "surname": "Mr",
            "first_name": "Admin",
            "last_name": null,
            "username": "admin",
            "email": "admin@example.com",
            "language": "en",
            "contact_no": null,
            "address": null,
            "business_id": 1,
            "max_sales_discount_percent": null,
            "allow_login": 1,
            "essentials_department_id": null,
            "essentials_designation_id": null,
            "status": "active",
            "crm_contact_id": null,
            "is_cmmsn_agnt": 0,
            "cmmsn_percent": "0.00",
            "selected_contacts": 0,
            "dob": null,
            "gender": null,
            "marital_status": null,
            "blood_group": null,
            "contact_number": null,
            "fb_link": null,
            "twitter_link": null,
            "social_media_1": null,
            "social_media_2": null,
            "permanent_address": null,
            "current_address": null,
            "guardian_name": null,
            "custom_field_1": null,
            "custom_field_2": null,
            "custom_field_3": null,
            "custom_field_4": null,
            "bank_details": null,
            "id_proof_name": null,
            "id_proof_number": null,
            "deleted_at": null,
            "created_at": "2018-01-04 02:15:19",
            "updated_at": "2018-01-04 02:15:19"
        }
    ]
}
 

Request   

GET connector/api/user/{id}

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the user. Example: nesciunt

user   string   

comma separated ids of the required users Example: 1

Update user password.

requires authentication

Example request:
curl --request POST \
    "http://127.0.0.1:8000/connector/api/update-password" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"current_password\": \"dignissimos\",
    \"new_password\": \"asperiores\"
}"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/update-password"
);

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

let body = {
    "current_password": "dignissimos",
    "new_password": "asperiores"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/update-password';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'current_password' => 'dignissimos',
            'new_password' => 'asperiores',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "success": 1,
    "msg": "Password updated successfully"
}
 

Request   

POST connector/api/update-password

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

current_password   string   

Current password of the user Example: dignissimos

new_password   string   

New password of the user Example: asperiores

Recover forgotten password.

requires authentication

Example request:
curl --request POST \
    "http://127.0.0.1:8000/connector/api/forget-password" \
    --header "Authorization: Bearer {access_token}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"email\": \"marisa59@example.com\"
}"
const url = new URL(
    "http://127.0.0.1:8000/connector/api/forget-password"
);

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

let body = {
    "email": "marisa59@example.com"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'http://127.0.0.1:8000/connector/api/forget-password';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {access_token}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'email' => 'marisa59@example.com',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "success": 1,
    "msg": "New password sent to user@example.com successfully"
}
 

Request   

POST connector/api/forget-password

Headers

Authorization      

Example: Bearer {access_token}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

email   string   

Users email id Example: marisa59@example.com