Universal APIs

Programmers in different organisations across the globe can reuse their software programs thanks to APIs.

For as long as there have been software programs, there have been APIs (application programming interfaces). APIs allow one programmer to use another programmer’s code. At first they allowed programmers using the same programming language to reuse each others code.

In the 1990s efforts such as CORBA built bridges across programming languages, so that a person writing a program in Java could have their code reused by someone working in C++.

With the rise of the web and ubiquitous broadband, the industry made another leap forward with APIs, this time through the use of Web Services. Web Services allow programmers in different organisations, across the public internet, across the globe, to reuse their software programs.

Here’s an example:

GET https://login.caseblocks/case_blocks/teams

That piece of text should look familiar to anyone who’s ever used the Web before. Its a URL like any other you’ve ever used, prefixed with a verb: GET. The combination of VERB + URL describes to a programmer that by sending the GET HTTP command to that specific URL they’ll receive a list of teams from CaseBlocks API service.

Besides GET, there are commonly used verbs POST, PUT, DELETE – that allow programmers of one system to describe to other programmers the bulk of possible interactions with another system, e.g. create a new team, update an existing team, and delete an existing team.

The beauty of this simple – yet restrictive (only 4 common verbs) – approach is that it provides a lingua franca for the whole web.

Japanese programmers using a language like Ruby, can call the CaseBlocks API without ever needing to worry about where the CaseBlocks API is physically run from (London in our case), what language it itself is written in (Ruby, Javascript and Go in our case), and whether their calls are secure & trusted – the https in the URL ensures that.

French programmers building a mobile iOS application can make similar calls, using in their case, Apple’s new Swift programming language.

The benefits of this simplistic model are truly transformative. Programmers trying to integrate CaseBlocks into their environment can use the same skills tomorrow, integrating PayPal or Salesforce.

CaseBlocks is itself a consumer of its own API. The main browser interface is a Javascript application making web service calls to the API: “give me a list of teams”, “export a bucket”, “create a new case”, etc.

Bespoke mobile applications have been built using the CaseBlocks API to handle field service and CRM. System integration between Pipedrive and CaseBlocks was achieved in a single days work – all because the APIs are simple and intuitive.

For more details on the CaseBlocks API, check out the documentation.