Reverse geocoding via what3words

While what3words is not a traditional reverse geocoding system, combined with Experian Address Validation, it provides a unique and innovative way of associating a user-friendly location description to an address.

Overview

Finding hard-to-reach addresses can be a real headache, causing problems and delays in getting deliveries to their destinations. This is especially true for rural areas and places with imprecise postal codes, where orders often end up in the wrong spot, leading to frustration and wasted time and resources. To make things smoother, let your customers tell you exactly where they want their deliveries. Thanks to Experian Address Validation's what3words feature, it's super easy for customers to pinpoint their exact delivery location, accurate to within 3 meters. Give customers an easy way to provide an accurate what3words delivery point alongside their postal address.

Highlights

  • Use a single search box and guide the user via placeholder text, like Start typing an address or ///what3words
  • Use the RegEx detecting if text is in the format of a 3 word address provided by what3words. Ensure you use the RegEx to detect a 3 word address within text and not just exact matches. The RegEx detects a partial 3 word address from the first letter of the third word.
  • Add the selected, validated 3 word address to the final postal address that is displayed to the user after validation.
  • Suggesting 3 word addresses is included in your standard address dataset license.
  • Retrieving the geo coordinates associated with a 3 word address, requires an additional dataset license. Get in touch with your account manager or contact support.
  • Enable your customers to describe the exact location of their front door, driveway or separate building entrace for deliveries. In the image below, the blue marker denotes the location associated with the validated postal address, while the what3words marker shows the location of the what3words address your customer supplied.
    Map containing geolocation for postal address and what3words

Integration

  1. On user input into an address search field, use the RegEx to detect partial 3 word addresses.

  2. While the RegEx does not detect a partial 3 word address, pass the user input to the /address/search/v1/ endpoint.

    POST /address/search/v1 HTTP/1.1
    
    {
      "country_iso": "gbr",
      "components": {
        "unspecified": [
          "wool"
        ]
      },
      "datasets": [ "gb-address" ]
    }
    
  3. Once a partial 3 word address is detected, pass the user input to the /address/lookup/v2/ endpoint. Strip off any leading slashes '/' to get a list of matching 3 word addresses.

    POST /address/lookup/v2 HTTP/1.1
    
    {
      "country_iso":"gbr",
      "key": {
        "type": "what3words",
        "value": "faced.potato.p"
      },
      "datasets":[ "gb-address" ]
    }
    
  4. The end user selects one of the 3 word addresses or keeps typing to refine the 3 word addresses. Your integration should detect further user input and keep sending request to either the /address/search/v1 or /address/lookup/v2 endpoint.

    POST /address/lookup/v2 HTTP/1.1
    
    {
      "country_iso":"gbr",
      "key": {
        "type": "what3words",
        "value": "faced.potato.poin"
      },
      "datasets":[ "gb-address" ]
    }
    
  5. Once a user selects a suggested 3 word address, the integration should pass the selected 3 word address to the /address/lookup/v2 endpoint. Prepend 3 slashes '///' to signal this is a full, valid 3 word address for the API to return addresses within a 100m radius of the 3 word address.

    POST /address/lookup/v2 HTTP/1.1
    
    {
      "country_iso":"gbr",
      "key": {
        "type": "what3words",
        "value": "///faced.potato.points"
      },
      "datasets":[ "gb-address" ]
    }
    
  6. Once the user selects an address, pass the global_address_key to the /address/format/v1/ endpoint to retrieve the formatted address.

  7. In parallel unlock the power of the 3x3m square accuracy of what3words by passing the global_address_key to the /enrichment/v2/ endpoint with dataset what3words to retrieve the latitude and longitude assigned to the 3 word address, not the postal address.

    POST /enrichment/v2 HTTP/1.1
    
    {
      "country_iso": "GBR",
      "keys": {
        "global_address_key": "<insert the global_address_key of the selected address>"
      },
      "attributes": {
        "what3words": [
          "latitude",
          "longitude",
          "name",
          "description"
        ]
      }
    }
    
Experian Address Validation

Propositions