| Requires any of the roles: | Agent, Administrator |
| GET | /v1/Ticket/{TicketId} |
|---|
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';
class Ticket implements IConvertible
{
int? TicketId;
DateTime? CreatedDate;
String? CreatedBy;
String? Description;
String? Resolution;
bool? IsClosed;
bool? IsFollowup;
int? TicketTypeId;
DateTime? ModifiedDate;
String? ModifiedBy;
Ticket({this.TicketId,this.CreatedDate,this.CreatedBy,this.Description,this.Resolution,this.IsClosed,this.IsFollowup,this.TicketTypeId,this.ModifiedDate,this.ModifiedBy});
Ticket.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
TicketId = json['TicketId'];
CreatedDate = JsonConverters.fromJson(json['CreatedDate'],'DateTime',context!);
CreatedBy = json['CreatedBy'];
Description = json['Description'];
Resolution = json['Resolution'];
IsClosed = json['IsClosed'];
IsFollowup = json['IsFollowup'];
TicketTypeId = json['TicketTypeId'];
ModifiedDate = JsonConverters.fromJson(json['ModifiedDate'],'DateTime',context!);
ModifiedBy = json['ModifiedBy'];
return this;
}
Map<String, dynamic> toJson() => {
'TicketId': TicketId,
'CreatedDate': JsonConverters.toJson(CreatedDate,'DateTime',context!),
'CreatedBy': CreatedBy,
'Description': Description,
'Resolution': Resolution,
'IsClosed': IsClosed,
'IsFollowup': IsFollowup,
'TicketTypeId': TicketTypeId,
'ModifiedDate': JsonConverters.toJson(ModifiedDate,'DateTime',context!),
'ModifiedBy': ModifiedBy
};
getTypeName() => "Ticket";
TypeContext? context = _ctx;
}
class TicketExtended extends Ticket implements IConvertible
{
String? AgentName;
String? TicketType;
bool? AgentHasRead;
bool? AdminHasRead;
TicketExtended({this.AgentName,this.TicketType,this.AgentHasRead,this.AdminHasRead});
TicketExtended.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
AgentName = json['AgentName'];
TicketType = json['TicketType'];
AgentHasRead = json['AgentHasRead'];
AdminHasRead = json['AdminHasRead'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'AgentName': AgentName,
'TicketType': TicketType,
'AgentHasRead': AgentHasRead,
'AdminHasRead': AdminHasRead
});
getTypeName() => "TicketExtended";
TypeContext? context = _ctx;
}
class SingleTicketResponse implements IConvertible
{
ResponseStatus? ResponseStatus;
TicketExtended? Ticket;
SingleTicketResponse({this.ResponseStatus,this.Ticket});
SingleTicketResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
Ticket = JsonConverters.fromJson(json['Ticket'],'TicketExtended',context!);
return this;
}
Map<String, dynamic> toJson() => {
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!),
'Ticket': JsonConverters.toJson(Ticket,'TicketExtended',context!)
};
getTypeName() => "SingleTicketResponse";
TypeContext? context = _ctx;
}
class SingleTicketRequest implements IConvertible
{
String? TicketId;
SingleTicketRequest({this.TicketId});
SingleTicketRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
TicketId = json['TicketId'];
return this;
}
Map<String, dynamic> toJson() => {
'TicketId': TicketId
};
getTypeName() => "SingleTicketRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
'Ticket': TypeInfo(TypeOf.Class, create:() => Ticket()),
'TicketExtended': TypeInfo(TypeOf.Class, create:() => TicketExtended()),
'SingleTicketResponse': TypeInfo(TypeOf.Class, create:() => SingleTicketResponse()),
'SingleTicketRequest': TypeInfo(TypeOf.Class, create:() => SingleTicketRequest()),
});
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /v1/Ticket/{TicketId} HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
},
Ticket:
{
AgentName: String,
TicketType: String,
AgentHasRead: False,
AdminHasRead: False,
TicketId: 0,
CreatedDate: 0001-01-01,
CreatedBy: 00000000000000000000000000000000,
Description: String,
Resolution: String,
IsClosed: False,
IsFollowup: False,
TicketTypeId: 0,
ModifiedDate: 0001-01-01,
ModifiedBy: String
}
}