For the best performance and greatest user experience:
Global address keys and Suggestions keys
Whenever a service or system communicates over a network, local or external, failures can happen. These can be attributed to a variety of causes, including: maintenance activity, service delivery impacting incidents, user errors or transient network issues along the internet routed path. While we design our systems to be highly resilient, it's impossible to offer services that are never impacted by some of these scenarios.
We recommend that you design your application to tolerate these failures. At a minimum, we suggest that it handles timeouts and employs retries.
We suggest to set a timeout on every request submitted to Experian Address Validation. This is easily achieved by setting the Timeout-Seconds
header. The default value is 15 seconds. The timeout setting defines the amount of time you are prepared to wait for Experian to process your request.
For Experian Address Validation we suggest to use 2 seconds as a starting point. The required time for the request to reach our systems and for the response to be returned to you is not included. This additional latency will depend on where your requests originate from.
Different timeout settings
Transient failures are often self-correcting, so retrying the request after a suitable delay might result in a successful transaction. These failures may occur anywhere between your site, the internet and our service. This makes implementing retries a useful strategy to provide highly available upstream applications.
These HTTP status codes indicate that an error has occurred and the client appears to be at fault. These are not transient failures and are usually not self-correcting. For example, the request may have combined a country, dataset and search type that is not supported or the client may not be authorized to use the service.
Requests that result in client errors from Experian Address Validation should not be retried because they are unlikely to succeed without updating the request.
One exception is the HTTP 429 Too Many Requests
response status code. It indicates that you sent too many requests over a specified period of time. Experian Address Validation responds with a HTTP response code of 429 Too Many Requests
and a response body similar to the below. Once a client or application reaches this limit, any further requests are blocked until the next time window begins. You can retry your requests as soon as the time window resets.
{
"error": {
"type": "https://docs.experianaperture.io/address-validation/experian-address-validation/address-api-reference/status-codes-and-error-responses/",
"title": "Too Many Requests",
"detail": "The rate at which you are submitting requests is too high. To protect all customers, your account has been blocked for one minute.",
"instance": "/address/search/v1"
}
}
These HTTP status codes indicate that an error has occurred and the server appears to be at fault. For example, connectivity issues via the internet or service issues. Try investigating whether the errors are thrown by your local application stack or if the errors are received from your requests to Experian Address Validation.
Requests that result in server errors from Experian Address Validation should be retried because they may succeed on subsequent attempts.
We suggest a retry strategy that follows the Capped Exponential Backoff pattern. Immediately and constantly retrying requests can have negative impact on our service's recovery if the issue was caused by exceptionally high load on the service. We advise the client waits an amount of time between attempts. The wait time should be increased exponentially after every attempt. We suggest of using 500ms delay as the starting point and then doubling the delay on every attempt. As the backoff time increases quickly and too avoid retrying requests that are no longer relevant, you should cap the number of times your application retries a request. We suggest to do no more then 3 attempts of the same request.
Number of retries
Auto step-in and auto format functionality is designed to make the address capture process more efficient by reducing the number of interactive steps that the user has to perform to capture an address.
Supported search types
When a search has been performed by our service, the list of suggestions that is returned contains many properties and flags, the can_step_in
and full_address
properties can be used to simplify the address validation process for your user. The flags should be checked after the search has been performed, but before the results are presented to the user.
can_step_in
property set to true
, we suggest that your integration automatically steps into that single match, without displaying the suggestion to the user. full_address
property set to true
, we suggest that your integration automatically formats that single match to produce a final address, without displaying the suggestion to the user.Experian Address Validation can sit behind a multitude of different user interfaces to create the best user experience for your website.
Whether you choose to display your results in a dropdown, predictive style, rolodex style or another function, Experian Address Validation can integrate seamlessly into your website so that the results are displayed to suit your website design. Check out our sample code to get started.
You can also decide what results are searched for when a user types in an address.
When creating a custom layout, there are things to consider: