Описание API
Пример обработки обращения к API из CURL на PHP
$host= 'http://localhost/api/requests/'; //запрос для каждой модели свой
$username = 'admin';
$password = 'admin';
$postFields = http_build_query(['service_id' => 3, 'CUsers_id' => 'admin', 'Status' => 'Открыта',
'ZayavCategory_id' => 'Заявканаобслуживание', 'Priority' => 'Низкий',
'Name' => 'Название', 'Content' => 'текст заявки']); //передается urlencoded POST-массив
$process = curl_init($host);
curl_setopt($process, CURLOPT_HEADER, 1);
curl_setopt($process, CURLOPT_USERPWD, $username . ":" . $password);
curl_setopt($process, CURLOPT_TIMEOUT, 30);
curl_setopt($process, CURLOPT_POST, 1);
curl_setopt($process, CURLOPT_POSTFIELDS, $postFields);
curl_setopt($process, CURLOPT_RETURNTRANSFER, TRUE);
$postFields = curl_exec($process);
curl_close($process);
Сущность заявки - таблица request:
Получение всех заявок
GET /api/requests/
Возвращает массив объектов Request
Получение заявок с выборкой
GET /api/requests/?Managers_id=manager (выборка заявок с определенным исполнителем, указывается логин);
GET /api/requests/?timestamp=2016-06-17 (выборка за определенную дату);
GET /api/requests/?timestamp=2016-06-17 10:00 (выборка за определенную дату и время);
GET /api/requests/?timestamp=>2016-06-17 10:00 (выборка за дату и время большую чем указана);
GET /api/requests/?service_id=3 (выборка по определенному сервису, id сервиса можно посмотреть в БД);
Возвращает массив объектов Request отфильтрованных по условию, поддерживаются значения = (равно), =<> (неравно), =< (меньше), => (больше).
Получение одной заявки
GET /api/requests/{id}
Возвращает объект Request по id
Создание новой заявки
POST /api/requests/
Для создания заявки необходимо передать объект Request
Редактирование заявки
PUT /api/requests/{id}
Для редактирования заявки по id, необходимо передать объект Request в JSON формате
Пример: {"Name":"TEST22","Content":"TEST55"}
Удаление заявки
DELETE /api/requests/{id}
Удаляет заявку по id
Получение записей истории заявки
GET /api/history/?zid={id}
Описание полей таблицы request доступных через API:
Обозначение
Тип данных (длина)
Описание
Пример значения
id
int(10)
Идентификатор заявки
2
pid
int(10)
Идентификатор родительской заявки
1
Name
string(100)
Наименование заявки
Тестовая заявка
ZayavCategory_id
string(50) справочник
Категория заявки
Заявка на обслуживание
Date
string(50)
Дата создания заявки
07.05.2016 11:17
StartTime
string(50)
Планируемая дата начала исполнения
09.05.2016 09:30
fStartTime
string(50)
Фактическая дата начала исполнения
09.05.2016 09:27
EndTime
string(50)
Планируемая дата выполнения
09.05.2016 10:30
fEndTime
string(50)
Фактическая дата выполнения
09.05.2016 10:25
Status
string(100)
Статус заявки
Просрочено исполнение
slabel
string(400)
Статус заявки оформленный html тегами
Пример лэйбла в БД
Priority
string (50) справочник
Приоритет заявки
Низкий
Managers_id
string (50)справочник
Логин исполнителя
manager
CUsers_id
string (50)справочник
Логин пользователя
user
phone
string (50)
Телефон пользователя
+79003113133
room
string (50)
Кабинет, где находится пользователь
233
Address
string (50)
Адрес пользователя
Москва, ул. Пупырина, д.6
company
string (50)
Компания пользователя
Users Company
Content
text
Текст заявки с управляющими тегами
<p>Сломался принтер</p>
cunits
string (500)справочник
ID связанных конфигурационных единиц
1
closed
string (50)справочник
Состояние заявки
1 - этот параметр означает новую заявку; 2 - этот параметр означает, что заявка принята в исполнение; 3 - этот параметр означает закрытие заявки, дальше его не будет обрабатывать CRON и сверять дедлайны; 9 - этот параметр означает что заявка отложена;
service_id
int(10)справочник
IDсервиса
3 (id сервиса находим в БД)
service_name
string (50)справочник
Название сервиса заявки
Обслуживание внутренних клиентов
image
string (250)
Вложение
printscreen.png
timestamp
datetime
Дата создания заявки
2016-06-17 10:46:41
timestampStart
datetime
Планируемая дата начала исполнения
2016-06-17 12:16:00
timestampfStart
datetime
Фактическая дата начала исполнения
2016-06-17 12:12:11
timestampEnd
datetime
Планируемая дата выполнения
2016-06-17 01:16:00
timestampfEnd
datetime
Фактическая дата выполнения
2016-06-17 01:13:27
fullname
string (50)
Имя создателя
Администратор
mfullname
string (50)
Имя исполнителя
Васин В.В.
gfullname
Группа исполнителя
depart
Отдел
creator
Имя создателя
Администратор
watchers
Наблюдатели
admtest
rating
Оценка заявки
5
lead_time
Время выполнения заявки
00:53:33
subs
массив объектов comment
Комментарии к заявки
array()
files
массив объектов вложений
Вложения к заявке
array()
flds
массив объектов дополнительных полей
Дополнительные поля
array()
Сущность комментарии к заявке:
Создание нового комментария к заявке
POST /api/comments/
Для создания заявки необходимо передать объект Comment
Обозначение
Тип данных
Описание
Пример значения
id
int (10)
Идентификатор комментария
10
rid
int (10)
ID заявки к которой добавляется комментарий
22
timestamp
varchar (100)
Дата добавления
14.08.2018 09:49:46
author
varchar (100)
Автор комментария
Администратор
comment
text
Текст комментария
Ваш комментарий в HTML формате
show
int (1)
Отображать комментарий заказчику или нет
1 (не отображать) или 0 (отображать)
channel
varchar (100)
Канал получения комментария
email, manual, widget, telegram, viber, planned, portal
Сущность вложения (файла) к заявке:
Создание нового вложения к заявке
POST /api/files/
Для создания заявки необходимо передать объект типа file
Возвращает объект file, в котором ID файла и URL файла.
При создании заявки можно передать массив загруженных ранее файлов files[]={id} с ID файлов.
Сущность проблемы - таблица problems:
Получение всех проблем
GET /api/problems/
Возвращает массив объектов Problem
Получение одной проблемы
GET /api/problems/{id}
Возвращает объект Problem по id
Создание новой проблемы
POST /api/problems/
Для создания проблемы необходимо передать объект Problem
Редактирование проблемы
PUT /api/problems/{id}
Для редактирования проблемы по id, необходимо передать объект Problem
Удаление проблемы
DELETE /api/problems/{id}
Удаляет проблемы по id
Описание полей таблицы problems доступных через API:
Обозначение
Тип данных
Описание
Пример
id
int(10)
Идентификатор проблемы
1
date
string(50)
Дата возникновения проблемы
06.01.2015 13:59
enddate
string(50)
Дата решения проблемы
07.01.2015 10:05
manager
string(50)
Исполнитель
Васин В.В.
category
string(50)
Категория проблемы
Новые проблемы
status
string(70)
Статус проблемы
Зарегистрирована
slabel
string(500)
Статус проблемы оформленный html тегами
<span style="display: inline-block; padding: 2px 4px; font-size: 11.844px; font-weight: bold; line-height: 14px; color: #ffffff; vertical-align: baseline; white-space: nowrap; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); border-radius: 3px; -webkit-border-radius: 3px; -moz-border-radius: 3px; background-color: #6ac28e">Зарегистрирована</span>
incidents
string(200)
workaround
text
decision
text
knowledge
int(10)
knowledge_trigger
int(1)
description
text
Описание проблемы
Проблема с почтовым сервером
service
string(50)
Название сервиса
Электронная почта
priority
string(50)
Приоритет
Низкий
downtime
string(50)
Время простоя сервиса
00:10
influence
string(50)
Влияние на сервис
Частичная неработоспособность
assets
string(50)
Связанная конфигурационная единица
Рабочее место Кузнецова
assets_names
string(200)
Связанная конфигурационная единица
Рабочее место Кузнецова
users
string(200)
Пользователь
Кузнецов А.С.
image
string(200)
Вложение
01.04.2016-30.04.2016.xls
creator
string(100)
Создатель заявки
Администратор
timestamp
datetime
Время создания заявки
2015-01-06 13:59:52
Сущность пользователь - таблица CUsers:
Получение списка пользователей
GET /api/users/
Возвращает массив объектов User
Получение одной пользователя
GET /api/users/{id}
Возвращает объект User по id
Создание нового пользователя
POST /api/users/
Для создания пользователя необходимо передать объект User
Редактирование пользователя
PUT /api/users/{id}
Для редактирования пользователя по id, необходимо передать объект User
Удаление пользователя
DELETE /api/users/{id}
Удаляет пользователя по id
Описание полей таблицы CUsers доступных через API:
Обозначение
Тип данных
Описание
Пример
id
int(10)
Идентификатор пользователя
1
Username
string(50)
Логин пользователя
admin
fullname
string(50)
Полное ФИО пользователя
Администратор
string(50)
Электронная почта
admin@email.com
Phone
string(50)
Телефон
+79003113133
push_id
string(50)
intphone
string(50)
Внутренний номер
2222
role
string(50)
Системная роль пользователя
vsdeskadmin
role_name
string(50)
Название системной роли
Администратор
company
string(50)
Компания
Users Company
room
string(50)
Кабинет
23
department
string(100)
Отдел
ИТ отдел
umanager
string(100)
birth
string(50)
День рождения
position
string(50)
sendmail
int(1)
Флаг email уведомлений
1
sendsms
int(1)
Флаг sms уведомлений
0
lang
string(50)
Язык интерфейса
ru
Сущность актива - таблица assets:
Получение всех активов
GET /api/assets/
Возвращает массив объектовAsset
Получение одного актива
GET /api/assets/{id}
Возвращает объект Asset по id
Создание нового актива
POST /api/assets/
Для создания актива необходимо передать объектAsset
Редактирование актива
PUT /api/assets/{id}
Для редактирования актива по id, необходимо передать объект Asset
Удаление актива
DELETE /api/assets/{id}
Удаляет актив по id
Описание полей таблицы assets доступных через API:
Обозначение
Тип данных
Описание
Пример
id
int(10)
Идентификатор актива
1
uid
int(10)
1
date
string(50)
Дата заведения
27.12.2014 14:03
name
string(50)
Наименование актива
ПК Кузнецова
location
string(50)
inventory
string(50)
PC-125987
status
string(50)
Статус
Используется
slabel
string(400)
Статус проблемы оформленный html тегами
<span style="display: inline-block; padding: 2px 4px; font-size: 11.844px; font-weight: bold; line-height: 14px; color: #ffffff; vertical-align: baseline; white-space: nowrap; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); border-radius: 3px; -webkit-border-radius: 3px; -moz-border-radius: 3px; background-color: #6ac28e">Используется</span>
cost
string(50)
Стоимость
22500
asset_attrib_id
int(10)
Тип актива
6
asset_attrib_name
string(50)
Название типа актива
Системный блок
cusers_id
int(10)
cusers_name
string(50)
Владелец актива
user
cusers_fullname
string(50)
Полное имя владельца
Кузнецов А.С.
cusers_dept
string(50)
Отдел
Отдел продаж
items
массив объектов
Характеристики актива
Сущность КЕ - таблица cunits:
Получение всех КЕ
GET /api/cunits/
Возвращает массив объектов Cunit
Получение одной КЕ
GET /api/cunits/{id}
Возвращает объект Cunit по id
СозданиеновойКЕ
POST /api/cunits/
Для создания КЕ необходимо передать объект Cunit
Редактирование КЕ
PUT /api/cunits/{id}
Для редактирования КЕ по id, необходимо передать объект Cunit
УдалениеКЕ
DELETE /api/cunits/{id}
Удаляет КЕ по id
Описание полей таблицы cunits доступных через API:
Обозначение
Тип данных
Описание
Пример
id
int(10)
Идентификатор КЕ
1
name
string(10)
Наименование
ПК Кузнецова
type
string(50)
Тип
Рабочая станция
status
string(50)
Статус
Используется
slabel
string(400)
Статус оформленный htmlтегами
<span style="display: inline-block; padding: 2px 4px; font-size: 11.844px; font-weight: bold; line-height: 14px; color: #ffffff; vertical-align: baseline; white-space: nowrap; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); border-radius: 3px; -webkit-border-radius: 3px; -moz-border-radius: 3px; background-color: #6ac28e">Используется</span>
cost
string(50)
Стоимость
39800
user
string(50)
Пользователь
user
fullname
string(70)
Пользователь ФИО
Кузнецов А.С.
dept
string(100)
Отдел
Отдел продаж
inventory
string(50)
Инвентарный №
WS-156798
date
string(50)
Дата заведения
27.12.2014 14:05
datein
string(50)
Дата ввода в эксплуатацию
27.12.2014
dateout
string(50)
Дата вывода из эксплуатации
company
string(70)
Компания
Users Company
assets
string(2000)
Активы
3,4,5,1,2
location
string(100)
Last updated