When
I had a chit chat with the business I'm working with, they told me often they see a lot of fraud
transactions originating from one of the their eCommerce B2C web sites. Most of the fraud transactions exhibit a pattern – either billing address or shipping address is invalid. The eCommerce site doesn’t implement an address validation for billing or shipping address. If the
validations do exist, without correcting the address issues a user cannot
navigate to the payment page. So, I looked at some of the address validation
services. As a developer what I did is relevant for any API seekers J
1.
Searchability/Discoverability
of an API
As
the first step, a developer MUST go to any available search engines and hunt
for an API they are interested in. So, if we are doing any commercial APIS,
it’s very important to make sure that the APIS are ranked properly by the
search engines and it MUST bubble up when a user search for any API related key
words.
2.
API
documentation
After
the API hunt, I found a lot of companies, UPS, USPS, Experian, Smart streets
offer address validation service. Various criterions I used to weigh the API
offerings from different companies are:
1.
How
easy and fast I can apprehend the APIs
2.
Simplicity
of API methods, request and response – From smarty street, most of the APIS,
request and response object are self-explanatory. I don’t even go through
their API documentationsJ - I think the APIs
directly talk with the developer.
3.
Try
it yourself – After reading the APIs, the immediate step a developer took is to
see the APIs in action. Some API providers provide a try it now link
that allows a user to test the APIs without logging in or without even
request for an API key.
Able to try out an API without logging in or providing 100 steps of information is another key aspect of Dx.
Able to try out an API without logging in or providing 100 steps of information is another key aspect of Dx.
3.
Integration
Another
criteria I considered is how easily I can integrate the APIs to my application.
For this, I look for any SDKs available from the API provider. Most of the
companies provides SDK that supports various programming languages.
Another aspect I considered is, how often the APIs are versioned and how
often the companies publish their SDKs.
Other
aspects like, cost of usage (fixed vs pay per use), support …etc are
considered. However, I wish to share the above three core aspects. Please share
your thoughts?