Skip to main content

/api/tickets/get.json

Возвращает список тикетов пользователя, переданного в http-заголовке запроса

Все параметры не обязательны.

  • size, page - пагинация. Номер страницы начинается с 0. Если не задано - возвращает все тикеты
  • search - поиск. Если значение начинается с цифры ищет по вхождению в номер тикета или в поле subject, которое в нашем интерфейсе применяется как номер заказа. Иначе - полнотекстовый поиск по тикету. 
  • direction - outbound входящие тикеты, inbound - исходящие, пустое значение - все.
  • collaborator_visibility - в возвращаемые тикеты включаются те, для которых пользователь является соавтором
  • org_visibility - в возвращаемые тикеты включаются созданные другими пользователями организации. Если у пользователя в osTicket нет прав просмотра тикетов других пользователей организации - не влияет на результат.
  • unreaded_only - возвращает только непрочитанные тикеты
  • subject - фильтрация тикетов по номеру заказа. В отличие от search поиск не по вхождению а по полному соответствию строки.
  • updated_from - возвращаются тикеты измененные в указанное время или позднее. Время измененя тикета - это время его создания или последнего сообщения в цепочке его переписки
{
	"page":0,
    "size":10,
    "search":"878",
    "direction":"outbound",
  	"collaborator_visibility": true,
  	"org_visibility": true,
  	"unreaded_only": true,
    "subject": "171220-41656-1959"
  	"updated_from": "2022-08-08 23:08:09"
  	"number":"367871"
  	"ticket_id":"203300"
}

Пример возвращаемого значения:

  • state отличается от status тем что state более обобщенное понятие. Например state: colse значит что тикет закрыт. Но закрыт он может быть как по причине проблема решена так и без объясения причин. Этому соответствует status.
  • message здесь возвращается без html-тегов. Полный ткст сообщения можно получить в вызове thread
{
	"success": true,
  	"recordsTotal":26,
	"tickets": [
    	{
        	"ticket_id":34901,
            "subject":"тестовый номер 777",
            "status_id":2,
            "status":"Проблема решена",
            "number":"651265",
            "isanswered":0,
            "state":"closed",
            "created":"2021-02-08 13:35:08",
            "message":"Пробное сообщение",
            "topic_id":103,
            "unreaded":false,
            "direction":"outbound",
            "reopenable":true,
          	"user_id": 10,
            "user_login": "test@mail.ru",
            "user_name": "Иван",
          	"updated": "2022-05-06 14:28:14"
        },

		{
        	"ticket_id":12514,
            "subject":"888-888",
            "status_id":3,
            "status":"Закрыт",
            "number":"840372",
            "isanswered":0,
            "state":"closed",
            "created":"2020-12-09 19:15:19",
            "message":"Тестовое сообщение",
            "topic_id":1,
            "unreaded":false,
            "direction":"outbound",
            "reopenable":false,
          	"user_id": 12,
            "user_login": "test2@mail.ru",
            "user_name": "Петр",
          	"updated": "2022-05-06 14:28:14"
        },
    ]
}

Если в заголовке передан логин пользователя, отсутствующий в osTicket запрос не завершается ошибкой а возвращает следующий ответ:

{
	"account_not_found": 1
}

Это можно использовать для авторегистрации пользователей при первом обращении к функционалу osTicket.