Firstly, what is an API? This is one of the most common questions in the technology world for users trying to understand how popular tech acronyms will actually help them out and improve their user experience.
API stands for Application Program Interface and, in basic terms, it specifies how software or software components should interact.
There are two main types of API: RESTful (REpresentational State Transfer) APIs and SOAP (Simple Object Access Protocol) APIs. The latter being more robust but the former leveraging less bandwidth, making it more suitable for internet usage. RESTful APIs tend to be generally preferred these days, and all of the Digital Content Store’s (DCS) APIs are now RESTful.
APIs are often used as a business-to-business model. For example, if you are shopping on Amazon and you buy a product from another vendor that is using Amazon to distribute their products, an API will often be how the provider and vendor interact.
APIs can also be used for component interactions within systems. So, if Amazon wants to accurately list the correct number of items it stocks it will usually use an API to ensure the distribution centres and user interface are continuously connected so that when you order you can be assured that the item will be delivered.
Sometimes companies build their own APIs in order to improve the platform or product and sometimes they integrate with the APIs of others.
The DCS utilises all the API instances listed above in creating its user workflows.
- To check the permissions for titles we check with our internal Check Permissions database using our Check Permissions API, which other external parties can use as well.
- We use APIs from third-parties to improve the user experience, specifically the APIs offered with leading Library Management Systems, which allow us to interrogate HEI catalogues to confirm ownership. We will be looking to expand the use of this API over the coming years to also populate holdings information to users.
- The DCS has also built its own APIs. One for extracting metadata and content links from the DCS to populate in a third party, one for adding requests into the DCS to be processed, and we will also be developing a new API over the summer to allow course and student number details to be automatically added to the DCS from a third party.
We also try to create these APIs so that they can work in harmony with each other: for example, the content extracting API and the request submitting API are usually integrated as one, to create an end-to-end workflow between the DCS and a third party platform, such as reading lists. We also imagine that the upcoming course API could also be part of these integrations in the future, automatically creating courses not already in the DCS when requests are made.
So, what are Open APIs? These are publicly available APIs that are available with relatively few restrictions (there may be some, like having to register to use). Importantly they allow developers using other products to freely use the API as well as public users. All of the DCS’ current suite of APIs are free-to-use and integrate by third-parties. However, using data from an individual HEI’s instance of the DCS can only be carried out by an HEI signing up to the third-party vendor in the DCS by subscribing to their API user, and by providing the third-party with their unique account number. This is to protect the data and instances of individual users.
In creating the DCS we believe in creating open APIs for our customers and third-parties to use. Some customers use our APIs to integrate with their own internal systems, or to create their own forms or bulk request tools. The third-parties we work with all use the APIs in their own way, to match the needs of their customer base.
By offering open APIs, technology platforms give your users and their associated third-party technology platforms a choice about how they want to interact with your product. You don’t assume that there is ‘one way’ to integrate product-to-product or user-to-product, but instead acknowledge that different users will have different needs.
One of the most important things you can give users is choice, and we hope the open APIs offered through the DCS give our users just that, along with the freedom to integrate with the DCS on their own terms.
The new course API, which allows adding and amending courses from user databases, CSVs and third-party platforms, is now available to users.
About the Author
David has been a Product Manager for the DCS at CLA since August 2017, previously working in the Education and Operations Teams in CLA since 2008. Outside of work David enjoys writing, reading, gaming (currently obsessed with the new Red Dead Redemption), and films.
This blog post was orirginaly published in the Summer 2019 CITE Magazine.