Talking to Other Programs
by Gregg Marshall
This is one of those articles about a topic that likely will not be something you can use yourself, but you need to know about to make good business decisions. I challenge you to wade through a relatively technical subject with the idea of either passing this article to your IT person, or at least knowing the concept so you can ask your software provider if they can support this.
This is another of the trends I saw at Defrag (http://www.defragcon.com) that will impact how we run our businesses in the future.
A lot of the conversation, both from speakers and during informal discussions with other attendees, revolved about the need for more and more businesses to provide (also called expose), Application Programming Interfaces (APIs) that other people can use.
An example of an API comes from Facebook. Facebook makes quite a bit of data available via their APIs. So your website could, as an example, show recent status updates, or the comments that go with status updates, as part of your home page using the Facebook API. Similarly, your website could automatically post a status update whenever you add a new product to your on-line store, or post a new article.
APIs are protocols and formats that let one software system talk to another. Almost all the major websites have an API (actually a set of APIs) that let you use data and often send data to that website. As an example, if you are using Amazon for fulfillment (did you even realize that any business can leverage the huge investment Amazon has made in their distribution network to fulfill orders that aren’t even sold on the Amazon website); you can send the orders to them using a public API.
Another example of a common API is UPS. They make shipment tracking information available via their API so you can integrate that information with your order system. Another API will let you create shipments in their system, integrating your shipping information with theirs without a full blown local shipping system.
It is also interesting that more and more government agencies are making data available via APIs. If you were in the heating and cooling business, you could access energy usage by zip code. Local governments are also making data available where it might be possible to get information on building permits. Local governments are also using APIs to solicit feedback and suggestions. There is even an open source distribution to facilitate setting up these kinds of websites, Open311 (http://open311.org/).
Many companies have historically taken the view that their computer systems should be closed to the outside world, either for security reasons or the belief that their IT system is some sort of “secret sauce” for their business. That attitude is changing. Having a formal API should be more secure than ad hoc solutions like exporting data into files and emailing them around or the undocumented, and thus unmonitored, link provided by a programmer. There is almost no business that has IT that is so special that it represents a real competitive advantage. Even if there was, exposing parts of it, like Amazon does for fulfillment, can still make strategic sense.
There is also the misconception that all APIs are public; available to anyone who wants to use them. In almost every case, to use even public APIs you need to register, be approved and be given special identity credentials before you can use the API. There are exceptions for really public data like a Twitter search result, but more likely being an approved user is required.
In short, APIs are turning into a powerful tool for integrating applications. One of the historical issues with most applications is they get larger and more complex trying to solve all the users’ problems, even if those solutions only address a very small part of the user population. With APIs you can take small, focused applications, and link them together using APIs to create a specialized application. In many ways it is a way to turn applications into Lego style building blocks.
I see APIs replacing the relatively hard to implement EDI standards. EDI has always been a bugaboo for small businesses. It is often a requirement to do business with a large company, yet requires specialized software and an EDI service provider. With an order entry, invoice, or advanced shipment API, it would be possible for the large vendor to interact directly with the small business. Some of the EDI standards efforts, especially those for XML formats, would make using different companies’ APIs much easier.
APIs are becoming an important way for companies to communicate with each other. You should be thinking about uses where an API might help your customers, like being able to check an order’s status. It isn’t a matter of if your company will be using APIs in the future, it’s a matter of when you’ll start using them. Maybe you can get started by adding the ability to add your favorite Netflix video to your instant queue directly from your corporate website. While not a business necessity, it will get you started using APIs in your business.
Gregg Marshall, CPMR, CSP, CMC is a speaker, author and consultant. He can be reached by e-mail at email@example.com, or visit his website at http://www.vendor-tech.com.
Questions or Comments? Please contact us today at (404) 214-9474 or firstname.lastname@example.org.