| Requires any of the roles: | Agent, Administrator, Agent, Administrator, Agent, Administrator |
| GET,POST,PUT,OPTIONS | /v1/Ticket | ||
|---|---|---|---|
| GET | /v1/Ticket/{AgentId}/{Status} |
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 TicketResponse implements IConvertible
{
ResponseStatus? ResponseStatus;
List<TicketExtended>? Ticket = [];
TicketResponse({this.ResponseStatus,this.Ticket});
TicketResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
Ticket = JsonConverters.fromJson(json['Ticket'],'List<TicketExtended>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!),
'Ticket': JsonConverters.toJson(Ticket,'List<TicketExtended>',context!)
};
getTypeName() => "TicketResponse";
TypeContext? context = _ctx;
}
class TicketRequest implements IConvertible
{
List<TicketExtended>? Ticket = [];
int? AgentId;
String? Status;
TicketRequest({this.Ticket,this.AgentId,this.Status});
TicketRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Ticket = JsonConverters.fromJson(json['Ticket'],'List<TicketExtended>',context!);
AgentId = json['AgentId'];
Status = json['Status'];
return this;
}
Map<String, dynamic> toJson() => {
'Ticket': JsonConverters.toJson(Ticket,'List<TicketExtended>',context!),
'AgentId': AgentId,
'Status': Status
};
getTypeName() => "TicketRequest";
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()),
'TicketResponse': TypeInfo(TypeOf.Class, create:() => TicketResponse()),
'List<TicketExtended>': TypeInfo(TypeOf.Class, create:() => <TicketExtended>[]),
'TicketRequest': TypeInfo(TypeOf.Class, create:() => TicketRequest()),
});
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/Ticket HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"Ticket":[{"AgentName":"String","TicketType":"String","AgentHasRead":false,"AdminHasRead":false,"TicketId":0,"CreatedDate":"0001-01-01T00:00:00.0000000","CreatedBy":"00000000000000000000000000000000","Description":"String","Resolution":"String","IsClosed":false,"IsFollowup":false,"TicketTypeId":0,"ModifiedDate":"0001-01-01T00:00:00.0000000","ModifiedBy":"String"}],"AgentId":0,"Status":"String"}
HTTP/1.1 200 OK
Content-Type: text/csv
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-01T00:00:00.0000000","CreatedBy":"00000000000000000000000000000000","Description":"String","Resolution":"String","IsClosed":false,"IsFollowup":false,"TicketTypeId":0,"ModifiedDate":"0001-01-01T00:00:00.0000000","ModifiedBy":"String"}]}