Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Introduction

Fenix’s Address Validation and Standardization API (FAVS) corrects errors in street addresses including abbreviations and missing information, and supplies standard 5 digit zip code and ZIP+4 Codes. By eliminating address errors, retailers would improve the overall shipping process and reduce unnecessary shipping spend on returns and for address corrections.

Fenix Address Validation and Standardization API (FAVS)

With FAVS API, you can improve delivery predictability and reduce delivery failures, thereby providing improved customer experience. You do this by catching incorrect addresses and obtaining better awareness of address characteristics.

Features

Following are some of the features of FAVS

  1. The API is Real Time and is able to validate addresses in real-time, allowing users to receive instant feedback on whether an address is valid or not

  2. The API can detect if the address is a residential or business address, a deliverable address, a central delivery address , vacant address or a military vacant address

  3. The API automatically corrects contents of address such as misspellings, no city name, incorrect zip code and it also formats the address compatible with USPS address standards

  4. Auto populates the county code when applicable

  5. Detects if the apartment number is missing from the address

  6. Auto suggests a better address if available

API Details

FAVS API is a REST based API that takes the US address as the input and returns the corrected or proposed address as per validation.

Below is the sample Fenix Address Validation request and response.

...

Request

...

Response

{

    "address1": "xyz", 

    "address2": "47 W Broadway", 

    "city": "Bangor", 

    "state": "", 

    "country": "", 

    "zipCode": "04401"

}

{

    "error": {

        "code": "SUCCESS", 

        "identifier": 200, 

        "description": "We found a better match for your address"

    }, 

    "originalAddress": {

        "address1": "47 W Broadway", 

        "address2": "Apt #1", 

        "city": "Bangor", 

        "state": "NV", 

        "country": "US", 

        "zipCode": "04401"

    }, 

    "proposedAddresses": [

        {

            "address1": "47 W Broadway", 

            "address2": "Apt #1", 

            "city": "BANGOR", 

            "state": "ME", 

            "country": "US", 

...

            "zipCode4": "4502", 

            "metainfo": {

                "deliverable": true, 

                "business": true, 

                "vacant": false, 

                "cmrvIndicator": false

            }

        }

    ]

}

Flow

   Retailers can integrate with Fenix Address Validation at three important places in the order flow. 

...

Retailers can call FAVS API at the time of label printing to make sure the label is printed for the correct address. Printing labels for incorrect addresses can lead to delivery delays, additional shipping spend to correct addresses and in the worst case, return the package back to the warehouse.

API Details 

Resource Name

Fenix Address Validation and Standardization

Resource URL

/fenixaddressvalidate/

api/v1/address/validate

Method

POST

Params (query/path)

Headers

store
  • tenant_

name    
  • id

  • authToken

Request Payload

{

Code Block
{
    "requestId": "df3a89af-5de9-4051-82e8-040d9333adaf", 
    "address": {
        "address1": "
xyz",     
123 williams str", 
        "address2":
"47 W Broadway",     
 null, 
        "city": "
Bangor",     
new york", 
        "state": "NY",
     
 
        "country": "US",
     
 
        "zipCode":
"04401"}
 "10001", 
        "zipCode4": null
    }
}

Response Payload

{}
Code Block

    "error": {

        "code": "SUCCESS", 

        "identifier": 200, 

        "description": "We found a better match for your address"

    }, 

    "originalAddress": {

        "address1": "47 W Broadway", 

        "address2": "Apt #1", 

        "city": "Bangor", 

        "state": "NV", 

        "country": "US", 

        "zipCode": "04401"

    }, 

    "proposedAddresses": [

        {

            "address1": "47 W Broadway", 

            "address2": "Apt #1", 

            "city": "BANGOR", 

            "state": "ME", 

            "country": "US", 

            "zipCode": "04401", 

            "zipCode4": "4502", 

            "metainfo": {

                "deliverable": true, 

                "business": true, 

                "vacant": false, 

                "cmrvIndicator": false,

                "partialAddressIndicator": false,

            }

        }

    ]

{
    "requestId": null, 
    "originalAddress": {
        "address1": "123 williams str", 
        "address2": null, 
        "city": "new york", 
        "state": "NY", 
        "country": null, 
        "zipCode": "10001", 
        "zipCode4": null
    }, 
    "recommendedAddress": {
        "address1": "123 WILLIAM ST", 
        "address2": null, 
        "city": "NEW YORK", 
        "state": "NY", 
        "country": null, 
        "zipCode": "10038", 
        "zipCode4": "3804"
    }, 
    "metainfo": {
        "vacant": false, 
        "business": false
    }, 
    "addressCorrections": [
        {
            "code": "ZIPCODE_CORRECTED", 
            "description": "Zip Code Corrected"
        }, 
        {
            "code": "STREET_NAME_CHANGED", 
            "description": "Street Name changed"
        }
    ], 
    "addressErrors": [
        {
            "code": "MISSING_SECONDARY_NUMBER", 
            "description": "Missing Apt/Unit Number"
        }
    ], 
    "validationError": null
}

Response Status

200 - Success

400 - Failure

Error Codes

S No

Use Case

Description

Error Identifier

Error Codes

1

Valid address provided

Thank You for providing correct address

200

SUCCESS

2

Address corrected

We found a better match for your address

200

SUCCESS_WITH_CORRECTION

3

Partial address provided 

Some fields of the address are missing. See metainfo.partialAddressIndicator for what’s missing

206

PARTIAL_ADDRESS

4

Invalid address provided

Your address appears to be incorrect

400

INVALID_ADDRESS

Use Cases

In partial address validation use cases, Fenix takes care of the below things.

...

S No

...

Description

...

Definition

...

1

...

Zip Code Corrected

...

The address was found to have a different 5-digit Zip Code than given in the submitted list. The correct Zip Code is shown in the output address. 

...

2

...

City / State Spelling Corrected

...

The spelling of the city name and/or state abbreviation in the submitted address was found to be different from the standard spelling. The standard spelling of the city name and state abbreviation are shown in the output address.

...

3

...

Street Name Changed

...

The spelling of the street name was changed in order to achieve a match.

...

4

...

Apartment number missing

...

Incorrect apartment number or missing apartment number

Partial Address Indicator

When the address has some fields corrected or missing in it, Fenix populates an indicator that suggests what part of the address is corrected or  missing. The possible values are as follows.

...

Indicator

...

Description

...

A

...

Zip Code corrected

...

B

...

City or State name corrected

...

H

...

Missing apartment number

...

M

...

Request Attribute Parameters 

Attribute

Required

Description

requestId

No

A random identifier that you send in each request

address

Yes

The address that is to be validation

address.address1

Yes

The primary address line

Info

Usually, this refers to the house number, street name, and apartment/flat number

address.address2

No

Additional details about the address like building unit can be specified in address line 2

address.city

Yes

Name of the city

address.state

Yes

State 2 letter code or full state name

address.country

No

Two letter code of the country

Info

Supports US only for now

address.zipCode

Yes

The zip code of the city

address.zipCode4

No

Represents 4 digit county code

Response Attribute Parameters 

Attribute

Required

Description

requestId

No

A random identifier that you send in each request

originalAddress

Yes

The address that is given as input to the API

recommendedAddress

Yes

Fenix suggested address

metainfo

Yes

Additional details of the suggested address

metainfo.vacant

Yes

Represents whether the suggested address is vacant or not

metainfo.business

Yes

Represents whether the suggested address is business or residential

addressCorrections

No

Contains the corrections made to the input address

addressCorrections.code

Yes

The correction code

Info

Possible Values

  • ZIPCODE_CORRECTED

  • CITY_OR_STATE_CORRECTED

  • ADDRESS_COMPONENT_CHANGED

  • STREET_NAME_CHANGED

addressCorrections.description

Yes

The description for the above code

addressErrors

No

Represents additional errors in the address

addressErrors.code

Yes

The address error codes

Info

Possible Values

  • INVALID_CITY_STATE_ZIP

  • NO_ZIP4_ASSIGNED

  • ADDRESS_NOT_FOUND

  • INCORRECT_ADDRESS_DATA

  • INCORRECT_SECONDARY_ADDRESS

  • UNVERIFIABLE_CITY_STATE

  • INVALID_DELIVERY_ADDRESS

  • MISSING_SECONDARY_NUMBER

addressErrors.description

Yes

The description for the above code