What the ‘API’ is an API?
API is another one of those TLAs (Three Letter Acronyms) that we have grown to hate and it does not stand for Apple Pie International. It actually stands for Application Program Interface and one pretty good definition is:
Application program interface (API) is a set of routines, protocols, and tools for building software applications. An API specifies how software components should interact.
Ok, so now you’ve got it right? No? The definition made it so much more clear, NOT.
Look, I’m just messing with you. I know that some of you actually do know what an API is and others kind of know, while others simply don’t care. That’s all cool, but if you are in the ‘don’t care’ camp, I hope that I can convince you that there is value in at least understanding how an API can help you in your business.
Getting all the TLAs and fancy words out of the way, an API is simply a defined way for one computer program to talk to another computer program. Take our JoomFuse product, for example. We use the formalized, defined, and documented way to talk to the internal guts of your Joomla websites (the Joomla API) and the formalized, defined, and documented way to talk to the internal guts of your Infusionsoft app (the Infusionsoft API).
This allows us to, for example, know when a new user is created in Joomla and to create a matching contact in Infusionsoft, or when a tag was changed in Infusionsoft for a contact that causes JoomFuse to change the access that user has to the site. Without both systems having an API, all of this would be extremely difficult if not impossible.
This lets developers concentrate much more on determining and programming what needs to be accomplished rather than on how to talk to the two systems. If we use the JoomFuse example of changing user access to the membership site, using the Joomla API JoomFuse knows when a user group changes, and using the Infusionsoft API JoomFuse can be programmed to easily change a contact’s tag. So that leaves us to only have to program which user group change means which tag to change. We do not have to know anything about the database structure, the table names, the field names, etc. With the API, we simply tell Infusionsoft to set a particular tag for a particular contact. Easy Peasy (if I didn’t make your eyes roll around in your head from geek-speak).
Let’s try another higher level example….I have a client who uses Infusionsoft for just about everything in his business. He/we developed a complex Company/Contact relationship and a complete Opportunity pipeline in Infusionsoft. However, he is a road warrior and would need to do a lot of complex manual Infusionsoft tasks when things changed in anyone of his client companies. Not so easy, and much harder on the road. So, we got Swyft Mobile involved and they custom-designed a mobile system just for our client that uses the Infusionsoft API to make all the appropriate changes in Infusionsoft with just a couple of button presses in the client’s Swyft system.
Before you go off thinking that an API is an Infusionsoft thing, it is not, it is a pretty much universal thing. Twitter has an API, Facebook has an API, even NPR (National Public Radio) has an API.
If you have a computer application that could benefit from interfacing with another computer application, if there is an API in place, the job will be much easier…..trust us, we have developed with and without an API, and using an API is much better!
Do you have a frustration where one program won’t communicate with another? Instead of being frustrated, chat with a developer and see if it can be done. It may be easier and cheaper than you think. Even if it is not, if it is mission critical, it will be worth it.