October 31, 2019
At Blendr.io we build new connectors to cloud platforms every day, and we use APIs for that.
When you have an API, it allows your customers as well as other SaaS companies and iPaaS (integration platform as a service) providers to connect with your application.
However, what we see is that often SaaS companies don’t have public APIs available, which makes it hard to set up an integration. But no panic ! In this article we outline some of the steps you can take to implement an API efficiently and we look at some alternative scenario’s, in case the API development gets pushed to your backlog.
It can be quite a challenge to add an API to an existing cloud platform. You want to make sure that important business logic is taken into account when customers start reading or writing data via you API. User permissions should not be bypassed, you need to publish documentation, you have to perform in-dept testing and much more.
Fortunately, there are quite a few tools out there that can expedite the process of building an API.
The first step is to decide which features you want to add to your API. Here a few good articles that provide guidance on building a REST API:
Further more, a tool such as Postman makes it easy to define the structure of your API and perform unit testing once the API is implemented.
For the actual implementation and coding, many development frameworks can generate boilerplate API code. Check your development framework first to see how it can help!
Another approach is to use an API publishing platform that creates an API based on your existing database model. Here are a few examples:
Here’s another cool list with many different tools that generate an API, often as a code generator: automatic API.
Once your API is ready, make sure to check out the ultimate API checklist by Blendr.io.
Did you implement paging? Are you responding with the correct error codes? Did you think about incremental data retrieval? The Blendr.io checklist includes 20+ essential API requirements.
If you are about to become a Blendr.io SaaS partner, you may want to check out our “API requirements” article as well, which talks in more detail on what Blendr.io typically needs to build a powerful connector to your SaaS platform. We’ve listed the common requirements per SaaS vertical.
OK, so you realized it’s going to take another 6 months before your API is ready. Does this mean you cannot engage with Blendr.io? Certainly not, you can still benefit from the power of Blendr.io as an integration platform! While we prefer connecting through an API, there are several alternatives possible. What fits you best will depend on your specific use case. Here are a couple of scenario’s to consider:
In a “normal” scenario, Blendr.io is a middle man that orchestrates data synchronization and automation between your SaaS platform and other cloud tools by working with the API on both sides. Blendr.io reads e.g. data from one source API and sends it to a destination API.
If your platform does not (yet) have an API, a different implementation scheme is possible. Every integration (we call it a “Blend”) inside Blendr.io is automatically exposed as an API endpoint. This means that you can initiate an API call from within your SaaS platform, to push data into Blendr.io and to read data from Blendr.io. The Blend will take care of the communication to the other cloud platform(s). In other words, in this scenario you don’t publish your own API but you simply call the Blendr.io API endpoints (Blends) from within your code.
Blendr.io can read data from and write data to a shared cloud database. This scenario can work well for e.g. data analysis platforms, BI tools, and similar use cases where data needs to be exchanged in batch.
Similar to the above scenario, data can also be exchanged via cloud storage such as Amazon S3 buckets, or even an FTP or SFTP server. This scenario is common with legacy applications such as accounting software.
Do you want to supercharge your integration capabilities? Get in touch! We are happy to brainstorm with you over a – potentially remote – cup of coffee!