Introduction
AC POS Connector API
واجهة الربط البرمجية لنظام AC POS تربط تطبيق الجوال والمتاجر والأنظمة الخارجية بمنشأتك.
- العنوان الأساسي:
/connector/apiعلى عنوان النظام. - الدخول: أنشئ عميل ربط من «الربط البرمجي › مفاتيح الربط»، ثم اطلب رمزاً عبر
POST /oauth/token(grant_type=password). الرمز صالح 90 يوماً ورمز التجديد 180 يوماً. - الترويسات:
Authorization: Bearer <access_token>وAccept: application/jsonمع كل طلب. - الأخطاء: شكل واحد دائماً:
messageوerror.code(ثابت ومقروء آلياً)، ومع أخطاء التحقق (422) أيضاًerrors/error.fields، ومع أخطاء الخادمerror.reference. - تقسيم الصفحات:
per_pageحتى 500 وpage. القيمةper_page=-1تعيد الكل إن لم يتجاوز 1000 سجل، وإلا فالرد 422. - الخروج:
POST /connector/api/logoutيلغي رمز ذلك الطلب.
AC POS Connector API connects the mobile app, online stores and other systems to your business.
- Base URL:
/connector/apion the system's address. - Authentication: create a client under Connector › API keys, then request a token with
POST /oauth/token(grant_type=password). Access tokens last 90 days, refresh tokens 180 days. - Headers:
Authorization: Bearer <access_token>andAccept: application/jsonon every request. - Errors: always one shape —
messageanderror.code(stable, machine-readable); validation errors (422) adderrors/error.fields; server errors adderror.reference. Status codes: 401 session ended or invalid, 403 not allowed, 404 not found, 422 invalid input, 429 too many requests. - Pagination:
per_pageup to 500 andpage.per_page=-1returns everything when there are at most 1000 rows; otherwise the answer is 422 and you should page. - Logout:
POST /connector/api/logoutrevokes the token of that request.
{"message": "The name field is required.",
"error": {"code": "validation_failed", "message": "The name field is required.", "fields": {"name": ["The name field is required."]}},
"errors": {"name": ["The name field is required."]}}
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 a token / الحصول على رمز الدخول
- A business admin creates a client under Connector › API keys (مفاتيح الربط) and copies the client ID and secret (the secret is shown once).
POST /oauth/tokenwith JSON{"grant_type":"password","client_id":…,"client_secret":…,"username":…,"password":…,"scope":""}. The answer holdsaccess_token(90 days) andrefresh_token(180 days).- Send
Authorization: Bearer <access_token>andAccept: application/jsonwith every call. - Renew with
grant_type=refresh_token; end a session withPOST /connector/api/logout.
Only active staff accounts with login rights, of an active business whose plan includes the Connector, can get or use a token. A new password, a disabled account or a deleted user ends every session. POST /oauth/token allows, per account, 10 attempts a minute from one address and 30 a minute or 100 an hour from all addresses, and 60 a minute per address. A right password on a disabled account, a customer-portal account or a suspended business is refused (400) with error = account_disabled, account_not_allowed or business_inactive; a wrong password stays invalid_grant.
Attendance (HRM)
Latest attendance record
requires authentication
The employee's most recent day record and whether they are clocked in now (kept for apps that used the older Essentials-shaped endpoint).
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/get-attendance/12" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/get-attendance/12"
);
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();
$response = $client->get(
'https://bqf.ai/connector/api/get-attendance/12',
[
'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": {
"user_id": 12,
"business_id": 1,
"attendance_date": "2026-09-24",
"clock_in_time": "2026-09-24 09:02:11",
"clock_out_time": null,
"status": "present",
"late_minutes": 0,
"worked_minutes": 0,
"overtime_minutes": 0,
"state": {
"in": true,
"since": "2026-09-24 09:02:11"
}
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Clock in
requires authentication
Records the clock-in at the server's time. With the phone's position the branch geofence
is applied: in warn mode an outside punch is recorded and flagged, in block mode it is
refused (422 outside_geofence), and a punch with no position is refused (422
location_required) unless the phone is on the branch's own network.
Example request:
curl --request POST \
"https://bqf.ai/connector/api/clock-in" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"latitude\": 24.7136,
\"longitude\": 46.6753,
\"accuracy_m\": 12,
\"clock_in_note\": \"from the app\",
\"user_id\": 12
}"
const url = new URL(
"https://bqf.ai/connector/api/clock-in"
);
const headers = {
"Authorization": "Bearer {access_token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"latitude": 24.7136,
"longitude": 46.6753,
"accuracy_m": 12,
"clock_in_note": "from the app",
"user_id": 12
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://bqf.ai/connector/api/clock-in',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'latitude' => 24.7136,
'longitude' => 46.6753,
'accuracy_m' => 12,
'clock_in_note' => 'from the app',
'user_id' => 12,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"success": true,
"msg": "Clocked in at 09:02",
"type": "clock_in",
"punch": {
"id": 5,
"type": "in",
"at": "2026-09-24 09:02:11",
"source": "mobile",
"within_geofence": true,
"distance_m": 34
},
"state": {
"in": true,
"since": "2026-09-24 09:02:11"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Clock out
requires authentication
Same rules as clock in. The day record (late, early leave, worked and overtime minutes) is recomputed from the day's punches and the shift.
Example request:
curl --request POST \
"https://bqf.ai/connector/api/clock-out" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"latitude\": 24.7136,
\"longitude\": 46.6753,
\"accuracy_m\": 12,
\"clock_out_note\": \"done\",
\"user_id\": 12
}"
const url = new URL(
"https://bqf.ai/connector/api/clock-out"
);
const headers = {
"Authorization": "Bearer {access_token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"latitude": 24.7136,
"longitude": 46.6753,
"accuracy_m": 12,
"clock_out_note": "done",
"user_id": 12
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://bqf.ai/connector/api/clock-out',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'latitude' => 24.7136,
'longitude' => 46.6753,
'accuracy_m' => 12,
'clock_out_note' => 'done',
'user_id' => 12,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"success": true,
"msg": "Clocked out at 17:31",
"type": "clock_out",
"punch": {
"id": 6,
"type": "out",
"at": "2026-09-24 17:31:40",
"source": "mobile",
"within_geofence": true,
"distance_m": 20
},
"state": {
"in": false,
"since": "2026-09-24 17:31:40"
},
"log": {
"status": "present",
"clock_in": "09:02:11",
"clock_out": "17:31:40",
"late_minutes": 0,
"early_leave_minutes": 0,
"worked_minutes": 449,
"overtime_minutes": 31
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
My attendance today
requires authentication
The employee, their shift for today, whether they are clocked in, today's punches and
day record, the month so far, and the branch geofence the app should show (mode off,
warn or block; lat/lng/radius_m when the branch has one).
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/attendance/me?user_id=12" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/attendance/me"
);
const params = {
"user_id": "12",
};
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();
$response = $client->get(
'https://bqf.ai/connector/api/attendance/me',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'user_id' => '12',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": {
"employee": {
"user_id": 12,
"name": "Sami",
"employee_code": "E-7",
"location": {
"id": 1,
"name": "Main"
}
},
"state": {
"in": true,
"since": "2026-09-24 09:02:11"
},
"shift": {
"name": "Morning",
"start": "09:00",
"end": "17:00",
"is_rest_day": false,
"is_holiday": false
},
"today": {
"punches": [
{
"id": 5,
"type": "in",
"at": "2026-09-24 09:02:11",
"source": "mobile",
"within_geofence": true,
"distance_m": 34
}
],
"log": {
"status": "present",
"clock_in": "09:02:11",
"clock_out": null,
"late_minutes": 0,
"early_leave_minutes": 0,
"worked_minutes": 0,
"overtime_minutes": 0
}
},
"month": {
"present": 17,
"late": 2,
"absent": 0,
"worked_hours": 136.5,
"overtime_hours": 3.5
},
"geofence": {
"mode": "warn",
"has_fence": true,
"lat": 24.7136,
"lng": 46.6753,
"radius_m": 150
}
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Attendance history
requires authentication
Day records between two dates (at most 92 days), newest first.
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/attendance/history?from=2026-09-01&to=2026-09-30&user_id=12" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"from\": \"2026-09-24T21:24:58\",
\"to\": \"2026-09-24T21:24:58\",
\"user_id\": 3
}"
const url = new URL(
"https://bqf.ai/connector/api/attendance/history"
);
const params = {
"from": "2026-09-01",
"to": "2026-09-30",
"user_id": "12",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {access_token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"from": "2026-09-24T21:24:58",
"to": "2026-09-24T21:24:58",
"user_id": 3
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://bqf.ai/connector/api/attendance/history',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'from' => '2026-09-01',
'to' => '2026-09-30',
'user_id' => '12',
],
'json' => [
'from' => '2026-09-24T21:24:58',
'to' => '2026-09-24T21:24:58',
'user_id' => 3,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"date": "2026-09-24",
"status": "late",
"clock_in": "09:25:00",
"clock_out": "18:15:00",
"late_minutes": 15,
"early_leave_minutes": 0,
"worked_minutes": 470,
"overtime_minutes": 75,
"source": "mobile"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
My attendance violations
requires authentication
Open and recently decided violations (lateness, early leave, absence) with their status, so the employee can explain from the app.
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/attendance/violations?user_id=12" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/attendance/violations"
);
const params = {
"user_id": "12",
};
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();
$response = $client->get(
'https://bqf.ai/connector/api/attendance/violations',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'user_id' => '12',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 3,
"date": "2026-09-22",
"type": "late",
"minutes": 20,
"occurrence": 2,
"penalty_fraction": 0.15,
"status": "justification_requested",
"justification": null
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Explain a violation
requires authentication
The employee's own explanation for one of their violations that is still open.
Example request:
curl --request POST \
"https://bqf.ai/connector/api/attendance/violations/3/justify" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"justification\": \"traffic accident on the ring road\"
}"
const url = new URL(
"https://bqf.ai/connector/api/attendance/violations/3/justify"
);
const headers = {
"Authorization": "Bearer {access_token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"justification": "traffic accident on the ring road"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://bqf.ai/connector/api/attendance/violations/3/justify',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'justification' => 'traffic accident on the ring road',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"success": true,
"msg": "Your explanation was sent.",
"status": "justified"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Public holidays
requires authentication
The business's public holidays as HRM has them (no lateness or absence on those days; work on them is overtime), for the app's calendar.
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/holidays" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/holidays"
);
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();
$response = $client->get(
'https://bqf.ai/connector/api/holidays',
[
'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": [
{
"date": "2026-03-20"
},
{
"date": "2026-03-21"
},
{
"date": "2026-09-23"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Authentication
Log out
requires authentication
Revokes the access token used for this request and its refresh token. Other devices of the same user stay logged in.
Example request:
curl --request POST \
"https://bqf.ai/connector/api/logout" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/logout"
);
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();
$response = $client->post(
'https://bqf.ai/connector/api/logout',
[
'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": true
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Brand management
List brands
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/brand" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/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();
$response = $client->get(
'https://bqf.ai/connector/api/brand',
[
'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"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get the specified brand
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/brand/eius" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/brand/eius"
);
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();
$response = $client->get(
'https://bqf.ai/connector/api/brand/eius',
[
'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"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Business Location management
List business locations
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/business-location" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/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();
$response = $client->get(
'https://bqf.ai/connector/api/business-location',
[
'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"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get the specified business location
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/business-location/sed" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/business-location/sed"
);
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();
$response = $client->get(
'https://bqf.ai/connector/api/business-location/sed',
[
'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"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
CRM
List Follow ups
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/crm/follow-ups?start_date=2020-12-16&end_date=2020-12-16&status=fuga&follow_up_type=atque&followup_category_id=doloremque&order_by=start_datetime&direction=desc&per_page=15" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/crm/follow-ups"
);
const params = {
"start_date": "2020-12-16",
"end_date": "2020-12-16",
"status": "fuga",
"follow_up_type": "atque",
"followup_category_id": "doloremque",
"order_by": "start_datetime",
"direction": "desc",
"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();
$response = $client->get(
'https://bqf.ai/connector/api/crm/follow-ups',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'start_date' => '2020-12-16',
'end_date' => '2020-12-16',
'status' => 'fuga',
'follow_up_type' => 'atque',
'followup_category_id' => 'doloremque',
'order_by' => 'start_datetime',
'direction' => 'desc',
'per_page' => '15',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 1,
"business_id": 1,
"contact_id": 50,
"title": "Test Follow up",
"status": "scheduled",
"start_datetime": "2020-12-16 15:15:00",
"end_datetime": "2020-12-16 15:15:00",
"description": "<p>tst</p>",
"schedule_type": "call",
"allow_notification": 0,
"notify_via": {
"sms": 0,
"mail": 1
},
"notify_before": null,
"notify_type": "minute",
"created_by": 1,
"followup_additional_info": null,
"created_at": "2020-12-16 03:15:23",
"updated_at": "2020-12-16 15:46:34",
"customer": {
"id": 50,
"business_id": 1,
"type": "lead",
"supplier_business_name": null,
"name": " Lead 4 ",
"prefix": null,
"first_name": "Lead 4",
"middle_name": null,
"last_name": null,
"email": null,
"contact_id": "CO0011",
"contact_status": "active",
"tax_number": null,
"city": null,
"state": null,
"country": null,
"address_line_1": null,
"address_line_2": null,
"zip_code": null,
"dob": null,
"mobile": "234567",
"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": "55",
"crm_life_stage": "62",
"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": "2020-12-15 23:14:48",
"updated_at": "2021-01-07 15:32:52",
"remember_token": null,
"password": null
}
},
{
"id": 2,
"business_id": 1,
"contact_id": 50,
"title": "Test Follow up 1",
"status": "completed",
"start_datetime": "2020-12-16 15:46:00",
"end_datetime": "2020-12-16 15:46:00",
"description": "<p>Test Follow up</p>",
"schedule_type": "call",
"allow_notification": 0,
"notify_via": {
"sms": 0,
"mail": 1
},
"notify_before": null,
"notify_type": "minute",
"created_by": 1,
"followup_additional_info": null,
"created_at": "2020-12-16 15:46:57",
"updated_at": "2020-12-17 10:24:11",
"customer": {
"id": 50,
"business_id": 1,
"type": "lead",
"supplier_business_name": null,
"name": " Lead 4 ",
"prefix": null,
"first_name": "Lead 4",
"middle_name": null,
"last_name": null,
"email": null,
"contact_id": "CO0011",
"contact_status": "active",
"tax_number": null,
"city": null,
"state": null,
"country": null,
"address_line_1": null,
"address_line_2": null,
"zip_code": null,
"dob": null,
"mobile": "234567",
"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": "55",
"crm_life_stage": "62",
"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": "2020-12-15 23:14:48",
"updated_at": "2021-01-07 15:32:52",
"remember_token": null,
"password": null
}
}
],
"links": {
"first": "https://bqf.ai/connector/api/crm/follow-ups?page=1",
"last": "https://bqf.ai/connector/api/crm/follow-ups?page=21",
"prev": null,
"next": "https://bqf.ai/connector/api/crm/follow-ups?page=2"
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 21,
"path": "https://bqf.ai/connector/api/crm/follow-ups",
"per_page": "2",
"to": 2,
"total": 42
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Add follow up
requires authentication
Example request:
curl --request POST \
"https://bqf.ai/connector/api/crm/follow-ups" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"title\": \"Meeting with client\",
\"contact_id\": 2,
\"description\": \"Non ullam excepturi repudiandae.\",
\"schedule_type\": \"quo\",
\"user_id\": [
2,
3,
5
],
\"notify_before\": 5,
\"notify_type\": \"minute\",
\"status\": \"open\",
\"notify_via\": [
\"et\"
],
\"start_datetime\": \"2021-01-06 13:05:00\",
\"end_datetime\": \"2021-01-06 13:05:00\",
\"followup_additional_info\": [
\"quaerat\"
],
\"allow_notification\": true
}"
const url = new URL(
"https://bqf.ai/connector/api/crm/follow-ups"
);
const headers = {
"Authorization": "Bearer {access_token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"title": "Meeting with client",
"contact_id": 2,
"description": "Non ullam excepturi repudiandae.",
"schedule_type": "quo",
"user_id": [
2,
3,
5
],
"notify_before": 5,
"notify_type": "minute",
"status": "open",
"notify_via": [
"et"
],
"start_datetime": "2021-01-06 13:05:00",
"end_datetime": "2021-01-06 13:05:00",
"followup_additional_info": [
"quaerat"
],
"allow_notification": true
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://bqf.ai/connector/api/crm/follow-ups',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'title' => 'Meeting with client',
'contact_id' => 2,
'description' => 'Non ullam excepturi repudiandae.',
'schedule_type' => 'quo',
'user_id' => [
2,
3,
5,
],
'notify_before' => 5,
'notify_type' => 'minute',
'status' => 'open',
'notify_via' => [
'et',
],
'start_datetime' => '2021-01-06 13:05:00',
'end_datetime' => '2021-01-06 13:05:00',
'followup_additional_info' => [
'quaerat',
],
'allow_notification' => true,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": {
"title": "test",
"contact_id": "1",
"description": null,
"schedule_type": "call",
"followup_category_id": "1",
"notify_before": null,
"status": null,
"start_datetime": "2021-01-06 15:27:00",
"end_datetime": "2021-01-06 15:27:00",
"allow_notification": 0,
"notify_via": {
"sms": 1,
"mail": 1
},
"notify_type": "hour",
"business_id": 1,
"created_by": 1,
"updated_at": "2021-01-06 17:04:54",
"created_at": "2021-01-06 17:04:54",
"id": 20
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get the specified followup
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/crm/follow-ups/rerum" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/crm/follow-ups/rerum"
);
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();
$response = $client->get(
'https://bqf.ai/connector/api/crm/follow-ups/rerum',
[
'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": 20,
"business_id": 1,
"contact_id": 1,
"title": "Meeting with client",
"status": null,
"start_datetime": "2021-01-06 15:27:00",
"end_datetime": "2021-01-06 15:27:00",
"description": null,
"schedule_type": "call",
"allow_notification": 0,
"notify_via": {
"sms": 1,
"mail": 1
},
"notify_before": null,
"notify_type": "hour",
"created_by": 1,
"created_at": "2021-01-06 17:04:54",
"updated_at": "2021-01-06 17:04:54",
"customer": {
"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": null,
"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": null,
"dob": null,
"mobile": "(378) 400-1234",
"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": 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,
"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:45:20",
"updated_at": "2018-06-11 22:22:05",
"remember_token": null,
"password": null
},
"users": [
{
"id": 2,
"user_type": "user",
"surname": "Mr",
"first_name": "Demo",
"last_name": "Cashier",
"username": "cashier",
"email": "cashier@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:20:58",
"updated_at": "2018-01-04 02:20:58",
"pivot": {
"schedule_id": 20,
"user_id": 2
}
}
]
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update follow up
requires authentication
Example request:
curl --request PUT \
"https://bqf.ai/connector/api/crm/follow-ups/quos" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"title\": \"Meeting with client\",
\"contact_id\": 2,
\"description\": \"Facere id esse est modi quis.\",
\"schedule_type\": \"aperiam\",
\"user_id\": [
2,
3,
5
],
\"notify_before\": 5,
\"notify_type\": \"minute\",
\"status\": \"open\",
\"notify_via\": [
\"non\"
],
\"followup_additional_info\": [
\"deleniti\"
],
\"start_datetime\": \"2021-01-06 13:05:00\",
\"end_datetime\": \"2021-01-06 13:05:00\",
\"allow_notification\": true
}"
const url = new URL(
"https://bqf.ai/connector/api/crm/follow-ups/quos"
);
const headers = {
"Authorization": "Bearer {access_token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"title": "Meeting with client",
"contact_id": 2,
"description": "Facere id esse est modi quis.",
"schedule_type": "aperiam",
"user_id": [
2,
3,
5
],
"notify_before": 5,
"notify_type": "minute",
"status": "open",
"notify_via": [
"non"
],
"followup_additional_info": [
"deleniti"
],
"start_datetime": "2021-01-06 13:05:00",
"end_datetime": "2021-01-06 13:05:00",
"allow_notification": true
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->put(
'https://bqf.ai/connector/api/crm/follow-ups/quos',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'title' => 'Meeting with client',
'contact_id' => 2,
'description' => 'Facere id esse est modi quis.',
'schedule_type' => 'aperiam',
'user_id' => [
2,
3,
5,
],
'notify_before' => 5,
'notify_type' => 'minute',
'status' => 'open',
'notify_via' => [
'non',
],
'followup_additional_info' => [
'deleniti',
],
'start_datetime' => '2021-01-06 13:05:00',
'end_datetime' => '2021-01-06 13:05:00',
'allow_notification' => true,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": {
"id": 20,
"business_id": 1,
"contact_id": "1",
"title": "Meeting with client",
"status": null,
"start_datetime": "2021-01-06 15:27:00",
"end_datetime": "2021-01-06 15:27:00",
"description": null,
"schedule_type": "call",
"allow_notification": 0,
"notify_via": {
"sms": 1,
"mail": 0
},
"notify_before": null,
"notify_type": "hour",
"created_by": 1,
"created_at": "2021-01-06 17:04:54",
"updated_at": "2021-01-06 18:22:21"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get follow up resources
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/crm/follow-up-resources" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/crm/follow-up-resources"
);
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();
$response = $client->get(
'https://bqf.ai/connector/api/crm/follow-up-resources',
[
'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": {
"statuses": {
"scheduled": "Scheduled",
"open": "Open",
"canceled": "Cancelled",
"completed": "Completed"
},
"follow_up_types": {
"call": "Call",
"sms": "Sms",
"meeting": "Meeting",
"email": "Email"
},
"notify_type": {
"minute": "Minute",
"hour": "Hour",
"day": "Day"
},
"notify_via": {
"sms": "Sms",
"mail": "Email"
}
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List lead
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/crm/leads?assigned_to=1%2C2%2C3&name=et&biz_name=autem&mobile_num=8&contact_id=dolor&order_by=aut&direction=desc&per_page=15" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/crm/leads"
);
const params = {
"assigned_to": "1,2,3",
"name": "et",
"biz_name": "autem",
"mobile_num": "8",
"contact_id": "dolor",
"order_by": "aut",
"direction": "desc",
"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();
$response = $client->get(
'https://bqf.ai/connector/api/crm/leads',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'assigned_to' => '1,2,3',
'name' => 'et',
'biz_name' => 'autem',
'mobile_num' => '8',
'contact_id' => 'dolor',
'order_by' => 'aut',
'direction' => 'desc',
'per_page' => '15',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"contact_id": "CO0010",
"name": "mr Lead 3 kr kr 2",
"supplier_business_name": "POS",
"email": null,
"mobile": "9437638555",
"tax_number": null,
"created_at": "2020-12-15 23:14:30",
"custom_field1": null,
"custom_field2": null,
"custom_field3": null,
"custom_field4": null,
"custom_field5": null,
"custom_field6": null,
"alternate_number": null,
"landline": null,
"dob": null,
"contact_status": "active",
"type": "lead",
"custom_field7": null,
"custom_field8": null,
"custom_field9": null,
"custom_field10": null,
"id": 49,
"business_id": 1,
"crm_source": "55",
"crm_life_stage": "60",
"address_line_1": null,
"address_line_2": null,
"city": null,
"state": null,
"country": null,
"zip_code": null,
"last_follow_up_id": 18,
"upcoming_follow_up_id": null,
"last_follow_up": "2021-01-07 10:26:00",
"upcoming_follow_up": null,
"last_follow_up_additional_info": "{\"test\":\"test done\",\"call_duration\":\"1.5 Hour\",\"rand\":1}",
"upcoming_follow_up_additional_info": null,
"source": {
"id": 55,
"name": "Facebook",
"business_id": 1,
"short_code": null,
"parent_id": 0,
"created_by": 1,
"category_type": "source",
"description": "Facebook",
"slug": null,
"woocommerce_cat_id": null,
"deleted_at": null,
"created_at": "2020-12-15 23:07:53",
"updated_at": "2020-12-15 23:07:53"
},
"life_stage": {
"id": 60,
"name": "Open Deal",
"business_id": 1,
"short_code": null,
"parent_id": 0,
"created_by": 1,
"category_type": "life_stage",
"description": "Open Deal",
"slug": null,
"woocommerce_cat_id": null,
"deleted_at": null,
"created_at": "2020-12-15 23:11:05",
"updated_at": "2020-12-15 23:11:05"
},
"lead_users": [
{
"id": 10,
"user_type": "user",
"surname": "Mr.",
"first_name": "WooCommerce",
"last_name": "User",
"username": "woocommerce_user",
"email": "woo@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-08-02 04:05:55",
"updated_at": "2018-08-02 04:05:55",
"pivot": {
"contact_id": 49,
"user_id": 10
}
}
]
},
{
"contact_id": "CO0011",
"name": " Lead 4 ",
"supplier_business_name": null,
"email": null,
"mobile": "234567",
"tax_number": null,
"created_at": "2020-12-15 23:14:48",
"custom_field1": null,
"custom_field2": null,
"custom_field3": null,
"custom_field4": null,
"custom_field5": null,
"custom_field6": null,
"alternate_number": null,
"landline": null,
"dob": null,
"contact_status": "active",
"type": "lead",
"custom_field7": null,
"custom_field8": null,
"custom_field9": null,
"custom_field10": null,
"id": 50,
"business_id": 1,
"crm_source": "55",
"crm_life_stage": "62",
"address_line_1": null,
"address_line_2": null,
"city": null,
"state": null,
"country": null,
"zip_code": null,
"last_follow_up_id": 32,
"upcoming_follow_up_id": null,
"last_follow_up": "2021-01-08 16:06:00",
"upcoming_follow_up": null,
"last_follow_up_additional_info": "{\"call_durartion\":\"5 hour\"}",
"upcoming_follow_up_additional_info": null,
"source": {
"id": 55,
"name": "Facebook",
"business_id": 1,
"short_code": null,
"parent_id": 0,
"created_by": 1,
"category_type": "source",
"description": "Facebook",
"slug": null,
"woocommerce_cat_id": null,
"deleted_at": null,
"created_at": "2020-12-15 23:07:53",
"updated_at": "2020-12-15 23:07:53"
},
"life_stage": {
"id": 62,
"name": "New",
"business_id": 1,
"short_code": null,
"parent_id": 0,
"created_by": 1,
"category_type": "life_stage",
"description": "New",
"slug": null,
"woocommerce_cat_id": null,
"deleted_at": null,
"created_at": "2020-12-15 23:11:26",
"updated_at": "2020-12-15 23:11:26"
},
"lead_users": [
{
"id": 11,
"user_type": "user",
"surname": "Mr",
"first_name": "Admin Essential",
"last_name": null,
"username": "admin-essentials",
"email": "admin_essentials@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",
"pivot": {
"contact_id": 50,
"user_id": 11
}
}
]
},
{
"contact_id": "CO0015",
"name": " Lead kr ",
"supplier_business_name": null,
"email": null,
"mobile": "9437638555",
"tax_number": null,
"created_at": "2021-01-07 18:31:08",
"custom_field1": null,
"custom_field2": null,
"custom_field3": null,
"custom_field4": null,
"custom_field5": null,
"custom_field6": null,
"alternate_number": null,
"landline": null,
"dob": "2021-01-07",
"contact_status": "active",
"type": "lead",
"custom_field7": null,
"custom_field8": null,
"custom_field9": null,
"custom_field10": null,
"id": 82,
"business_id": 1,
"crm_source": null,
"crm_life_stage": null,
"address_line_1": null,
"address_line_2": null,
"city": null,
"state": null,
"country": null,
"zip_code": null,
"last_follow_up_id": 36,
"upcoming_follow_up_id": null,
"last_follow_up": "2021-01-07 18:31:08",
"upcoming_follow_up": null,
"last_follow_up_additional_info": "{\"call duration\":\"1 hour\",\"call descr\":\"talked to him and all okay\"}",
"upcoming_follow_up_additional_info": null,
"source": null,
"life_stage": null,
"lead_users": [
{
"id": 11,
"user_type": "user",
"surname": "Mr",
"first_name": "Admin Essential",
"last_name": null,
"username": "admin-essentials",
"email": "admin_essentials@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",
"pivot": {
"contact_id": 82,
"user_id": 11
}
}
]
}
],
"links": {
"first": "https://bqf.ai/connector/api/crm/leads?page=1",
"last": "https://bqf.ai/connector/api/crm/leads?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "https://bqf.ai/connector/api/crm/leads",
"per_page": "10",
"to": 3,
"total": 3
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Save Call Logs
requires authentication
Entries that cannot be read (no number, no or unreadable times) are skipped
and counted in skipped; the rest are saved. An entry already saved (same
type, number and start time in this business) is not saved twice.
Example request:
curl --request POST \
"https://bqf.ai/connector/api/crm/call-logs" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
const url = new URL(
"https://bqf.ai/connector/api/crm/call-logs"
);
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();
$response = $client->post(
'https://bqf.ai/connector/api/crm/call-logs',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Cash register management
List Cash Registers
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/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(
"https://bqf.ai/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();
$response = $client->get(
'https://bqf.ai/connector/api/cash-register',
[
'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": "https://bqf.ai/connector/api/cash-register?page=1",
"last": null,
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"path": "https://bqf.ai/connector/api/cash-register",
"per_page": 10,
"to": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create Cash Register
requires authentication
Example request:
curl --request POST \
"https://bqf.ai/connector/api/cash-register" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"location_id\": 1,
\"status\": \"close\",
\"initial_amount\": 61887607.11,
\"created_at\": \"2020-5-7 15:20:22\",
\"closed_at\": \"2020-5-7 15:20:22\",
\"closing_amount\": 21.618234719,
\"total_card_slips\": 12,
\"total_cheques\": 7,
\"closing_note\": \"ea\",
\"transaction_ids\": \"1,2,3\\n\\nOpening while the user already has an open register answers 200 with that\\nregister when it is at the requested branch, and 409 (error.code\\nregister_open_elsewhere, the open register in data) when it is elsewhere.\\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(
"https://bqf.ai/connector/api/cash-register"
);
const headers = {
"Authorization": "Bearer {access_token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"location_id": 1,
"status": "close",
"initial_amount": 61887607.11,
"created_at": "2020-5-7 15:20:22",
"closed_at": "2020-5-7 15:20:22",
"closing_amount": 21.618234719,
"total_card_slips": 12,
"total_cheques": 7,
"closing_note": "ea",
"transaction_ids": "1,2,3\n\nOpening while the user already has an open register answers 200 with that\nregister when it is at the requested branch, and 409 (error.code\nregister_open_elsewhere, the open register in data) when it is elsewhere.\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();
$response = $client->post(
'https://bqf.ai/connector/api/cash-register',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'location_id' => 1,
'status' => 'close',
'initial_amount' => 61887607.11,
'created_at' => '2020-5-7 15:20:22',
'closed_at' => '2020-5-7 15:20:22',
'closing_amount' => 21.618234719,
'total_card_slips' => 12,
'total_cheques' => 7,
'closing_note' => 'ea',
'transaction_ids' => '1,2,3'."\n"
."\n"
.'Opening while the user already has an open register answers 200 with that'."\n"
.'register when it is at the requested branch, and 409 (error.code'."\n"
.'register_open_elsewhere, the open register in data) when it is elsewhere.'."\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));Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get the specified Register
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/cash-register/aliquam" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/cash-register/aliquam"
);
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();
$response = $client->get(
'https://bqf.ai/connector/api/cash-register/aliquam',
[
'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"
}
]
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Close a cash register
requires authentication
Closes an open register as the web "close register" does: the counted amounts are recorded, the cash over/short is posted to the ledger and the closing reports are sent. Your own register, or — with the same permission — another user's register at a branch you may act on.
Example request:
curl --request PUT \
"https://bqf.ai/connector/api/cash-register/eos" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"status\": \"close\",
\"closing_amount\": 51713676.2769821,
\"total_card_slips\": 14,
\"total_cheques\": 2,
\"closing_note\": \"dignissimos\",
\"denominations\": []
}"
const url = new URL(
"https://bqf.ai/connector/api/cash-register/eos"
);
const headers = {
"Authorization": "Bearer {access_token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"status": "close",
"closing_amount": 51713676.2769821,
"total_card_slips": 14,
"total_cheques": 2,
"closing_note": "dignissimos",
"denominations": []
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->put(
'https://bqf.ai/connector/api/cash-register/eos',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'status' => 'close',
'closing_amount' => 51713676.2769821,
'total_card_slips' => 14,
'total_cheques' => 2,
'closing_note' => 'dignissimos',
'denominations' => [],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Contact management
List contact
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/contactapi?type=inventore&name=placeat&biz_name=et&mobile_num=7&contact_id=aspernatur&order_by=aut&direction=laboriosam&per_page=15" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/contactapi"
);
const params = {
"type": "inventore",
"name": "placeat",
"biz_name": "et",
"mobile_num": "7",
"contact_id": "aspernatur",
"order_by": "aut",
"direction": "laboriosam",
"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();
$response = $client->get(
'https://bqf.ai/connector/api/contactapi',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'type' => 'inventore',
'name' => 'placeat',
'biz_name' => 'et',
'mobile_num' => '7',
'contact_id' => 'aspernatur',
'order_by' => 'aut',
'direction' => 'laboriosam',
'per_page' => '15',
],
]
);
$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": "https://bqf.ai/connector/api/contactapi?page=1",
"last": "https://bqf.ai/connector/api/contactapi?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "https://bqf.ai/connector/api/contactapi",
"per_page": "10",
"to": 4,
"total": 4
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create contact
requires authentication
Example request:
curl --request POST \
"https://bqf.ai/connector/api/contactapi" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"type\": \"customer\",
\"supplier_business_name\": \"incidunt\",
\"prefix\": \"nihil\",
\"first_name\": \"sint\",
\"middle_name\": \"ut\",
\"last_name\": \"laboriosam\",
\"tax_number\": \"8787fefef\",
\"pay_term_number\": 3,
\"pay_term_type\": \"months\",
\"mobile\": \"4578691009\",
\"landline\": \"5487-8454-4145\",
\"alternate_number\": \"841847541222\",
\"address_line_1\": \"iste\",
\"address_line_2\": \"est\",
\"city\": \"fugit\",
\"state\": \"laboriosam\",
\"country\": \"porro\",
\"zip_code\": \"sit\",
\"customer_group_id\": \"inventore\",
\"contact_id\": \"esse\",
\"dob\": \"2000-06-13\",
\"custom_field1\": \"commodi\",
\"custom_field2\": \"quo\",
\"custom_field3\": \"sit\",
\"custom_field4\": \"nobis\",
\"email\": \"hoyt.howe@example.com\",
\"shipping_address\": \"non\",
\"position\": \"excepturi\",
\"opening_balance\": 0,
\"source_id\": 13,
\"life_stage_id\": 17,
\"assigned_to\": [
\"eius\"
]
}"
const url = new URL(
"https://bqf.ai/connector/api/contactapi"
);
const headers = {
"Authorization": "Bearer {access_token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"type": "customer",
"supplier_business_name": "incidunt",
"prefix": "nihil",
"first_name": "sint",
"middle_name": "ut",
"last_name": "laboriosam",
"tax_number": "8787fefef",
"pay_term_number": 3,
"pay_term_type": "months",
"mobile": "4578691009",
"landline": "5487-8454-4145",
"alternate_number": "841847541222",
"address_line_1": "iste",
"address_line_2": "est",
"city": "fugit",
"state": "laboriosam",
"country": "porro",
"zip_code": "sit",
"customer_group_id": "inventore",
"contact_id": "esse",
"dob": "2000-06-13",
"custom_field1": "commodi",
"custom_field2": "quo",
"custom_field3": "sit",
"custom_field4": "nobis",
"email": "hoyt.howe@example.com",
"shipping_address": "non",
"position": "excepturi",
"opening_balance": 0,
"source_id": 13,
"life_stage_id": 17,
"assigned_to": [
"eius"
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://bqf.ai/connector/api/contactapi',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'type' => 'customer',
'supplier_business_name' => 'incidunt',
'prefix' => 'nihil',
'first_name' => 'sint',
'middle_name' => 'ut',
'last_name' => 'laboriosam',
'tax_number' => '8787fefef',
'pay_term_number' => 3.0,
'pay_term_type' => 'months',
'mobile' => '4578691009',
'landline' => '5487-8454-4145',
'alternate_number' => '841847541222',
'address_line_1' => 'iste',
'address_line_2' => 'est',
'city' => 'fugit',
'state' => 'laboriosam',
'country' => 'porro',
'zip_code' => 'sit',
'customer_group_id' => 'inventore',
'contact_id' => 'esse',
'dob' => '2000-06-13',
'custom_field1' => 'commodi',
'custom_field2' => 'quo',
'custom_field3' => 'sit',
'custom_field4' => 'nobis',
'email' => 'hoyt.howe@example.com',
'shipping_address' => 'non',
'position' => 'excepturi',
'opening_balance' => 0.0,
'source_id' => 13,
'life_stage_id' => 17,
'assigned_to' => [
'eius',
],
],
]
);
$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
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get the specified contact
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/contactapi/inventore" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/contactapi/inventore"
);
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();
$response = $client->get(
'https://bqf.ai/connector/api/contactapi/inventore',
[
'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
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update contact
requires authentication
Example request:
curl --request PUT \
"https://bqf.ai/connector/api/contactapi/illo" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"type\": \"customer\",
\"supplier_business_name\": \"aut\",
\"prefix\": \"autem\",
\"first_name\": \"voluptatem\",
\"middle_name\": \"voluptas\",
\"last_name\": \"rem\",
\"tax_number\": \"488744dwd\",
\"pay_term_number\": 3,
\"pay_term_type\": \"months\",
\"mobile\": \"8795461009\",
\"landline\": \"65484-848-848\",
\"alternate_number\": \"9898795220\",
\"address_line_1\": \"fugiat\",
\"address_line_2\": \"nulla\",
\"city\": \"esse\",
\"state\": \"labore\",
\"country\": \"fuga\",
\"zip_code\": \"dolores\",
\"customer_group_id\": \"odit\",
\"contact_id\": \"iusto\",
\"dob\": \"2000-06-13\",
\"custom_field1\": \"nihil\",
\"custom_field2\": \"error\",
\"custom_field3\": \"asperiores\",
\"custom_field4\": \"repellendus\",
\"email\": \"lila.hettinger@example.net\",
\"shipping_address\": \"et\",
\"position\": \"soluta\",
\"opening_balance\": 2764.841,
\"source_id\": 14,
\"life_stage_id\": 1,
\"assigned_to\": [
\"nisi\"
]
}"
const url = new URL(
"https://bqf.ai/connector/api/contactapi/illo"
);
const headers = {
"Authorization": "Bearer {access_token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"type": "customer",
"supplier_business_name": "aut",
"prefix": "autem",
"first_name": "voluptatem",
"middle_name": "voluptas",
"last_name": "rem",
"tax_number": "488744dwd",
"pay_term_number": 3,
"pay_term_type": "months",
"mobile": "8795461009",
"landline": "65484-848-848",
"alternate_number": "9898795220",
"address_line_1": "fugiat",
"address_line_2": "nulla",
"city": "esse",
"state": "labore",
"country": "fuga",
"zip_code": "dolores",
"customer_group_id": "odit",
"contact_id": "iusto",
"dob": "2000-06-13",
"custom_field1": "nihil",
"custom_field2": "error",
"custom_field3": "asperiores",
"custom_field4": "repellendus",
"email": "lila.hettinger@example.net",
"shipping_address": "et",
"position": "soluta",
"opening_balance": 2764.841,
"source_id": 14,
"life_stage_id": 1,
"assigned_to": [
"nisi"
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->put(
'https://bqf.ai/connector/api/contactapi/illo',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'type' => 'customer',
'supplier_business_name' => 'aut',
'prefix' => 'autem',
'first_name' => 'voluptatem',
'middle_name' => 'voluptas',
'last_name' => 'rem',
'tax_number' => '488744dwd',
'pay_term_number' => 3.0,
'pay_term_type' => 'months',
'mobile' => '8795461009',
'landline' => '65484-848-848',
'alternate_number' => '9898795220',
'address_line_1' => 'fugiat',
'address_line_2' => 'nulla',
'city' => 'esse',
'state' => 'labore',
'country' => 'fuga',
'zip_code' => 'dolores',
'customer_group_id' => 'odit',
'contact_id' => 'iusto',
'dob' => '2000-06-13',
'custom_field1' => 'nihil',
'custom_field2' => 'error',
'custom_field3' => 'asperiores',
'custom_field4' => 'repellendus',
'email' => 'lila.hettinger@example.net',
'shipping_address' => 'et',
'position' => 'soluta',
'opening_balance' => 2764.841,
'source_id' => 14,
'life_stage_id' => 1,
'assigned_to' => [
'nisi',
],
],
]
);
$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
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Contact payment
requires authentication
Example request:
curl --request POST \
"https://bqf.ai/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\",
\"due_payment_type\": \"sell\",
\"paid_on\": \"2020-07-22 15:48:29\",
\"account_id\": 8,
\"chart_of_account_id\": 17,
\"card_number\": \"1234\",
\"card_holder_name\": \"earum\",
\"card_transaction_number\": \"nostrum\",
\"card_type\": \"nisi\",
\"card_month\": \"dignissimos\",
\"card_year\": \"impedit\",
\"transaction_no_1\": \"quis\",
\"transaction_no_2\": \"excepturi\",
\"transaction_no_3\": \"similique\",
\"cheque_number\": \"blanditiis\",
\"bank_account_number\": \"rerum\",
\"note\": \"sint\"
}"
const url = new URL(
"https://bqf.ai/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",
"due_payment_type": "sell",
"paid_on": "2020-07-22 15:48:29",
"account_id": 8,
"chart_of_account_id": 17,
"card_number": "1234",
"card_holder_name": "earum",
"card_transaction_number": "nostrum",
"card_type": "nisi",
"card_month": "dignissimos",
"card_year": "impedit",
"transaction_no_1": "quis",
"transaction_no_2": "excepturi",
"transaction_no_3": "similique",
"cheque_number": "blanditiis",
"bank_account_number": "rerum",
"note": "sint"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://bqf.ai/connector/api/contactapi-payment',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'contact_id' => 17,
'amount' => 453.13,
'method' => 'cash',
'due_payment_type' => 'sell',
'paid_on' => '2020-07-22 15:48:29',
'account_id' => 8,
'chart_of_account_id' => 17,
'card_number' => '1234',
'card_holder_name' => 'earum',
'card_transaction_number' => 'nostrum',
'card_type' => 'nisi',
'card_month' => 'dignissimos',
'card_year' => 'impedit',
'transaction_no_1' => 'quis',
'transaction_no_2' => 'excepturi',
'transaction_no_3' => 'similique',
'cheque_number' => 'blanditiis',
'bank_account_number' => 'rerum',
'note' => 'sint',
],
]
);
$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
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Expense management
List expenses
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/expense?location_id=1&payment_status=paid&start_date=2018-06-25&end_date=2018-06-25&expense_for=laborum&per_page=15" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/expense"
);
const params = {
"location_id": "1",
"payment_status": "paid",
"start_date": "2018-06-25",
"end_date": "2018-06-25",
"expense_for": "laborum",
"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();
$response = $client->get(
'https://bqf.ai/connector/api/expense',
[
'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' => 'laborum',
'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": "https://bqf.ai/connector/api/expense?page=1",
"last": null,
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"path": "https://bqf.ai/connector/api/expense",
"per_page": 10,
"to": 1
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create expense / expense refund
requires authentication
Example request:
curl --request POST \
"https://bqf.ai/connector/api/expense" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"location_id\": 1,
\"final_total\": 225922.479344,
\"transaction_date\": \"2020-5-7 15:20:22\",
\"tax_rate_id\": 12,
\"expense_for\": 4,
\"contact_id\": 20,
\"expense_category_id\": 1,
\"expense_sub_category_id\": 2,
\"additional_notes\": \"maxime\",
\"is_refund\": 0,
\"is_recurring\": 0,
\"recur_interval\": 14,
\"recur_interval_type\": \"months\",
\"subscription_repeat_on\": 15,
\"subscription_no\": \"unde\",
\"recur_repetitions\": 16,
\"payment\": [
\"est\"
]
}"
const url = new URL(
"https://bqf.ai/connector/api/expense"
);
const headers = {
"Authorization": "Bearer {access_token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"location_id": 1,
"final_total": 225922.479344,
"transaction_date": "2020-5-7 15:20:22",
"tax_rate_id": 12,
"expense_for": 4,
"contact_id": 20,
"expense_category_id": 1,
"expense_sub_category_id": 2,
"additional_notes": "maxime",
"is_refund": 0,
"is_recurring": 0,
"recur_interval": 14,
"recur_interval_type": "months",
"subscription_repeat_on": 15,
"subscription_no": "unde",
"recur_repetitions": 16,
"payment": [
"est"
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://bqf.ai/connector/api/expense',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'location_id' => 1,
'final_total' => 225922.479344,
'transaction_date' => '2020-5-7 15:20:22',
'tax_rate_id' => 12,
'expense_for' => 4,
'contact_id' => 20,
'expense_category_id' => 1,
'expense_sub_category_id' => 2,
'additional_notes' => 'maxime',
'is_refund' => 0,
'is_recurring' => 0,
'recur_interval' => 14,
'recur_interval_type' => 'months',
'subscription_repeat_on' => 15,
'subscription_no' => 'unde',
'recur_repetitions' => 16,
'payment' => [
'est',
],
],
]
);
$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": []
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get the specified expense / expense refund
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/expense/illum" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/expense/illum"
);
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();
$response = $client->get(
'https://bqf.ai/connector/api/expense/illum',
[
'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"
}
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update expense / expense refund
requires authentication
Example request:
curl --request PUT \
"https://bqf.ai/connector/api/expense/velit" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"final_total\": 39.71398,
\"transaction_date\": \"2020-5-7 15:20:22\",
\"tax_rate_id\": 20,
\"expense_for\": 9,
\"contact_id\": 15,
\"expense_category_id\": 6,
\"expense_sub_category_id\": 4,
\"additional_notes\": \"ea\",
\"is_recurring\": 0,
\"recur_interval\": 8,
\"recur_interval_type\": \"months\",
\"subscription_repeat_on\": 15,
\"subscription_no\": \"sit\",
\"recur_repetitions\": 18,
\"payment\": [
\"molestiae\"
]
}"
const url = new URL(
"https://bqf.ai/connector/api/expense/velit"
);
const headers = {
"Authorization": "Bearer {access_token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"final_total": 39.71398,
"transaction_date": "2020-5-7 15:20:22",
"tax_rate_id": 20,
"expense_for": 9,
"contact_id": 15,
"expense_category_id": 6,
"expense_sub_category_id": 4,
"additional_notes": "ea",
"is_recurring": 0,
"recur_interval": 8,
"recur_interval_type": "months",
"subscription_repeat_on": 15,
"subscription_no": "sit",
"recur_repetitions": 18,
"payment": [
"molestiae"
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->put(
'https://bqf.ai/connector/api/expense/velit',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'final_total' => 39.71398,
'transaction_date' => '2020-5-7 15:20:22',
'tax_rate_id' => 20,
'expense_for' => 9,
'contact_id' => 15,
'expense_category_id' => 6,
'expense_sub_category_id' => 4,
'additional_notes' => 'ea',
'is_recurring' => 0,
'recur_interval' => 8,
'recur_interval_type' => 'months',
'subscription_repeat_on' => 15,
'subscription_no' => 'sit',
'recur_repetitions' => 18,
'payment' => [
'molestiae',
],
],
]
);
$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": []
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List expense refunds
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/expense-refund?location_id=1&payment_status=paid&start_date=2018-06-25&end_date=2018-06-25&expense_for=beatae&per_page=15" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/expense-refund"
);
const params = {
"location_id": "1",
"payment_status": "paid",
"start_date": "2018-06-25",
"end_date": "2018-06-25",
"expense_for": "beatae",
"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();
$response = $client->get(
'https://bqf.ai/connector/api/expense-refund',
[
'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' => 'beatae',
'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": "https://bqf.ai/connector/api/expense-refund?page=1",
"last": null,
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"path": "https://bqf.ai/connector/api/expense-refund",
"per_page": 15,
"to": 1
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List expense categories
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/expense-categories" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/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();
$response = $client->get(
'https://bqf.ai/connector/api/expense-categories',
[
'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"
}
]
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Field Force
List visits
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/field-force?contact_id=dicta&assigned_to=non&status=repellat&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(
"https://bqf.ai/connector/api/field-force"
);
const params = {
"contact_id": "dicta",
"assigned_to": "non",
"status": "repellat",
"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();
$response = $client->get(
'https://bqf.ai/connector/api/field-force',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'contact_id' => 'dicta',
'assigned_to' => 'non',
'status' => 'repellat',
'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));Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create Visit
requires authentication
Example request:
curl --request POST \
"https://bqf.ai/connector/api/field-force/create" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"contact_id\": 10,
\"visit_to\": \"omnis\",
\"visit_address\": \"est\",
\"assigned_to\": 1,
\"visit_on\": \"2021-12-28 17:23:00\",
\"visit_for\": \"aut\"
}"
const url = new URL(
"https://bqf.ai/connector/api/field-force/create"
);
const headers = {
"Authorization": "Bearer {access_token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"contact_id": 10,
"visit_to": "omnis",
"visit_address": "est",
"assigned_to": 1,
"visit_on": "2021-12-28 17:23:00",
"visit_for": "aut"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://bqf.ai/connector/api/field-force/create',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'contact_id' => 10,
'visit_to' => 'omnis',
'visit_address' => 'est',
'assigned_to' => 1,
'visit_on' => '2021-12-28 17:23:00',
'visit_for' => 'aut',
],
]
);
$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
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update Visit status
requires authentication
Example request:
curl --request POST \
"https://bqf.ai/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=expedita"\
--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=quas"\
--form "meet_with=maxime"\
--form "meet_with_mobileno=tempore"\
--form "photo=@/tmp/phpCc52HR" const url = new URL(
"https://bqf.ai/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', 'expedita');
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', 'quas');
body.append('meet_with', 'maxime');
body.append('meet_with_mobileno', 'tempore');
body.append('photo', document.querySelector('input[name="photo"]').files[0]);
fetch(url, {
method: "POST",
headers,
body,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://bqf.ai/connector/api/field-force/update-visit-status/17',
[
'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' => 'expedita'
],
[
'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' => 'quas'
],
[
'name' => 'meet_with',
'contents' => 'maxime'
],
[
'name' => 'meet_with_mobileno',
'contents' => 'tempore'
],
[
'name' => 'photo',
'contents' => fopen('/tmp/phpCc52HR', '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"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
New end points
New List products
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/new_product?order_by=consequuntur&order_direction=libero&location_custom_field_1=eos&category_id=amet&sub_category_id=vero&location_id=1¬_for_sell=nihil&send_lot_detail=quas&name=aut&sku=inventore&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(
"https://bqf.ai/connector/api/new_product"
);
const params = {
"order_by": "consequuntur",
"order_direction": "libero",
"location_custom_field_1": "eos",
"category_id": "amet",
"sub_category_id": "vero",
"location_id": "1",
"not_for_sell": "nihil",
"send_lot_detail": "quas",
"name": "aut",
"sku": "inventore",
"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();
$response = $client->get(
'https://bqf.ai/connector/api/new_product',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'order_by' => 'consequuntur',
'order_direction' => 'libero',
'location_custom_field_1' => 'eos',
'category_id' => 'amet',
'sub_category_id' => 'vero',
'location_id' => '1',
'not_for_sell' => 'nihil',
'send_lot_detail' => 'quas',
'name' => 'aut',
'sku' => 'inventore',
'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": "https://bqf.ai/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": "https://bqf.ai/connector/api/new_product?per_page=1&page=1",
"last": "https://bqf.ai/connector/api/new_product?per_page=1&page=1088",
"prev": null,
"next": "https://bqf.ai/connector/api/new_product?per_page=1&page=2"
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1088,
"path": "https://bqf.ai/connector/api/new_product",
"per_page": "1",
"to": 1,
"total": 1088
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
New List sells
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/new_sell?location_id=1&contact_id=dolorem&payment_status=due%2Cpartial&start_date=2018-06-25&end_date=2018-06-25&user_id=maxime&service_staff_id=architecto&shipping_status=ordered&source=provident&customer_group_id=molestiae&product_name=non&product_sku=iure&product_custom_field_1=ea&location_custom_field_1=alias&location_invoice_scheme_prefix=earum&product_category_id=est&product_sub_category_id=sint&sell_ids=55%2C64&only_subscriptions=recusandae&send_purchase_details=necessitatibus&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(
"https://bqf.ai/connector/api/new_sell"
);
const params = {
"location_id": "1",
"contact_id": "dolorem",
"payment_status": "due,partial",
"start_date": "2018-06-25",
"end_date": "2018-06-25",
"user_id": "maxime",
"service_staff_id": "architecto",
"shipping_status": "ordered",
"source": "provident",
"customer_group_id": "molestiae",
"product_name": "non",
"product_sku": "iure",
"product_custom_field_1": "ea",
"location_custom_field_1": "alias",
"location_invoice_scheme_prefix": "earum",
"product_category_id": "est",
"product_sub_category_id": "sint",
"sell_ids": "55,64",
"only_subscriptions": "recusandae",
"send_purchase_details": "necessitatibus",
"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();
$response = $client->get(
'https://bqf.ai/connector/api/new_sell',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'location_id' => '1',
'contact_id' => 'dolorem',
'payment_status' => 'due,partial',
'start_date' => '2018-06-25',
'end_date' => '2018-06-25',
'user_id' => 'maxime',
'service_staff_id' => 'architecto',
'shipping_status' => 'ordered',
'source' => 'provident',
'customer_group_id' => 'molestiae',
'product_name' => 'non',
'product_sku' => 'iure',
'product_custom_field_1' => 'ea',
'location_custom_field_1' => 'alias',
'location_invoice_scheme_prefix' => 'earum',
'product_category_id' => 'est',
'product_sub_category_id' => 'sint',
'sell_ids' => '55,64',
'only_subscriptions' => 'recusandae',
'send_purchase_details' => 'necessitatibus',
'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": "https://bqf.ai/invoice/00f79f7fd292225e8c303a6bf8626d06",
"payment_link": ""
}
],
"links": {
"first": "https://bqf.ai/connector/api/new_sell?per_page=1&page=1",
"last": "https://bqf.ai/connector/api/new_sell?per_page=1&page=213",
"prev": null,
"next": "https://bqf.ai/connector/api/new_sell?per_page=1&page=2"
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 213,
"path": "https://bqf.ai/connector/api/new_sell",
"per_page": "1",
"to": 1,
"total": 213
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
New List contact
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/new_contactapi?type=non&customer_group_id=consequatur&custom_field_1=eos&contact_ids=2%2C3&name=hic&biz_name=maxime&mobile_num=2&contact_id=optio&order_by=est&direction=optio&per_page=10" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/new_contactapi"
);
const params = {
"type": "non",
"customer_group_id": "consequatur",
"custom_field_1": "eos",
"contact_ids": "2,3",
"name": "hic",
"biz_name": "maxime",
"mobile_num": "2",
"contact_id": "optio",
"order_by": "est",
"direction": "optio",
"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();
$response = $client->get(
'https://bqf.ai/connector/api/new_contactapi',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'type' => 'non',
'customer_group_id' => 'consequatur',
'custom_field_1' => 'eos',
'contact_ids' => '2,3',
'name' => 'hic',
'biz_name' => 'maxime',
'mobile_num' => '2',
'contact_id' => 'optio',
'order_by' => 'est',
'direction' => 'optio',
'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": "https://bqf.ai/connector/api/new_contactapi?customer_group_id=1&page=1",
"last": "https://bqf.ai/connector/api/new_contactapi?customer_group_id=1&page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "https://bqf.ai/connector/api/new_contactapi",
"per_page": 10,
"to": 1,
"total": 1
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Online store (Ecommerce)
Store branches
requires authentication
The branches of the business as the store sees them, limited to the ones the user may work with: which sell online, the default fulfilment branch, and which offer pickup.
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/ecommerce/branches" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/ecommerce/branches"
);
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();
$response = $client->get(
'https://bqf.ai/connector/api/ecommerce/branches',
[
'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": "Riyadh",
"public_name": "Riyadh — Olaya",
"city": "Riyadh",
"is_enabled": true,
"is_default": true,
"allow_pickup": true
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List online orders
requires authentication
Newest first, only the branches the user may see. Filters are optional.
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/ecommerce/orders?status=awaiting_confirmation&payment_status=pending&fulfilment_type=pickup&location_id=1&from=2026-09-01&to=2026-09-30&q=EC-000123&per_page=25&page=1" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/ecommerce/orders"
);
const params = {
"status": "awaiting_confirmation",
"payment_status": "pending",
"fulfilment_type": "pickup",
"location_id": "1",
"from": "2026-09-01",
"to": "2026-09-30",
"q": "EC-000123",
"per_page": "25",
"page": "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();
$response = $client->get(
'https://bqf.ai/connector/api/ecommerce/orders',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'status' => 'awaiting_confirmation',
'payment_status' => 'pending',
'fulfilment_type' => 'pickup',
'location_id' => '1',
'from' => '2026-09-01',
'to' => '2026-09-30',
'q' => 'EC-000123',
'per_page' => '25',
'page' => '1',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 12,
"number": "EC-000012",
"status": "confirmed",
"status_label": "مؤكّد",
"payment_status": "pending",
"payment_gateway": "cod",
"fulfilment_type": "delivery",
"branch": {
"id": 1,
"name": "Riyadh"
},
"customer": {
"name": "Sara",
"phone": "0551234567"
},
"total": 165,
"currency": "SAR",
"items_count": 2,
"invoiced": true,
"placed_at": "2026-09-24 10:15:00"
}
],
"meta": {
"current_page": 1,
"per_page": 25,
"total": 1,
"last_page": 1
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Order details
requires authentication
The order with its lines, branch, customer, latest shipment, and status history.
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/ecommerce/orders/12" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/ecommerce/orders/12"
);
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();
$response = $client->get(
'https://bqf.ai/connector/api/ecommerce/orders/12',
[
'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": 12,
"number": "EC-000012",
"status": "processing",
"status_label": "قيد التجهيز",
"fulfilment_type": "pickup",
"branch": {
"id": 2,
"name": "Jeddah",
"city": "Jeddah",
"mobile": "0126..."
},
"customer": {
"name": "Sara",
"phone": "0551234567",
"email": null,
"address": ""
},
"totals": {
"subtotal": 150,
"shipping_fee": 0,
"total": 150,
"currency": "SAR"
},
"items": [
{
"product_id": 3,
"variation_id": 3,
"name": "Item",
"sku": "A1",
"qty": 2,
"unit_price": 75,
"line_total": 150
}
],
"shipment": null,
"next_statuses": [
"shipped",
"cancelled",
"refunded",
"on_hold"
],
"history": [
{
"to": "confirmed",
"at": "2026-09-24 10:20:00",
"note": "admin confirmed"
}
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Change an order's status
requires authentication
Moves the order along its lifecycle exactly as the back office does (the Core sale is
created at the configured stage, stock returns on cancel). Only the transitions the
state machine allows from the current status are accepted (422 transition_failed).
Example request:
curl --request POST \
"https://bqf.ai/connector/api/ecommerce/orders/12/transition" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"to\": \"confirmed\"
}"
const url = new URL(
"https://bqf.ai/connector/api/ecommerce/orders/12/transition"
);
const headers = {
"Authorization": "Bearer {access_token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"to": "confirmed"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://bqf.ai/connector/api/ecommerce/orders/12/transition',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'to' => 'confirmed',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"success": true,
"data": {
"id": 12,
"status": "confirmed",
"status_label": "مؤكّد",
"next_statuses": [
"processing",
"cancelled",
"refunded"
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Other endpoints · واجهات أخرى
List payment accounts
requires authentication
Open accounts. Without the account.access permission the account number is masked to its last four digits and account_details is null.
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/payment-accounts?include_closed=1" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/payment-accounts"
);
const params = {
"include_closed": "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();
$response = $client->get(
'https://bqf.ai/connector/api/payment-accounts',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'include_closed' => '1',
],
]
);
$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"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List payment methods
requires authentication
With the business's own labels for the custom methods.
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/payment-methods?location_id=1" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/payment-methods"
);
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();
$response = $client->get(
'https://bqf.ai/connector/api/payment-methods',
[
'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):
{
"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"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get business details
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/business-details" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/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();
$response = $client->get(
'https://bqf.ai/connector/api/business-details',
[
'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
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get profit and loss report
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/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(
"https://bqf.ai/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();
$response = $client->get(
'https://bqf.ai/connector/api/profit-loss-report',
[
'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": []
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Aggregated POS home stats (one SQL round-trip, not a full sell list).
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/pos-dashboard-stats" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/pos-dashboard-stats"
);
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();
$response = $client->get(
'https://bqf.ai/connector/api/pos-dashboard-stats',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Search customers at the till
requires authentication
Active customers the user may pick, as the web POS customer picker lists them. A customer.view_own user finds only their own customers. A branch-limited user finds another branch's customer only by the full mobile number (to sell to it, send that number as the sale's customer_mobile).
due: what the customer owes (final sales net of payments, ledger discounts and returns, plus the unpaid opening balance). advance_balance: the customer's credit (advance paid). Until 2026-09 'due' carried the advance balance.
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/pos-customer-search?search=55&per_page=20" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/pos-customer-search"
);
const params = {
"search": "55",
"per_page": "20",
};
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();
$response = $client->get(
'https://bqf.ai/connector/api/pos-customer-search',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'search' => '55',
'per_page' => '20',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 12,
"name": "Walk-In Customer",
"mobile": "0550000000",
"customer_no": "CO0001",
"due": 150.5,
"advance_balance": 20,
"invoices": 7,
"last_sale": "2026-09-01 10:15:00"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get product current stock
requires authentication
Needs the stock_report.view permission.
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/product-stock-report?location_id=1&per_page=15" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/product-stock-report"
);
const params = {
"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();
$response = $client->get(
'https://bqf.ai/connector/api/product-stock-report',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'location_id' => '1',
'per_page' => '15',
],
]
);
$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": "https://bqf.ai/connector/api/product-stock-report?page=1",
"last": "https://bqf.ai/connector/api/product-stock-report?page=22",
"prev": null,
"next": "https://bqf.ai/connector/api/product-stock-report?page=2"
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 22,
"path": "https://bqf.ai/connector/api/product-stock-report",
"per_page": 3,
"to": 3,
"total": 66
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get notifications
requires authentication
Newest first.
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/notifications?limit=50&unread_only=1" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/notifications"
);
const params = {
"limit": "50",
"unread_only": "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();
$response = $client->get(
'https://bqf.ai/connector/api/notifications',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'limit' => '50',
'unread_only' => '1',
],
]
);
$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": "https://bqf.ai/hrm/payroll",
"read_at": null,
"created_at": "3 hours ago"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get location details from coordinates
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/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(
"https://bqf.ai/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();
$response = $client->get(
'https://bqf.ai/connector/api/get-location',
[
'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"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET connector/api/crm/pipeline
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/crm/pipeline" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/crm/pipeline"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://bqf.ai/connector/api/crm/pipeline',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET connector/api/crm/segments
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/crm/segments" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/crm/segments"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://bqf.ai/connector/api/crm/segments',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET connector/api/crm/segments/{segment}/contacts
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/crm/segments/adipisci/contacts" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/crm/segments/adipisci/contacts"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://bqf.ai/connector/api/crm/segments/adipisci/contacts',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET connector/api/crm/contacts/{id}/metrics
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/crm/contacts/magnam/metrics" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/crm/contacts/magnam/metrics"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://bqf.ai/connector/api/crm/contacts/magnam/metrics',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET connector/api/crm/leads-list
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/crm/leads-list" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/crm/leads-list"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://bqf.ai/connector/api/crm/leads-list',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST connector/api/crm/leads
Example request:
curl --request POST \
"https://bqf.ai/connector/api/crm/leads" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"first_name\": \"wsqkzqiknzharef\",
\"last_name\": \"buzsoskhsonwswse\",
\"prefix\": \"sb\",
\"business_name\": \"wd\",
\"mobile\": \"hrrvqw\",
\"email\": \"sam56@example.org\",
\"contact_id\": \"ugqt\",
\"source_id\": 20,
\"life_stage_id\": 3,
\"city\": \"vmhxmykauxobkczwnxkoftoe\",
\"address\": \"ztydbiaugkbdgnulfzfmooo\",
\"expected_value\": 58,
\"probability\": 3,
\"expected_close_date\": \"2026-09-24T21:24:58\",
\"assigned_user_ids\": [
4
]
}"
const url = new URL(
"https://bqf.ai/connector/api/crm/leads"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"first_name": "wsqkzqiknzharef",
"last_name": "buzsoskhsonwswse",
"prefix": "sb",
"business_name": "wd",
"mobile": "hrrvqw",
"email": "sam56@example.org",
"contact_id": "ugqt",
"source_id": 20,
"life_stage_id": 3,
"city": "vmhxmykauxobkczwnxkoftoe",
"address": "ztydbiaugkbdgnulfzfmooo",
"expected_value": 58,
"probability": 3,
"expected_close_date": "2026-09-24T21:24:58",
"assigned_user_ids": [
4
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://bqf.ai/connector/api/crm/leads',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'first_name' => 'wsqkzqiknzharef',
'last_name' => 'buzsoskhsonwswse',
'prefix' => 'sb',
'business_name' => 'wd',
'mobile' => 'hrrvqw',
'email' => 'sam56@example.org',
'contact_id' => 'ugqt',
'source_id' => 20,
'life_stage_id' => 3,
'city' => 'vmhxmykauxobkczwnxkoftoe',
'address' => 'ztydbiaugkbdgnulfzfmooo',
'expected_value' => 58,
'probability' => 3,
'expected_close_date' => '2026-09-24T21:24:58',
'assigned_user_ids' => [
4,
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET connector/api/crm/leads/{id}
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/crm/leads/molestiae" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/crm/leads/molestiae"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://bqf.ai/connector/api/crm/leads/molestiae',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PUT connector/api/crm/leads/{id}
Example request:
curl --request PUT \
"https://bqf.ai/connector/api/crm/leads/quia" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"first_name\": \"meheewfhniiayvbwsusps\",
\"last_name\": \"yxet\",
\"business_name\": \"vlwsbyqpolvbos\",
\"mobile\": \"mepdnvafjjljx\",
\"email\": \"johnpaul.eichmann@example.com\",
\"source_id\": 14,
\"life_stage_id\": 3,
\"city\": \"mmcrzbcfvqmrpfco\",
\"expected_value\": 23,
\"probability\": 15,
\"expected_close_date\": \"2026-09-24T21:24:58\",
\"assigned_user_ids\": [
6
]
}"
const url = new URL(
"https://bqf.ai/connector/api/crm/leads/quia"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"first_name": "meheewfhniiayvbwsusps",
"last_name": "yxet",
"business_name": "vlwsbyqpolvbos",
"mobile": "mepdnvafjjljx",
"email": "johnpaul.eichmann@example.com",
"source_id": 14,
"life_stage_id": 3,
"city": "mmcrzbcfvqmrpfco",
"expected_value": 23,
"probability": 15,
"expected_close_date": "2026-09-24T21:24:58",
"assigned_user_ids": [
6
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->put(
'https://bqf.ai/connector/api/crm/leads/quia',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'first_name' => 'meheewfhniiayvbwsusps',
'last_name' => 'yxet',
'business_name' => 'vlwsbyqpolvbos',
'mobile' => 'mepdnvafjjljx',
'email' => 'johnpaul.eichmann@example.com',
'source_id' => 14,
'life_stage_id' => 3,
'city' => 'mmcrzbcfvqmrpfco',
'expected_value' => 23,
'probability' => 15,
'expected_close_date' => '2026-09-24T21:24:58',
'assigned_user_ids' => [
6,
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST connector/api/crm/leads/{id}/convert
Example request:
curl --request POST \
"https://bqf.ai/connector/api/crm/leads/illum/convert" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/crm/leads/illum/convert"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://bqf.ai/connector/api/crm/leads/illum/convert',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET connector/api/crm/webhook-events
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/crm/webhook-events" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/crm/webhook-events"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://bqf.ai/connector/api/crm/webhook-events',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Product management
List products
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/product?order_by=beatae&order_direction=earum&brand_id=quia&category_id=quis&sub_category_id=et&location_id=1&selling_price_group=in&send_lot_detail=tempore&name=nobis&sku=quia&per_page=10" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/product"
);
const params = {
"order_by": "beatae",
"order_direction": "earum",
"brand_id": "quia",
"category_id": "quis",
"sub_category_id": "et",
"location_id": "1",
"selling_price_group": "in",
"send_lot_detail": "tempore",
"name": "nobis",
"sku": "quia",
"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();
$response = $client->get(
'https://bqf.ai/connector/api/product',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'order_by' => 'beatae',
'order_direction' => 'earum',
'brand_id' => 'quia',
'category_id' => 'quis',
'sub_category_id' => 'et',
'location_id' => '1',
'selling_price_group' => 'in',
'send_lot_detail' => 'tempore',
'name' => 'nobis',
'sku' => 'quia',
'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": "https://bqf.ai/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": "https://bqf.ai/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": "https://bqf.ai/connector/api/product?page=1",
"last": "https://bqf.ai/connector/api/product?page=32",
"prev": null,
"next": "https://bqf.ai/connector/api/product?page=2"
},
"meta": {
"current_page": 1,
"from": 1,
"path": "https://bqf.ai/connector/api/product",
"per_page": 10,
"to": 10
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get the specified product
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/product/quae?selling_price_group=quo&send_lot_detail=quibusdam" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/product/quae"
);
const params = {
"selling_price_group": "quo",
"send_lot_detail": "quibusdam",
};
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();
$response = $client->get(
'https://bqf.ai/connector/api/product/quae',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'selling_price_group' => 'quo',
'send_lot_detail' => 'quibusdam',
],
]
);
$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": "https://bqf.ai/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": "https://bqf.ai/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
}
}
]
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List Selling Price Group
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/selling-price-group" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/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();
$response = $client->get(
'https://bqf.ai/connector/api/selling-price-group',
[
'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"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List Variations
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/variation/2?product_id=porro&location_id=1&brand_id=nostrum&category_id=provident&sub_category_id=voluptates¬_for_selling=id&name=est&sku=voluptatem&per_page=10" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/variation/2"
);
const params = {
"product_id": "porro",
"location_id": "1",
"brand_id": "nostrum",
"category_id": "provident",
"sub_category_id": "voluptates",
"not_for_selling": "id",
"name": "est",
"sku": "voluptatem",
"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();
$response = $client->get(
'https://bqf.ai/connector/api/variation/2',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'product_id' => 'porro',
'location_id' => '1',
'brand_id' => 'nostrum',
'category_id' => 'provident',
'sub_category_id' => 'voluptates',
'not_for_selling' => 'id',
'name' => 'est',
'sku' => 'voluptatem',
'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": "https://bqf.ai/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": "https://bqf.ai/uploads/media/1596701997_743693452_test.jpg"
}
],
"selling_price_group": [],
"product_image_url": "https://bqf.ai/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": "https://bqf.ai/connector/api/variation?page=1",
"last": null,
"prev": null,
"next": "https://bqf.ai/connector/api/variation?page=2"
},
"meta": {
"current_page": 1,
"from": 1,
"path": "https://bqf.ai/connector/api/variation",
"per_page": "2",
"to": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Sales management
List sells
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/sell?location_id=1&contact_id=architecto&status=final&payment_status=due%2Cpartial&start_date=2018-06-25&end_date=2018-06-25&user_id=quo&service_staff_id=quo&shipping_status=ordered&source=sit&only_subscriptions=ut&send_purchase_details=ut&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(
"https://bqf.ai/connector/api/sell"
);
const params = {
"location_id": "1",
"contact_id": "architecto",
"status": "final",
"payment_status": "due,partial",
"start_date": "2018-06-25",
"end_date": "2018-06-25",
"user_id": "quo",
"service_staff_id": "quo",
"shipping_status": "ordered",
"source": "sit",
"only_subscriptions": "ut",
"send_purchase_details": "ut",
"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();
$response = $client->get(
'https://bqf.ai/connector/api/sell',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'location_id' => '1',
'contact_id' => 'architecto',
'status' => 'final',
'payment_status' => 'due,partial',
'start_date' => '2018-06-25',
'end_date' => '2018-06-25',
'user_id' => 'quo',
'service_staff_id' => 'quo',
'shipping_status' => 'ordered',
'source' => 'sit',
'only_subscriptions' => 'ut',
'send_purchase_details' => 'ut',
'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,
"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": "https://bqf.ai/invoice/6dfd77eb80f4976b456128e7f1311c9f",
"payment_link": "https://bqf.ai/pay/6dfd77eb80f4976b456128e7f1311c9f"
}
],
"links": {
"first": "https://bqf.ai/connector/api/sell?page=1",
"last": "https://bqf.ai/connector/api/sell?page=6",
"prev": null,
"next": "https://bqf.ai/connector/api/sell?page=2"
},
"meta": {
"current_page": 1,
"from": 1,
"path": "https://bqf.ai/connector/api/sell",
"per_page": 10,
"to": 10
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create sell
requires authentication
Example request:
curl --request POST \
"https://bqf.ai/connector/api/sell" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
const url = new URL(
"https://bqf.ai/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();
$response = $client->post(
'https://bqf.ai/connector/api/sell',
[
'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": "https://bqf.ai/invoice/6dfd77eb80f4976b456128e7f1311c9f",
"payment_link": "https://bqf.ai/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,
"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"
}
]
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get the specified sell
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/sell/similique?send_purchase_details=consectetur" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/sell/similique"
);
const params = {
"send_purchase_details": "consectetur",
};
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();
$response = $client->get(
'https://bqf.ai/connector/api/sell/similique',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'send_purchase_details' => 'consectetur',
],
]
);
$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,
"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": "https://bqf.ai/invoice/6dfd77eb80f4976b456128e7f1311c9f",
"payment_link": "https://bqf.ai/pay/6dfd77eb80f4976b456128e7f1311c9f"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update sell
requires authentication
Example request:
curl --request PUT \
"https://bqf.ai/connector/api/sell/ea" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"contact_id\": 18,
\"customer_mobile\": \"odio\",
\"transaction_date\": \"2020-5-7 15:20:22\",
\"status\": \"final\",
\"sub_status\": \"null\",
\"is_quotation\": true,
\"tax_rate_id\": 16,
\"discount_amount\": 10,
\"discount_type\": \"fixed\",
\"sale_note\": \"rerum\",
\"source\": \"inventore\",
\"staff_note\": \"ut\",
\"is_suspend\": false,
\"commission_agent\": 17,
\"shipping_details\": \"Express Delivery\",
\"shipping_address\": \"illo\",
\"shipping_status\": \"ordered\",
\"delivered_to\": \"Mr Robin\",
\"shipping_charges\": 10,
\"packing_charge\": 10,
\"exchange_rate\": 1,
\"selling_price_group_id\": 2,
\"pay_term_number\": 14,
\"pay_term_type\": \"months\",
\"is_recurring\": 0,
\"recur_interval\": 15,
\"recur_interval_type\": \"days\",
\"subscription_repeat_on\": 7,
\"subscription_no\": \"autem\",
\"recur_repetitions\": 11,
\"rp_redeemed\": 9,
\"rp_redeemed_amount\": 13.5,
\"types_of_service_id\": 15,
\"service_custom_field_1\": \"cumque\",
\"service_custom_field_2\": \"explicabo\",
\"service_custom_field_3\": \"occaecati\",
\"service_custom_field_4\": \"corrupti\",
\"service_custom_field_5\": \"voluptatem\",
\"service_custom_field_6\": \"molestiae\",
\"round_off_amount\": 10811027.1,
\"table_id\": 8,
\"service_staff_id\": 9,
\"change_return\": 0,
\"change_return_id\": 3,
\"products\": [
\"rerum\"
],
\"payments\": [
\"sunt\"
]
}"
const url = new URL(
"https://bqf.ai/connector/api/sell/ea"
);
const headers = {
"Authorization": "Bearer {access_token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"contact_id": 18,
"customer_mobile": "odio",
"transaction_date": "2020-5-7 15:20:22",
"status": "final",
"sub_status": "null",
"is_quotation": true,
"tax_rate_id": 16,
"discount_amount": 10,
"discount_type": "fixed",
"sale_note": "rerum",
"source": "inventore",
"staff_note": "ut",
"is_suspend": false,
"commission_agent": 17,
"shipping_details": "Express Delivery",
"shipping_address": "illo",
"shipping_status": "ordered",
"delivered_to": "Mr Robin",
"shipping_charges": 10,
"packing_charge": 10,
"exchange_rate": 1,
"selling_price_group_id": 2,
"pay_term_number": 14,
"pay_term_type": "months",
"is_recurring": 0,
"recur_interval": 15,
"recur_interval_type": "days",
"subscription_repeat_on": 7,
"subscription_no": "autem",
"recur_repetitions": 11,
"rp_redeemed": 9,
"rp_redeemed_amount": 13.5,
"types_of_service_id": 15,
"service_custom_field_1": "cumque",
"service_custom_field_2": "explicabo",
"service_custom_field_3": "occaecati",
"service_custom_field_4": "corrupti",
"service_custom_field_5": "voluptatem",
"service_custom_field_6": "molestiae",
"round_off_amount": 10811027.1,
"table_id": 8,
"service_staff_id": 9,
"change_return": 0,
"change_return_id": 3,
"products": [
"rerum"
],
"payments": [
"sunt"
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->put(
'https://bqf.ai/connector/api/sell/ea',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'contact_id' => 18,
'customer_mobile' => 'odio',
'transaction_date' => '2020-5-7 15:20:22',
'status' => 'final',
'sub_status' => 'null',
'is_quotation' => true,
'tax_rate_id' => 16,
'discount_amount' => 10.0,
'discount_type' => 'fixed',
'sale_note' => 'rerum',
'source' => 'inventore',
'staff_note' => 'ut',
'is_suspend' => false,
'commission_agent' => 17,
'shipping_details' => 'Express Delivery',
'shipping_address' => 'illo',
'shipping_status' => 'ordered',
'delivered_to' => 'Mr Robin',
'shipping_charges' => 10.0,
'packing_charge' => 10.0,
'exchange_rate' => 1.0,
'selling_price_group_id' => 2,
'pay_term_number' => 14,
'pay_term_type' => 'months',
'is_recurring' => 0,
'recur_interval' => 15,
'recur_interval_type' => 'days',
'subscription_repeat_on' => 7,
'subscription_no' => 'autem',
'recur_repetitions' => 11,
'rp_redeemed' => 9,
'rp_redeemed_amount' => 13.5,
'types_of_service_id' => 15,
'service_custom_field_1' => 'cumque',
'service_custom_field_2' => 'explicabo',
'service_custom_field_3' => 'occaecati',
'service_custom_field_4' => 'corrupti',
'service_custom_field_5' => 'voluptatem',
'service_custom_field_6' => 'molestiae',
'round_off_amount' => 10811027.1,
'table_id' => 8,
'service_staff_id' => 9,
'change_return' => 0.0,
'change_return_id' => 3,
'products' => [
'rerum',
],
'payments' => [
'sunt',
],
],
]
);
$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,
"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": "https://bqf.ai/invoice/6dfd77eb80f4976b456128e7f1311c9f",
"payment_link": "https://bqf.ai/pay/6dfd77eb80f4976b456128e7f1311c9f"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete Sell
requires authentication
Example request:
curl --request DELETE \
"https://bqf.ai/connector/api/sell/provident" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/sell/provident"
);
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();
$response = $client->delete(
'https://bqf.ai/connector/api/sell/provident',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Add Sell Return
requires authentication
Example request:
curl --request POST \
"https://bqf.ai/connector/api/sell-return" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"transaction_id\": 13,
\"transaction_date\": \"2020-5-7 15:20:22\",
\"invoice_no\": \"possimus\",
\"discount_type\": \"fixed\",
\"discount_amount\": 10,
\"tax_id\": 8,
\"return_settlement\": \"perferendis\",
\"products\": [
\"et\"
]
}"
const url = new URL(
"https://bqf.ai/connector/api/sell-return"
);
const headers = {
"Authorization": "Bearer {access_token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"transaction_id": 13,
"transaction_date": "2020-5-7 15:20:22",
"invoice_no": "possimus",
"discount_type": "fixed",
"discount_amount": 10,
"tax_id": 8,
"return_settlement": "perferendis",
"products": [
"et"
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://bqf.ai/connector/api/sell-return',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'transaction_id' => 13,
'transaction_date' => '2020-5-7 15:20:22',
'invoice_no' => 'possimus',
'discount_type' => 'fixed',
'discount_amount' => 10.0,
'tax_id' => 8,
'return_settlement' => 'perferendis',
'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"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List Sell Return
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/list-sell-return" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/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();
$response = $client->get(
'https://bqf.ai/connector/api/list-sell-return',
[
'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,
"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": "https://bqf.ai/connector/api/list-sell-return?sell_id=157&page=1",
"last": null,
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"path": "https://bqf.ai/connector/api/list-sell-return",
"per_page": 10,
"to": 1
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update shipping status
requires authentication
Example request:
curl --request POST \
"https://bqf.ai/connector/api/update-shipping-status" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"id\": 11,
\"shipping_status\": \"ordered\",
\"delivered_to\": \"quidem\"
}"
const url = new URL(
"https://bqf.ai/connector/api/update-shipping-status"
);
const headers = {
"Authorization": "Bearer {access_token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"id": 11,
"shipping_status": "ordered",
"delivered_to": "quidem"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://bqf.ai/connector/api/update-shipping-status',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'id' => 11,
'shipping_status' => 'ordered',
'delivered_to' => 'quidem',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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 "https://bqf.ai/connector/api/active-subscription" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/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();
$response = $client->get(
'https://bqf.ai/connector/api/active-subscription',
[
'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
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get Superadmin Package List
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/packages" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/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();
$response = $client->get(
'https://bqf.ai/connector/api/packages',
[
'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"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Table management
List tables
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/table?location_id=1" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/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();
$response = $client->get(
'https://bqf.ai/connector/api/table',
[
'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"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show the specified table
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/table/odio" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/table/odio"
);
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();
$response = $client->get(
'https://bqf.ai/connector/api/table/odio',
[
'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"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Tax management
List taxes
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/tax" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/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();
$response = $client->get(
'https://bqf.ai/connector/api/tax',
[
'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"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get the specified tax
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/tax/vel" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/tax/vel"
);
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();
$response = $client->get(
'https://bqf.ai/connector/api/tax/vel',
[
'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"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Taxonomy management
List taxonomy
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/taxonomy?type=nisi" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/taxonomy"
);
const params = {
"type": "nisi",
};
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();
$response = $client->get(
'https://bqf.ai/connector/api/taxonomy',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'type' => 'nisi',
],
]
);
$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": []
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get the specified taxonomy
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/taxonomy/molestiae" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/taxonomy/molestiae"
);
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();
$response = $client->get(
'https://bqf.ai/connector/api/taxonomy/molestiae',
[
'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"
}
]
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Types of service management
List types of service
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/types-of-service" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/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();
$response = $client->get(
'https://bqf.ai/connector/api/types-of-service',
[
'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"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get the specified types of service
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/types-of-service/illum" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/types-of-service/illum"
);
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();
$response = $client->get(
'https://bqf.ai/connector/api/types-of-service/illum',
[
'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"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Unit management
List units
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/unit" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/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();
$response = $client->get(
'https://bqf.ai/connector/api/unit',
[
'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"
}
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get the specified unit
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/unit/illo" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/unit/illo"
);
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();
$response = $client->get(
'https://bqf.ai/connector/api/unit/illo',
[
'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
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
User management
Get the loggedin user details.
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/user/loggedin" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/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();
$response = $client->get(
'https://bqf.ai/connector/api/user/loggedin',
[
'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"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Register User
requires authentication
Example request:
curl --request POST \
"https://bqf.ai/connector/api/user-registration" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"surname\": \"sunt\",
\"first_name\": \"quidem\",
\"last_name\": \"aut\",
\"email\": \"ewilliamson@example.net\",
\"is_active\": \"sit\",
\"user_type\": \"aliquid\",
\"crm_contact_id\": 12,
\"allow_login\": false,
\"username\": \"ullam\",
\"password\": \"po~Aj[ZM%,yh\",
\"role\": 7,
\"access_all_locations\": true,
\"location_permissions\": [
\"et\"
],
\"cmmsn_percent\": \"itaque\",
\"max_sales_discount_percent\": \"pariatur\",
\"selected_contacts\": true,
\"selected_contact_ids\": [
\"facilis\"
],
\"dob\": \"omnis\",
\"gender\": \"voluptatem\",
\"marital_status\": \"tempore\",
\"blood_group\": \"placeat\",
\"contact_number\": \"dolores\",
\"alt_number\": \"nulla\",
\"family_number\": \"tempora\",
\"fb_link\": \"quo\",
\"twitter_link\": \"voluptatem\",
\"social_media_1\": \"quibusdam\",
\"social_media_2\": \"molestiae\",
\"custom_field_1\": \"reprehenderit\",
\"custom_field_2\": \"et\",
\"custom_field_3\": \"nihil\",
\"custom_field_4\": \"sequi\",
\"guardian_name\": \"cum\",
\"id_proof_name\": \"et\",
\"id_proof_number\": \"necessitatibus\",
\"permanent_address\": \"molestiae\",
\"current_address\": \"reprehenderit\"
}"
const url = new URL(
"https://bqf.ai/connector/api/user-registration"
);
const headers = {
"Authorization": "Bearer {access_token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"surname": "sunt",
"first_name": "quidem",
"last_name": "aut",
"email": "ewilliamson@example.net",
"is_active": "sit",
"user_type": "aliquid",
"crm_contact_id": 12,
"allow_login": false,
"username": "ullam",
"password": "po~Aj[ZM%,yh",
"role": 7,
"access_all_locations": true,
"location_permissions": [
"et"
],
"cmmsn_percent": "itaque",
"max_sales_discount_percent": "pariatur",
"selected_contacts": true,
"selected_contact_ids": [
"facilis"
],
"dob": "omnis",
"gender": "voluptatem",
"marital_status": "tempore",
"blood_group": "placeat",
"contact_number": "dolores",
"alt_number": "nulla",
"family_number": "tempora",
"fb_link": "quo",
"twitter_link": "voluptatem",
"social_media_1": "quibusdam",
"social_media_2": "molestiae",
"custom_field_1": "reprehenderit",
"custom_field_2": "et",
"custom_field_3": "nihil",
"custom_field_4": "sequi",
"guardian_name": "cum",
"id_proof_name": "et",
"id_proof_number": "necessitatibus",
"permanent_address": "molestiae",
"current_address": "reprehenderit"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://bqf.ai/connector/api/user-registration',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'surname' => 'sunt',
'first_name' => 'quidem',
'last_name' => 'aut',
'email' => 'ewilliamson@example.net',
'is_active' => 'sit',
'user_type' => 'aliquid',
'crm_contact_id' => 12,
'allow_login' => false,
'username' => 'ullam',
'password' => 'po~Aj[ZM%,yh',
'role' => 7,
'access_all_locations' => true,
'location_permissions' => [
'et',
],
'cmmsn_percent' => 'itaque',
'max_sales_discount_percent' => 'pariatur',
'selected_contacts' => true,
'selected_contact_ids' => [
'facilis',
],
'dob' => 'omnis',
'gender' => 'voluptatem',
'marital_status' => 'tempore',
'blood_group' => 'placeat',
'contact_number' => 'dolores',
'alt_number' => 'nulla',
'family_number' => 'tempora',
'fb_link' => 'quo',
'twitter_link' => 'voluptatem',
'social_media_1' => 'quibusdam',
'social_media_2' => 'molestiae',
'custom_field_1' => 'reprehenderit',
'custom_field_2' => 'et',
'custom_field_3' => 'nihil',
'custom_field_4' => 'sequi',
'guardian_name' => 'cum',
'id_proof_name' => 'et',
'id_proof_number' => 'necessitatibus',
'permanent_address' => 'molestiae',
'current_address' => 'reprehenderit',
],
]
);
$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
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List users
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/user?service_staff=&per_page=50" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/user"
);
const params = {
"service_staff": "0",
"per_page": "50",
};
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();
$response = $client->get(
'https://bqf.ai/connector/api/user',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'service_staff' => '0',
'per_page' => '50',
],
]
);
$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"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get the specified user
requires authentication
Example request:
curl --request GET \
--get "https://bqf.ai/connector/api/user/1" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://bqf.ai/connector/api/user/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();
$response = $client->get(
'https://bqf.ai/connector/api/user/1',
[
'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"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update user password.
requires authentication
Example request:
curl --request POST \
"https://bqf.ai/connector/api/update-password" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"current_password\": \"similique\",
\"new_password\": \"numquam\"
}"
const url = new URL(
"https://bqf.ai/connector/api/update-password"
);
const headers = {
"Authorization": "Bearer {access_token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"current_password": "similique",
"new_password": "numquam"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://bqf.ai/connector/api/update-password',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'current_password' => 'similique',
'new_password' => 'numquam',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"success": 1,
"msg": "Password updated successfully"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Recover forgotten password.
requires authentication
Example request:
curl --request POST \
"https://bqf.ai/connector/api/forget-password" \
--header "Authorization: Bearer {access_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"wmueller@example.org\"
}"
const url = new URL(
"https://bqf.ai/connector/api/forget-password"
);
const headers = {
"Authorization": "Bearer {access_token}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "wmueller@example.org"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://bqf.ai/connector/api/forget-password',
[
'headers' => [
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'email' => 'wmueller@example.org',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"success": 1,
"msg": "New password sent to user@example.com successfully"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.