Dasturchilar uchun API hujjatlari. API yordamida WorkPanni o'z dasturingiz yoki saytingiz bilan integratsiya qilishingiz mumkin
«WorkPan» API chaqiriladigan metodlar to’plamini o’z ichiga oladi.
API orqali ma’lumotlar bazasiga kirish huquqini olib, «WorkPan»ni istalgan ilova bilan integratsiya qilishingiz mumkin.
Barcha so’rovlarga miqdoriy cheklov qo’llanadi: sekundiga 8 tadan ortiq so’rov yuborib bo’lmaydi.
APIdan foydalanishdan avval uni yoqib, token kalitini generatsiya qilish kerak — buni boshqaruv panelining «Modullar» bo’limida bajarish mumkin. Shundan so’ng APIga yuboriladigan barcha so’rovlar shu token parametrini o’z ichiga olishi shart.
So’rovlarni GET|POST metodi bilan yuborish mumkin.
Barcha javoblar JSON formatida qaytariladi.
URL: — bu sizning tizimingiz joylashgan manzil, masalan https://_SIZNING_LOGININGIZ_.workpan.com.
Ushbu darsda quyidagi ma’lumotlarga ega DEMO-tizimdan foydalanamiz
URL:
- https://demo.workpan.com
token:
- wt3sctw89sl
Mundarija:
1-bo’lim: Buyurtma holatini olish
So’rov tavsifi:
|
|
Metod |
/api/order-status/ |
token (required) |
(string) token |
id (required) |
(integer) Buyurtma raqami |
Javob tavsifi:
| Kalit |
Turi |
Tavsif |
status |
(boolean) |
So’rov holati: TRUE|FALSE |
data |
(object) |
Ma’lumotlar obyekti |
data obyekti haqida batafsil ma’lumot.
| Kalit |
Tavsif |
id |
Buyurtma kaliti |
contacts_id |
Kontakt kaliti |
contacts_name |
Kontakt nomi |
global_sid |
Holat kaliti |
global_status_name |
Holatning to'liq tavsifi |
global_status_name_sm |
Holatning qisqa tavsifi |
global_status_class |
Holat klassi: ('none','warning','success','important','info','inverse') |
global_status_type |
Holat turi: (1 = kutish, 2 = ochiq, 3 = ishda, 4 = muvaffaqiyat, 5 = xato, 6 = yopiq) |
gid |
Qurilma turi kaliti |
g_name |
Qurilma turi |
bid |
Brend kaliti |
b_name |
Brend |
models_id |
Model kaliti |
m_name |
Model |
imei |
Qurilma IMEI si |
bt_data |
Nosozlik tavsifi |
nt_data |
Buyurtmaga izoh |
discount_name |
Chegirma |
sumPrice |
Xizmatlar summasi |
sumDiscount |
Chegirma summasi |
sumTotal |
Yakuniy summa |
repairs |
Ta'mir turlari obyektlari massivi:
orders_repairs_id — ta'mir tiketi
products_rosters_id — ta'mir turi kaliti
products_rosters_name — nomi
price — narxi
|
details |
Butlovchi qismlar obyektlari massivi:
orders_details_id — xarid tiketi
details_rosters_id — detal kaliti
details_rosters_name — nomi
price — narxi
|
<?php
$url = 'https://demo.workpan.com/api/order-status/';
$token = 'wt3sctw89sl'; // Namunaviy token, uni shaxsiy kabinetdan olish mumkin
$id = 10; // Namunaviy buyurtma kaliti
$postData = array(
'token' => $token,
'id' => $id
);
$post = http_build_query($postData);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$response = curl_exec($ch);
curl_close($ch);
// Ma'lumotlarni chiqarish
$obj = json_decode($response);
var_dump($obj);
{
"data": {
"id": "10",
"contacts_id": "23",
"contacts_name": "Мария",
"global_sid": "27",
"global_status_name": "Выдан с ремонтом",
"global_status_name_sm": "Выдан с ремонтом",
"global_status_class": "info",
"global_status_type": "4",
"gid": "2",
"g_name": "Планшет",
"bid": "1",
"b_name": "3Q",
"models_id": "17",
"m_name": "3Q Q-pad MT0729D",
"imei": null,
"bt_data": "После попадания воды планшет не включается, так же разбит дисплей",
"nt_data": null,
"discount_name": null,
"sumPrice": "7500.00",
"sumDiscount": "0.00",
"sumTotal": "7500.00",
"repairs": [
{
"orders_repairs_id": "34",
"products_rosters_id": "1",
"products_rosters_name": "Диагностика",
"price": "0"
},
{
"orders_repairs_id": "35",
"products_rosters_id": "2",
"products_rosters_name": "Чистка после попадания воды",
"price": "1500"
},
{
"orders_repairs_id": "36",
"products_rosters_id": "85",
"products_rosters_name": "Замена модуля (стекло, тачскрин и дисплей)",
"price": "1500"
}
],
"details": [
{
"orders_details_id": "5",
"details_rosters_id": "48",
"details_rosters_name": "Модуль (стекло, тачскрин и дисплей)",
"price": "4500"
}
]
},
"status": true
}
2-bo’lim: Barcha buyurtmalar ID sini olish
So’rov tavsifi:
|
|
Metod |
/api/get-orders-ids/ |
token (required) |
(string) token |
page |
(integer) Sahifa raqami |
create_date_start |
(integer) Buyurtma yaratilgan sana, boshlanish (UNIXTIMESTAMP) |
create_date_end |
(integer) Buyurtma yaratilgan sana, tugash (UNIXTIMESTAMP) |
Javob tavsifi:
| Kalit |
Turi |
Tavsif |
paginator |
(object) |
So’rov bo’yicha sahifalash ma’lumotlari obyekti |
items |
(object) |
Buyurtmalar ID si — keyinchalik to’liq ma’lumot olish uchun |
{
"paginator": {
"pageCount": 2,
"itemCountPerPage": 10,
"first": 1,
"current": 1,
"last": 2,
"next": 2,
"pagesInRange": {
"1": 1,
"2": 2
},
"firstPageInRange": 1,
"lastPageInRange": 2,
"currentItemCount": 10,
"totalItemCount": 11,
"firstItemNumber": 1,
"lastItemNumber": 10
},
"items": [
"1",
"2",
"9",
"22",
"29",
"30",
"31",
"32",
"33",
"34"
]
}
3-bo’lim: ID bo’yicha buyurtma ma’lumotlarini olish
So’rov tavsifi:
|
|
Metod |
/api/get-order-by-id/ |
token (required) |
(string) token |
id (required) |
(integer) Buyurtma raqami |
Javob tavsifi:
| Kalit |
Turi |
Tavsif |
id |
(integer) |
Buyurtma ID si |
contacts_id |
(integer) |
Kontakt/mijoz ID si (to’liq ma’lumot uchun tegishli bo’limga qarang) |
models_id |
(integer) |
Model ID si |
models_name |
(string) |
Model nomi |
models_gadgets_id |
(integer) |
Qurilma turi ID si |
models_gadgets_name |
(string) |
Qurilma turi nomi |
models_brands_id |
(integer) |
Brend ID si |
models_brands_name |
(string) |
Brend nomi |
services_id |
(integer) |
Servis markazi ID si |
create_uid |
(integer) |
Buyurtmani yaratgan foydalanuvchi ID si (ma’lumot uchun tegishli bo’limga qarang) |
create_date |
(datetime) |
Buyurtma yaratilgan sana |
create_date_u |
(integer) |
Buyurtma yaratilgan sana (UNIXTIMESTAMP) |
priority |
(integer) |
Buyurtma ustuvorligi (1, 2, 3) |
isService |
(boolean) |
Qurilma qayerda (0 => mijozda, 1 => servis markazida) |
isWarranty |
(boolean) |
Kafolatli buyurtmami? (0 => yo'q, 1 => ha) |
isClose |
(boolean) |
Buyurtma yopilganmi? (0 => yo'q, tahrirlash mumkin, 1 => ha, yopiq) |
bug_tid |
(integer) |
Nosozlik tavsifi kaliti (to’liq ma’lumot uchun tegishli bo’limga qarang) |
note_tid |
(integer) |
Buyurtmaga izoh (to’liq ma’lumot uchun tegishli bo’limga qarang) |
color_rid |
(integer) |
Qurilma rangi (to’liq ma’lumot uchun tegishli bo’limga qarang) |
discount_rid |
(integer) |
Buyurtma bo’yicha chegirma (to’liq ma’lumot uchun tegishli bo’limga qarang) |
discount_type |
(integer) |
Chegirma turi (1 => ishga, 2 => hammasiga) |
oriented |
(integer) |
Kelishilgan summa |
imei |
(string) |
Qurilmaning seriya raqami |
cond |
(string) |
Holati |
appearance |
(string) |
Tashqi ko’rinishi |
complete |
(string) |
Butlanmasi |
global_sid |
(integer) |
Buyurtmaning global holati (to’liq ma’lumot uchun tegishli bo’limga qarang) |
client_sid |
(integer) |
Mijoz holati (to’liq ma’lumot uchun tegishli bo’limga qarang) |
acceptance_sid |
(integer) |
Qabul holati (to’liq ma’lumot uchun tegishli bo’limga qarang) |
detail_sid |
(integer) |
Detallar holati (to’liq ma’lumot uchun tegishli bo’limga qarang) |
repair_sid |
(integer) |
Ta’mirlar holati (to’liq ma’lumot uchun tegishli bo’limga qarang) |
delivery_sid |
(integer) |
Topshirish holati (to’liq ma’lumot uchun tegishli bo’limga qarang) |
acceptance_uid |
(integer) |
Qurilmani qabul qilgan xodim ID si (to’liq ma’lumot uchun tegishli bo’limga qarang) |
acceptance_date |
(datetime) |
Qabul sanasi |
acceptance_date_u |
(integer) |
Qabul sanasi (UNIXTIMESTAMP) |
delivery_uid |
(integer) |
Qurilmani topshirgan foydalanuvchi ID si (to’liq ma’lumot uchun tegishli bo’limga qarang) |
delivery_date |
(datetime) |
Topshirish sanasi |
delivery_date_u |
(integer) |
Topshirish sanasi (UNIXTIMESTAMP) |
delivery_type |
(integer) |
Topshirish turi (1 => ta'mir bilan, 2 => ta'mirsiz) |
expect_date |
(date) |
Kutilayotgan topshirish sanasi |
expect_date_u |
(integer) |
Kutilayotgan topshirish sanasi (UNIXTIMESTAMP) |
sumPrice |
(float) |
Barcha xizmatlar summasi |
sumDiscount |
(float) |
Chegirma summasi |
sumTotal |
(float) |
Yakuniy summa (xizmatlar summasi minus chegirma) |
sumExpense |
(float) |
Xarajatlar summasi |
sumPaid |
(float) |
To’langan |
sumIncome |
(string) |
Foyda |
guarantee_rid |
(string) |
Kafolat kaliti ID si (to’liq ma’lumot uchun tegishli bo’limga qarang) |
{
"id": "31",
"contacts_id": "23",
"models_id": "1928",
"models_name": "Apple iPhone 2G",
"models_gadgets_id": "1",
"models_gadgets_name": "Apple",
"models_brands_id": "5",
"models_brands_name": "Телефон",
"services_id": "2",
"create_uid": "1",
"create_date": "2018-07-05 16:30:55",
"create_date_u": "1530790255",
"priority": "2",
"isService": "1",
"isWarranty": "0",
"isClose": "0",
"bug_tid": "10",
"note_tid": null,
"color_rid": "107",
"discount_rid": null,
"discount_type": null,
"oriented": "0",
"imei": "",
"cond": "Б/У",
"appearance": "Потертости,Царапины",
"complete": "Без упаковки,Без флешки,Без СЗУ,Без аккумлятора",
"global_sid": "14",
"client_sid": "7",
"acceptance_sid": "10",
"detail_sid": "14",
"repair_sid": "21",
"delivery_sid": null,
"acceptance_uid": "1",
"acceptance_date": "2019-01-19 14:36:40",
"acceptance_date_u": "1547890600",
"delivery_uid": null,
"delivery_date": null,
"delivery_date_u": null,
"delivery_type": null,
"expect_date": "2019-03-11",
"expect_date_u": "1552244400",
"sumPrice": "1000.00",
"sumDiscount": "0.00",
"sumTotal": "1000.00",
"sumExpense": "0.00",
"sumPaid": "1000.00",
"sumIncome": "1000.00",
"guarantee_rid": null
}
4-bo’lim: ID bo’yicha kontakt ma’lumotlarini olish
So’rov tavsifi:
|
|
Metod |
/api/get-contact-by-id/ |
token (required) |
(string) token |
id (required) |
(integer) Kontakt raqami |
Javob tavsifi:
| Kalit |
Turi |
Tavsif |
id |
(integer) |
Kontakt ID si |
name |
(string) |
Nomi |
create_users_id |
(integer) |
Kontaktni yaratgan foydalanuvchi |
date_create |
(datetime) |
Yaratilgan sana |
date_create_u |
(integer) |
Yaratilgan sana (UNIXTIMESTAMP) |
date_update |
(datetime) |
Yangilangan sana |
date_update_u |
(integer) |
Yangilangan sana (UNIXTIMESTAMP) |
types |
(string) |
Kontakt turi (ENUM('client','organization','provider')) |
status |
(integer) |
Holati |
update_users_id |
(integer) |
Kontaktni yangilagan foydalanuvchi ID si |
communications |
(object) |
Kontakt bilan aloqa ma’lumotlari massivi (telefon, sayt, manzil va boshqalar) |
{
"id": "23",
"name": "Мария",
"create_users_id": "1",
"date_create": "2018-06-11 18:38:11",
"date_create_u": "1528724291",
"date_update": "2019-03-29 16:44:23",
"date_update_u": "1553859863",
"types": "client",
"status": "1",
"update_users_id": "1",
"communications": [
{
"rosters_id": "1",
"rosters_name": "Телефон",
"rosters_type_id": "17",
"rosters_type_name": "Мобильный",
"data": "78124987856"
},
{
"rosters_id": "1",
"rosters_name": "Телефон",
"rosters_type_id": "16",
"rosters_type_name": "Рабочий",
"data": "7495123456"
}
]
}
5-bo’lim: ID bo’yicha holat ma’lumotlarini olish
So’rov tavsifi:
|
|
Metod |
/api/get-status-by-id/ |
token (required) |
(string) token |
id (required) |
(integer) Holat ID si |
Javob tavsifi:
| Kalit |
Turi |
Tavsif |
id |
(integer) |
Holat ID si |
name |
(string) |
Nomi |
name_small |
(string) |
Qisqa nomi |
status_groups_id |
(integer) |
Holat guruhi ID si |
status_groups_name |
(string) |
Holat guruhi nomi |
class |
(string) |
class ENUM('none','warning','success','important','info','inverse') |
class_i |
(integer) |
class integer |
type |
(string) |
type ENUM(kutish, ochiq, ishda, muvaffaqiyat, xato, yopiq) |
type_i |
(integer) |
type integer |
{
"id": "14",
"name": "Требуется назначить закупщика",
"name_small": "Тр. назначить закупщика",
"status_groups_id": "4",
"status_groups_name": "Запчасти",
"class": "warning",
"class_i": "2",
"type": "ожидание",
"type_i": "1"
}
6-bo’lim: ID bo’yicha xodim ma’lumotlarini olish
So’rov tavsifi:
|
|
Metod |
/api/get-user-by-id/ |
token (required) |
(string) token |
id (required) |
(integer) Xodim ID si |
Javob tavsifi:
| Kalit |
Turi |
Tavsif |
id |
(integer) |
Xodim ID si |
name |
(string) |
Ismi |
lastname |
(string) |
Familiyasi |
{
"id": "1",
"create_date": "2018-04-18 19:11:42",
"create_date_u": "1524060702",
"create_uid": "1",
"name": "Иван",
"lastname": "Иванов",
"patronymic": null,
"login": "ivanov123",
"auths_groups_id": "1",
"isAdmin": "1",
"services_id": "1",
"status_id": "50",
"rosters_posts_id": "1",
"date_birth": "1989-01-01",
"date_birth_u": "614372400",
"note": null,
"career_start": "2018-02-01",
"career_end": null,
"communications": [
{
"rosters_id": "1",
"rosters_name": "Телефон",
"rosters_type_id": null,
"rosters_type_name": null,
"data": "+749512346"
},
{
"rosters_id": "3",
"rosters_name": "E-mail",
"rosters_type_id": null,
"rosters_type_name": null,
"data": "[email protected]"
},
{
"rosters_id": "12",
"rosters_name": "Мессенджер",
"rosters_type_id": null,
"rosters_type_name": null,
"data": "skype_name"
}
]
}
7-bo’lim: ID bo’yicha matn ma’lumotlarini olish (_tid bilan tugaydigan maydonlar)
So’rov tavsifi:
|
|
Metod |
/api/get-text-by-id/ |
token (required) |
(string) token |
id (required) |
(integer) Kerakli yozuv ID si | yuqoridagi so’rovlardagi _tid maydonlari |
Javob tavsifi:
| Kalit |
Turi |
Tavsif |
id |
(integer) |
ID |
data |
(string) |
Ma’lumot |
{
"id": "15",
"data": "Не заряжается"
}
8-bo’lim: ID bo’yicha ma’lumotnomadan ma’lumot olish (_rid bilan tugaydigan maydonlar)
So’rov tavsifi:
|
|
Metod |
/api/get-roster-by-id/ |
token (required) |
(string) token |
id (required) |
(integer) Kerakli yozuv ID si | yuqoridagi so’rovlardagi _rid maydonlari |
Javob tavsifi:
| Kalit |
Turi |
Tavsif |
id |
(integer) |
ID |
name |
(string) |
Nomi |
{
"id": "15",
"name": "Банковские реквизиты"
}