GET, POST | /CompaniesHouse/{CompanyNumber} | ||
---|---|---|---|
GET, POST | /CompaniesHouse |
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CompaniesHouseAddress:
address1: Optional[str] = None
address2: Optional[str] = None
address3: Optional[str] = None
city: Optional[str] = None
postcode: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CompaniesHouseIncorporationDate:
day: Optional[int] = None
month: Optional[int] = None
year: Optional[int] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CompaniesHouseShareHolderData:
title: Optional[str] = None
first_name: Optional[str] = None
middle_names: Optional[str] = None
last_name: Optional[str] = None
percentage_of_voting_shares_owned: Optional[float] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CompaniesHouseDirectorsData:
title: Optional[str] = None
first_name: Optional[str] = None
middle_names: Optional[str] = None
last_name: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CompaniesHouseData:
registered_name: Optional[str] = None
address: Optional[CompaniesHouseAddress] = None
date_of_incorporation: Optional[CompaniesHouseIncorporationDate] = None
share_holders: Optional[List[CompaniesHouseShareHolderData]] = None
directors: Optional[List[CompaniesHouseDirectorsData]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CompaniesHouseResponse:
result: Optional[CompaniesHouseData] = None
"""
Contains the companies house lookup result when successful.
"""
response_status: Optional[ResponseStatus] = None
"""
Contains response status, details and errors.
"""
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CompaniesHouseRequest:
# @Required()
company_number: Optional[str] = None
"""
The registered company number.
"""
csr: Optional[str] = None
"""
The Csr of the application (if available).
"""
Python CompaniesHouseRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /CompaniesHouse/{CompanyNumber} HTTP/1.1
Host: wp-cddws-test.worldpay.com
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<CompaniesHouseRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CDD_Engine_WS.dto.Requests">
<CompanyNumber>String</CompanyNumber>
<Csr>String</Csr>
</CompaniesHouseRequest>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <CompaniesHouseResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CDD_Engine_WS.dto.Responses"> <ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types"> <d2p1:ErrorCode>String</d2p1:ErrorCode> <d2p1:Message>String</d2p1:Message> <d2p1:StackTrace>String</d2p1:StackTrace> <d2p1:Errors> <d2p1:ResponseError> <d2p1:ErrorCode>String</d2p1:ErrorCode> <d2p1:FieldName>String</d2p1:FieldName> <d2p1:Message>String</d2p1:Message> <d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d5p1:KeyValueOfstringstring> <d5p1:Key>String</d5p1:Key> <d5p1:Value>String</d5p1:Value> </d5p1:KeyValueOfstringstring> </d2p1:Meta> </d2p1:ResponseError> </d2p1:Errors> <d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d3p1:KeyValueOfstringstring> <d3p1:Key>String</d3p1:Key> <d3p1:Value>String</d3p1:Value> </d3p1:KeyValueOfstringstring> </d2p1:Meta> </ResponseStatus> <Result xmlns:d2p1="http://schemas.datacontract.org/2004/07/CDD_Engine_DLL.DataObjects"> <d2p1:address> <d2p1:address1>String</d2p1:address1> <d2p1:address2>String</d2p1:address2> <d2p1:address3>String</d2p1:address3> <d2p1:city>String</d2p1:city> <d2p1:postcode>String</d2p1:postcode> </d2p1:address> <d2p1:dateOfIncorporation> <d2p1:day>0</d2p1:day> <d2p1:month>0</d2p1:month> <d2p1:year>0</d2p1:year> </d2p1:dateOfIncorporation> <d2p1:directors> <d2p1:CompaniesHouseDirectorsData> <d2p1:firstName>String</d2p1:firstName> <d2p1:lastName>String</d2p1:lastName> <d2p1:middleNames>String</d2p1:middleNames> <d2p1:title>String</d2p1:title> </d2p1:CompaniesHouseDirectorsData> </d2p1:directors> <d2p1:registeredName>String</d2p1:registeredName> <d2p1:shareHolders> <d2p1:CompaniesHouseShareHolderData> <d2p1:firstName>String</d2p1:firstName> <d2p1:lastName>String</d2p1:lastName> <d2p1:middleNames>String</d2p1:middleNames> <d2p1:percentageOfVotingSharesOwned>0</d2p1:percentageOfVotingSharesOwned> <d2p1:title>String</d2p1:title> </d2p1:CompaniesHouseShareHolderData> </d2p1:shareHolders> </Result> </CompaniesHouseResponse>