Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports SanctionsSearch.Api2.ServiceModel.Operations.Clients
Imports SanctionsSearch.Api2.ServiceModel.Operations.Base
Imports SanctionsSearch.Api2.ServiceModel.Types
Namespace Global
Namespace SanctionsSearch.Api2.ServiceModel.Operations.Base
Public Partial Class ArrayOfResponseError
Inherits List(Of ResponseError)
End Class
<DataContract>
Public Partial Class BaseRequest
Implements IBaseRequest
'''<Summary>
'''The authentication credentials
'''</Summary>
<DataMember>
<ApiMember(Description:="The authentication credentials", IsRequired:=true, ParameterType:="header, body")>
Public Overridable Property Authentication As Authentication
End Class
Public Partial Class BaseResponse
Implements IBaseDataResponse
Implements IHasResponseStatus
'''<Summary>
'''The status of the response
'''</Summary>
<ApiMember(Description:="The status of the response")>
Public Overridable Property ResponseStatus As ResponseStatus
End Class
<DataContract>
Public Partial Class ResponseError
Public Sub New()
Meta = New Dictionary(Of String, String)
End Sub
<DataMember(Order:=1)>
Public Overridable Property ErrorCode As String
<DataMember(Order:=2)>
Public Overridable Property FieldName As String
<DataMember(Order:=3)>
Public Overridable Property Message As String
<DataMember(Order:=4)>
Public Overridable Property Meta As Dictionary(Of String, String)
End Class
<DataContract>
Public Partial Class ResponseStatus
Public Sub New()
Meta = New Dictionary(Of String, String)
End Sub
<DataMember(Order:=1)>
Public Overridable Property ErrorCode As String
<DataMember(Order:=2)>
Public Overridable Property Message As String
<DataMember(Order:=3)>
Public Overridable Property StackTrace As String
<DataMember(Order:=4)>
Public Overridable Property Errors As ArrayOfResponseError
<DataMember(Order:=5)>
Public Overridable Property Meta As Dictionary(Of String, String)
End Class
End Namespace
Namespace SanctionsSearch.Api2.ServiceModel.Operations.Clients
<DataContract>
Public Partial Class GetClient
Inherits BaseRequest
<DataMember>
<ApiMember(IsRequired:=true, ParameterType:="path")>
Public Overridable Property Id As Integer
End Class
Public Partial Class GetClientData
Inherits BaseResponse
Implements IBaseSearchResponse
Public Overridable Property LinkedTo As ArrayOfLinkedTo
Public Overridable Property Client As Client
End Class
<DataContract>
Public Partial Class GetClientResponse
<DataMember>
Public Overridable Property Data As GetClientData
End Class
End Namespace
Namespace SanctionsSearch.Api2.ServiceModel.Types
Public Partial Class ArrayOfDrivingLicences
Inherits List(Of DrivingLicence)
End Class
Public Partial Class ArrayOfImages
Inherits List(Of Image)
End Class
Public Partial Class ArrayOfLinkedTo
Inherits List(Of LinkedTo)
End Class
Public Partial Class ArrayOfOtherDocuments
Inherits List(Of OtherDocument)
End Class
Public Partial Class ArrayOfPassports
Inherits List(Of Passport)
End Class
Public Partial Class ArrayOfProofOfDocumentCategories
Inherits List(Of ProofOfDocumentCategory)
End Class
Public Partial Class ArrayOfProofOfDocuments
Inherits List(Of ProofOfDocument)
End Class
<DataContract>
Public Partial Class Authentication
'''<Summary>
'''The API User ID provided by us when you signed up to use our API
'''</Summary>
<DataMember>
<ApiMember(Description:="The API User ID provided by us when you signed up to use our API", IsRequired:=true, ParameterType:="header, body")>
Public Overridable Property ApiUserId As String
'''<Summary>
'''The API User Key provided by us when you signed up to use our API
'''</Summary>
<DataMember>
<ApiMember(Description:="The API User Key provided by us when you signed up to use our API", IsRequired:=true, ParameterType:="header, body")>
Public Overridable Property ApiUserKey As String
End Class
Public Partial Class Client
Public Overridable Property Id As Integer
Public Overridable Property DateCreated As Date
Public Overridable Property Name As String
Public Overridable Property Email As String
Public Overridable Property Reference As String
Public Overridable Property State As ClientState
Public Overridable Property MobileInternational As String
Public Overridable Property PostCode As String
Public Overridable Property IsValidateMe As Boolean
Public Overridable Property Face As Face
Public Overridable Property Video As Video
Public Overridable Property Location As Location
Public Overridable Property NumOfDocuments As Integer
Public Overridable Property Passports As ArrayOfPassports
Public Overridable Property DrivingLicences As ArrayOfDrivingLicences
Public Overridable Property OtherDocuments As ArrayOfOtherDocuments
Public Overridable Property ProofOfDocumentCategories As ArrayOfProofOfDocumentCategories
End Class
<DataContract(Name:="ClientState", Namespace:="http://schemas.servicestack.net/types")>
Public Enum ClientState
Undefined
PendingCompletion
PendingOcr
PendingVerification
Verified
End Enum
Public Partial Class DrivingLicence
Public Overridable Property ClientFileId As Integer
Public Overridable Property FirstName As String
Public Overridable Property MiddleName As String
Public Overridable Property LastName As String
Public Overridable Property DateOfBirth As String
Public Overridable Property Address As String
Public Overridable Property DrivingLicenceNumber As String
Public Overridable Property Images As ArrayOfImages
Public Overridable Property IsVerified As Boolean
Public Overridable Property IsFaceMatch As Nullable(Of Boolean)
Public Overridable Property FaceMatchConfidence As Nullable(Of Decimal)
Public Overridable Property HasDfaSearch As Boolean
End Class
Public Partial Class Face
Public Overridable Property Age As Nullable(Of Double)
Public Overridable Property Gender As String
Public Overridable Property Emotion As String
Public Overridable Property Smile As Nullable(Of Double)
Public Overridable Property HairColour As String
Public Overridable Property FacialHair As String
Public Overridable Property Makeup As String
Public Overridable Property Glasses As String
Public Overridable Property Accessories As String
End Class
Public Partial Class Image
Public Overridable Property Id As Integer
Public Overridable Property Name As String
Public Overridable Property OcrId As Nullable(Of Integer)
Public Overridable Property Url As String
End Class
Public Partial Class LinkedTo
Public Overridable Property ClientId As Nullable(Of Integer)
Public Overridable Property Id As Nullable(Of Long)
Public Overridable Property Type As String
Public Overridable Property Subtype As String
Public Overridable Property Status As String
Public Overridable Property Description As String
Public Overridable Property IsArchived As Nullable(Of Boolean)
Public Overridable Property Name As String
Public Overridable Property [Date] As Nullable(Of Date)
End Class
Public Partial Class Location
Public Overridable Property Latitude As Double
Public Overridable Property Longitude As Double
End Class
Public Partial Class OtherDocument
Public Overridable Property ClientFileId As Integer
Public Overridable Property Type As String
Public Overridable Property TypeOther As String
Public Overridable Property Description As String
Public Overridable Property OriginalImageUrl As String
Public Overridable Property CroppedImageUrl As String
Public Overridable Property IsVerified As Boolean
End Class
Public Partial Class Passport
Public Overridable Property ClientFileId As Integer
Public Overridable Property FirstName As String
Public Overridable Property MiddleName As String
Public Overridable Property LastName As String
Public Overridable Property DateOfBirth As String
Public Overridable Property Gender As String
Public Overridable Property MrzLineOne As String
Public Overridable Property MrzLineTwo1 As String
Public Overridable Property MrzLineTwo2 As String
Public Overridable Property MrzLineTwo3 As String
Public Overridable Property MrzLineTwo4 As String
Public Overridable Property MrzLineTwo5 As String
Public Overridable Property MrzLineTwo6 As String
Public Overridable Property MrzLineTwo7 As String
Public Overridable Property MrzLineTwo8 As String
Public Overridable Property Images As ArrayOfImages
Public Overridable Property IsVerified As Boolean
Public Overridable Property IsFaceMatch As Nullable(Of Boolean)
Public Overridable Property FaceMatchConfidence As Nullable(Of Decimal)
Public Overridable Property HasPcvSearch As Boolean
Public Overridable Property HasDfaSearch As Boolean
Public Overridable Property IsPassportChipVerified As Nullable(Of Boolean)
Public Overridable Property PassportChipData As PassportChipData
Public Overridable Property IsEligibleForPcv As Boolean
Public Overridable Property IsEligibleForDfa As Boolean
End Class
Public Partial Class PassportChipData
Public Sub New()
DataGroupsVerified = New Integer(){}
DataGroupsFailed = New Integer(){}
End Sub
Public Overridable Property IsIssuerVerified As Boolean
Public Overridable Property IssuerCommonName As String
Public Overridable Property IssuerOrganisationName As String
Public Overridable Property IssuerCountry As String
Public Overridable Property MRZLine1 As String
Public Overridable Property MRZLine2 As String
Public Overridable Property IsMrzLine1Verified As Boolean
Public Overridable Property IsMrzLine2Verified As Boolean
Public Overridable Property DataGroupsVerified As Integer()
Public Overridable Property DataGroupsFailed As Integer()
Public Overridable Property IsFaceMatch As Boolean
Public Overridable Property FaceMatchConfidence As Nullable(Of Decimal)
End Class
Public Partial Class ProofOfDocument
'''<Summary>
'''The ID of the ProofOfDocument
'''</Summary>
<ApiMember(Description:="The ID of the ProofOfDocument", IsRequired:=true)>
Public Overridable Property Id As Integer
'''<Summary>
'''The name of the ProofOfDocument
'''</Summary>
<ApiMember(Description:="The name of the ProofOfDocument", IsRequired:=true)>
Public Overridable Property Name As String
End Class
Public Partial Class ProofOfDocumentCategory
'''<Summary>
'''The ID of the ProofOfDocumentCategory
'''</Summary>
<ApiMember(Description:="The ID of the ProofOfDocumentCategory", IsRequired:=true)>
Public Overridable Property Id As Integer
'''<Summary>
'''The category or subject that requires proof (e.g., 'Name', 'Address', 'Right to work')
'''</Summary>
<ApiMember(Description:="The category or subject that requires proof (e.g., 'Name', 'Address', 'Right to work')", IsRequired:=true)>
Public Overridable Property ProofOf As String
'''<Summary>
'''The documents that can be used to provide proof for the specified category.
'''</Summary>
<ApiMember(Description:="The documents that can be used to provide proof for the specified category.", IsRequired:=true)>
Public Overridable Property ProofOfDocuments As ArrayOfProofOfDocuments
End Class
Public Partial Class Video
Public Sub New()
VideoTimestamps = New List(Of VideoTimestamp)
End Sub
Public Overridable Property Id As Integer
Public Overridable Property VideoUrl As String
Public Overridable Property ImageUrl As String
Public Overridable Property VideoTimestamps As List(Of VideoTimestamp)
End Class
Public Partial Class VideoTimestamp
Public Overridable Property TagName As String
Public Overridable Property Milli As Nullable(Of Integer)
Public Overridable Property ImageUrl As String
End Class
End Namespace
End Namespace
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: GetClient
<?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>
<GetClient xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types">
<Authentication>
<ApiUserId>String</ApiUserId>
<ApiUserKey>String</ApiUserKey>
</Authentication>
<Id>0</Id>
</GetClient>
</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> <GetClientResponse 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> <Client> <DateCreated>0001-01-01T00:00:00</DateCreated> <DrivingLicences> <Passport> <Address>String</Address> <ClientFileId>0</ClientFileId> <DateOfBirth>String</DateOfBirth> <DrivingLicenceNumber>String</DrivingLicenceNumber> <FaceMatchConfidence>0</FaceMatchConfidence> <FirstName>String</FirstName> <HasDfaSearch>false</HasDfaSearch> <Images> <CategoryId> <Id>0</Id> <Name>String</Name> <OcrId>0</OcrId> <Url>String</Url> </CategoryId> </Images> <IsFaceMatch>false</IsFaceMatch> <IsVerified>false</IsVerified> <LastName>String</LastName> <MiddleName>String</MiddleName> </Passport> </DrivingLicences> <Email>String</Email> <Face> <Accessories>String</Accessories> <Age>0</Age> <Emotion>String</Emotion> <FacialHair>String</FacialHair> <Gender>String</Gender> <Glasses>String</Glasses> <HairColour>String</HairColour> <Makeup>String</Makeup> <Smile>0</Smile> </Face> <Id>0</Id> <IsValidateMe>false</IsValidateMe> <Location> <Latitude>0</Latitude> <Longitude>0</Longitude> </Location> <MobileInternational>String</MobileInternational> <Name>String</Name> <NumOfDocuments>0</NumOfDocuments> <OtherDocuments> <OtherDocument> <ClientFileId>0</ClientFileId> <CroppedImageUrl>String</CroppedImageUrl> <Description>String</Description> <IsVerified>false</IsVerified> <OriginalImageUrl>String</OriginalImageUrl> <Type>String</Type> <TypeOther>String</TypeOther> </OtherDocument> </OtherDocuments> <Passports> <Passport> <ClientFileId>0</ClientFileId> <DateOfBirth>String</DateOfBirth> <FaceMatchConfidence>0</FaceMatchConfidence> <FirstName>String</FirstName> <Gender>String</Gender> <HasDfaSearch>false</HasDfaSearch> <HasPcvSearch>false</HasPcvSearch> <Images> <CategoryId> <Id>0</Id> <Name>String</Name> <OcrId>0</OcrId> <Url>String</Url> </CategoryId> </Images> <IsEligibleForDfa>false</IsEligibleForDfa> <IsEligibleForPcv>false</IsEligibleForPcv> <IsFaceMatch>false</IsFaceMatch> <IsPassportChipVerified>false</IsPassportChipVerified> <IsVerified>false</IsVerified> <LastName>String</LastName> <MiddleName>String</MiddleName> <MrzLineOne>String</MrzLineOne> <MrzLineTwo1>String</MrzLineTwo1> <MrzLineTwo2>String</MrzLineTwo2> <MrzLineTwo3>String</MrzLineTwo3> <MrzLineTwo4>String</MrzLineTwo4> <MrzLineTwo5>String</MrzLineTwo5> <MrzLineTwo6>String</MrzLineTwo6> <MrzLineTwo7>String</MrzLineTwo7> <MrzLineTwo8>String</MrzLineTwo8> <PassportChipData> <DataGroupsFailed xmlns:d7p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d7p1:int>0</d7p1:int> </DataGroupsFailed> <DataGroupsVerified xmlns:d7p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d7p1:int>0</d7p1:int> </DataGroupsVerified> <FaceMatchConfidence>0</FaceMatchConfidence> <IsFaceMatch>false</IsFaceMatch> <IsIssuerVerified>false</IsIssuerVerified> <IsMrzLine1Verified>false</IsMrzLine1Verified> <IsMrzLine2Verified>false</IsMrzLine2Verified> <IssuerCommonName>String</IssuerCommonName> <IssuerCountry>String</IssuerCountry> <IssuerOrganisationName>String</IssuerOrganisationName> <MRZLine1>String</MRZLine1> <MRZLine2>String</MRZLine2> </PassportChipData> </Passport> </Passports> <PostCode>String</PostCode> <ProofOfDocumentCategories> <CategoryId> <Id>0</Id> <ProofOf>String</ProofOf> <ProofOfDocuments> <DocumentId> <Id>0</Id> <Name>String</Name> </DocumentId> </ProofOfDocuments> </CategoryId> </ProofOfDocumentCategories> <Reference>String</Reference> <State>Undefined</State> <Video> <Id>0</Id> <ImageUrl>String</ImageUrl> <VideoTimestamps> <VideoTimestamp> <ImageUrl>String</ImageUrl> <Milli>0</Milli> <TagName>String</TagName> </VideoTimestamp> </VideoTimestamps> <VideoUrl>String</VideoUrl> </Video> </Client> <LinkedTo> <LinkedTo> <ClientId>0</ClientId> <Date>0001-01-01T00:00:00</Date> <Description>String</Description> <Id>0</Id> <IsArchived>false</IsArchived> <Name>String</Name> <Status>String</Status> <Subtype>String</Subtype> <Type>String</Type> </LinkedTo> </LinkedTo> </Data> </GetClientResponse> </soap:Body> </soap:Envelope>