Checks if a postcode is syntactically valid, and returns the same postcode in a standard format suitable for printing as part of an address.
This method does not check whether an address actually exists at the postcode, only that the postcode is of the correct format.
If the postcode has a correct format, the IsValid part of the result is set to true and the Formatted part of the result is set to the same postcode in a standard format, e.g. "ch24ne" is converted to "CH2 4NE".
If the postcode does not have a correct format, the IsValid part of the result is set to false and the Formatted part of the result will not be specified.
Parameters
The following parameters can be supplied to this method
username
username
See the available authentication methods. If you are
using username & password authentication,
specify the username to authenticate as. If you are using
API Key authentication and you are not using
the JSON, Javascript or ADO APIs, use your API Key here with the prefix apikey-, e.g.
apikey-ABCD-1234-EFGH-5678
As the Royal Mail PAF database can be licensed in multiple ways, this parameter indicates under which license you are accessing the data. This must match the variant you have a license or credits for - if you are unsure which option to choose, please contact your account manager
postcode
postcode
The postcode to validate
Results
This method returns an object containing the following fields:
Status
Status
Indicates whether the method call was successful, or if some error occurred.
If the Success field is true, the other results described below can be used to get the results of the method.
If Success is false, some error occurred in calling the method, such as the authentication failed or the
account is out of credits. The details of the error can be obtained from the ErrorMessage field, and any other results should be ignored
IsValid
IsValid
Indicates if the postcode is syntactically valid or not.
Formatted
Formatted
If IsValid is true, contains the supplied postcode converted to a standard format.
Live Demo
licence
postcode
options
No options are currently supported by this method
Credits Remaining Today:
Live Demo Results
We hope you like our service! Sign up for a free account and start using our full range of products today.
Sample Code
<!-- Import the Integr8 Ajax API --><!-- NOTE: Get your own API key to use in the following script tag from: --><!-- https://www.data-8.co.uk/ValidationAdmin/AjaxAPIKey --><scripttype="text/javascript"src="https://webservices.data-8.co.uk/Javascript/Loader.ashx?key=your-api-key&load=AddressCapture"></script><scripttype="text/javascript">function ValidatePostcode(licence, postcode) {
/// <param name="licence">string. One of the following values: WebServerFull, WebClickFull, WebClickThoroughfare, InternalUserFull, InternalUserThoroughfare, SmallUserFull, SmallUserThoroughfare, Lookup, InternalServerFull, InternalServerThoroughfare, FreeTrial, FreeTrialThoroughfare, InternalUserFullArea, InternalUserThoroughfareArea, WebServerThoroughfare</param>/// <param name="postcode">string</param>var addresscapture = new data8.addresscapture();
addresscapture.validatepostcode(
licence,
postcode,
[
],
showValidatePostcodeResult
);
}
function showValidatePostcodeResult(result) {
// Check that the call succeeded, and show the error message if there was a problem.if (!result.Status.Success) {
alert('Error: ' + result.Status.ErrorMessage);
}
else {
// TODO: Process method results here.// Results can be extracted from the following fields:// result.IsValid// Indicates if the postcode is valid or not.// result.Formatted// Contains a correctly formatted version of the supplied postcode.
}
}
</script>
// NOTE: A Service Reference to the web service must be added to use this sample code.privatevoid ValidatePostcode(AddressCaptureLicence licence, string postcode)
{
// Declare the required options.// Invoke the web service method.
AddressCaptureSoapClient proxy = new AddressCaptureSoapClient();
ValidatePostcodeOutput results = proxy.ValidatePostcode("your-username", "your-password", licence, postcode, new Option[0]);
// Check that the call succeeded, and show the error message if there was a problem.if ((results.Status.Success == false))
{
MessageBox.Show(("Error: " + results.Status.ErrorMessage));
}
else
{
// TODO: Process method results here.// Results can be extracted from the following fields:// result.IsValid// Indicates if the postcode is valid or not.// result.Formatted// Contains a correctly formatted version of the supplied postcode.
}
}
'NOTE: A Service Reference to the web service must be added to use this sample code.PrivateSub ValidatePostcode(ByVal licence As AddressCaptureLicence, ByVal postcode AsString)
'Declare the required options.'Invoke the web service method.Dim proxy As AddressCaptureSoapClient = New AddressCaptureSoapClient()
Dim results As ValidatePostcodeOutput = proxy.ValidatePostcode("your-username", "your-password", licence, postcode, New [Option](-1) {})
'Check that the call succeeded, and show the error message if there was a problem.If (results.Status.Success = false) Then
MessageBox.Show(("Error: " + results.Status.ErrorMessage))
Else'TODO: Process method results here.'Results can be extracted from the following fields:'result.IsValid' Indicates if the postcode is valid or not.'result.Formatted' Contains a correctly formatted version of the supplied postcode.EndIfEndSub
// NOTE: The php_soap.dll extension must be enabled in the php.ini file.function ValidatePostcode($licence, $postcode)
{
$options = array(
"Option" => array(
)
);
$params = array(
"username" => "your-username",
"password" => "your-password",
"licence" => $licence,
"postcode" => $postcode,
"options" => $options
);
$client = new SoapClient("https://webservices.data-8.co.uk/AddressCapture.asmx?WSDL");
$result = $client->ValidatePostcode($params);
if ($result->ValidatePostcodeResult->Status->Success == 0)
{
echo"Error: " . $result->ValidatePostcodeResult->Status->ErrorMessage;
}
else
{
// TODO: Process method results here.// Results can be extracted from the following fields:// $result->ValidatePostcodeResult->IsValid// Indicates if the postcode is valid or not.// $result->ValidatePostcodeResult->Formatted// Contains a correctly formatted version of the supplied postcode.
}
}
Post the request to https://webservices.data-8.co.uk/AddressCapture/ValidatePostcode.json?key=your-api-key
and do NOT include the username or password properties in the request JSON document.
Post the request to https://webservices.data-8.co.uk/AddressCapture/ValidatePostcode.json
and include username and password properties in the request JSON document.
Do not use for client-side requests!
Obtain a JWT token for your user and post the request to https://webservices.data-8.co.uk/AddressCapture/ValidatePostcode.json
Include the JWT token in the request headers as: Authorization: Bearer your-jwt-token
PublicSub ValidatePostcode(licence AsString, postcode AsString)
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
rs.Open "https://webservices.data-8.co.uk/recordset.ashx?service=AddressCapture&method=ValidatePostcodeSimple" &
"&username=your-username" &
"&password=your-password" &
"&licence=" & licence &
"&postcode=" & postcode
If rs.MoveFirst ThenIf rs.Fields(0).Name = "Success"And rs.Fields(0).Value = falseThen
MsgBox "Error: " & rs.Fields(1)
Else'TODO: Process method results here.'All the results are available in the first row in the recordset.'Results can be extracted from the following fields:'IsValid' Indicates if the postcode is valid or not.'Formatted' Contains a correctly formatted version of the supplied postcode.EndIfEndIfEndSub