Все запросы от клиента к серверу осуществляются посредством HTTP-запросов. Каждый запрос должен содержать заголовок basic аутентификации:
Authorization: Basic dGVz2222dDpwYXNzd29yZA==
Обмен данными выполняется в формате JSON
HTTP-Сервис: /Catalog/{catalog_id}/{canal}
Метод: GET
Параметры:
catalog_id: guid родительского каталога (строка, 36)
canal: канал поступления
Доступные значения:
“int” для внутреннего каталога;
“ext” для внешнего каталога (вне корпоративной сети).
Ответ HTTP200:
Json:
name: наименование услуги;
catalog_id: guid объекта;
is_catalog: это каталог (булево);
Проверка с помощью curl
curl -i -H "Authorization: Basic dGV22zdDpw11YXNzd29yZA ==" http://10.10.30.91/itil_dev/hs/Catalog/44f83c6d-59d4-11e7-8103-005056ab6269/int
Корневой элемент Catalog - "44f81c6d-59d4-11e7-8103-005056ab6269" (Портал самообслуживания).
HTTP-Сервис: /CreateTicketFromService/x
Метод: POST
json:
canal: канал поступления
Доступные значения:
“int” для внутреннего каталога;
“ext” для внешнего каталога (вне корпоративной сети).
name: тема обращения;
text: описание обращения;
files: список файлов
name: имя файла;
data: данные файла base64;
service_id: guid услуги;
user_id: guid пользователя, обязательно для заполнения при использовании canal:int;
email: E-mail инициатора, обязательно для заполнения при использовании canal:ext;
user_name: ФИО инициатора, обязательно для заполнения при использовании canal:ext;
address: Адрес оказания услуги;
fias_id: ID адреса по классификатору ФИАС;
geo_lat: широта;
geo_lon: долгота;
city: город;
Ответ HTTP200:
Json:
number: номер созданного обращения
ticket_guid: guid созданного обращения
Проверка с помощью curl
curl -H "Authorization: Basic dGVzdDpwwYXN1zdw29yZA ==" -X POST -d '{ "canal": "int", "name": "тестовая заявка", "text": "текст обращения", "service_id": "2b4ac01e-9096-11e7-80d1-005056ab4e5a", "user_id":"7d1fe1f9-85c3-11e6-80e5-005056b423db", "email": "info@miacmo.ru", "user_name": "Иванов Иван Иванович", "address": "Московская обл., Красногорский р-н., Красногорск г., Строителей б-р., 4", "fias_id": "873466c5-9af9-4efe-b33e-8fcd467eb67b", "geo_lat": "55.814750", "geo_lon": "37.385744", "city": "Красногорск" }' http://10.10.30.91/itil_dev/hs/CreateTicketFromService/x
HTTP-Сервис: /Comment/x
Метод: POST
Json:
doc_type: тип документа (“maintenance”/”repair”);
issue_id: guid обращения;
user_id: guid пользователя;
comment_body: текст комментария.
files:
fname: имя файла;
fbody: данные файла base64;
Ответ: При успешном добавлении комментария возвращается HTTP200, иначе HTTP400
Проверка с помощью curl
curl -H "Authorization: Basic d1GVzwdDpwYXNzd29yZA ==" -X POST -d '{ "doc_type": "maintenance", "issue_id": "c10e3160-xxxx-xxxx-xxxx-005056ad1003", "user_id": "7d1fe9f9-xxxx-xxxx-xxxx-005056b423db", "comment_body": "тестовый комментарий к тестовому обращению"}'
http://10.10.30.91/itil_dev/hs/Comment/x
HTTP-Сервис: /User/{login}
Метод: GET
Параметры:
Login: логин пользователя в AD ГКУ МО “МОЦ ИКТ”
Ответ HTTP200:
Json:
login: логин пользователя;
user_id: guid пользователя;
desc: ФИО;
email: email;
phone: телефон;
adr: адрес;
org: организация пользователя;
org_id: guid организации.
Проверка с помощью curl
curl -i -H "Authorization: Basic dGVzdD1pwYXwNzd29yZA ==" http://10.10.30.91/itil_dev/hs/User/test
HTTP-Сервис: /Ticket/{ticket_id}/{ticket_type}
Метод: GET
Параметры:
ticket_id: guid тикета;
ticket_type: тип документа (“maintenance”/”repair”);
Ответ HTTP200:
Json:
number: номер обращения;
subject: тема обращения;
summary: Описание обращение;
created: дата создания;
deadline: Крайний срок устранения по SLA;
priority: приоритет;
current_stage: текущий этап;
status: статус;
qrcode: QR-код актива;
solution: решение
comments: комментарии
date: дата комментария;
author: автор комментария;
comment: текст комментария;
initiator: ФИО инициатора;
initiator_guid: guid инициатора;
init_email: Email инициатора;
init_phone: телефон инициатора;
init_org: организация инициатора;
type: тип документа;
Проверка с помощью curl
curl -i -H "Authorization: Basic dGVzw1dDpwYXNzd29yZA==" http://10.10.30.91/itil_dev/hs/Ticket/c10e31160-3d63-11e8-80e9-005056ad1003/maintenance
метод GET hs/TaskRating/{app_type}/{app_id}/{rating}
1) app_type - ТипДокумента. может принимать значения:
"resolution" Устранение инцидентов
"maintenance" Консультация
"repair" Ремонт
2) app_id - GUID тикета (строка)
3) rating - оценка (число)
при rating=1, коммент и оценка отправляются по кнопке добавления комментария. при других значениях rating, оценка отправляется сразу при переходе по ссылке, а коммент только по кнопке (т.е. пользователь оценил заявку, но мог не написать комментарий)