| Requires any of the roles: | Agent, Administrator |
| GET,PUT,DELETE,OPTIONS | /v1/Attachment/{AttachmentId} | ||
|---|---|---|---|
| POST,OPTIONS | /v1/Attachment/{TableName}/{FieldName}/{RecordId}/{NeedsOCR} | ||
| POST,OPTIONS | /v1/Attachment/{TableName}/{FieldName}/{RecordId} |
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';
class Attachment implements IConvertible
{
String? AttachmentId;
String? TableName;
String? FieldName;
int? RecordId;
String? AttachmentName;
String? MimeType;
Uint8List? AttachmentData = [];
double? FileSizeInKB;
DateTime? CreatedDate;
String? CreatedBy;
bool? NeedsOCR;
DateTime? OCRDate;
bool? IsSecurities;
String? AWSKey;
String? PresignedUrl;
Attachment({this.AttachmentId,this.TableName,this.FieldName,this.RecordId,this.AttachmentName,this.MimeType,this.AttachmentData,this.FileSizeInKB,this.CreatedDate,this.CreatedBy,this.NeedsOCR,this.OCRDate,this.IsSecurities,this.AWSKey,this.PresignedUrl});
Attachment.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
AttachmentId = json['AttachmentId'];
TableName = json['TableName'];
FieldName = json['FieldName'];
RecordId = json['RecordId'];
AttachmentName = json['AttachmentName'];
MimeType = json['MimeType'];
AttachmentData = JsonConverters.fromJson(json['AttachmentData'],'Uint8List',context!);
FileSizeInKB = JsonConverters.toDouble(json['FileSizeInKB']);
CreatedDate = JsonConverters.fromJson(json['CreatedDate'],'DateTime',context!);
CreatedBy = json['CreatedBy'];
NeedsOCR = json['NeedsOCR'];
OCRDate = JsonConverters.fromJson(json['OCRDate'],'DateTime',context!);
IsSecurities = json['IsSecurities'];
AWSKey = json['AWSKey'];
PresignedUrl = json['PresignedUrl'];
return this;
}
Map<String, dynamic> toJson() => {
'AttachmentId': AttachmentId,
'TableName': TableName,
'FieldName': FieldName,
'RecordId': RecordId,
'AttachmentName': AttachmentName,
'MimeType': MimeType,
'AttachmentData': JsonConverters.toJson(AttachmentData,'Uint8List',context!),
'FileSizeInKB': FileSizeInKB,
'CreatedDate': JsonConverters.toJson(CreatedDate,'DateTime',context!),
'CreatedBy': CreatedBy,
'NeedsOCR': NeedsOCR,
'OCRDate': JsonConverters.toJson(OCRDate,'DateTime',context!),
'IsSecurities': IsSecurities,
'AWSKey': AWSKey,
'PresignedUrl': PresignedUrl
};
getTypeName() => "Attachment";
TypeContext? context = _ctx;
}
class AttachmentResponse implements IConvertible
{
ResponseStatus? ResponseStatus;
List<Attachment>? Attachment = [];
AttachmentResponse({this.ResponseStatus,this.Attachment});
AttachmentResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
Attachment = JsonConverters.fromJson(json['Attachment'],'List<Attachment>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!),
'Attachment': JsonConverters.toJson(Attachment,'List<Attachment>',context!)
};
getTypeName() => "AttachmentResponse";
TypeContext? context = _ctx;
}
class AttachmentRequest implements IConvertible
{
List<Attachment>? Attachment = [];
String? AttachmentId;
String? TableName;
String? FieldName;
int? RecordId;
bool? NeedsOCR;
AttachmentRequest({this.Attachment,this.AttachmentId,this.TableName,this.FieldName,this.RecordId,this.NeedsOCR});
AttachmentRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Attachment = JsonConverters.fromJson(json['Attachment'],'List<Attachment>',context!);
AttachmentId = json['AttachmentId'];
TableName = json['TableName'];
FieldName = json['FieldName'];
RecordId = json['RecordId'];
NeedsOCR = json['NeedsOCR'];
return this;
}
Map<String, dynamic> toJson() => {
'Attachment': JsonConverters.toJson(Attachment,'List<Attachment>',context!),
'AttachmentId': AttachmentId,
'TableName': TableName,
'FieldName': FieldName,
'RecordId': RecordId,
'NeedsOCR': NeedsOCR
};
getTypeName() => "AttachmentRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
'Attachment': TypeInfo(TypeOf.Class, create:() => Attachment()),
'Uint8List': TypeInfo(TypeOf.Class, create:() => Uint8List(0)),
'AttachmentResponse': TypeInfo(TypeOf.Class, create:() => AttachmentResponse()),
'List<Attachment>': TypeInfo(TypeOf.Class, create:() => <Attachment>[]),
'AttachmentRequest': TypeInfo(TypeOf.Class, create:() => AttachmentRequest()),
});
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/Attachment/{TableName}/{FieldName}/{RecordId}/{NeedsOCR} HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"Attachment":[{"AttachmentId":"00000000000000000000000000000000","TableName":"String","FieldName":"String","RecordId":0,"AttachmentName":"String","MimeType":"String","AttachmentData":"AA==","FileSizeInKB":0,"CreatedDate":"0001-01-01T00:00:00.0000000","CreatedBy":"String","NeedsOCR":false,"OCRDate":"0001-01-01T00:00:00.0000000","IsSecurities":false,"AWSKey":"String","PresignedUrl":"String"}],"AttachmentId":"00000000000000000000000000000000","TableName":"String","FieldName":"String","RecordId":0,"NeedsOCR":false}
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"}},"Attachment":[{"AttachmentId":"00000000000000000000000000000000","TableName":"String","FieldName":"String","RecordId":0,"AttachmentName":"String","MimeType":"String","AttachmentData":"AA==","FileSizeInKB":0,"CreatedDate":"0001-01-01T00:00:00.0000000","CreatedBy":"String","NeedsOCR":false,"OCRDate":"0001-01-01T00:00:00.0000000","IsSecurities":false,"AWSKey":"String","PresignedUrl":"String"}]}