Integrating Applications 101: API Integration Best Practices

By Jackie Rebrovic in GET/technical, API Industry Trends Posted Aug 28, 2019

Great APIs can make great integrations, but like the APIs they connect, integrations can be unique and vary wildly.

Nonetheless, integration is no longer a nice-to-have product feature, but is now necessary as many customer experiences are driven by aggregating existing data from applications instead of recreating it. Integrations improve business processes by automating data transfers from one app to another or multiple apps, serving not only internal business units but the larger application ecosystem comprised of customers, prospects, and partners.

The average number of internal applications organizations use to run their businesses is  1000, increasing year over year. For example, we have all seen that diagram of over 7,000 marketing applications to choose from that are being tracked by chiefmartec.com. Now think about all the applications engineering, product, QA, finance, accounting, and support use!

Each of these applications will likely have its own APIs and, further, they may have different styles of APIs such as REST, SOAP, SDK, etc. So how do you bring all the data hiding in these applications together?

To answer the above question, we partnered with Dzone on this API Integrations Best Practices refcard. Below is a sneak peek of what you'll find in the refcard:

NAVIGATING DOCUMENTATION 

Documentation is the aloha of API integration, where it both starts and ends for developers. Understanding what data you are getting from the endpoint provider is a crucial first step, but you also want to replicate documentation best practices if the integration you're building will be used by other team members and shared with other developers. Check out Cloud Elements' API Documentation portal here

ERROR CODES

When creating integrations, it's important to understand what error codes you might be getting from the application provider. As you start sending requests, it is helpful to understand when things work, but it becomes equally important to understand why they don't. Here's a general reference guide: 

API Error Codes | Cloud Elements


AUTHENTICATION

Getting the right access to the right data underpins any integration project, yet authentication can be one of the hardest parts. Authentication, at its core, is the ability to prove your application's identity. There are several different ways that applications can grant access to developers to create integrations such as basic credentials or API keys. Learn more about our approach to authentication here

EVENTING

We've navigated documentation, authenticated access, and can GET a "Hello World" response, now let's bring the data to life, or at least get it automated. In some cases, eventing isn't needed and you can skip ahead. However, the true power of integration is the ability to put data in motion without the bottleneck of human clicks. There are two primary ways to automate or "event" your API calls:

  1. Polling
  2. Webhooks - psst! This is our #1 choice.
    API Eventing | Polling and Webhooks

Dive deeper into webhooks vs. polling here

QUERYING

We've automated the movement of data, so our integration is live and fluid, but now it's flowing in like a river when all we really need is a small piece of the data that's useful to what our application is doing. We need to set query parameters to filter out all the data we don't need. Querying is the last part of the API endpoint, or path, that directs the call to pull only the data you want.

PAGINATION

There might be way too much data or data that just keeps going and scrolling. This is where pagination comes in. Pagination is the ability to put that giant response of every customer you've had since 1994 into human readable pages without seizing up your computer. Pagination requires some implied order, like a unique ID, Date Created, Date Modified, and so on. There are a few different types of pagination you might encounter. 

BULK

Up to this point, API integration has focused on specific sets of data, but what happens when you need to move a large amount of data from one system to the next? Some applications expose this ability with Bulk APIs. Bulk APIs allow you to update, insert, and delete a large number of records all at once. This can be particularly useful when transferring large systems of record (marketing automation, CRM, or ERP) from one provider to another. Bulk APIs | Cloud Elements


As you can see, there's a lot to consider when building API integrations. Read the full refcard to help you get started here