API

What is an API?

API is an acronym for Application Programming Interface.  In a CMS the API is used by programmers to access and modify the content inside the CMS using code.  Without an API interaction with the content can only be done through the user-interface.  Through an API, programmers can potentially overcome challenges not addressed out-of-box by the CMS.

What makes an API good or bad?

An API does not magically make programmers empowered to solve problems.  At best, the availability of an API means that programmers have an opportunity to interact with the CMS’s data outside of the UI.  However, the API itself might be limited, difficult to extend, constantly changing or missing documentation.  A combination of these factors can render the API almost useless for real-world scenarios.

Defining a good API is a very deep developer topic.  However, from a CMS selection perspective the quality of the API can often be felt through the quality of the documentation.  CMS’s that are strongly committed to maintaining a robust developer API can demonstrate this through extensive documentation and samples.  When this documentation is missing or limited, then it suggests the public API is an afterthought and will create challenges for programmers who attempt to utilize it

What are common API challenges?

  • Minimal documentation
  • Minimal samples
  • Unstable API that changes from version-to-version
  • Missing API libraries for the preferred technology (.NET, PHP, Ruby, Java, etc.)

What are some real-world examples?

Below are sample scenarios that might be addressed by an API:

I want to upgrade our existing web site to use a new CMS.  Manually copying & pasting thousands of web pages is not feasible.  Consequently, I want to use the API of the old CMS to retrieve the old content.  Then I’ll use the API of the new CMS to recreate  this content.

I want to allow affiliate web sites to retrieve real-time product and pricing information from our web site.  This will allow our affiliates to list accurate product information on their own web sites.  To do this, we’ll offer our affiliates a web service API that they can use to query our products and retrieve current product information.

Where can I find more information?