API «WorkPan» содержит набор вызываемых методов.
Вы можете интегрировать «WorkPan» с любым приложением, получив доступ к базе данных через API.
Для всех запросов действует ограничение по количеству. Вы можете делать не более 8-ми запросов в секунду.
Прежде чем использовать API вы должны его включить и сгенерировать ключь token
,
это можно сделать в разделе Модули. После чего все запросы к API должны
содержать в себе этот параметр token
.
Запросы можно отправлять методом GET|POST
.
Все ответы будут предоставлены в формате JSON
.
URL:
- это адрес расположение вашей системы, пример,
https://_ВАШ_ЛОГИН_.workpan.com
.
В данном уроке мы будем использовать DEMO-систему со следующими данными
URL:
- https://demo.workpan.com
token:
- wt3sctw89sl
Оглавление:
- Раздел №1: Получение статуса заявки
- Раздел №2: Получение ID всех заявок
- Раздел №3: Получение информации о заявке по ID
- Раздел №4: Получение информации о контакте по ID
- Раздел №5: Получение информации о статусе по ID
- Раздел №6: Получение информации о сотруднике по ID
- Раздел №7: Получение текстовых данных по ID (поля с окончанием _tid)
- Раздел №8: Получение данных из справочника, по ID (поля с окончанием _rid)
Описание запроса:
Метод |
/api/order-status/ |
token
(required)
|
(string) token |
id
(required)
|
(integer) Номер заявки |
Описание ответа:
Ключ | Тип | Описание |
---|---|---|
status |
(boolean) |
Статус запроса: TRUE|FALSE |
data |
(object) |
Объект данными |
Подробная информация о объекте data
.
Ключ | Описание |
---|---|
id |
Ключ заявки |
contacts_id |
Ключ контакта |
contacts_name |
Наименование контакта |
global_sid |
Ключ статуса |
global_status_name |
Полное описание статуса |
global_status_name_sm |
Краткое описание статуса |
global_status_class |
Класс статуса: ('none','warning','success','important','info','inverse') |
global_status_type |
Тип статуса:
(1 = 'ожидание', 2 = 'открыт', 3 = 'в работе', 4 = 'успех', 5 = 'ошибка', 6 =
'закрыт') |
gid |
Ключ типа аппарата |
g_name |
Тип аппарата |
bid |
Ключ бренда |
b_name |
Бренд |
models_id |
Ключ модели |
m_name |
Модель |
imei |
IMEI аппарата |
bt_data |
Описание поломки |
nt_data |
Примечание к заявке |
discount_name |
Скидка |
sumPrice |
Сумма услуг |
sumDiscount |
Сумма скидки |
sumTotal |
Итоговая сумма |
repairs |
Массив объектов с Видами ремонта:
|
details |
Массив объектов с Комплектующими:
|
<?php
$url = 'https://demo.workpan.com/api/order-status/';
$token = 'wt3sctw89sl'; // Примерный token, его можно получить в личном кабинете
$id = 10; // Примерный ключ заявки
$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);
// Вывод данных
$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
}
Описание запроса:
Метод |
/api/get-orders-ids/ |
token
(required)
|
(string) token |
page |
(integer) Номер страницы |
create_date_start |
(integer) Дата создание заявки, начало (UNIXTIMESTAMP) |
create_date_end |
(integer) Дата создание заявки, конец (UNIXTIMESTAMP) |
Описание ответа:
Ключ | Тип | Описание |
---|---|---|
paginator |
(object) |
Объект с данными для обхода по запросу |
items |
(object) |
ID заявок, для последующего получения полных данных |
{
"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"
]
}
Описание запроса:
Метод |
/api/get-order-by-id/ |
token
(required)
|
(string) token |
id
(required)
|
(integer)
Номер заявки
|
Описание ответа:
Ключ | Тип | Описание |
---|---|---|
id |
(integer) |
ID заявки |
contacts_id |
(integer) |
ID контакта/клиента (для получение полных данных, см. соответствующий раздел) |
models_id |
(integer) |
ID модели |
models_name |
(string) |
Название модели |
models_gadgets_id |
(integer) |
ID Типа устройства |
models_gadgets_name |
(string) |
Название типа устройсва |
models_brands_id |
(integer) |
ID бренда |
models_brands_name |
(string) |
Название бренда |
services_id |
(integer) |
ID сервисного центра |
create_uid |
(integer) |
ID пользователя создавшего заявку (для получение данных, см. соответствующий раздел) |
create_date |
(datetime) |
Дата создание заявки |
create_date_u |
(integer) |
Дата создание заявки (UNIXTIMESTAMP) |
priority |
(integer) |
Приоритет заякки (1, 2, 3) |
isService |
(boolean) |
Статус нахождение аппарата в сервисе (0 => у клиента, 1 => в сервисном центре)
|
isWarranty |
(boolean) |
Гарантийная заявка? (0 => нет, 1 => да) |
isClose |
(boolean) |
Заявка закрыта? (0 => нет, можно редактировать, 1 => да, закрыта) |
bug_tid |
(integer) |
Ключ описания поломки (для получение полных данных, см. соответствующий раздел) |
note_tid |
(integer) |
Примечание к заявке (для получение полных данных, см. соответствующий раздел) |
color_rid |
(integer) |
Цвет аппарата (для получение полных данных, см. соответствующий раздел) |
discount_rid |
(integer) |
Скидка по заявке (для получение полных данных, см. соответствующий раздел) |
discount_type |
(integer) |
Тип скидки (1 => на работу, 2 => на все) |
oriented |
(integer) |
Сумма согласование |
imei |
(string) |
Серийный номер аппарата |
cond |
(string) |
Состояние |
appearance |
(string) |
Внешний вид |
complete |
(string) |
Комплектация |
global_sid |
(integer) |
Глобальный статус заяки (для получение полных данных, см. соответствующий раздел) |
client_sid |
(integer) |
Клиентский статус (для получение полных данных, см. соответствующий раздел) |
acceptance_sid |
(integer) |
Статус приёмки (для получение полных данных, см. соответствующий раздел) |
detail_sid |
(integer) |
Статус деталей (для получение полных данных, см. соответствующий раздел) |
repair_sid |
(integer) |
Статус ремонтов (для получение полных данных, см. соответствующий раздел) |
delivery_sid |
(integer) |
Статус выдачи (для получение полных данных, см. соответствующий раздел) |
acceptance_uid |
(integer) |
ID сотрудника принявшего аппарат (для получение полных данных, см. соответствующий раздел) |
acceptance_date |
(datetime) |
Дата приёмки |
acceptance_date_u |
(integer) |
Дата приёмки (UNIXTIMESTAMP) |
delivery_uid |
(integer) |
ID пользователя выдавшего аппарат (для получение полных данных, см. соответствующий раздел) |
delivery_date |
(datetime) |
Дата выдачи |
delivery_date_u |
(integer) |
Дата выдачи (UNIXTIMESTAMP) |
delivery_type |
(integer) |
Тип выдачи code{(1 => с ремонтом, 2 => без ремонта)} |
expect_date |
(date) |
Дата ожидание клиента/выдачи |
expect_date_u |
(integer) |
Дата ожидание клиента/выдачи (UNIXTIMESTAMP) |
sumPrice |
(float) |
Сумма всех услуг |
sumDiscount |
(float) |
Сумма скидки |
sumTotal |
(float) |
Итоговая сумма (сумма услуг - сумма скидки) |
sumExpense |
(float) |
Сумма расходов |
sumPaid |
(float) |
Оплачено |
sumIncome |
(string) |
Прибыль |
guarantee_rid |
(string) |
ID ключа гарантии (для получение полных данных, см. соответствующий раздел) |
{
"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
}
Описание запроса:
Метод |
/api/get-contact-by-id/ |
token
(required)
|
(string) token |
id
(required)
|
(integer) Номер контакта |
Описание ответа:
Ключ | Тип | Описание |
---|---|---|
id |
(integer) |
ID контакта |
name |
(string) |
Название |
create_users_id |
(integer) |
Пользователь создавший контакт |
date_create |
(datetime) |
Дата создания |
date_create_u |
(integer) |
Дата создания (UNIXTIMESTAMP) |
date_update |
(datetime) |
Дата обновления |
date_update_u |
(integer) |
Дата обновления (UNIXTIMESTAMP) |
types |
(string) |
Тип контакта (ENUM('client','organization','provider')) |
status |
(integer) |
Статус |
update_users_id |
(integer) |
ID пользователя обновивший контакт |
communications |
(object) |
Массив с данными коммуникации с контактом (телефон, сайт, адрес и прочие) |
{
"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"
}
]
}
Описание запроса:
Метод |
/api/get-status-by-id/ |
token
(required)
|
(string) token |
id
(required)
|
(integer) ID статуса |
Описание ответа:
Ключ | Тип | Описание |
---|---|---|
id |
(integer) |
ID статуса |
name |
(string) |
Название |
name_small |
(string) |
Краткое назнвание |
status_groups_id |
(integer) |
ID группы статуса |
status_groups_name |
(string) |
Название группы статуса |
class |
(string) |
class ENUM('none','warning','success','important','info','inverse') |
class_i |
(integer) |
class integer |
type |
(string) |
type ENUM('ожидание','открыт','в работе','успех','ошибка','закрыт') |
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"
}
Описание запроса:
Метод |
/api/get-user-by-id/ |
token
(required)
|
(string) token |
id
(required)
|
(integer) ID сотрудника |
Описание ответа:
Ключ | Тип | Описание |
---|---|---|
id |
(integer) |
ID сотрудника |
name |
(string) |
Имя |
lastname |
(string) |
Фамилия |
{
"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"
}
]
}
Описание запроса:
Метод |
/api/get-text-by-id/ |
token
(required)
|
(string) token |
id
(required)
|
(integer) ID нужной записи | окончание в пред. запросах на _tid |
Описание ответа:
Ключ | Тип | Описание |
---|---|---|
id |
(integer) |
ID |
data |
(string) |
Данные |
{
"id": "15",
"data": "Не заряжается"
}
Описание запроса:
Метод |
/api/get-roster-by-id/ |
token
(required)
|
(string) token |
id
(required)
|
(integer) ID нужной записи | окончание в пред. запросах на _rid |
Описание ответа:
Ключ | Тип | Описание |
---|---|---|
id |
(integer) |
ID |
name |
(string) |
Название |
{
"id": "15",
"name": "Банковские реквизиты"
}