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 .soap12 suffix or ?format=soap12
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /soap12 HTTP/1.1
Host: api.sanctionssearch.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<GetPdf xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types">
<Authentication>
<ApiUserId>String</ApiUserId>
<ApiUserKey>String</ApiUserKey>
</Authentication>
<Request>
<Id>0</Id>
<SubUserName>String</SubUserName>
</Request>
</GetPdf>
</soap12:Body>
</soap12:Envelope>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"> <soap12:Body> <GetPdfResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types"> <Data> <ResponseStatus> <ErrorCode>String</ErrorCode> <Message>String</Message> <StackTrace>String</StackTrace> <Errors> <ResponseError> <ErrorCode>String</ErrorCode> <FieldName>String</FieldName> <Message>String</Message> <Meta xmlns:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d6p1:KeyValueOfstringstring> <d6p1:Key>String</d6p1:Key> <d6p1:Value>String</d6p1:Value> </d6p1:KeyValueOfstringstring> </Meta> </ResponseError> </Errors> <Meta xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d4p1:KeyValueOfstringstring> <d4p1:Key>String</d4p1:Key> <d4p1:Value>String</d4p1:Value> </d4p1:KeyValueOfstringstring> </Meta> </ResponseStatus> <Document> <CompanyLookupSearchId>0</CompanyLookupSearchId> <DateCreated>0001-01-01T00:00:00</DateCreated> <DateExpires>0001-01-01T00:00:00</DateExpires> <FileName>String</FileName> <Id>0</Id> <IsReady>false</IsReady> <Name>String</Name> <PepSearchId>0</PepSearchId> <SanctionsSearchId>0</SanctionsSearchId> <Type>String</Type> <ValidIdSearchId>0</ValidIdSearchId> <DocumentBytes>AA==</DocumentBytes> </Document> </Data> </GetPdfResponse> </soap12:Body> </soap12:Envelope>