Address cleansing using CASS2

Learn about all that is new in the CASS2 engine.

CASS2 cleanse process

The CASS2 engine will replace the existing CASS engine. For more information about CASS, see Address Cleansing using CASS/RDI.

In the cleanse configuration, make the following changes:
  • If you’re configuring CASS for the first time: In the tenant configuration, the process parameter must be updated to use c2.
  • If you’re an existing user of CASS and want to configure CASS 2: In the tenant configuration, the process parameter must be changed from c to c2.
Note: CASS (c) and c2 can’t be used together, using the c+c2 process causes validation errors in the system.

Sample cleanse configuration:

[
    {
        "cleanseFunction": "Loqate",
        "options": {
            "process": "pre+c2+g",
            "ovOnly": true,
            "returnUnverifiedStatus": "true",
            "loqateDefaultCountry": "USA",
            "opts": {
                "CassCityAbbreviation": "Yes"
            }
        }
    }
]

Input record requirements:

Address records being used as input for CASS2 processing are subject to stricter than usual requirements. We recommend that all address records used with the CASS2 engine conform to the following:

  • Sub-building, Premise, Thoroughfare and any other delivery point information must only be entered in Address1 and optionally Address2.

  • Locality, Administrative Area, and ZIP should either be entered into their respective component fields, or together in Address2 or Address3, but not both. If Address2 is used this way, Address3 must be left blank.

For example, the address 1737 N 1st St #590, San Jose, CA 95112, can be entered in one of the following recommended ways:

  • Address1: 1737 N 1st St #590
    Address2: San Jose, CA 95112
    
  • Address1: 1737 N 1st St #590
    Address3: San Jose, CA 95112
  • Address1: 1737 N 1st St
    Address2: #590
    Address3: San Jose, CA 95112
  • Address1: 1737 N 1st St #590
    Locality: San Jose
    AdministrativeArea: CAPostalCode: 95112

As with the address verification functionality, the process is more successful when the input data is consistent, correct, and complete. If the data is not entered correctly, in the output will have the result:

“ResultClassification”: “RES_REJECTED”

Cleanse output mapping & new attributes for CASS2

The output structure of a CASS2 processed record is similar to that of a CASS engine, with a few exceptions. An output record will contain ll existing CASS fields, with the following exceptions and changes:

  1. ResultsString is a new field that provides information about the process and output address.
    • The ResidentialDelivery field will no longer take the value from the USPS RDI product. Instead, the value is taken from another source, which is updated by multiple signals on a more frequent basis.
    • Footnotes section will no longer be available. Use ResultsString, DPVConfirmedIndicator, and DPVFootnotes instead.
    • ReturnCode can now be empty.
    • PMBNumber and PMBType values are appended to PrimaryAddressLine and SecondaryAddressLine fields.
    • Use the new ParsedGarbage field to capture information that the CASS2 engine is able to parse out during the matching process.
    • FIPSCountyCode is prefixed with the numeric state code. For example, the value for San Francisco, CA will change from 075 to 06075.
  2. Other processing changes or notable behaviors include:
    • Thoroughfare names with abbreviations are returned in the longer format.
    • USPS supports both long and short names for Locality. By default, the CASS2 engine will return long names for Locality. Use the CassCityAbbreviation server option to return the abbreviated versions of Locality names that are over 13 characters in length. For more information, see New server options.
Output mapping sample:
"outputMapping": [
                            {
                                "attribute": "configuration/entityTypes/Location/attributes/ResultsString",
                                "mandatory": false,
                                "allValues": false,
                                "cleanseAttribute": "ResultsString"
                            },
                            {
                                "attribute": "configuration/entityTypes/Location/attributes/ParsedGarbage",
                                "mandatory": false,
                                "allValues": false,
                                "cleanseAttribute": "ParsedGarbage"
                            },
                            ...
                            }

Attribute sample:

"attributes": [
                {
                    "label": "ParsedGarbage",
                    "name": "ParsedGarbage",
                    "description": "This field will capture information that the CASS2 engine is able to parse out during the matching process.",
                    "type": "String",
                    "hidden": false,
                    "important": false,
                    "system": false,
                    "attributeOrdering": {
                        "orderType": "ASC",
                        "orderingStrategy": "LUD"
                    },
                    "uri": "configuration/entityTypes/Location/attributes/ParsedGarbage",
                    "skipInDataAccess": false
                },
                {
                    "label": "ResultsString",
                    "name": "ResultsString",
                    "description": "This field provides information about the process and output address.",
                    "type": "String",
                    "hidden": false,
                    "important": false,
                    "system": false,
                    "attributeOrdering": {
                        "orderType": "ASC",
                        "orderingStrategy": "LUD"
                    },
                    "uri": "configuration/entityTypes/Location/attributes/ResultsString",
                    "skipInDataAccess": false
                },
                ...
                ]

New server options

Table 1. New server options
Server option Value Description
CassUrbFirst Yes or No (Default: No) This specifies the Urbanization location on the address lines output (Puerto Rico only). By default, the value is available after the address line(s) with premise, thoroughfare, and sub-building.
CassZipFields Yes or No (Default: No) This field populates Finance and AutoZoneIndicator fields. If these fields are desired, you’ll experience a 20% drop in performance.
Note: Finance and AutoZoneIndicator must have values.
CassCityAbbreviation Yes or No (Default: No) If a Locality name is longer than 13 characters, this option can be used to return the official, short version of the locality name. Both short and long versions are valid according to CASS.