| Requires any of the roles: | Agent, Administrator |
| POST,OPTIONS | /v1/report/export |
|---|
import 'package:servicestack/servicestack.dart';
class ReportMeasure implements IConvertible
{
String? FieldCode;
String? Agg;
ReportMeasure({this.FieldCode,this.Agg});
ReportMeasure.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
FieldCode = json['FieldCode'];
Agg = json['Agg'];
return this;
}
Map<String, dynamic> toJson() => {
'FieldCode': FieldCode,
'Agg': Agg
};
getTypeName() => "ReportMeasure";
TypeContext? context = _ctx;
}
class ReportSort implements IConvertible
{
String? FieldCode;
String? Dir;
ReportSort({this.FieldCode,this.Dir});
ReportSort.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
FieldCode = json['FieldCode'];
Dir = json['Dir'];
return this;
}
Map<String, dynamic> toJson() => {
'FieldCode': FieldCode,
'Dir': Dir
};
getTypeName() => "ReportSort";
TypeContext? context = _ctx;
}
class ReportDefinition implements IConvertible
{
String? DatasetCode;
List<String>? Dimensions = [];
List<ReportMeasure>? Measures = [];
List<String>? Joins = [];
String? Filters;
List<ReportSort>? Sorts = [];
int? Limit;
ReportDefinition({this.DatasetCode,this.Dimensions,this.Measures,this.Joins,this.Filters,this.Sorts,this.Limit});
ReportDefinition.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
DatasetCode = json['DatasetCode'];
Dimensions = JsonConverters.fromJson(json['Dimensions'],'List<String>',context!);
Measures = JsonConverters.fromJson(json['Measures'],'List<ReportMeasure>',context!);
Joins = JsonConverters.fromJson(json['Joins'],'List<String>',context!);
Filters = json['Filters'];
Sorts = JsonConverters.fromJson(json['Sorts'],'List<ReportSort>',context!);
Limit = json['Limit'];
return this;
}
Map<String, dynamic> toJson() => {
'DatasetCode': DatasetCode,
'Dimensions': JsonConverters.toJson(Dimensions,'List<String>',context!),
'Measures': JsonConverters.toJson(Measures,'List<ReportMeasure>',context!),
'Joins': JsonConverters.toJson(Joins,'List<String>',context!),
'Filters': Filters,
'Sorts': JsonConverters.toJson(Sorts,'List<ReportSort>',context!),
'Limit': Limit
};
getTypeName() => "ReportDefinition";
TypeContext? context = _ctx;
}
class ReportExportRequest extends ReportDefinition implements IConvertible
{
String? Format;
String? Title;
String? FileName;
ReportExportRequest({this.Format,this.Title,this.FileName});
ReportExportRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
Format = json['Format'];
Title = json['Title'];
FileName = json['FileName'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'Format': Format,
'Title': Title,
'FileName': FileName
});
getTypeName() => "ReportExportRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
'ReportMeasure': TypeInfo(TypeOf.Class, create:() => ReportMeasure()),
'ReportSort': TypeInfo(TypeOf.Class, create:() => ReportSort()),
'ReportDefinition': TypeInfo(TypeOf.Class, create:() => ReportDefinition()),
'List<ReportMeasure>': TypeInfo(TypeOf.Class, create:() => <ReportMeasure>[]),
'List<ReportSort>': TypeInfo(TypeOf.Class, create:() => <ReportSort>[]),
'ReportExportRequest': TypeInfo(TypeOf.Class, create:() => ReportExportRequest()),
});
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.
POST /v1/report/export HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<ReportExportRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
<DatasetCode>String</DatasetCode>
<Dimensions xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:string>String</d2p1:string>
</Dimensions>
<Filters>String</Filters>
<Joins xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:string>String</d2p1:string>
</Joins>
<Limit>0</Limit>
<Measures>
<ReportMeasure>
<Agg>String</Agg>
<FieldCode>String</FieldCode>
</ReportMeasure>
</Measures>
<Sorts>
<ReportSort>
<Dir>String</Dir>
<FieldCode>String</FieldCode>
</ReportSort>
</Sorts>
<FileName>String</FileName>
<Format>String</Format>
<Title>String</Title>
</ReportExportRequest>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length (byte[])