POST | /pdfs/get | Get a PDF |
---|
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';
// @DataContract
class Authentication implements IConvertible
{
/**
* The API User ID provided by us when you signed up to use our API
*/
// @DataMember
// @ApiMember(Description="The API User ID provided by us when you signed up to use our API", IsRequired=true, ParameterType="header, body")
String? apiUserId;
/**
* The API User Key provided by us when you signed up to use our API
*/
// @DataMember
// @ApiMember(Description="The API User Key provided by us when you signed up to use our API", IsRequired=true, ParameterType="header, body")
String? apiUserKey;
Authentication({this.apiUserId,this.apiUserKey});
Authentication.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
apiUserId = json['apiUserId'];
apiUserKey = json['apiUserKey'];
return this;
}
Map<String, dynamic> toJson() => {
'apiUserId': apiUserId,
'apiUserKey': apiUserKey
};
getTypeName() => "Authentication";
TypeContext? context = _ctx;
}
// @DataContract
class BaseRequest implements IBaseRequest, IConvertible
{
/**
* The authentication credentials
*/
// @DataMember
// @ApiMember(Description="The authentication credentials", IsRequired=true, ParameterType="header, body")
Authentication? authentication;
BaseRequest({this.authentication});
BaseRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
authentication = JsonConverters.fromJson(json['authentication'],'Authentication',context!);
return this;
}
Map<String, dynamic> toJson() => {
'authentication': JsonConverters.toJson(authentication,'Authentication',context!)
};
getTypeName() => "BaseRequest";
TypeContext? context = _ctx;
}
// @DataContract
class ResponseError implements IConvertible
{
// @DataMember(Order=1)
String? errorCode;
// @DataMember(Order=2)
String? fieldName;
// @DataMember(Order=3)
String? message;
// @DataMember(Order=4)
Map<String,String?>? meta;
ResponseError({this.errorCode,this.fieldName,this.message,this.meta});
ResponseError.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
errorCode = json['errorCode'];
fieldName = json['fieldName'];
message = json['message'];
meta = JsonConverters.toStringMap(json['meta']);
return this;
}
Map<String, dynamic> toJson() => {
'errorCode': errorCode,
'fieldName': fieldName,
'message': message,
'meta': meta
};
getTypeName() => "ResponseError";
TypeContext? context = _ctx;
}
class ArrayOfResponseError extends ListBase<ResponseError> implements IConvertible
{
final List<ResponseError> l = [];
set length(int newLength) { l.length = newLength; }
int get length => l.length;
ResponseError operator [](int index) => l[index];
void operator []=(int index, ResponseError value) { l[index] = value; }
ArrayOfResponseError();
ArrayOfResponseError.fromJson(Map<String, dynamic> json) : super();
fromMap(Map<String, dynamic> json) {
return this;
}
Map<String, dynamic> toJson() => {};
getTypeName() => "ArrayOfResponseError";
TypeContext? context = _ctx;
}
// @DataContract
class ResponseStatus implements IConvertible
{
// @DataMember(Order=1)
String? errorCode;
// @DataMember(Order=2)
String? message;
// @DataMember(Order=3)
String? stackTrace;
// @DataMember(Order=4)
ArrayOfResponseError? errors;
// @DataMember(Order=5)
Map<String,String?>? meta;
ResponseStatus({this.errorCode,this.message,this.stackTrace,this.errors,this.meta});
ResponseStatus.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
errorCode = json['errorCode'];
message = json['message'];
stackTrace = json['stackTrace'];
errors = JsonConverters.fromJson(json['errors'],'ArrayOfResponseError',context!);
meta = JsonConverters.toStringMap(json['meta']);
return this;
}
Map<String, dynamic> toJson() => {
'errorCode': errorCode,
'message': message,
'stackTrace': stackTrace,
'errors': JsonConverters.toJson(errors,'ArrayOfResponseError',context!),
'meta': meta
};
getTypeName() => "ResponseStatus";
TypeContext? context = _ctx;
}
class BaseResponse implements IBaseDataResponse, IHasResponseStatus, IConvertible
{
/**
* The status of the response
*/
// @ApiMember(Description="The status of the response")
ResponseStatus? responseStatus;
BaseResponse({this.responseStatus});
BaseResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
return this;
}
Map<String, dynamic> toJson() => {
'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
};
getTypeName() => "BaseResponse";
TypeContext? context = _ctx;
}
class PdfDocument implements IConvertible
{
/**
* The ID of the saved document
*/
// @ApiMember(Description="The ID of the saved document")
int? id;
/**
* Is the document ready to download
*/
// @ApiMember(Description="Is the document ready to download")
bool? isReady;
/**
* The name of the saved document
*/
// @ApiMember(Description="The name of the saved document")
String? name;
/**
* The file name (including extension) of the saved document
*/
// @ApiMember(Description="The file name (including extension) of the saved document")
String? fileName;
/**
* The type of saved document (Human readable, pep, sanctions, validid, companylookup, etc.)
*/
// @ApiMember(Description="The type of saved document (Human readable, pep, sanctions, validid, companylookup, etc.)")
String? type;
/**
* If this document is a Saved Sanctions Search, the ID of the search it relates to
*/
// @ApiMember(Description="If this document is a Saved Sanctions Search, the ID of the search it relates to")
int? sanctionsSearchId;
/**
* If this document is a Saved PEP Search, the ID of the search it relates to
*/
// @ApiMember(Description="If this document is a Saved PEP Search, the ID of the search it relates to")
int? pepSearchId;
/**
* If this document is a Saved ValidID Search, the ID of the search it relates to
*/
// @ApiMember(Description="If this document is a Saved ValidID Search, the ID of the search it relates to")
int? validIdSearchId;
/**
* If this document is a Saved CompanyLookup Search, the ID of the search it relates to
*/
// @ApiMember(Description="If this document is a Saved CompanyLookup Search, the ID of the search it relates to")
int? companyLookupSearchId;
/**
* The date the saved document was created/requested
*/
// @ApiMember(Description="The date the saved document was created/requested")
DateTime? dateCreated;
/**
* The date the saved document will be no longer available. You can request a new document using the SaveSearch, SavePepSearch, etc. methods
*/
// @ApiMember(Description="The date the saved document will be no longer available. You can request a new document using the SaveSearch, SavePepSearch, etc. methods")
DateTime? dateExpires;
PdfDocument({this.id,this.isReady,this.name,this.fileName,this.type,this.sanctionsSearchId,this.pepSearchId,this.validIdSearchId,this.companyLookupSearchId,this.dateCreated,this.dateExpires});
PdfDocument.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
id = json['id'];
isReady = json['isReady'];
name = json['name'];
fileName = json['fileName'];
type = json['type'];
sanctionsSearchId = json['sanctionsSearchId'];
pepSearchId = json['pepSearchId'];
validIdSearchId = json['validIdSearchId'];
companyLookupSearchId = json['companyLookupSearchId'];
dateCreated = JsonConverters.fromJson(json['dateCreated'],'DateTime',context!);
dateExpires = JsonConverters.fromJson(json['dateExpires'],'DateTime',context!);
return this;
}
Map<String, dynamic> toJson() => {
'id': id,
'isReady': isReady,
'name': name,
'fileName': fileName,
'type': type,
'sanctionsSearchId': sanctionsSearchId,
'pepSearchId': pepSearchId,
'validIdSearchId': validIdSearchId,
'companyLookupSearchId': companyLookupSearchId,
'dateCreated': JsonConverters.toJson(dateCreated,'DateTime',context!),
'dateExpires': JsonConverters.toJson(dateExpires,'DateTime',context!)
};
getTypeName() => "PdfDocument";
TypeContext? context = _ctx;
}
class PdfDocumentWithData extends PdfDocument implements IConvertible
{
/**
* The file data in a byte array
*/
// @ApiMember(Description="The file data in a byte array")
Uint8List? documentBytes;
PdfDocumentWithData({this.documentBytes});
PdfDocumentWithData.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
documentBytes = JsonConverters.fromJson(json['documentBytes'],'Uint8List',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'documentBytes': JsonConverters.toJson(documentBytes,'Uint8List',context!)
});
getTypeName() => "PdfDocumentWithData";
TypeContext? context = _ctx;
}
class GetPdfData extends BaseResponse implements IConvertible
{
/**
* The single document that is being returned, including the file data
*/
// @ApiMember(Description="The single document that is being returned, including the file data")
PdfDocumentWithData? document;
GetPdfData({this.document});
GetPdfData.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
document = JsonConverters.fromJson(json['document'],'PdfDocumentWithData',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'document': JsonConverters.toJson(document,'PdfDocumentWithData',context!)
});
getTypeName() => "GetPdfData";
TypeContext? context = _ctx;
}
// @DataContract
class GetPdfResponse implements IConvertible
{
/**
* The response data
*/
// @DataMember
// @ApiMember(Description="The response data")
GetPdfData? data;
GetPdfResponse({this.data});
GetPdfResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
data = JsonConverters.fromJson(json['data'],'GetPdfData',context!);
return this;
}
Map<String, dynamic> toJson() => {
'data': JsonConverters.toJson(data,'GetPdfData',context!)
};
getTypeName() => "GetPdfResponse";
TypeContext? context = _ctx;
}
class GetPdfRequest implements IConvertible
{
/**
* If the saved document is kept within a single Sub User account, specify their username here
*/
// @ApiMember(Description="If the saved document is kept within a single Sub User account, specify their username here")
String? subUserName;
/**
* The ID of the document to retrieve
*/
// @ApiMember(Description="The ID of the document to retrieve")
int? id;
GetPdfRequest({this.subUserName,this.id});
GetPdfRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
subUserName = json['subUserName'];
id = json['id'];
return this;
}
Map<String, dynamic> toJson() => {
'subUserName': subUserName,
'id': id
};
getTypeName() => "GetPdfRequest";
TypeContext? context = _ctx;
}
// @DataContract
class GetPdf extends BaseRequest implements IConvertible
{
/**
* The request data
*/
// @DataMember
// @ApiMember(Description="The request data", ParameterType="body")
GetPdfRequest? request;
GetPdf({this.request});
GetPdf.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
request = JsonConverters.fromJson(json['request'],'GetPdfRequest',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'request': JsonConverters.toJson(request,'GetPdfRequest',context!)
});
getTypeName() => "GetPdf";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.sanctionssearch.com', types: <String, TypeInfo> {
'Authentication': TypeInfo(TypeOf.Class, create:() => Authentication()),
'BaseRequest': TypeInfo(TypeOf.Class, create:() => BaseRequest()),
'ArrayOfResponseError': TypeInfo(TypeOf.Class, create:() => ArrayOfResponseError()),
'BaseResponse': TypeInfo(TypeOf.Class, create:() => BaseResponse()),
'PdfDocument': TypeInfo(TypeOf.Class, create:() => PdfDocument()),
'PdfDocumentWithData': TypeInfo(TypeOf.Class, create:() => PdfDocumentWithData()),
'Uint8List': TypeInfo(TypeOf.Class, create:() => Uint8List(0)),
'GetPdfData': TypeInfo(TypeOf.Class, create:() => GetPdfData()),
'GetPdfResponse': TypeInfo(TypeOf.Class, create:() => GetPdfResponse()),
'GetPdfRequest': TypeInfo(TypeOf.Class, create:() => GetPdfRequest()),
'GetPdf': TypeInfo(TypeOf.Class, create:() => GetPdf()),
});
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /pdfs/get HTTP/1.1
Host: api.sanctionssearch.com
Accept: application/json
Content-Type: application/json
Content-Length: length
{"request":{"subUserName":"String","id":0},"authentication":{"apiUserId":"String","apiUserKey":"String"}}
HTTP/1.1 200 OK Content-Type: application/json Content-Length: length {"data":{"document":{"documentBytes":"AA==","id":0,"isReady":false,"name":"String","fileName":"String","type":"String","sanctionsSearchId":0,"pepSearchId":0,"validIdSearchId":0,"companyLookupSearchId":0,"dateCreated":"\/Date(-62135596800000-0000)\/","dateExpires":"\/Date(-62135596800000-0000)\/"},"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}}