Method:
DataTools.Capture.Address.Predictive.UkPaf.RetrieveAddress
You can use this method to retrieve full address details from the Royal Mail PAF for record IDs prefixed with 'UkPaf'.

Test:
ParameterValue
RecordId
RequestId
RequestKey
DepartmentCode
Input Parameters:
ParameterDescription
RecordIdRecord ID of the address you wish to retrieve full address details for. Only supports Record IDs prefixed with 'UkPaf'.
RequestIdOptional user value to assist in linking DtRequests with DtResponses.
RequestKeyRequired for user access verification. For client side script protect your Request Key by using the DataTools.Security.GenerateTemporaryRequestKey
DepartmentCodeOptional user value to allocate transaction usage by department. Limit of 50 unique Department codes per account.

Output Fields:
FieldDescription
DomesticIdDomestic Address ID eg DPID
CompanyCompany Name eg Royal Mail
DepartmentDepartment
BuildingNameBuilding Name
UnitLevelNumberSub Building eg Croydon Delivery Office
StreetNumberBuilding Number eg 36-40
StreetNameStreet Name eg Factory Lane
SecondaryStreetNameSecondary Street Name
BlockBlock
NeighbourhoodNeighbourhood
AddressLine1Address Line 1 eg Croydon Delivery Office
AddressLine2Address Line 2 eg 36-40 Factory Lane
AddressLine3Address Line 3
AddressLine4Address Line 4
AddressLine5Address Line 5
DistrictDistrict
LocalityCityTownLocality/City/Town eg Croydon
StateProvinceState/Province
StateProvinceNameState/Province Name
StateProvinceCodeState/Province Code
PostcodePostal Code eg CR0 3RL
CountryNameCountry Name eg United Kingdom
CountryIso2ISO 3166-2 character country code eg. 'GB'
CountryIso3ISO 3166-3 character country code eg. 'GBR'
CountryIsoNumberISO 3166 Numeric Code eg 826
AdminAreaNameAdmin Area Name eg Croydon
AdminAreaCodeAdmin Area Code eg 00AH
SortingNumber1Sorting Number 1 eg 79134
SortingNumber2Sorting Number 2 eg 79134
BarcodeBarcode eg (CR03RL1T1)
PostBoxNumberPost Box Number
LanguageLanguage
LanguageAlternativesLanguage Alternatives
TypeProperty Type [Option Values]
DataLevelSource Data Level [Option Values]

Supported Web Service API Interfaces:
Web Service Method: ProcessQueryStringRequest (REST)
Request Format: Url QueryString, Protocols: HTTP GET, HTTPS GET, Response Formats: JSON, XML*
Example Server Path: https://customname.datatoolscloud.net.au/KleberWebService/DtKleberService.svc
Sample QueryString Request:
/ProcessQueryStringRequest?Method=DataTools.Capture.Address.Predictive.UkPaf.RetrieveAddress&RecordId=&RequestId=&RequestKey=&DepartmentCode=
Sample JSON Response:
{ "DtResponse":{ "RequestId":"", "ResultCount":"1", "ErrorMessage":"", "Result":[ { "DomesticId":"", "Company":"", "Department":"", "BuildingName":"", "UnitLevelNumber":"", "StreetNumber":"", "StreetName":"", "SecondaryStreetName":"", "Block":"", "Neighbourhood":"", "AddressLine1":"", "AddressLine2":"", "AddressLine3":"", "AddressLine4":"", "AddressLine5":"", "District":"", "LocalityCityTown":"", "StateProvince":"", "StateProvinceName":"", "StateProvinceCode":"", "Postcode":"", "CountryName":"", "CountryIso2":"", "CountryIso3":"", "CountryIsoNumber":"", "AdminAreaName":"", "AdminAreaCode":"", "SortingNumber1":"", "SortingNumber2":"", "Barcode":"", "PostBoxNumber":"", "Language":"", "LanguageAlternatives":"", "Type":"", "DataLevel":"" } ] } }
Sample Code:

Web Service Method: ProcessXmlRequest (SOAP)
Request Format: XML over SOAP, Protocols: HTTP POST, HTTPS POST, Response Formats: XML, JSON*
Example Server Path: https://customname.datatoolscloud.net.au/KleberWebServiceSoap/DtKleberService.svc
SOAP WSDL: https://customname.datatoolscloud.net.au/KleberWebServiceSoap/DtKleberService.svc?wsdl
Sample XML Request:
<DtRequest Method="DataTools.Capture.Address.Predictive.UkPaf.RetrieveAddress" RecordId="" RequestId="" RequestKey="" DepartmentCode="" />
Sample XML Response:
<DtResponse RequestId="" ResultCount="1" ErrorMessage=""> <Result DomesticId="" Company="" Department="" BuildingName="" UnitLevelNumber="" StreetNumber="" StreetName="" SecondaryStreetName="" Block="" Neighbourhood="" AddressLine1="" AddressLine2="" AddressLine3="" AddressLine4="" AddressLine5="" District="" LocalityCityTown="" StateProvince="" StateProvinceName="" StateProvinceCode="" Postcode="" CountryName="" CountryIso2="" CountryIso3="" CountryIsoNumber="" AdminAreaName="" AdminAreaCode="" SortingNumber1="" SortingNumber2="" Barcode="" PostBoxNumber="" Language="" LanguageAlternatives="" Type="" DataLevel="" /> </DtResponse>
SOAP Envelope: The XML request is passed through a single parameter in the SOAP envelope <DtXmlRequest>. Where the development language requires the SOAP envelope contents to be defined manually, the additional step of encoding the Dt XML Request is required. The encoding required needs to transform "<" of the DtRequest to "&lt;" and ">" to "&gt;". See example below. 
Sample SOAP Envelope:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/"> <soapenv:Header/> <soapenv:Body> <tem:ProcessXmlRequest> <!--Optional:--> <tem:DtXmlRequest> &lt;DtRequest Method="DataTools.Capture.Address.Predictive.UkPaf.RetrieveAddress" RecordId="" RequestId="" RequestKey="" DepartmentCode="" /&gt; </tem:DtXmlRequest> </tem:ProcessXmlRequest> </soapenv:Body> </soapenv:Envelope>
Batching Requests: Use the <DtRequests> (plural) tag to send through multiple requests in a single transaction.
<DtRequests>
<DtRequest Method="DataTools.Capture.Address.Predictive.UkPaf.RetrieveAddress" RecordId="" RequestId="" RequestKey="" DepartmentCode="" />
<DtRequest Method="DataTools.Capture.Address.Predictive.UkPaf.RetrieveAddress" RecordId="" RequestId="" RequestKey="" DepartmentCode="" />
</DtRequests>
Sample Code:

* Add the additional input parameter "OutputFormat=json" or "OutputFormat=xml" to change the response format from default.
* Add the additional input parameter "callback" to convert JSON responses to JSONP responses for across domains support.
  CORS header included where callback is not defined.

Please Note:
Ensure you thoroughly test all the methods you are using and are happy with the results before going into production. DataTools is charged by the data suppliers for use of every method – therefore ALL calls to any method will incur a COST. When you register DataTools provides you with free credit to help with development and trialling of the service. Once that credit is used you will need to purchase a monthly subscription and/or top up to continue using the service, even for development purposes. Please check the Method Pricing List for all current costs. DataTools does not warrant or guarantee the quality of the results returned and will not be held responsible for any costs incurred by using a method. Should you have any questions please contact your Sales representative or the Client Services team.