Address Validation
How Address Validation Works
All U.S. based address validation is referenced from the United States Post Office data. UPS and FedEx both use the USPS as their backend to deliver address validation results. This means that all three carriers are going to provide similar results. The USPS is the canonical source of truth for U.S. addresses. In addition to standards USPS data UPS and FedEx provide supplemented data in their results like residential/commercial address status.
From the UPS docs:
UPS Address Validation uses U.S. Postal Service guidelines to thoroughly check the city, state and postal code of every shipment. UPS provides up to ten alternate addresses, including an accuracy rate that lets your customers know how closely the address they entered matches the suggested address.
It is important to note that Address Validation provided by UPS, FedEx, and USPS does NOT indicate a given address is valid or not!
It will only return alternative addresses and an accuracy rate. It is best to think of it as an address suggestion API. Address validation is only available in the U.S. for most carriers; however, FedEx has recently offered some international address validation through their APIs which RocketShipIt supports.
What can it do
- Complete incomplete recipient addresses. In some cases, AVS may be able to add missing information, depending on the verification of the provided information against reference data. AVS cannot add missing secondary information (i.e. apartment or suite) at this time.
- Correct invalid recipient addresses. For example, correction of an incorrect postal code to agree with the remainder of the input.
- Determine whether an address is business or residential to increase the accuracy of courtesy rate quotes. Applies to U.S. and Canada addresses only.
FedEx
FedEx doesn't return address suggestions like other shipping carriers. FedEx address validation goes through these steps:
- The service attempts to normalize the input 'address'. This can include replacing common roadway identifiers such as Street and Parkway with their standard abbreviations such as ST and PKWY, as well as reordering components of the address. If an input 'address' cannot be normalized, the EffectiveAddress returned will be the input 'address', with a State of RAW. Non address values are discarded. If needed by the user, they should be stored prior to submission. Refer to the attributes returned to help determine the problems with the address submitted.
- The service attempts to standardize the normalized address, by finding a possible or actual address that is likely the one intended by the submitted 'address'. If that standardization fails, the EffectiveAddress returned will be the normalized form of the input 'address', with a State of NORMALIZED. Refer to the attributes returned to help determine the problems with the address submitted.
If the address returned includes the address state of "Standardized" and if the attributes of Resolved = True
, DPV = True
are present, then the address is likely a valid one.
RocketShipIt will return the match
parameter as true
in the RocketShipIt response only if FedEx's address attribute Resolved=True or DPV=True.
Carrier test environments
UPS restricts Street Level Address Validation to only California (CA) and New York (NY) addresses in their test environment. See: test
in Parameters.
Request
A rating request will typically have the following parameters:
{
"carrier": "FedEx-REST",
"action": "AddressValidate",
"params": {
"to_name": "John Doe",
"to_addr1": "123 Main St",
"to_state": "CA",
"to_city": "Beverly Hills",
"to_code": "90210",
"key": "YOUR_KEY",
"test": true
}
}
Response
See: AddressValidate Response Format for the AddressValidate Action