| GET,OPTIONS | /v1/portal/account/{Token} |
|---|
import 'package:servicestack/servicestack.dart';
class PortalAccountVisit implements IConvertible
{
DateTime? VisitDate;
String? ServiceName;
String? ProjectName;
PortalAccountVisit({this.VisitDate,this.ServiceName,this.ProjectName});
PortalAccountVisit.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
VisitDate = JsonConverters.fromJson(json['VisitDate'],'DateTime',context!);
ServiceName = json['ServiceName'];
ProjectName = json['ProjectName'];
return this;
}
Map<String, dynamic> toJson() => {
'VisitDate': JsonConverters.toJson(VisitDate,'DateTime',context!),
'ServiceName': ServiceName,
'ProjectName': ProjectName
};
getTypeName() => "PortalAccountVisit";
TypeContext? context = _ctx;
}
class PortalAccountInvoice implements IConvertible
{
String? InvoiceUID;
String? InvoiceNumber;
DateTime? InvoiceDate;
double? Total;
bool? IsPaid;
String? ProjectName;
PortalAccountInvoice({this.InvoiceUID,this.InvoiceNumber,this.InvoiceDate,this.Total,this.IsPaid,this.ProjectName});
PortalAccountInvoice.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
InvoiceUID = json['InvoiceUID'];
InvoiceNumber = json['InvoiceNumber'];
InvoiceDate = JsonConverters.fromJson(json['InvoiceDate'],'DateTime',context!);
Total = JsonConverters.toDouble(json['Total']);
IsPaid = json['IsPaid'];
ProjectName = json['ProjectName'];
return this;
}
Map<String, dynamic> toJson() => {
'InvoiceUID': InvoiceUID,
'InvoiceNumber': InvoiceNumber,
'InvoiceDate': JsonConverters.toJson(InvoiceDate,'DateTime',context!),
'Total': Total,
'IsPaid': IsPaid,
'ProjectName': ProjectName
};
getTypeName() => "PortalAccountInvoice";
TypeContext? context = _ctx;
}
class PortalAccountQuote implements IConvertible
{
String? QuoteUID;
String? Name;
double? Total;
String? Status;
String? ProjectName;
PortalAccountQuote({this.QuoteUID,this.Name,this.Total,this.Status,this.ProjectName});
PortalAccountQuote.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
QuoteUID = json['QuoteUID'];
Name = json['Name'];
Total = JsonConverters.toDouble(json['Total']);
Status = json['Status'];
ProjectName = json['ProjectName'];
return this;
}
Map<String, dynamic> toJson() => {
'QuoteUID': QuoteUID,
'Name': Name,
'Total': Total,
'Status': Status,
'ProjectName': ProjectName
};
getTypeName() => "PortalAccountQuote";
TypeContext? context = _ctx;
}
class PortalAccount implements IConvertible
{
String? CustomerName;
List<PortalAccountVisit>? Visits = [];
List<PortalAccountInvoice>? Invoices = [];
List<PortalAccountQuote>? Quotes = [];
ResponseStatus? ResponseStatus;
PortalAccount({this.CustomerName,this.Visits,this.Invoices,this.Quotes,this.ResponseStatus});
PortalAccount.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
CustomerName = json['CustomerName'];
Visits = JsonConverters.fromJson(json['Visits'],'List<PortalAccountVisit>',context!);
Invoices = JsonConverters.fromJson(json['Invoices'],'List<PortalAccountInvoice>',context!);
Quotes = JsonConverters.fromJson(json['Quotes'],'List<PortalAccountQuote>',context!);
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
return this;
}
Map<String, dynamic> toJson() => {
'CustomerName': CustomerName,
'Visits': JsonConverters.toJson(Visits,'List<PortalAccountVisit>',context!),
'Invoices': JsonConverters.toJson(Invoices,'List<PortalAccountInvoice>',context!),
'Quotes': JsonConverters.toJson(Quotes,'List<PortalAccountQuote>',context!),
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!)
};
getTypeName() => "PortalAccount";
TypeContext? context = _ctx;
}
class PortalAccountRequest implements IConvertible
{
String? Token;
PortalAccountRequest({this.Token});
PortalAccountRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Token = json['Token'];
return this;
}
Map<String, dynamic> toJson() => {
'Token': Token
};
getTypeName() => "PortalAccountRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
'PortalAccountVisit': TypeInfo(TypeOf.Class, create:() => PortalAccountVisit()),
'PortalAccountInvoice': TypeInfo(TypeOf.Class, create:() => PortalAccountInvoice()),
'PortalAccountQuote': TypeInfo(TypeOf.Class, create:() => PortalAccountQuote()),
'PortalAccount': TypeInfo(TypeOf.Class, create:() => PortalAccount()),
'List<PortalAccountVisit>': TypeInfo(TypeOf.Class, create:() => <PortalAccountVisit>[]),
'List<PortalAccountInvoice>': TypeInfo(TypeOf.Class, create:() => <PortalAccountInvoice>[]),
'List<PortalAccountQuote>': TypeInfo(TypeOf.Class, create:() => <PortalAccountQuote>[]),
'PortalAccountRequest': TypeInfo(TypeOf.Class, create:() => PortalAccountRequest()),
});
Dart PortalAccountRequest 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/portal/account/{Token} HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<PortalAccount xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
<CustomerName>String</CustomerName>
<Invoices>
<PortalAccountInvoice>
<InvoiceDate>0001-01-01T00:00:00</InvoiceDate>
<InvoiceNumber>String</InvoiceNumber>
<InvoiceUID>00000000-0000-0000-0000-000000000000</InvoiceUID>
<IsPaid>false</IsPaid>
<ProjectName>String</ProjectName>
<Total>0</Total>
</PortalAccountInvoice>
</Invoices>
<Quotes>
<PortalAccountQuote>
<Name>String</Name>
<ProjectName>String</ProjectName>
<QuoteUID>00000000-0000-0000-0000-000000000000</QuoteUID>
<Status>String</Status>
<Total>0</Total>
</PortalAccountQuote>
</Quotes>
<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>
<Visits>
<PortalAccountVisit>
<ProjectName>String</ProjectName>
<ServiceName>String</ServiceName>
<VisitDate>0001-01-01T00:00:00</VisitDate>
</PortalAccountVisit>
</Visits>
</PortalAccount>