| GET | /v1/ConversationByHeader/{HeaderId} |
|---|
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';
class ConversationHeader implements IConvertible
{
String? ConversationHeaderId;
String? TableName;
String? FieldName;
int? RecordId;
bool? AgentHasRead;
bool? AdminHasRead;
ConversationHeader({this.ConversationHeaderId,this.TableName,this.FieldName,this.RecordId,this.AgentHasRead,this.AdminHasRead});
ConversationHeader.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ConversationHeaderId = json['ConversationHeaderId'];
TableName = json['TableName'];
FieldName = json['FieldName'];
RecordId = json['RecordId'];
AgentHasRead = json['AgentHasRead'];
AdminHasRead = json['AdminHasRead'];
return this;
}
Map<String, dynamic> toJson() => {
'ConversationHeaderId': ConversationHeaderId,
'TableName': TableName,
'FieldName': FieldName,
'RecordId': RecordId,
'AgentHasRead': AgentHasRead,
'AdminHasRead': AdminHasRead
};
getTypeName() => "ConversationHeader";
TypeContext? context = _ctx;
}
class ConversationDetail implements IConvertible
{
String? ConversationDetailId;
String? ConversationHeaderId;
String? Comment;
DateTime? DateCreated;
String? CreatedBy;
String? CreatedByName;
String? AttachmentId;
bool? IsAdminComment;
bool? IsDeletedComment;
ConversationDetail({this.ConversationDetailId,this.ConversationHeaderId,this.Comment,this.DateCreated,this.CreatedBy,this.CreatedByName,this.AttachmentId,this.IsAdminComment,this.IsDeletedComment});
ConversationDetail.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ConversationDetailId = json['ConversationDetailId'];
ConversationHeaderId = json['ConversationHeaderId'];
Comment = json['Comment'];
DateCreated = JsonConverters.fromJson(json['DateCreated'],'DateTime',context!);
CreatedBy = json['CreatedBy'];
CreatedByName = json['CreatedByName'];
AttachmentId = json['AttachmentId'];
IsAdminComment = json['IsAdminComment'];
IsDeletedComment = json['IsDeletedComment'];
return this;
}
Map<String, dynamic> toJson() => {
'ConversationDetailId': ConversationDetailId,
'ConversationHeaderId': ConversationHeaderId,
'Comment': Comment,
'DateCreated': JsonConverters.toJson(DateCreated,'DateTime',context!),
'CreatedBy': CreatedBy,
'CreatedByName': CreatedByName,
'AttachmentId': AttachmentId,
'IsAdminComment': IsAdminComment,
'IsDeletedComment': IsDeletedComment
};
getTypeName() => "ConversationDetail";
TypeContext? context = _ctx;
}
class Conversation extends ConversationHeader implements IConvertible
{
List<ConversationDetail>? Details = [];
Conversation({this.Details});
Conversation.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
Details = JsonConverters.fromJson(json['Details'],'List<ConversationDetail>',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'Details': JsonConverters.toJson(Details,'List<ConversationDetail>',context!)
});
getTypeName() => "Conversation";
TypeContext? context = _ctx;
}
class ConversationResponse implements IConvertible
{
ResponseStatus? ResponseStatus;
Conversation? Conversation;
ConversationResponse({this.ResponseStatus,this.Conversation});
ConversationResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
Conversation = JsonConverters.fromJson(json['Conversation'],'Conversation',context!);
return this;
}
Map<String, dynamic> toJson() => {
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!),
'Conversation': JsonConverters.toJson(Conversation,'Conversation',context!)
};
getTypeName() => "ConversationResponse";
TypeContext? context = _ctx;
}
class ConversationByHeaderRequest implements IConvertible
{
String? HeaderId;
ConversationByHeaderRequest({this.HeaderId});
ConversationByHeaderRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
HeaderId = json['HeaderId'];
return this;
}
Map<String, dynamic> toJson() => {
'HeaderId': HeaderId
};
getTypeName() => "ConversationByHeaderRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
'ConversationHeader': TypeInfo(TypeOf.Class, create:() => ConversationHeader()),
'ConversationDetail': TypeInfo(TypeOf.Class, create:() => ConversationDetail()),
'Conversation': TypeInfo(TypeOf.Class, create:() => Conversation()),
'List<ConversationDetail>': TypeInfo(TypeOf.Class, create:() => <ConversationDetail>[]),
'ConversationResponse': TypeInfo(TypeOf.Class, create:() => ConversationResponse()),
'ConversationByHeaderRequest': TypeInfo(TypeOf.Class, create:() => ConversationByHeaderRequest()),
});
Dart ConversationByHeaderRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /v1/ConversationByHeader/{HeaderId} HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<ConversationResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
<Conversation>
<AdminHasRead>false</AdminHasRead>
<AgentHasRead>false</AgentHasRead>
<ConversationHeaderId>00000000-0000-0000-0000-000000000000</ConversationHeaderId>
<FieldName>String</FieldName>
<RecordId>0</RecordId>
<TableName>String</TableName>
<Details>
<ConversationDetail>
<AttachmentId>00000000-0000-0000-0000-000000000000</AttachmentId>
<Comment>String</Comment>
<ConversationDetailId>00000000-0000-0000-0000-000000000000</ConversationDetailId>
<ConversationHeaderId>00000000-0000-0000-0000-000000000000</ConversationHeaderId>
<CreatedBy>00000000-0000-0000-0000-000000000000</CreatedBy>
<CreatedByName>String</CreatedByName>
<DateCreated xmlns:d5p1="http://schemas.datacontract.org/2004/07/System">
<d5p1:DateTime>0001-01-01T00:00:00Z</d5p1:DateTime>
<d5p1:OffsetMinutes>0</d5p1:OffsetMinutes>
</DateCreated>
<IsAdminComment>false</IsAdminComment>
<IsDeletedComment>false</IsDeletedComment>
</ConversationDetail>
</Details>
</Conversation>
<ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
<d2p1:ErrorCode>String</d2p1:ErrorCode>
<d2p1:Message>String</d2p1:Message>
<d2p1:StackTrace>String</d2p1:StackTrace>
<d2p1:Errors>
<d2p1:ResponseError>
<d2p1:ErrorCode>String</d2p1:ErrorCode>
<d2p1:FieldName>String</d2p1:FieldName>
<d2p1:Message>String</d2p1:Message>
<d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:KeyValueOfstringstring>
<d5p1:Key>String</d5p1:Key>
<d5p1:Value>String</d5p1:Value>
</d5p1:KeyValueOfstringstring>
</d2p1:Meta>
</d2p1:ResponseError>
</d2p1:Errors>
<d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:KeyValueOfstringstring>
<d3p1:Key>String</d3p1:Key>
<d3p1:Value>String</d3p1:Value>
</d3p1:KeyValueOfstringstring>
</d2p1:Meta>
</ResponseStatus>
</ConversationResponse>