ID Check Address Lookup service

ID Check Address Lookup service

IDCheckAddressLookup is an address verification service.

It provides a fully-formed address where partial details are provided.

If there are multiple possible matches, it provides the list of them, up to a limit of 100.

Query Data

The following elements of the Query Data  pertain to this service.

Property Name Type Length Optional/Mandatory Notes
HouseNameNumber
String
26 Optional  
HouseName
String
26 Optional  
HouseNumber
String
26 Optional  
Street
String
40 Optional  
County
String
20 Optional  
City
String
20 Optional  
Postcode
String
8 See notes Mandatory only if the addresslookupref query option is not set (see below).
Country
String
3 Optional If set, must be a valid three-letter ISO country code as described here. If not set, the search will be within the United Kingdom (GBR)
  1. Usually this service is part of a larger bundle and appears toward the start of the workflow. If it finds a single address, the full details are retrieved and used to override address fields in QueryData.

    If there are multiple matches, each match will have an IDCheckAddressLookupAddressCode element. You can use this address code to call the API again and retrieve that specific address only. To do this add a QueryOptions property with key addresslookupref and with the address code as the value.

    If this QueryOptions parameter is provided the above QueryData will be ignored.

    It is mandatory that one of the following is provided:

    • addresslookupref as a QueryOptions parameter
    • Postcode

Query Options

When the service finds one result, instead of returning a 'Find' result (discovering the address matches linked to the query information), the service will return a 'Retrieve' result (get all of the information pertaining to that address).

If you would like to override this behaviour, you can use the retrieveifsingle query option. If you set this value to false, instead of performing a 'Retrieve', the service will peform a 'Find' but only return the one result available.

All other values will ignore this key, and return the 'Retrieve' result upon a single match.

Example:

<QueryOptions>
   <KeyValueOfstringstring>
      <Key>retrieveifsingle</Key>
      <Value>false</Value>
   </KeyValueOfstringstring>
</QueryOptions>

Response

This is an example response:

<IDCheckAddressLookupResult>
 <IDCheckAddressLookupMatches>
	<!-- One or more of these -->
	<IDCheckAddressLookupMatch>
	   <AdminAreaCode/>
	   <AdminAreaName/>
	   <Barcode/>
	   <Block/>
	   <BuildingName/>
	   <BuildingNumber/>
	   <CheckAddressType>Unknown</CheckAddressType>
	   <City/>
	   <Company/>
	   <CountryIso2/>
	   <CountryIso3/>
	   <CountryIsoNumber/>
	   <CountryName/>
	   <DataLevel>Unknown</DataLevel>
	   <Department/>
	   <District/>
	   <DomesticId/>
	   <IDCheckAddressLookupAddressCode>GBR|53587885</IDCheckAddressLookupAddressCode>
	   <Label/>
	   <Language/>
	   <LanguageAlternatives/>
	   <Line1/>
	   <Line2/>
	   <Line3/>
	   <Line4/>
	   <Line5/>
	   <Neighbourhood/>
	   <POBoxNumber/>
	   <PostalCode/>
	   <Province/>
	   <ProvinceCode/>
	   <ProvinceName/>
	   <SecondaryStreet/>
	   <SortingNumber1/>
	   <SortingNumber2/>
	   <Street/>
	   <SubBuilding/>
	   <Text>BS1 5EH, Avon Imaging Ltd, 13-14, Orchard Street, Bristol</Text>
	</IDCheckAddressLookupMatch>
 <IDCheckAddressLookupMatches>
</IDCheckAddressLookupResult>

Sandbox

<QueryOptions>
        <KeyValueOfstringstring>
            <Key>Sandbox</Key>
            <Value>true</Value>
        </KeyValueOfstringstring>
    </QueryOptions>

If the Sandbox query option is set to "true" the following entry will be returned in the ServiceResult:

If the Addresslookupref is set to "GBR|PR|25898718|0|0|0" then the following will be returned, regardless of the query data entered:
IDCheckAddressLookupResult will contain one IDCheckAddressLookupMatch
The corresponding ServiceTransactions will show the following properties:

<HaltTriggered> False
<ServiceTransactionResult> Success
<ServiceInterpretResult> OneResult
<ServiceTransactionResultMessage>  "This call was generated using sandbox mode"
<ValidationResult> NotApplicable

 

If HouseNameNumber = "5" and Postcode = "BS8 1HN":
IDCheckAddressLookupResult will contain one IDCheckAddressLookupMatch
The corresponding ServiceTransactions will show the following properties:

<HaltTriggered> False
<ServiceTransactionResult> Success
<ServiceInterpretResult> OneResult
<ServiceTransactionResultMessage>  "This call was generated using sandbox mode"
<ValidationResult> NotApplicable

 

If HouseNameNumber = "30" and Postcode = "BS3 1HN":
IDCheckAddressLookupResult will contain two IDCheckAddressLookupMatches
The corresponding ServiceTransactions will show the following properties:

<HaltTriggered> False
<ServiceTransactionResult> Success
<ServiceInterpretResult> MultipleResults
<ServiceTransactionResultMessage>  "This call was generated using sandbox mode"
<ValidationResult> NotApplicable

 

If HouseNameNumber = "123" and Postcode = "LN1 1ZZ":
IDCheckAddressLookupResult will be non-null but contain no IDCheckAddressLookupMatches
The corresponding ServiceTransactions will show the following properties:

<HaltTriggered> False
<ServiceTransactionResult> SuccessNoResults
<ServiceInterpretResult> NotApplicable
<ServiceTransactionResultMessage>  "This call was generated using sandbox mode"
<ValidationResult> NotApplicable

 

If any other HouseNameNumber and Postcode combination is entered:
IDCheckAddressLookupResult will be non-null but contain no IDCheckAddressLookupMatches
The corresponding ServiceTransactions will show the following properties:

<HaltTriggered> False
<ServiceTransactionResult> SuccessNoResults
<ServiceTransactionResultMessage>  "This call was generated using sandbox mode"
<ValidationResult> NotApplicable