What is API?

API stands for Application Programming Interface and is an interface in a software that allows specific parts of it to be enabled ("run") from another software.

APIs play an important part in the software department process.


Why use API

APIs play an important role in modern application development as it makes it easier for systems to interact and exchange information in a structured way. This means that very simple applications (often web applications) can make changes, run processes or otherwise process data in a larger context. Such collaborative software parts are often referred to as components. This is often seen in, for example, processing data in a database or allowing one program to communicate with parts of another program.

The API describes the methods that a given software or library can communicate with. Often, the API is used as a layer or interface between high-level and low-level programming. The API is abstract and acts as a rulebook for calling to the application or code library. The code that is executed is called an implementation. Typical processes that you can do with an API are GET (where you extract data from, for example, a database), PUT (where you make changes to specific objects in a database, for example) and POST (where you add data to, for example, a database).

Using APIs is considered a more modern and well-defined way of integrating between different systems than, for example, file-based integration. For developers, APIs can contribute to a simplified programming life, since you do not necessarily need to build up detailed knowledge of the functionality of a software to interact and integrate with it.


How does Compello use API in its solutions?

At Compello, we make extensive use of APIs in all our products. In Compello Invoice Approval, we use the API to integrate against different ERP systems. And in our Invoice Distribution solution, we use APIs to communicate with payment channels such as VIPPS and Puzzel, and to enable our customers and partners to look up our systems on the status of invoices we have distributed to them.

Relevant terms: User interface (GUI) | integration | third party software | SDK