Passing data between two different APIs

So I am a complete novice with web development but I have been an IT System Admin for the last 10 years. Recently my employer is wanting us to try and integrate more and more of our systems together so we don’t have silos of information. While lots of these systems do have APIs they don’t seem to have native integrations built in to work between the apps we have.

An example we are trying to pull new hire candidates from our Applicant Tracking System Recruiterbox into Spectrum/Viewpoint our ERP.

Recruiterbox’s API is pretty well document and they have a few native integrations but nothing that works with our ERP.

I have tried to engage a few outside vendors to assist with the project but its slow going.

My first question what kind of middleware application do you use to link two different APIs to pass information back and forth?

1 Like

Have had to do this a few times at work.

On one system I wrote some software that mimicked the supported integrated software - took the information and then sent it to the other software via a supported API. Basically a translation layer.

When you can’t get the software companies to play nicely you sometimes have to go to these depths.

First off: I’m NOT a web developer and have only sparse experience with API’s. I’m a SysAdmin myself and will try to help with what i have.

One thing that sounds similar, is a Import we are doing. An external vendor is offering Prices and Stocked amounts as an API. We are using those in our CRM Tool to create offers based on those Items.
In this case, our CRM is SQL Based. So we have a Database Program that runs once a day to fetch the new information and write it into a table. That’s basically all handled by MSSQL.

A second thing for us was reporting. We have Nagios Monitoring, our CRM and some other, smaller datasources that many people in our company wanted information out of. Up until recently this was handled mostly through Excel and Pivot tables.
I had basically 7 datasources with differnent data that i wanted to combine in several ways. Instead of linking them to each other i introduced a central “hub” for this. In my case this is Grafana. It’s limited to data visualization. So, no input and such. But it does take the data from all the systems and allows me to combine them however i see fit.

I know this might not be 100% applicable for you, but in general, either one of the sides you want to integrate can work with the other (See SQL getting the API Data Above), or you can introduce a middle man that can speak both languages.

Not sure what apis those have but I think before you recompile those two (if you even have the source) and add some kind of middleware, its probably easiest to code/script jobs to do that on a timely basis. So you probably will need to know rest and some programming language (python, node or php) or something else (but id recommend those 3).

Since you cant really know if the api is even used by the program internally (youd have to test that first) and even if you intercept the call, do something with it and then forward it to the api (and the other api). In case of a create method youd be dodging the apis data validation (and a lot of other things could go wrong). So thats why making a script/program with a cron trigger (or whatever) seems to me like the best idea.