// @DataContract
export class Authentication
{
/** @description 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")
public apiUserId: string;
/** @description 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")
public apiUserKey: string;
public constructor(init?: Partial<Authentication>) { (Object as any).assign(this, init); }
}
// @DataContract
export class BaseRequest implements IBaseRequest
{
/** @description The authentication credentials */
// @DataMember
// @ApiMember(Description="The authentication credentials", IsRequired=true, ParameterType="header, body")
public authentication: Authentication;
public constructor(init?: Partial<BaseRequest>) { (Object as any).assign(this, init); }
}
// @DataContract
export class PagedRequest extends BaseRequest
{
/** @description The maximum number of records to be returned in one page */
// @DataMember(Name="page[limit]")
// @ApiMember(Description="The maximum number of records to be returned in one page", ParameterType="query")
public page_limit_: number;
/** @description The starting point in the list of records from where the data should be fetched. Zero based index. */
// @DataMember(Name="page[offset]")
// @ApiMember(Description="The starting point in the list of records from where the data should be fetched. Zero based index.", ParameterType="query")
public page_offset_: number;
/** @description The term to determine the order in which the data is returned */
// @DataMember
// @ApiMember(Description="The term to determine the order in which the data is returned", ParameterType="query")
public sort: string;
public constructor(init?: Partial<PagedRequest>) { super(init); (Object as any).assign(this, init); }
}
// @DataContract(Name="ClientState", Namespace="http://schemas.servicestack.net/types")
export enum ClientState
{
Undefined = 'Undefined',
PendingCompletion = 'PendingCompletion',
PendingOcr = 'PendingOcr',
PendingVerification = 'PendingVerification',
Verified = 'Verified',
}
// @DataContract
export class GetClients extends PagedRequest
{
/** @description Filter the results to those that have a State matching the state specified */
// @DataMember
// @ApiMember(Description="Filter the results to those that have a State matching the state specified", ParameterType="query")
public state: ClientState;
/** @description Filter the results to those that have a IsValidateMe flag matching the specified value */
// @DataMember
// @ApiMember(Description="Filter the results to those that have a IsValidateMe flag matching the specified value", ParameterType="query")
public isValidateMe?: boolean;
/** @description Filter the results to those that have a Name including the specified value */
// @DataMember
// @ApiMember(Description="Filter the results to those that have a Name including the specified value", ParameterType="query")
public name: string;
/** @description Filter the results to those that were created after (or on) this date */
// @DataMember
// @ApiMember(Description="Filter the results to those that were created after (or on) this date", ParameterType="query")
public dateFrom: string;
/** @description Filter the results to those that were created before this date */
// @DataMember
// @ApiMember(Description="Filter the results to those that were created before this date", ParameterType="query")
public dateTo: string;
/** @description If the searches are being accessed by a sub user, specify their username here to only return searches they have permissions to view */
// @DataMember
// @ApiMember(Description="If the searches are being accessed by a sub user, specify their username here to only return searches they have permissions to view", ParameterType="query")
public subUserName: string;
public constructor(init?: Partial<GetClients>) { super(init); (Object as any).assign(this, init); }
}
export class Links
{
// @ApiMember()
public self: string;
public constructor(init?: Partial<Links>) { (Object as any).assign(this, init); }
}
export class Image
{
public id: number;
public name: string;
public ocrId?: number;
public url: string;
public constructor(init?: Partial<Image>) { (Object as any).assign(this, init); }
}
export class ClientShort
{
public id: number;
public dateCreated: string;
public name: string;
public reference: string;
public isValidateMe: boolean;
public state: ClientState;
public links: Links;
public numOfDocuments: number;
public photo: Image;
public constructor(init?: Partial<ClientShort>) { (Object as any).assign(this, init); }
}
export class ArrayOfClientShort extends Array<ClientShort>
{
public constructor(init?: Partial<ArrayOfClientShort>) { super(); (Object as any).assign(this, init); }
}
export class GetClientsData extends PagedResponse<GetClients>
{
public clients: ArrayOfClientShort;
public constructor(init?: Partial<GetClientsData>) { super(init); (Object as any).assign(this, init); }
}
// @DataContract
export class GetClientsResponse
{
// @DataMember
public data: GetClientsData;
public constructor(init?: Partial<GetClientsResponse>) { (Object as any).assign(this, init); }
}
// @DataContract
export class ResponseError
{
// @DataMember(Order=1)
public errorCode: string;
// @DataMember(Order=2)
public fieldName: string;
// @DataMember(Order=3)
public message: string;
// @DataMember(Order=4)
public meta: { [index: string]: string; };
public constructor(init?: Partial<ResponseError>) { (Object as any).assign(this, init); }
}
export class ArrayOfResponseError extends Array<ResponseError>
{
public constructor(init?: Partial<ArrayOfResponseError>) { super(); (Object as any).assign(this, init); }
}
// @DataContract
export class ResponseStatus
{
// @DataMember(Order=1)
public errorCode: string;
// @DataMember(Order=2)
public message: string;
// @DataMember(Order=3)
public stackTrace: string;
// @DataMember(Order=4)
public errors: ArrayOfResponseError;
// @DataMember(Order=5)
public meta: { [index: string]: string; };
public constructor(init?: Partial<ResponseStatus>) { (Object as any).assign(this, init); }
}
export class BaseResponse implements IBaseDataResponse, IHasResponseStatus
{
/** @description The status of the response */
// @ApiMember(Description="The status of the response")
public responseStatus: ResponseStatus;
public constructor(init?: Partial<BaseResponse>) { (Object as any).assign(this, init); }
}
export class PagedResponse<T> extends BaseResponse
{
/** @description The response Metadata */
// @ApiMember(Description="The response Metadata")
public meta: Meta<T>;
public constructor(init?: Partial<PagedResponse<T>>) { super(init); (Object as any).assign(this, init); }
}
export class MetaLinks extends Links
{
/** @description The link to the first page of records */
// @ApiMember(Description="The link to the first page of records")
public first: string;
/** @description The link to the last page of records */
// @ApiMember(Description="The link to the last page of records")
public last: string;
/** @description The link to the next page of records, if applicable */
// @ApiMember(Description="The link to the next page of records, if applicable")
public next: string;
/** @description The link to the last page of records, if applicable */
// @ApiMember(Description="The link to the last page of records, if applicable")
public prev: string;
public constructor(init?: Partial<MetaLinks>) { super(init); (Object as any).assign(this, init); }
}
export class Meta<T>
{
/** @description Pagination links */
// @ApiMember(Description="Pagination links")
public links: MetaLinks;
/** @description The total number of records for the query */
// @ApiMember(Description="The total number of records for the query")
public totalCount?: number;
/** @description The maximum number of records to be returned in one page */
// @ApiMember(Description="The maximum number of records to be returned in one page")
public pageLimit?: number;
/** @description The starting point in the list of records from where the data should be fetched. Zero based index. */
// @ApiMember(Description="The starting point in the list of records from where the data should be fetched. Zero based index.")
public pageOffset?: number;
public constructor(init?: Partial<Meta<T>>) { (Object as any).assign(this, init); }
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .soap11 suffix or ?format=soap11
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /soap11 HTTP/1.1
Host: api.sanctionssearch.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: GetClients
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetClients xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types">
<Authentication>
<ApiUserId>String</ApiUserId>
<ApiUserKey>String</ApiUserKey>
</Authentication>
<Sort>String</Sort>
<page_x005B_limit_x005D_>0</page_x005B_limit_x005D_>
<page_x005B_offset_x005D_>0</page_x005B_offset_x005D_>
<DateFrom>0001-01-01T00:00:00</DateFrom>
<DateTo>0001-01-01T00:00:00</DateTo>
<IsValidateMe>false</IsValidateMe>
<Name>String</Name>
<State>Undefined</State>
<SubUserName>String</SubUserName>
</GetClients>
</soap:Body>
</soap:Envelope>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetClientsResponse 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> <Meta> <Links> <Self>String</Self> <First>String</First> <Last>String</Last> <Next>String</Next> <Prev>String</Prev> </Links> <PageLimit>0</PageLimit> <PageOffset>0</PageOffset> <TotalCount>0</TotalCount> </Meta> <Clients> <ClientShort> <DateCreated>0001-01-01T00:00:00</DateCreated> <Id>0</Id> <IsValidateMe>false</IsValidateMe> <Links> <Self>String</Self> </Links> <Name>String</Name> <NumOfDocuments>0</NumOfDocuments> <Photo> <Id>0</Id> <Name>String</Name> <OcrId>0</OcrId> <Url>String</Url> </Photo> <Reference>String</Reference> <State>Undefined</State> </ClientShort> </Clients> </Data> </GetClientsResponse> </soap:Body> </soap:Envelope>