Skip to content

Matchcode UK Powersearch Integration Guide


UK Powersearch, also known as single-line auto-complete, is a "Google-like" search method by which the user types into a single text field and is shown a list of potential matches which is rebuilt as they continue to type. This Service has been implemented as a REST Web Service in order to make a light Service achieving fast response times, allowing for an interactive user experience

UK Powersearch Searching

UK Powersearch will return a list of addresses matching to the information provided in the Request. This service need one input: The ADDRESS (or part of the address) to be found. The more accurate the information provided, the smaller the returned list. The way ADDRESS must be provided to the service will be detailed below.

Output Formatting Options

UK Powersearch provides the possibility to format the returning address. The formatting will only apply when the Response has just one address rather than a list of addresses. In case of list of addresses, the formatting will be skipped. The formatting options can be found here:

Matchcode Formatting Options

The way these formatting options must be supplied to the service will be detailed below.

Using the Powersearch REST Service

The UK Powersearch REST WebService offers its operation through the HTTP GET method so that all the data supplied to the Service must be in the URL as HTTP parameters.

The REST WebService offers the possibility to get the Response in two different formats: XML or JSON. In order to specify the preferred format in the Response the Accept Header Request Parameter must be supplied:

To get the Response in XML format: Accept: application/xml
To get the Response in JSon format: Accept: application/json

If the Accept Header Request Parameter is omitted, the XML format in the Response will be applied as the default format.

 

Authentication

As a REST Web Service, UK Powersearch uses Http Basic Authentication.

Briefly, the client must send its credentials (UserID and Password). This credentials must be the result of Base64 encoding of the next string: userID:password. This Base64 encoded string must be supplied as a Header Request Parameter.

Example:
The client wants to send the credentials Username: userexample and Password: passwordexample, so the string to send should be:
Authorization: Basic dXNlcmV4YW1wbGU6cGFzc3dvcmRleGFtcGxl

Authorization is the Header Request Parameter name, and Basic dXNlcmV4YW1wbGU6cGFzc3dvcmRleGFtcGxl the Header Request Parameter value where dXNlcmV4YW1wbGU6cGFzc3dvcmRleGFtcGxl is userexample:passwordexample encoded in Base64.

The above information must be sent within every request to the REST Web Service, so the client must be authenticated in every single request.

UK Address Data

These are several examples of UK Address Data Requests and Responses:

Scenario Notes
Address Search (not very accurate request) REQUEST Enter the address to be found in the Request Parameter address
https://idmp.gb.co.uk/idm-powersearch-rest/powersearch/names?address=8 london road
Address Search (not very accurate request) RESPONSE As the Address introduced in the Request was not very accurate, the service return a list of matches.

(xml response)                          
 
 
     
        1
        2015-09-04t11:23:47.775+01:00
        e017cacb-ef0b-41bb-91c6-3c28c02796ad
     
    8 london road, andover, hants, sp10 2pu, , ,
    8 london road, arundel, w sussex, bn18 9at, , ,
    8 london road, baldock, herts, sg7 6jn, , ,
    8 london road, beccles, suffolk, nr34 9nh, , ,
    8 london road, belfast, co antrim, bt6 8ey, , ,
    8 london road, biggleswade, beds, sg18 8eb, , ,
    8 london road, billericay, essex, cm12 9et, , ,
    8 london road, birmingham, w midlands, b20 3hu, , ,
    8 london road, blackpool, lancs, fy3 8dl, , ,
    8 london road, buckingham, bucks, mk18 1as, , ,
    8 london road, buntingford, herts, sg9 9jn, , ,
    8 london road, buxton, derbyshire, sk17 9nx, , ,
    8 london road, canterbury, kent, ct2 8lr, , ,
    8 london road, carlisle, cumbria, ca1 2el, , ,
    8 london road, caterham, surrey, cr3 5pq, , ,
    8 london road, chatteris, cambs, pe16 6as, , ,
    8 london road, cheltenham, glos, gl52 6df, , ,
    8 london road, chippenham, wilts, sn15 3at, , ,
    8 london road, chipping norton, oxon, ox7 5ax, , ,
    8 london road, cirencester, glos, gl7 1ae, , ,
    8 london road, coalville, leics, le67 3ja, , ,
    8 london road, colchester, essex, co3 4de, , ,
    8 london road, corwen, clwyd, ll21 0dr, , ,
    8 london road, dalkeith, midlothian, eh22 1dr, , ,
    8 london road, dover, kent, ct17 0st, , ,
    8 london road, faversham, kent, me13 8rx, , ,
    8 london road, greenhithe, kent, da9 9eq, , ,
    8 london road, hailsham, e sussex, bn27 1eb, , ,
    8 london road, halesworth, suffolk, ip19 8lw, , ,
    8 london road, harleston, norfolk, ip20 9bw, , ,
    8 london road, abridge, romford, essex, rm4 1ux, ,
    8 london road, amesbury, salisbury, wilts, sp4 7dy, ,
    8 london road, aston clinton, aylesbury, bucks, hp22 5hq, ,
    8 london road, balcombe, haywards heath, w sussex, rh17 6pz, ,
    8 london road, blewbury, didcot, oxon, ox11 9nu, ,
    8 london road, capel st mary, ipswich, suffolk, ip9 2jr, ,
    8 london road, cowplain, waterlooville, hants, po8 8dl, ,
    8 london road, crays hill, billericay, essex, cm11 2ur, ,
    8 london road, datchet, slough, berks, sl3 9jn, ,
    8 london road, dunton green, sevenoaks, kent, tn13 2ue, ,
    8 london road, ewell, epsom, surrey, kt17 2bb, ,
    8 london road, farningham, dartford, kent, da4 0jp, ,
    8 london road, feering, colchester, essex, co5 9ed, ,
    8 london road, frampton, boston, lincs, pe20 1bp, ,
    8 london road, godmanchester, huntingdon, cambs, pe29 2ja, ,
    8 london road, great chesterford, saffron walden, essex, cb10 1ny, ,
    8 london road, great glen, leicester, leics, le8 9dj, ,
    8 london road, great shelford, cambridge, cambs, cb22 5dd, ,
    8 london road, halstead, sevenoaks, kent, tn14 7ds, ,
    8 london road, harston, cambridge, cambs, cb22 7qh, ,
(json response)                         
 
{
   "sessiondata":    {
      "sessionkey": "e017cacb-ef0b-41bb-91c6-3c28c02796ad",
      "sessioncommencement": 2015-09-04t11:23:47.775+01:00,
      "numberofsessiontransactions": 1,                               
   },
   "matches":    [
      "8 london road, andover, hants, sp10 2pu, , , ",
      "8 london road, arundel, w sussex, bn18 9at, , , ",
      "8 london road, baldock, herts, sg7  6jn, , , ",
      "8 london road, beccles, suffolk, nr34 9nh, , , ",
      "8 london road, belfast, co antrim, bt6  8ey, , , ",
      "8 london road, biggleswade, beds, sg18 8eb, , , ",
      "8 london road, billericay, essex, cm12 9et, , , ",
      "8 london road, birmingham, w midlands, b20  3hu, , , ",
      "8 london road, blackpool, lancs, fy3  8dl, , , ",
      "8 london road, buckingham, bucks, mk18 1as, , , ",
      "8 london road, buntingford, herts, sg9  9jn, , , ",
      "8 london road, buxton, derbyshire, sk17 9nx, , , ",
      "8 london road, canterbury, kent, ct2  8lr, , , ",
      "8 london road, carlisle, cumbria, ca1  2el, , , ",
      "8 london road, caterham, surrey, cr3  5pq, , , ",
      "8 london road, chatteris, cambs, pe16 6as, , , ",
      "8 london road, cheltenham, glos, gl52 6df, , , ",
      "8 london road, chippenham, wilts, sn15 3at, , , ",
      "8 london road, chipping norton, oxon, ox7  5ax, , , ",
      "8 london road, cirencester, glos, gl7  1ae, , , ",
      "8 london road, coalville, leics, le67 3ja, , , ",
      "8 london road, colchester, essex, co3  4de, , , ",
      "8 london road, corwen, clwyd, ll21 0dr, , , ",
      "8 london road, dalkeith, midlothian, eh22 1dr, , , ",
      "8 london road, dover, kent, ct17 0st, , , ",
      "8 london road, faversham, kent, me13 8rx, , , ",
      "8 london road, greenhithe, kent, da9  9eq, , , ",
      "8 london road, hailsham, e sussex, bn27 1eb, , , ",
      "8 london road, halesworth, suffolk, ip19 8lw, , , ",
      "8 london road, harleston, norfolk, ip20 9bw, , , ",
      "8 london road, abridge, romford, essex, rm4  1ux, , ",
      "8 london road, amesbury, salisbury, wilts, sp4  7dy, , ",
      "8 london road, aston clinton, aylesbury, bucks, hp22 5hq, , ",
      "8 london road, balcombe, haywards heath, w sussex, rh17 6pz, , ",
      "8 london road, blewbury, didcot, oxon, ox11 9nu, , ",
      "8 london road, capel st mary, ipswich, suffolk, ip9  2jr, , ",
      "8 london road, cowplain, waterlooville, hants, po8  8dl, , ",
      "8 london road, crays hill, billericay, essex, cm11 2ur, , ",
      "8 london road, datchet, slough, berks, sl3  9jn, , ",
      "8 london road, dunton green, sevenoaks, kent, tn13 2ue, , ",
      "8 london road, ewell, epsom, surrey, kt17 2bb, , ",
      "8 london road, farningham, dartford, kent, da4  0jp, , ",
      "8 london road, feering, colchester, essex, co5  9ed, , ",
      "8 london road, frampton, boston, lincs, pe20 1bp, , ",
      "8 london road, godmanchester, huntingdon, cambs, pe29 2ja, , ",
      "8 london road, great chesterford, saffron walden, essex, cb10 1ny, , ",
      "8 london road, great glen, leicester, leics, le8  9dj, , ",
      "8 london road, great shelford, cambridge, cambs, cb22 5dd, , ",
      "8 london road, halstead, sevenoaks, kent, tn14 7ds, , ",
      "8 london road, harston, cambridge, cambs, cb22 7qh, , "
   ],
   "information": null
}

Scenario Notes
Address Search (accurate address) REQUEST Enter the address to be found in the Request Parameter address
https://idmp.gb.co.uk/idm-powersearch-rest/powersearch/names?address=8 London Road, BALDOCK, Herts, SG7 6JN
Address Search (accurate address) RESPONSE As the Address introduced is very accurate, only one match is returned.

(xml response)                          
 
 
     
        1
        2015-06-04t13:04:15.651+01:00
        7764b769-ff97-4fbd-bb0c-6f28f5798c6e
     
    8 london road, baldock, herts, sg7 6jn1l, , ,
(json response)                         
 
{
   "sessiondata":    {
      "sessionkey": "7764b769-ff97-4fbd-bb0c-6f28f5798c6e",
      "sessioncommencement": 2015-06-04t13:04:15.651+01:00,
      "numberofsessiontransactions": 1,                               
   },
   "matches": ["8 london road, baldock, herts, sg7 6jn1l, , , "],
   "information": null
}

Scenario Notes
Address Search (accurate address) & Formatting REQUEST Enter the formatting option by using the Request Parameter format Parameter address
https://idmp.gb.co.uk/idm-powersearch-rest/powersearch/names?address=8 London Road, BALDOCK, Herts, SG7 6JN&format=LC=3
Address Search (accurate address) & Formatting RESPONSE According the formatting option introduced, the number of address lines must be 3

(xml response)                          
 
 
     
        1
        2015-06-04t13:04:15.651+01:00
        7764b769-ff97-4fbd-bb0c-6f28f5798c6e
     
    8 london road, baldock, herts sg7 6jn1l
(json response)                         
 
{
   "sessiondata":    {
      "sessionkey": "7764b769-ff97-4fbd-bb0c-6f28f5798c6e",
      "sessioncommencement": 2015-06-04t13:04:15.651+01:00,
      "numberofsessiontransactions": 1,                               
   },
   "matches": ["8 london road, baldock, herts sg7 6jn1l"],
   "information": null
}

Session Management - IMPORTANT

UK Powersearch Address Searching provides a mechanism to ensure that the desired final address can be found within a fair time and number of transactions. Thus, all the requests needed to find an Address will be included in a Session. Sessions have a limit of either 50 transactions or 2 minutes.

If the client supplies a valid SessionKey, the request will be included in that Session. If the client supplies an invalid SessionKey or no SessionKey is provided (first request), the Powersearch Service will create a new Session where the current transaction will be included.

Note that an invalid SessionKey might be a wrong key or a key that represents a Session with more than 50 calls or more than 2 minutes of life.

Each new session key will result in a billing point and will therefore remove a credit for customers with Pre-pay transaction accounts. Please therefore ensure that Session keys are recycled throughout each instance of a customer searching for their address.

As it can be seen in the above examples, a SessionData element is returned in every UK Searching Response from the Service. This SessionData contains a SessionKey (to be used in next request), sessionCommencement (session commencement timestamp), and numberOfSessionsTransactions (number of Transactions already used in this Session)

This is an example of how to add a SessionKey to the request:

Scenario Notes
Including SessionKey in the UK Address Search REQUEST Enter the parameter sessionkey with the SessionKey (got from the last Response to the Service).
https://idmp.gb.co.uk/idm-powersearch-rest/powersearch/names?address=york road f&sessionkey=2432D120-1F36-4894-861D-E319C7636A22
UK Address Search RESPONSE Address Search Response

(xml response)                          
 
 
     
        5
        2015-06-04t15:16:12.548+01:00
        2432d120-1f36-4894-861d-e319c7636a22
     
    york road farm, york road, healaugh, tadcaster, n yorkshire, ls24 8dd,
    york road fish shop, 28 york road, birtley, chester le st, co durham, dh3 2bd,
    york road fish shop, 40 york road, tadcaster, n yorkshire, ls24 8af, ,
    york road fisheries and pizza bar, 350 york road, leeds, w yorkshire, ls9 9dn, ,
    york road furniture centre, 37 york road, hartlepool, cleveland, ts26 8ar, ,
(json response)                         
 
{
   "sessiondata":    {
      "sessionkey": "2432d120-1f36-4894-861d-e319c7636a22",
      "sessioncommencement": 2015-06-04t15:16:14.348+01:00,
      "numberofsessiontransactions": 7,                              
   },
   "matches":    [
      "york road farm, york road, healaugh, tadcaster, n yorkshire, ls24 8dd, ",
      "york road fish shop, 28 york road, birtley, chester le st, co durham, dh3  2bd, ",
      "york road fish shop, 40 york road, tadcaster, n yorkshire, ls24 8af, , ",
      "york road fisheries and pizza bar, 350 york road, leeds, w yorkshire, ls9  9dn, , ",
      "york road furniture centre, 37 york road, hartlepool, cleveland, ts26 8ar, , "
   ],
   "information": null
}

Get started for free today

  • No credit card required
  • Cancel any time
  • 24/5 support
Get started