Comment on page
API v.2
- Добавлены возможности создания заявок, а так ж е работы с ними (выполнение действий над заявками).
- Изменён способ аутентификации
- Изменён формат запросов/ответов
Для работы с API, необходимо иметь
token
, который генерируется в панели администрирования и может иметь срок действия. Метод аутентификации: JWT
. Вы можете использовать token
как в виде параметра token
тела запроса, так и в Header Authorization: Bearer <token>
.Для всех запросов используется метод
POST
. Формат запросов: Content-Type: multipart/form-data;
. Во всех ответах формат: json
. В случае ошибки, обязательно возвращаются: message
, status_code
.В качестве наличия включённого атрибута
sudo
, в настройках token
, при запросе возможно указывать id
пользователя, от которого производится действие с заявкой. В таком случае, все права на заявки берутся исключительно из настроек формы заявки id
пользователя указанного в sudo
. Если параметр sudo
выключен или отсутствует, то по умолчанию все действия будут производиться от пользователя, указанного в настройках конкретного token
.- 1.Пользователи:
- 1.Создание
- 2.Поиск
- 3.Прос мотр
- 2.Заявки:
- 1.Просмотр возможных атрибутов для создания заявки
- 2.Просмотр списка возмож ных групп (кому)
- 1.Просмотр списка возможных тэгов
- 3.Просмотр списка возможных пользователей (кому)
- 4.Просмотр списка возможных SLA
- 5.Просмотр списка возможных дополнительных полей
- 6.Создание заявки
- 1.Просмотр заявки
- 7.Просмотр списка входящих заявок
- 8.Просмотр списка исходящих заявок
- 9.Просмотр списка архивных заявок
- 10.Добавление наблюдающего пользователя к заявке
- 11.Удаление наблюдающего пользователя к заявке
- 12.Переадресация заявки
- 13.Блокирование/разблокирование заявки
- 14.Выполнение/отмена заявки
- 15.Объединение заявки
- 16.Подтверждение/отмена проверки заявки после её выполнения
- 17.Комментирование заявки
- 3.Авторизация:
- 1.Log In (вход)
- 2.Log Out (выход)
- 4.IP-телефония
Endpoint:
user/create
post
/api/v2/user/create
Создание пользователя
Параметры запроса:
Параметр | Описание |
name (обязательный) | Имя Фамилия пользователя |
email (обязательный) | Email пользователя |
password (обязательный) | Пароль пользователя |
groups_user (опциональный) | Список id групп, через запятую в которых пользователь с ролью пользователя |
groups_super (опциональный) | Список id групп, через запятую в которых пользователь с ролью супер пользователь |
notify: true/false (опциональный) | Уведомить пользователя о создании его учётной записи |
lang: ru,en,uk (опциональный) | Язык интерфейса пользователя |
conf_params: user,group (опциональный) | Параметры формы создания заявки |
ticket_form_id (опциональный) | ID формы создания заявки |
group_conf_id (опциональный) | ID группы, с которой брать форму создания заявки |
role: 'admin','user','client' (опциональный) | Роль пользователя в системе |
Пример ответа:
[
{
"id": 9,
"name": "[email protected]",
"email": "[email protected]",
"last_login": null,
"created_at": "2019-04-23 11:13:11",
"updated_at": "2019-04-23 11:13:11",
"deleted_at": null,
"active": "true"
}
]
Endpoint:
user/find
Параметры запроса:
Параметр | Описание |
q (обязательный) | Имя Фамилия пользователя/email |
Пример ответа:
[
{
"id": 9,
"name": "[email protected]",
"email": "[email protected]",
"last_login": null,
"created_at": "2019-04-23 11:13:11",
"updated_at": "2019-04-23 11:13:11",
"deleted_at": null,
"active": "true"
}
]
Endpoint:
user
Параметры запроса:
Параметр | Описание |
user_id (обязательный) | ID пользователя |
Пример ответа:
{
"user": {
"id": 1,
"name": "System Account",
"email": "admin@local",
"last_login": "2019-05-17 15:38:10",
"created_at": "2019-04-05 07:48:01",
"updated_at": "2019-05-17 15:38:10",
"deleted_at": null,
"active": "true"
},
"profile": {
"user_id": 1,
"user_img": null,
"user_cover": null,
"lang": "ru",
"full_name": "System Account",
"user_urlhash": "dQbM7AkSgr8m2PmQUM6CuHxCx",
"sms": null,
"pb": null,
"telephone": null,
"skype": null,
"address": null,
"position": "$request->profile['email']",
"birthdayDay": 1,
"birthdayMonth": 1,
"birthdayYear": 1950,
"email": "admin@local",
"facebook": null,
"twitter": null,
"website": null,
"about": null,
"skills": "",
"created_at": "2019-04-05 07:48:01",
"updated_at": "2019-05-06 14:24:03"
},
"role": {
"id": 1,
"created_at": "2019-04-05 07:48:01",
"updated_at": "2019-04-05 07:48:01",
"user_id": 1,
"role": "admin"
},
"group_admin": [
{
"id": 1,
"name": "Default group",
"description": "Default group",
"cover": null,
"icon": null,
"status": "public",
"description_full": null,
"slogan": null,
"address": null,
"tags": null,
"facebook": null,
"twitter": null,
"group_urlhash": "def_group",
"created_at": "2019-04-08 09:17:06",
"updated_at": "2019-04-08 09:17:06",
"pivot": {
"user_id": 1,
"group_id": 1,
"created_at": "2019-04-12 12:43:24",
"updated_at": "2019-04-12 12:43:24",
"status": "success",
"priviliges": "admin"
}
}
],
"group_user": [
{
"id": 1,
"name": "Default group",
"description": "Default group",
"cover": null,
"icon": null,
"status": "public",
"description_full": null,
"slogan": null,
"address": null,
"tags": null,
"facebook": null,
"twitter": null,
"group_urlhash": "def_group",
"created_at": "2019-04-08 09:17:06",
"updated_at": "2019-04-08 09:17:06",
"pivot": {
"user_id": 1,
"group_id": 1,
"created_at": "2019-04-12 12:43:24",
"updated_at": "2019-04-12 12:43:24",
"status": "success",
"priviliges": "user"
}
}
],
"contacts": [
{
"id": 10,
"user_id": 1,
"type": "email",
"primary": "true",
"value": "[email protected]",
"created_at": "2019-04-15 08:11:47",
"updated_at": "2019-04-15 08:11:47"
},
{
"id": 11,
"user_id": 1,
"type": "email",
"primary": "false",
"value": "[email protected]",
"created_at": "2019-04-15 08:11:47",
"updated_at": "2019-04-15 08:11:47"
}
],
"ticket_conf": {
"id": 1,
"created_at": "2019-04-05 07:48:01",
"updated_at": "2019-04-05 07:48:01",
"user_id": 1,
"ticket_form_id": 1,
"conf_params": "user",
"group_conf_id": null
},
"fields": [
{
"id": 1,
"created_at": "2019-04-12 13:11:27",
"updated_at": "2019-04-15 08:11:47",
"user_field_id": 1,
"user_id": 1,
"field_data": "$profileReq['profile']к"
},
{
"id": 2,
"created_at": "2019-04-12 13:20:31",
"updated_at": "2019-04-15 08:11:47",
"user_field_id": 2,
"user_id": 1,
"field_data": ""
}
]
}
Endpoint:
ticket/precreate
Параметры запроса: -
Пример ответа:
{
"prio": "true", Возможность установки приоритета заявки
"files": {
"active": "true", Возможность загрузки файлов
"types": "jpeg,png", Допустимые форматы файлов
"count": 3, Разрешённое к-во файлов
"size": 1024 Максимальный размер каждого файла
},
"deadline": "true", Возможность установки крайнего срока выполнения заявки
"watching": "true", Возможность установки наблюдающих за заявкой
"individual_ok": "true", Индивидуальное выполнение заявки
"check_after": "true", Возможность принять заявку после её выполнения
"create_user": "true", Возможность создавать пользователя
"target_group": [
{
"id": 1,
"name": "Группа 1"
}
],
"target_users": [
{
"id": 1,ID пользователей на которых разрешено создавать заявку
"name": "Группа 1"
}
],
"fields": [ Список дополнительных полей заявки
{
"id": 1,
"created_at": "2019-04-08 11:22:32",
"updated_at": "2019-04-08 11:22:32",
"name": "IP-адрес", Название поля
"f_type": "text", Тип поля
"required": "true", Обязательное поле
"field_name": "IP-адрес",
"field_value": null,
"field_placeholder": "IP-адрес",
"field_hash": "E3IQzkECnRqOQEZ9roKdg4ymRiImcuvYzruyti53"
}
],
"sla": [ Список допустимых SLA-планов
{
"id": 1,
"name": "Группа 1"
}
],
"subj": true, Возможность установки темы заявки
"msg": true, Возможность установки сообщения
"tags": true Возможность установки тэгов к заявке
}
Endpoint:
ticket/groups/list
Параметры запроса: -
Пример ответа:
[
{
"id": 1,
"name": "Группа 1"
}
]
Endpoint:
ticket/tags/list
Параметры запроса: -
Пример ответа:
[
{
"id": 1,
"name": "To Do"
}
]
Endpoint:
ticket/users/list
Параметры запроса: -
Пример ответа:
[
{
"id": 1,
"name": "User Name"
}
]
Endpoint:
ticket/sla/list
Параметры запроса: -
Пример ответа:
[
{
"id": 1,
"name": "SLA 1"
}
]
Endpoint:
ticket/custom_fields/list
Параметры запроса: -
Пример ответа:
[
{
"id": 1,
"created_at": "2019-04-08 11:22:32",
"updated_at": "2019-04-08 11:22:32",
"name": "IP-адрес",
"f_type": "text",
"required": "true",
"field_name": "IP-адрес",
"field_value": null,
"field_placeholder": "IP-адрес",
"field_hash": "E3IQzkECnRqOQEZ9roKdg4ymRiImcuvYzruyti53"
}
]
Endpoint:
ticket/create
Параметры запроса:
Параметр | Описание |
deadline: true (не обязательный) | Активировать карйний срок заявке |
deadlineYear | Год крайнего срока |
deadlineMonth | Месяц крайнего срока |
deadlineDay | День крайнего срока |
deadlineTime | Время крайнего срока |
msg (обязательный) | Сообщение |
subj (обязательный) | Тема заявки |
prio: low, normal, high | приоритет заявки |
tags: ID | тэги с запятой в качестве разделительного знака |
sla | SLA id |
target_group (о бязательный) | ID группы, на которую создана заявка |
target_users | ID пользователей с запятой в качестве разделительного знака которым назначена заявка |
clients | ID пользователей с запятой в качестве разделительного знака, клиенты |
check_after true/false | Проверять заявку после её выполнения |
individual_ok true/false | Индивидуальное выполнение заявки каждого |
notify_client true/false | Уведомить клиента о создании заявки |
watching_users | ID пользователей с запятой в качестве разделительного знака которые будут видеть заявку |
fields[] | где - id дополнительного поля |
files[] | где - порядковый номер или другой атрибут файла для загрузки |
Пример ответа:
{
"id": 16,
"author_id": 1,
"code": "PS4X",
"client_id": null,
"prio": "normal",
"text": "test",
"subject": "test",
"tags": "1,2",
"urlhash": "7AC5eA2Knv",
"sla_id": null,
"target_group_id": null,
"deadline_time": null,
"inspect_after_ok": "false",
"individual_ok": "false",
"overtime": "false",
"planner_flag": "false",
"merge_flag": "false",
"deleted_at": null,
"status": "free",
"created_at": "2019-05-15 15:12:44",
"updated_at": "2019-05-17 16:30:16"
}
Endpoint:
ticket/show
Параметры запроса:
Параметр | Описание |
code | Уникальный код заявки |
Пример ответа:
{
"id": 16,
"author_id": 1,
"code": "PS4X",
"client_id": null,
"prio": "normal",
"text": "test",
"subject": "test",
"tags": "1,2",
"urlhash": "7AC5eA2Knv",
"sla_id": null,
"target_group_id": null,
"deadline_time": null,
"inspect_after_ok": "false",
"individual_ok": "false",
"overtime": "false",
"planner_flag": "false",
"merge_flag": "false",
"deleted_at": null,
"status": "free",
"created_at": "2019-05-15 15:12:44",
"updated_at": "2019-05-17 16:30:16"
}
Endpoint:
ticket/list/in
Параметры запроса:
Параметр | Описание |
order_column | название поля, по которому необходимо произвести сортировку |
order_sort asc/desc | вид сортировки |
limit | к-во выдаваемых записей |
offset | начальный элемент |
Пример ответа:
{
"tickets": [
{
"code": "QS92",
"prio": "normal",
"subject": "test",
"author": {
"full_name": "System Account",
"user_urlhash": "dQbM7AkSgr8m2PmQUM6CuHxCx"
},
"created_at": {
"date": "2019-05-17 16:05:25.000000",
"timezone_type": 3,
"timezone": "Europe/Kiev"
},
"clients": [
{
"full_name": "System Account",
"user_urlhash": "dQbM7AkSgr8m2PmQUM6CuHxCx",
"id": 1
}
],
"tags": [
{
"name": "to do",
"id": 1
}
],
"targets": {
"group": null,
"users": [
{
"full_name": "System Account",
"user_urlhash": "dQbM7AkSgr8m2PmQUM6CuHxCx",
"id": 1
}
]
},
"ticket_status": "free",
"text": "test",
"tags": "api_v2",
"urlhash": "wT7V0b4J8B",
"overtime": "false",
"planner_flag": "false"
},
...
Endpoint:
ticket/list/out
Параметры запроса:
Параметр | Описание |
order_column | название поля, по которому необходимо произвести сортировку |
order_sort asc/desc | вид сортировки |
limit | к-во выдаваемых записей |
offset | начальный элемент |
Пример ответа:
{
"tickets": [
{
"code": "QS92",
"prio": "normal",
"subject": "test",
"author": {
"full_name": "System Account",
"user_urlhash": "dQbM7AkSgr8m2PmQUM6CuHxCx"
},
"created_at": {
"date": "2019-05-17 16:05:25.000000",
"timezone_type": 3,
"timezone": "Europe/Kiev"
},
"tags": [
{
"name": "to do",
"id": 1
}
],
"clients": [
{
"full_name": "System Account",
"user_urlhash": "dQbM7AkSgr8m2PmQUM6CuHxCx",
"id": 1
}
],
"targets": {
"group": null,
"users": [
{
"full_name": "System Account",
"user_urlhash": "dQbM7AkSgr8m2PmQUM6CuHxCx",
"id": 1
}
]
},
"ticket_status": "free",
"text": "test",
"tags": "api_v2",
"urlhash": "wT7V0b4J8B",
"overtime": "false",
"planner_flag": "false"
},
...
Endpoint:
ticket/list/arch
Параметры запроса: | Параметр | Описание |
order_column | название поля, по которому необходимо произвести сортировку | |
order_sort asc/desc | вид сортировки | |
limit | к-во выдаваемых записей | |
offset | начальный элемент | |
Пример ответа:
{
"tickets": [
{
"code": "QS92",
"prio": "normal",
"subject": "test",
"author": {
"full_name": "System Account",
"user_urlhash": "dQbM7AkSgr8m2PmQUM6CuHxCx"
},
"tags": [
{
"name": "to do",
"id": 1
}
],
"created_at": {
"date": "2019-05-17 16:05:25.000000",
"timezone_type": 3,
"timezone": "Europe/Kiev"
},
"clients": [
{
"full_name": "System Account",
"user_urlhash": "dQbM7AkSgr8m2PmQUM6CuHxCx",
"id": 1
}
],
"targets": {
"group": null,
"users": [
{
"full_name": "System Account",
"user_urlhash": "dQbM7AkSgr8m2PmQUM6CuHxCx",
"id": 1
}
]
},
"ticket_status": "free",
"text": "test",
"tags": "api_v2",
"urlhash": "wT7V0b4J8B",
"overtime": "false",
"planner_flag": "false"
},
...
Endpoint:
ticket/watching/add
Параметры запроса:
Параметр | Описание |
code | Код заявки |
watching_users | ID пользователей с запятой в качестве разделительного знака, которые будут смотреть за заявкой |
Пример ответа:
[
1,
2,
3
]
Endpoint:
ticket/watching/remove
Параметры запроса: | Параметр | Описание |
code | Код заявки | |
watching_users | ID пользователей с запятой в качестве разделительного знака, которых исключить со списка наблюдающих | |
Пример ответа:
[
1,
2,
3
]
Endpoint:
ticket/refer
Параметры запроса: | Параметр | Описание |
target_group (обязательный) | ID группы, на которую переадресовать заявку | |
target_users | ID пользователей с запятой в качестве разделительного знака, на которых направить заявку | |
msg (обязат ельный) | сообщение | |
Пример ответа:
{
"id": 16,
"author_id": 1,
"code": "PS4X",
"client_id": null,
"prio": "normal",
"text": "test",
"subject": "test",
"tags": "1,2",
"urlhash": "7AC5eA2Knv",
"sla_id": null,
"target_group_id": null,
"deadline_time": null,
"inspect_after_ok": "false",
"individual_ok": "false",
"overtime": "false",
"planner_flag": "false",
"merge_flag": "false",
"deleted_at": null,
"status": "free",
"created_at": "2019-05-15 15:12:44",
"updated_at": "2019-05-17 16:30:16"
}
Endpoint:
ticket/toggle/work
Параметры запроса: | Параметр | Описание |
code (обязательный) | Код заявки | |
Пример ответа:
{
"id": 16,
"author_id": 1,
"code": "PS4X",
"client_id": null,
"prio": "normal",
"text": "test",
"subject": "test",
"tags": "api_v2",
"urlhash": "7AC5eA2Knv",
"sla_id": null,
"target_group_id": null,
"deadline_time": null,
"inspect_after_ok": "false",
"individual_ok": "false",
"overtime": "false",
"planner_flag": "false",
"merge_flag": "false",
"deleted_at": null,
"status": "free",
"created_at": "2019-05-15 15:12:44",
"updated_at": "2019-05-17 16:30:16"
}
Endpoint:
ticket/toggle/success
Параметры запроса: | Параметр | Описание |
code (обязательный) | Код заявки | |
Пример ответа:
{
"id": 16,
"author_id": 1,
"code": "PS4X",
"client_id": null,
"prio": "normal",
"text": "test",
"subject": "test",
"tags": "api_v2",
"urlhash": "7AC5eA2Knv",
"sla_id": null,
"target_group_id": null,
"deadline_time": null,
"inspect_after_ok": "false",
"individual_ok": "false",
"overtime": "false",
"planner_flag": "false",
"merge_flag": "false",
"deleted_at": null,
"status": "free",
"created_at": "2019-05-15 15:12:44",
"updated_at": "2019-05-17 16:30:16"
}
Endpoint:
ticket/merge
Параметры запроса:
Параметр | Описание |
code (обязательный) | Код заявки основной |
child_code (обязательный) | Код заявки, которая будет привязана к основной |
Пример ответа:
{
"id": 16,
"author_id": 1,
"code": "PS4X",
"client_id": null,
"prio": "normal",
"text": "test",
"subject": "test",
"tags": "api_v2",
"urlhash": "7AC5eA2Knv",
"sla_id": null,
"target_group_id": null,
"deadline_time": null,
"inspect_after_ok": "false",
"individual_ok": "false",
"overtime": "false",
"planner_flag": "false",
"merge_flag": "false",
"deleted_at": null,
"status": "free",
"created_at": "2019-05-15 15:12:44",
"updated_at": "2019-05-17 16:30:16"
}
Endpoint:
ticket/approve
Параметры запроса:
Параметр | Описание |
code (обязательный) | Код заявки |
status: true/false (обязательный) | Статус подтверждения выполненной заявки |
rate (0-5) | рейтинг выполнения заявки |
Пример ответа:
{
"id": 16,
"author_id": 1,
"code": "PS4X",
"client_id": null,
"prio": "normal",
"text": "test",
"subject": "test",
"tags": "api_v2",
"urlhash": "7AC5eA2Knv",
"sla_id": null,
"target_group_id": null,
"deadline_time": null,
"inspect_after_ok": "false",
"individual_ok": "false",
"overtime": "false",
"planner_flag": "false",
"merge_flag": "false",
"deleted_at": null,
"status": "free",
"created_at": "2019-05-15 15:12:44",
"updated_at": "2019-05-17 16:30:16"
}
Endpoint: ticket/comment
Параметры запроса: | Параметр | Описание |
code (обязательный) | Код заявки | |
msg (обязательный) | текст комментария | |
files[*] | массив файлов | |
visible_client true/false (обязательный) | видимость комментария для пользователей с правами клиента | |
Пример ответа:
{
"text": "test",
"author_id": 1,
"ticket_id": 16,
"visible_client": "true",
"urlhash": "aKzZmyae2h",
"updated_at": "2019-05-17 22:13:36",
"created_at": "2019-05-17 22:13:36",
"id": 2
}
Endpoint: login
Параметры запроса: | Параметр | Описание |
email (обязательный) | Email | |
password (обязательный) | Пароль | |
uDeviceCode | Код устройства | |
uDeviceName | Имя устройства | |
uDeviceToken | Токен устройства | |
Пример ответа:
{
"token": "7enCAXGbwyDTAAWwLIy6s6vKa3cy0PNb12QhSza6b4ajna4m4rpujpQ0lJ7dSZPV",
"user_info": {
"user": {
"id": 1,
"name": "System Account",
"email": "admin@local",
"last_login": "2019-11-06 07:56:16",
"created_at": "2019-04-05 07:48:01",
"updated_at": "2019-11-06 07:56:16",
"deleted_at": null,
"active": "true",
"profile": {
"user_id": 1,
"user_img": null,
"user_cover": null,
"lang": "ru",
"full_name": "System Account",
"user_urlhash": "dQbM7AkSgr8m2PmQUM6CuHxCx",
"sms": null,
"pb": null,
"telephone": null,
"skype": null,
"address": null,
"position": "\u0434\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c",
"birthdayDay": "1970-01-01 03:00:01",
"birthdayMonth": 1,
"birthdayYear": 1950,
"email": "[email protected]",
"facebook": null,
"twitter": null,
"website": null,
"about": null,
"skills": "",
"created_at": "2019-04-05 07:48:01",
"updated_at": "2019-10-14 17:25:02",
"birthday": null,
"telegram": null,
"telegramId": null,
"organization": null,
"nickname": "admin"
}
},
"profile": {
"user_id": 1,
"user_img": null,
"user_cover": null,
"lang": "ru",
"full_name": "System Account",
"user_urlhash": "dQbM7AkSgr8m2PmQUM6CuHxCx",
"sms": null,
"pb": null,
"telephone": null,
"skype": null,
"address": null,
"position": "\u0434\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c",
"birthdayDay": "1970-01-01 03:00:01",
"birthdayMonth": 1,
"birthdayYear": 1950,
"email": "[email protected]",
"facebook": null,