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
Public Partial Class AddClientRequest
'''<Summary>
'''The full name of the client
'''</Summary>
<ApiMember(Description:="The full name of the client", IsRequired:=true)>
Public Overridable Property Name As String
'''<Summary>
'''The email address of the client
'''</Summary>
<ApiMember(Description:="The email address of the client", IsRequired:=true)>
Public Overridable Property Email As String
'''<Summary>
'''The client's mobile phone number in international format (e.g. '+447123456789')
'''</Summary>
<ApiMember(Description:="The client's mobile phone number in international format (e.g. '+447123456789')", IsRequired:=true)>
Public Overridable Property MobileInternational As String
'''<Summary>
'''The postal code of the client's address. Used in emails sent to the client to help them recognize the communication as genuine
'''</Summary>
<ApiMember(Description:="The postal code of the client's address. Used in emails sent to the client to help them recognize the communication as genuine", IsRequired:=true)>
Public Overridable Property PostCode As String
'''<Summary>
'''Specifies the type of ValidateMe preset. Possible values are 'ValidateMe' for configuring RequiredDocuments, or 'PassportChipVerification' for setting the Passport as Proof of Name
'''</Summary>
<ApiMember(Description:="Specifies the type of ValidateMe preset. Possible values are 'ValidateMe' for configuring RequiredDocuments, or 'PassportChipVerification' for setting the Passport as Proof of Name", IsRequired:=true)>
Public Overridable Property ProofOfPreset As CreateMobileClientType
'''<Summary>
'''The categories of proof and selected documents that the client can use to provide proof. Required if ClientType is set to 'ValidateMe'
'''</Summary>
<ApiMember(Description:="The categories of proof and selected documents that the client can use to provide proof. Required if ClientType is set to 'ValidateMe'")>
Public Overridable Property ProofOfDocumentCategories As ArrayOfProofOfDocumentCategories
'''<Summary>
'''If the client should be linked to other searches, specify the them here
'''</Summary>
<ApiMember(Description:="If the client should be linked to other searches, specify the them here")>
Public Overridable Property LinkedTo As ArrayOfLinkedTo
End Class
<DataContract>
Public Partial Class AddClientTemplate
Inherits BaseRequest
End Class
Public Partial Class AddClientTemplateData
Inherits BaseResponse
Public Overridable Property Request As AddClientRequest
End Class
<DataContract>
Public Partial Class AddClientTemplateResponse
<DataMember>
Public Overridable Property Data As AddClientTemplateData
End Class
End Namespace
Namespace SanctionsSearch.Api2.ServiceModel.Types
Public Partial Class ArrayOfLinkedTo
Inherits List(Of LinkedTo)
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
<DataContract(Name:="CreateMobileClientType", Namespace:="http://schemas.servicestack.net/types")>
Public Enum CreateMobileClientType
Undefined
ValidateMe
PassportChipVerification
End Enum
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 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
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: AddClientTemplate
<?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>
<AddClientTemplate xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types">
<Authentication>
<ApiUserId>String</ApiUserId>
<ApiUserKey>String</ApiUserKey>
</Authentication>
</AddClientTemplate>
</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> <AddClientTemplateResponse 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> <Request> <Email>String</Email> <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> <MobileInternational>String</MobileInternational> <Name>String</Name> <PostCode>String</PostCode> <ProofOfDocumentCategories> <CategoryId> <Id>0</Id> <ProofOf>String</ProofOf> <ProofOfDocuments> <DocumentId> <Id>0</Id> <Name>String</Name> </DocumentId> </ProofOfDocuments> </CategoryId> </ProofOfDocumentCategories> <ProofOfPreset>Undefined</ProofOfPreset> </Request> </Data> </AddClientTemplateResponse> </soap:Body> </soap:Envelope>