Data Validation and Errors

How Wunderite handles data validation and errors with its AMS360 integration

Peter MacDonald avatar
Written by Peter MacDonald
Updated over a week ago

Wunderite and AMS360 both use data validation to ensure our software functions as expected. However, there are instances where the softwares validate data differently, or where legacy data exists, that may degrade the performance of the integration.

To mitigate validation issues, our team creates an AMS360 data quality report during setup. The data quality report looks at every account in AMS360 and lists specific records that may be problematic due to data validation. Ideally, the agency addresses these data quality issues before they choose to finalize the integration.

If the agency does not address the data quality report, they can expect degraded performance.

Illustrative Example: Email address

Suppose you want to share a form in Wunderite. Wunderite relies on a valid email address having been stored so that we can send an email.

  • Valid email: [email protected]

  • Invalid email: bob at gmail dot com

  • Invalid email: bob.gmail.com

Wunderite won't be able to send an email if the email is invalid. So, we only allow users to type in valid email addresses in our application.

When we integrate with another software, the other software may have a different idea of what a valid email is. Perhaps the other software allows "bob at gmail dot com". If we were to simply allow this email to be stored in Wunderite, without validating it in during the integration, then the Wunderite application would fail.

Legacy Data

It is possible that the other software does not recognize "bot at gmail dot com" as a valid email address today, and does not let users type that in as an email field. However, for softwares that have been around for some time, perhaps the validation was newly introduced within the past few years: any email entered before the validation could be liable to be invalid, (whereas anything after the validation is valid). Thus even though validation exists, legacy data could still be invalid. If we import invalid legacy email address, the application could fail.

Data Quality Report

Wunderite flags records that will not work properly in Wunderite by generating a data quality report.

Data Validation: What data does Wunderite validate?

The table below highlights how Wunderite validates data coming from AMS360

AMS360 Field(s)

Wunderite Field

Wunderite Validation

Required?

Details

Firm Name
DBA
First Name + Last Name

Organization Name

Yes

- Maximum of 255 characters
- If no Firm Name, we'll sync DBA
- If no DBA, we'll sync First Name + Last Name

Web

Website

No

Phone Numbers

Main Phone

7 or 10 digits (numeric)

No

Ext

Phone Extension

No

Maximum of 255 characters

Addresses

Address

State - 2 character abbreviation

No

E.g. New York = NY

Fax

Fax

7 or 10 digits (numeric)

No

SIC #

SIC

Match available codes

No

Will sync blank value if no match

NAICS #

NAICS

Match available codes

No

Will sync blank value if no match

Wunderite cannot update AMS360 records that contain invalid Legacy Data

To update a record in AMS360, Wunderite must pass a complete array of data for a given object. For example for a contact, we cannot simply pass the updated attribute (eg phone number) to AMS360. We must update the entire object by providing the updated data (phone number), along with the unchanged data (name, email, address, etc). The AMS360 API will validate the data (eg check that phone number is 7 or 10 digits). Thus Wunderite is prevented from updating any records in AMS360 that contain invalid legacy data.

Errors

When Wunderite encounters errors during the AMS360 setup process, we do not import the erroring records. The reasons we do not accept the erroring records is (1) app performance and (2) 2-way integration issues that get created (mainly: we don't want to overwrite data in AMS360). For this reason, we recommend updating the customer data issues found in the data quality report before finalizing your AMS360 integration.

Did this answer your question?