Are you looking to integrate a third party application programming interface (API) into your own system? Are you creating a new system which needs to make use of an API? If so, you must take a look at this document.
1. API Integration Considerations
What you should know before integrating any 3rd party API platform.
Overview
This document discusses the things that need to be considered before proceeding with an API
integration plan. I have tried to cover everything here, but if you feel something is missing, feel
free to contact me and I will get back to you soon.
Supported Functionality
Before proceeding with any API integration, you would need to check whether the functionality
you desire to implement is supported by the API provider. Many API providers have a limited
API platform which allows access to specific functionality. Do not assume that you can access all
functionality that you access via your provider’s web interface via API. Get in touch with your
API provider, or have a technical person look at it. Most of the time, there is a workaround for
what you’re trying to achieve.
Technical Limitations
Many API providers have technical limitations in place. I list a few here:
Rate Limits: Many API providers have limits on the number of queries you can execute
per day. You would need to make sure your application doesn’t need to exceed that
limit, and find workarounds for that.
Request/Response Formats: Many API providers require you to create your requests
and receive your responses in a specific format. Make sure that your application can
support such requests without a major overhaul. This is especially true when integrating
APIs with existing systems.
Request Restrictions: Some API providers only allow you to execute requests from
specific domains/IPs. Your integration plan needs to address those issues if they exist.
Legal Limitations
In addition to the technical limitations mentioned above, some API providers have legal
limitations in place in order to make sure that data retrieved via the API is properly used. For
example, LinkedIn allows you to fetch a user’s connection information, but it doesn’t allow you
to share that data with third parties. Although this is technically possible, it’s legally impossible
to do so, and implementing such a solution will only cause your API access to be cut.
Knowing those legal limitations in advance will help you properly plan your integration and
address any issues earlier in the process.
Network Issues
With API-based systems, there is a lot of network activity going on. Your application needs to be
able to properly handle issues such as the API server being unavailable, or the route between
your application and the API server being inaccessible (DNS Issues, Routing Issues, Traffic
Issues…). Your application needs to gracefully handle such issues in the backend, and present
users with a meaningful error message.
Samer Bechara
The Thought Engineer
sam@thoughtengineer.com
http://thoughtengineer.com