The ABCs of APIs
There's been plenty of talk and interest in APIs over the past few years, with them becoming more prevalent in our day-to-day lives as well in the business world. At Colt we use APIs across our voice and network portfolio, to increase automation and improve customer experience. But what are APIs and how do we use them at Colt to enhance the experience of our customers? In this guide you'll find out all you need to know.
Did you know?
When presented with new technologies expected to drive digital transformation in the next year, 91% of CIOs are considering APIs.
What's an API?
To begin, Application Programming Interfaces (APIs) define how a software can request another software to provide data or to perform a task, by specifying:
There are three types of APIs which can be used:
An example of how an API is used is travel booking sites, which use APIs to get flight and hotel availabilities from providers, allowing them to aggregate thousands of live flight and destinations to show the cheapest options to their customers.
In the telecoms space, a common example we see is APIs offered by service providers for clients to program their applications to automatically request services while they're running.
*Click to enlarge the image
Why are APIs so important?
The world today requires 24/7 availability, ever-increasing connectivity, and a reliance on data. These trends have created new challenges for businesses and APIs are increasingly the answer in for both consumer and business environments. They have transformed the way businesses interact with each other and the way they provide value to their customers by increasing automation, improving collaboration, simplifying innovation and enhancing security.
As the use of APIs has increased, the need to standardise data exchange between web services has grown, so that diverse systems with different programming languages and/or running on different operating systems, or using different technologies, can seamlessly communicate with each other. Which has resulted in API protocols being created to support this, with 2 of the most common being:
SOAP (Service Object Access Protocol)
Lightweight protocol for exchanging structured information in a decentralized, distributed environment; that contains the syntax rules for request and response messages sent by web applications. APIs that comply with the principles of SOAP enable XML messaging between systems through HTTP or Simple Mail Transfer Protocol (SMTP) for transferring mail.
REST (Representational State Transfer)
Software architectural style that defines the set of rules to be used for creating web services. Interaction in REST based systems happen through Internet’s Hypertext Transfer Protocol (HTTP). RESTful systems support messaging in different formats, such as plain text, HTML, YAML, XML, and JSON, while SOAP only allows XML. The ability to support multiple formats for storing and exchanging data is one of the reasons REST is generally the choice for building public APIs these days.
Below you can find a table highlighting the key differences between these two protocols. This is the foundation of how we are transforming our Number Hosting APIs.
|Abbreviation||REST stands for Representational State Transfer||SOAP stands for Simple Object Access Protocol|
|Implementation + Interchange||REST API is a flexible architectural style + conforms to the TMF open standards. As a result, REST APIs can make use of SOAP APIs as the underlying protocol for web services||SOAP API is an official standard because of its protocol. As a result SOAP APIs cannot make use of REST APIs since SOAP is a protocol + REST is an architectural pattern|
|Internal communication||REST APIs use multiple standards like HTTP, JSON, URL, and XML for data communication and transfer||SOAP APIs use only HTTP and XML|
|Resource requirement||As REST APIs deploy and use multiple standards, it takes fewer resources and bandwidth compared to SOAP APIs||Whereas SOAP APIs require more resource and bandwidth as they need to convert data into XML which increases the payload and results in larger files|
|Description||REST APIs use more advanced Web Application Description Language to describe the functionality being offered by web services||Whereas SOAP APIs use Web Services Description language|
|Security||REST APIs use SSL and HTTPS for security||SOAP uses SSL (Secure Socket Layer) and WS-security and are often used in Banking for securing Bank Account Password resets, use of Card Numbers, etc. SOAP APIs are preferred to REST APIs for these types of transactions|
Why are REST APIs the best choice for your organisation?
In general, a JSON-based RESTful API is the best choice for data-driven systems. It requires less resources, offers more message formats and is known for its scalability, flexibility, browser-friendliness, much higher data transfer speeds and a better overall performance. JSON-based RESTful APIs are the best choice for businesses looking for the highest data transfer speeds and who do not have endless developer resources that are needed for SOAP API integration.