Apex Address Toolkit

Details on the Apex Address Toolkit and how it works.
Written by Nick Laughton
Updated 1 year ago

Description:

The Apex Address toolkit is to be used with IBM Business Automation Workflow. It contains the logic of features. Those two features are:

Standardization of an address to USPS format

Suggestions of address based on the numerical street part with filters of City and State

Validation and Standardization of multiple address at a time

The use of this toolkit requires a subscription (free or paid) to the smartystreets service. Enrollment can be done at www.smartystreets.com. Based on which service(s) that you desire to use, you will need to get three pieces of information from your account and set up JVM environment variables.

Objects in the toolkit:

Business Objects:

Address_Apex - This business object represents a base address object. It is used as both the input and output of the single address validation.

Address_Multi_Apex - This business object represents a base address object and is used as an element of an array for the input to the Multiple Address validation service.

Address_Multi_Root_Apex - This business object represents a base returned address object and is used as an element of an array for the output of the Multiple Address validation service.

AddressSuggestions_Apex - This business object represents a single suggested address as returned from the API call.

Analysis_Apex - This business object represents the analysis parameters of a single address as returned from the API call.

Components_Apex - This business object represents the separate components of a single address as returned from the API call.

Metadata_Apex - This business object represents the miscellaneous meta data associated with a single address as returned from the API call.

SSSuggestion_Apex - This business object represents a list of address suggestions based on the AddressSuggestions_Apex business object.

SSValidate_Apex – This business object represents a list of validated address from the validate API call. Only the first item of the list is returned.

Services:

Get Address Suggestions Basic – This service is used to retrieve a list of suggested address from the API using the free account

Inputs:

enteredAddress (Address_Apex) – This is the address parts as entered by the user

suggestionCount (Integer) – The number of results to return. Defaults to 10.

Outputs:

addressList (AddressSuggestions_Apex)(List) – This is a list of suggested addresses returned from the API call.

httpStatusCode (Integer) – This is the https returned status code

error (String) – This is any error message that may be returned

Environment Variables Used:

com.apexbpm.smartystreetsapi.websiteKey

Note: Hostname/IP address must be entered in your smartystreets account

Get Address Suggestions Pro – This service is used to retrieve a list of suggested address from the API using the paid account. The paid account returns the zip code as well as only valid addresses.

Inputs:

enteredAddress (Address_Apex) – This is the address parts as entered by the user

suggestionCount (Integer) – The number of results to return. Defaults to 10.

Outputs:

addressList (AddressSuggestions_Apex)(List) – This is a list of suggested addresses returned from the API call.

httpStatusCode (Integer) – This is the https returned status code

error (String) – This is any error message that may be returned

Environment Variables Used:

com.apexbpm.smartystreetsapi.websiteKey

Note: Hostname/IP address must be entered in your smartystreets account

Test Get Address Suggestions – This is a test harness for the Get Address Suggestions Basic/Pro service

Test Validate Addresses – This is a test harness for the Validate Multiple Addresses service

Validate Multiple Addresses – This service takes in the parts of an array of addresses, validates the addresses and then updates them to be the standard format desired by the postal service.

Inputs:

Addresses(List of Address_Multi_Apex) – These are the addresses to be validated and formatted

Outputs:

validatedAddresses (List of Address_Multi_Root_Apex) – This is the validated and updated addresses.

httpStatusCode (Integer) – This is the https returned status code

error (String) – This is any error message that may be returned

Environment Variables Used

com.apexbpm.smartystreetsapi.authId

com.apexbpm.smartystreetsapi.authToken

Validate the Address – This service takes in the parts of a single address, validates the address and then updates it to be the standard format desired by the postal service.

Inputs:

enteredAddress( Address_Apex) – This is the address parts as entered by the user

Outputs:

validatedAddress (Address_Apex) – This is the validated and updated address.

httpStatusCode (Integer) – This is the https returned status code

error (String) – This is any error message that may be returned

Environment Variables Used

com.apexbpm.smartystreetsapi.authId

com.apexbpm.smartystreetsapi.authToken

Files:

urlEncode.js – This is a javascript function used to urlEncode the endpoint and parameters before making the API call.

Configuration:

Add the toolkit as a dependency in your application

Build a certificate to allow the external server call

1. Log into the WAS administrative console.

Expand Security and click SSL certificate and key management.

2. Under Configuration settings, click Manage endpoint security configurations.

3. Select the appropriate outbound configuration to get to the (cell):PCCell1 management scope.

4. Under Related Items, click Key stores and certificates and click the CellDefaultTrustStore key store.

5. Under Additional Properties, click Signer certificates and Retrieve from Port.

6. In the Host field, enter us-street.smartystreets.com in the host name field, enter 443 in the Port field, and us-street.api.smartystreets.com_cert in the Alias field.

7. Click Retrieve Signer Information.

8. Verify that the certificate information is for a certificate that you can trust.

9. Click Apply and Save.

Did this answer your question?