RS4OTRS_API
О расширении
RS4OTRS_API расширение для взаимодействие с ОТРС посредством JSON запросов.
Установка
-
Обычным способом установи JSON API расширение выпуска 6.41.0 или новее на ОТРС.
-
В записе zzz_otrs.conf внутри раздела <Location /otrs> добавь:
RewriteEngine on
RewriteRule "/api/(\w+)/(\w+)" "/otrs/json.pl?Action=$1&Subaction=$2" [QSA,L]
- Перезапусти Апач.
HTTP взаимодействие
API поддерживает GET и POST HTTP запросы, но по причине безопасности тебе следует ограничиться только POST запросами с JSON содержимым в них (application/json).
Ключ доступа и разрешения
Почти все вызовы требуют ключ доступа. Его можно получить посредством вызова /auth/login.
Без ключа доступа или с недействительным оным ты получишь ошибку:
{
"Response": "ERROR",
"Message": "Session invalid. Please log in again."
}
Некоторые вызовы проверяют разрешения пользователя на выполнение запрашиваемого действия (Разрешения работников по отделам). Для таких вызовов здесь в описании к оным присутствует поле “Необходимые разрешения” со списком разрешений по отделам.
Ответ с ошибкой
Помимо “Session invalid.” есть и другая общая ошибка:
{
"Message": "Please contact the administrator.",
"Response": "ERROR"
}
для неожидаемых случаев.
Пример запросов
POST запрос для /auth/login:
curl -s -X POST
-H 'Content-Type: application/json' localhost/otrs/api/auth/login
-d '{"User":"root@localhost", "Password": "kBHsn6"}'
GET запрос:
curl -s -X GET
"localhost/bin/api/auth/login?User=root@localhost&Password=kBHsn6"
Список вызовов
Доступа /auth
Пользователи /customers
Отсеиватели /filters
Очереди /queues
Службы /services
Настройки /settings
Уровни обслуживания /sla
Служебные /system
Заявки /tickets
- /createArticle
- /createAttachment
- /createTicket
- /getArticles
- /getAttachment
- /getTicketList
- /markArticleAsSeen
- /markTicketAsSeen
- /updateArchiveFlag
- /updateCustomer
- /updateLock
- /updateOwner
- /updatePendingTime
- /updatePriority
- /updateQueue
- /updateResponsible
- /updateService
- /updateSLA
- /updateState
- /updateTicket
- /updateTitle
- /updateType
- /watchTicket