RS4OTRS_API: tickets/getTicketList
Get tickets
/tickets/getTicketList
Returns a set of tickets or one ticket.
Need permissions: RO, RW
Required parameters:
Name | Description |
The value of “SessionName” field of /auth/login response | main token. |
Optional parameters:
Name | Description |
Count | just to get ticket count (1|0) |
ViewID | view ID (for filtering) |
SortBy | field list for sorting (array of names) |
OrderBy | field list for sorting order (array of names) |
FullTextSearch | string for searching in Subject, Body, From, To, Cc (‘\%’ sign is used for matching: ‘’\%hello\%’’ for example). |
TicketID | ticket id. |
TicketNumber | ticket number. |
Title | title. |
Queues | queue list (array of names). |
QueueIDs | queue list (array of numbers). |
Types | type list (array of names). |
TypeIDs | type list (array of numbers). |
SmartSort | 1 (see below). |
States | state list (array of names). |
StateIDs | state list (array of numbers). |
StateType | state type: “Open”, “Closed”. |
Priorities | priority list (array of names). |
PriorityIDs | priority list (array of numbers). |
Services | service list (array of names). |
ServiceIDs | service list (array of numbers). |
SLAs | SLA list (array of names). |
SLAIDs | SLA list (array of numbers). |
Locks | lock list (array of names). |
LockIDs | lock list (array of numbers). |
OwnerIDs | owner list (array of numbers). |
ResponsibleIDs | responsible list (array of numbers). |
WatchUserIDs | watch user list (array of number). |
CustomerID | customer id. |
CustomerUserLogin | customer user login. |
From | from. |
To | to. |
Cc | copy. |
Subject | subject. |
Body | body. |
Limit | limit. |
Offset | offset. |
DynamicFieldsMode | mobile | all adds DynamicFields field. |
CreatedNewerMinutes | |
CreatedOlderMinutes | |
CreatedNewerDate | |
CreatedOlderDate | |
CreatedNewerDays | |
CreatedOlderDays |
Successful answer:
{
"NeedTokenUpdate": 1, # Need to set a new token for mobile push
# notification.
"Response": "OK",
"Tickets": [{
"Seen": 1,
"Age": 6624195,
"PriorityID": 3,
"ServiceID": null,
"Type": "Incident",
"CreatedServer": "2019-06-16 00:23:53",
"Responsible": "root@localhost",
"StateID": 4,
"ResponsibleID": 1,
"ChangeBy": 1,
"EscalationTime": 0,
"HasWatch": 0,
"UntilTimeDateUnix": 0,
"Changed": "2019-06-16 04:23:59 (Europe/Moscow)",
"OwnerID": 1,
"RealTillTimeNotUsed": 0,
"GroupID": 1,
"Owner": "root@localhost",
"CustomerID": null,
"TypeID": 2,
"Created": "2019-06-16 04:23:53 (Europe/Moscow)",
"UntilTimeDate": 0,
"Priority": "3 normal",
"UntilTime": 0,
"EscalationUpdateTime": 0,
"CustomerUserLastname": null,
"Queue": "Raw",
"QueueID": 2,
"State": "open",
"Title": "vxcvzv",
"ChangedServer": "2019-06-16 00:23:59",
"CreateBy": 1,
"LinkCount": 0,
"TicketID": 266,
"CustomerUserFirstname": null,
"StateType": "open",
"EscalationResponseTime": 0,
"UnlockTimeout": 0,
"EscalationSolutionTime": 0,
"LockID": 1,
"TicketNumber": 2019061665000017,
"ArchiveFlag": "n",
"CreateTimeUnix": 1560633833,
"Lock": "unlock",
"SLAID": null,
"WatcherCount": 0,
"CustomerUserID": null,
"DynamicFields": {
"TestMulti": {
"Value": null,
"Type": "Multiselect",
"Screens": {
"AgentMobileTicketStatus": "rw"
},
"Name": "TestMulti"
},
...
}
}]
}
Count of tickets:
{
"NeedTokenUpdate": 0, # Need to set a new token for android push
# notification.
"Response": "OK",
"Count": 5
}
If SmartSort then tickets are sorted by EscalationSolutionTime with useful algorithm for agents work.
The order of tickets with straight direction (OrderBy=Up by default):
- Expired. From the most to the least ones.
- Not expired. From the approaching to expired to the least ones.
- Without expire. By age, from old to new ones.
With reverse direction (OrderBy=Down):
- Not expired. From the least to the approaching to expired.
- Expired. From the most to the least ones.
- Without expire. By age, from new to old ones.