· 2 min read

Pointers while integrating an external service



Photo by Alexander Shatov on Unsplash

Have you worked with that external service before?

If not, then expect yourself to make many mistakes. To reduce mistakes, make sure you do good research and at the same time will adapt to a plan.

Discuss with other people who have already done it before. They may know something you don’t.

Are you integrating one service or are you integrating multiple similar services?

If you are integrating multiple services, your code would have to be modular enough.

In any case, try to make your code modular enough so that if suddenly a similar app has to be integrated, there are minimal changes to your code.

Take a look at factory and strategy design patterns.

Does it provide an SDK in your language?

If yes, half your life’s problems are now solved.

How do you connect to the external service?

There likely is some kind of clientId, clientSecret, and OAuth flow at play. You’ll have to save the token somewhere if it’s an OAuth flow.

OAuth flow sounds fancy but it’s really easy. You might also find the SDK or an open source libary makes it easy to implement.

Image Source: Slack OAuth Flow

In case there isn’t a library? How do you verify if something is really from that system?

You need some kind of token validation.

If that request is sent again, how would you verify that you received it only once?

Are there rate limits in place on the external system?

If yes, how would you handle it?

Are there special conditions in place?

For example, if it’s a request/response scenario for a messaging app, it may request a response within a quick 3-5 seconds.

Would you have to release the app on that particular platform?

If yes, you’ll have to work with the Product and Doc team to make sure everything is polished.


{% include image.html file=‘/images/software-blog/integrate-external-services/ibm.png’ caption=‘Overview of Application Integration’ %}

Source: What is Application Integration? - YouTube


    Back to Blog