2. Initial Configuration - ToAFinish/addressverification GitHub Wiki
Initial Configuration
The steps necessary to set up the app for first time use.
The Address Verification app can be installed through the AppExchange.com listing or via a direct link in the case of installations that require an invoice, or when purchasing both the app and a SmartyStreets package at the same time. Either way, the first question the installation asks is very important. Who should the app be installed for? The answer almost always is: Install for All Users.
The next question also is equally important: Grant Access to Third-Party Websites? You will need to allow access to these APIs, so for now, check the box and press the “Confirm” button.
See the bottom of this page for which ones you can optionally turn off if you want to.
After the install, the initial steps in the configuration are completed by clicking the “Configure” button on the Address Verification package and then pasting in the Credentials you will pull from the installation process detailed below. If you have already left the package installation screen, you can get back to the configuration page, by clicking:
Setup -> Apps -> Packaging -> Installed Packages -> Address Verification -> Configure
Click on the “Configure” link next to the Address Verification package.
Signing Up for a SmartyStreets Account
Note: You may skip to the Entering API Keys below if you already purchased a package of verifications through To A Finish.
The first step in configuration is to create an account with SmartyStreets. Setting up this account is free, quick and painless (only the first name, email address, and password are necessary) and you will be presented with a key, which is necessary for the following step.
This will take you to www.smartystreets.com/pricing and you can then click on the Start Now button by the free plan to get started.
- We recommend starting with the free plan and then either purchasing a plan through us in order to get a discount on the app, or purchasing a plan through SmartyStreets.
Fill out the required fields and press the Create Account button.
You should be taken to the Account page. If not, press the Account button at the top to go there. Now, click on the API Keys menu option, and then under “Secret Keys”, you will see your keys. You can press the Create new key button if you do not wish to use the one that was created for you.
Copy the Auth ID and Auth Token to a text file. You will need these codes in the next step.
Enabling Autocomplete
Using the Lightning Components for creating and updating records while verifying addresses needs some additional setup. As well, in Salesforce Classic, replacing standard Salesforce edit pages with custom Visualforce ones including an auto-complete+verify feature is available also available, but needs a significant amount of setup.
To use the autocomplete feature, you must first set up a Website Key in your SmartyStreets account. But to do that, you must know which Salesforce instance you are on. You will create the Website Key based on that information.
One way to figure it out is to go to: https://status.salesforce.com/status and use the "Search Instance or Domain" feature. It will allow you to enter your custom domain and then tell you which is your Salesforce instance. To know what to enter here, you need to copy the URL when you are in Salesforce and find the custom “domain” part of it. For example, in this URL we have highlighted the part that is the custom domain:
https://yourcompany.lightning.force.com/lightning/page/home?0.source=alohaHeader
Search for the domain and the search box will tell you which instance you are on, something like NA65 or NA37 or whatever. Once you know this information, go back to your SmartyStreets "API Keys" page described in the last section and this time generate a website key. You must enter the following exactly under the "Domain or IP" field, where XXXX is your Salesforce instance, in this example on the screenshot we use NA37:
- *.XXXX.visual.force.com
Once you generate the website key, save this one too in the text file in preparation for the next steps.
Entering API Keys
The third step is simple, assuming that you completed the first step, and optionally the second, and you have the API Keys in a text file ready to be used. Switch back to the configuration page for the Address Verification app in Salesforce.com and simply paste them in the location provided. Then press the Save All Settings button at the bottom of the page, and you are done.
You may press the Verify Settings button after saving, to ensure the authentication codes work, but keep in mind that this will use up one of your address verifications for the month.
International Verification Options
You can turn ON or OFF international verifications here as well. Please realize that if you turn it on, then any time you have an international address, it will try to verify it like a US one, but using the International API from SmartyStreets.
In order for it to work, you need to purchase an International Plan from SmartyStreets and have them turn it on. However, even if you haven’t turned it on with SmartyStreets, the app will attempt to verify the address, so in order to not see errors, you want to make sure SmartyStreets is set up for International verifications before turning it on.
Note, that we also have the ability to add an additional set of Authorization Credentials that will be used exclusively for International Verifications. This is helpful so that if you purchase your SmartyStreets plan through us, you can have a separate plan for International verifications. (SmartyStreets does not allow the resale of their International Plans.)
Optional Settings
On the Setup Page’s Welcome tab, you can also change these optional settings.
fixed name for USA verifications | By default when you verify an address in the United States, the Country field is ignored. If you want to automatically populate something in this field, set this field to USA, or US or United States in order for it to function correctly. |
---|---|
default autocomplete country name | The autocomplete function works only for addresses in the United States, so this setting should be left at USA or similar in order for it to work. If you put a different country here, it will restriction the autocomplete function from working currently. (For now.) |
only use states in these countries (use for country/state picklists only) | When using Country/State picklists, Salesforce enforces the list of States that you set up. So, if SmartyStreets returns a value for a Region/State that is slightly different from what is configured, then Salesforce will reject the update. It is recommended that you populate this field so that only the countries you list will use States.Note: use ISO 2-character country codes (can be found online.) Include the US. For example, if you are maintaining lists of States/Regions in the United Kingdom, France and Spain, you would enter: US, GB, FR, ES in this field. |
auto-fill country | If you are using international verifications, you will notice that the countries come back with the standardized 2-character ISO abbreviation. With this option checked, the country designations returned by SmartyStreets will be converted to their full Country names when they are verified. For example, CA would become Canada, and BA would become Bosnia and Herzegovina. |
- Note that this will only work on new verifications; it will not clean up your existing data unless you re-verify it.
Setting Up Default Addresses
Now we must set up the addresses that the Address Verification app will support. Click on the "Manage Addresses" subtab in the Setup page, and then press the Create Default Addresses button in order to create the list of 5 or 6 default addresses. (There will be one additional if you have the “Person Accounts” feature turned on.)
Editing Existing Addresses
If you click the Edit link on any of the addresses, a popup will show you many different fields and options. Following is a description of all fields:
Option | Notes about the field |
---|---|
Name | Can be anything you want |
Object | Select the object that you want to create an address for. If it is not on the list, close the popup and use the Add Supported Object button to add the object. |
Active? | Unchecking this field will turn off any verification of the current address. This has the same effect as deleting the address record from the list, but allows you to return and make it active at a later date. |
Street | Required |
City | Required |
State | Required |
Zip Code | Required |
Verified | Required. Checkbox field that will be checked when an address is verified. This is used to ensure that it is not verified again if a verification process is run against the record. |
Last Verified | Required. Date/Time field that keeps track of the last time the address was verified. (Even if it is no longer verified.) |
Option | Notes about the field |
---|---|
Return Code | Required. This field will be populated with the result of the verification once it is attempted. Values will be one of these: Confirmed, Not Confirmed, Confirmed - By Dropping Secondary Info, Confirmed - Missing Secondary Info, or Not Submitted. |
Street2 | Second line of the address. If no field selected, then the 2nd line of the address will be put on the end of the first Street field. |
Unit | Apartment or Suite number |
County | |
County FIPs Code | |
Country | |
Island | This information is not from SmartyStreets, and only supports the Hawaiian and two sets of Spanish islands. |
Do Not Verify | Checkbox field that can be used to ensure the particular record is not verified. |
Clean Street | Populated with a stripped-down version of the street address, calculated manually, to be used in matching addresses against other records. |
Time Zone | |
DST | Daylight Savings? |
UTC Offset | Number of hours from the UTC standard. Used along with DST to calculate the current address. |
Barcode | Barcode value, used in a formula field to visually create a barcode. |
Urbanization | Designation only for Puerto Rico |
RDI | Residential Delivery Indicator (Residential vs Commercial) |
Latitude | |
Longitude | |
Record Type | Accuracy of verification in descending order: (F)irm, (G)eneral Delivery, (H)igh-Rise, (P).O. Box, (R)ural Route, and (S)treet. |
Carrier Route | |
Congressional District | |
Is Active? | From the USPS, currently delivering mail at this address. |
Is Vacant? | From the USPS, have delivered mail, but marked vacant after nobody picked up for a certain amount of days. |
Verification Used | Which verification service was used: SmartyStreets, Google, or UPS |
Footnotes | Notes about the verification that was performed |
Internal Zip Code Database Fields | |
Area Code(s) | Not from SmartyStreets. Only available with the optional internal Zip Code Database. Valid Phone Area Code(s) for the zip code. |
Urban Area (Code) | Not from SmartyStreets. Only available with the optional internal Zip Code Database. |
Urban Area Name | Not from SmartyStreets. Only available with the optional internal Zip Code Database. Description of the code. If used, must include also a field for the Urban Area Code. |
International Only Fields | |
Organization | Seldom populated. The name of the recipient, firm, or company at this address |
Option | Notes about the field |
---|---|
Address Precision | How precise is the address? From best to worst: Delivery Point — rooftop level, Premise — property or building level, Thoroughfare — street level, Locality — city or town level, Administrative Area — state or province level, None — unknown address |
Administrative Area | The most common administrative division within a country (e.g. Region) |
Geocode Precision | How precise is the geocoding of the address? Same values as the Address Precision. |
Premise Alphanumeric code pertaining to an individual location | |
Premise Extra | Extra information about the premise that is not necessarily authoritative but might still be useful |
Sub Building Number | The alphanumeric component of the sub building |
Sub Building Type | The leading sub-building type of the sub building |
Super Administrative Area | The largest administrative division within a country |
Thoroughfare Name | The name component of the thoroughfare |
Address Options | |
Don't Overwrite Street1 | Will not overwrite the entered Street line with what SmartyStreets returns. |
Don't Overwrite City | Will not overwrite the entered City with what SmartyStreets returns. |
Don't Overwrite State | Will not overwrite the entered State with what SmartyStreets returns. |
Don't Overwrite Zip Code | Will not overwrite the entered Postal/Zip Code with what SmartyStreets returns. |
Only 5 Digits on Zip Code | Will only populate the first 5 digits of the Zip Code (not the additional 4 digits) |
Clean Address Prior to Verification | With this option selected, the field indicated in the “Clean Street” (see above) will be populated with a |
Remove Additional Info from Street 1 | With this option selected, will try to remove anything that doesn’t look like it is part of the address from the Street 1 field prior to sending it to SmartyStreets. |
Clear all verified fields after address change | Typically when the Street, City, State or Zip fields are changed, only the Verified and Return Code are modified. If this is selected, then all configured fields are cleared. |
Stop record creation on bad addresses (Autocomplete only) | When using the AutoComplete feature, checking this box will remove the “Use as Is” button when an address is not able to be verified. |
Use Street 2 with Autocomplete | Adds a field for Street 2 in the AutoComplete function. For this to work, you also need to select a Street 2 field to populate. |
Use Internal Zip Database (BETA) | When this is selected, following fields will be populated IF they are configured above and are blank prior to the update/insert: City, State, County, Area Codes, County FIPs, Urban Area Code and Urban Area Name. |
Allow Verifications with no Street (BETA) | Will use the SmartyStreets ZipCode Lookup API to verify only City, State and Zip Code fields if the Street is not populated. Please realize that this will count as a verification the same as any other, even though it has very little information. |
Congratulations! You have now completed all mandatory steps and everything from here on out is optional. In the next section you will set up the “Verify Address” functionality for Accounts, Contacts, and Leads.
Remote Site Entries
If you have a brand-new install and you are configuring for the first time, you do not need to look at this section. However, if you have been installed for a while, you might want to look to make sure you have these remote site settings set up.
In Salesforce, please navigate to Setup -> Security -> Remote Site Settings (or search for "Remote Site Settings") and add the following remote sites. You can call them anything you like, but the URLs must be as shown:
-
For International Verifications add: https://international-street.api.smartystreets.com
-
For SmartyStreets Autocomplete add: https://us-autocomplete.api.smartystreets.com
-
For SmartyStreets status in the Setup page add: http://status.smartystreets.com
-
For (Optional) Google Verifications add – do not do this unless we have turned on Google verifications for you: https://maps.googleapis.com
-
For (Optional) UPS Verifications add – do not do this unless we have turned on UPS verifications for you: https://onlinetools.ups.com
Signing Up for BETA
In order to use new features which we release for early testing from time to time, please send an email to [email protected] with your Org ID, or fill out a request using the Contact Us form included in the app.
- Once you are approved for BETA, we will contact you with information whenever a new feature is coming out and needs to be tested.