Описание 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 |
Сущность комментарии к заявке:
Создание нового комментария к заявке
POST /api/comments/
Для создания заявки необходимо передать объект Comment
Обозначение
Тип данных
Описание
Пример значения
id
int (10)
Идентификатор комментария
10
rid
int (10)
ID заявки к которой добавляется комментарий
22
timestamp
varchar (100)
Дата добавления
14.08.2018 09:49:46
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)