CMiC API Glossary
  • 11 Oct 2024
  • 5 Minutes to read
  • Dark
    Light

CMiC API Glossary

  • Dark
    Light

Article summary

CMiC API Glossary

Not sure about CMiC API terminology used. Find our latest glossary here


API

CMiC's webservices or APIs. Also referenced as as resource, endpoint, URL. Formally, an application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface.

API examples include social media bots, third-party login, e-commerce transactions, weather apps, streaming services, ensuring media compatibility on various devices, and financial apps that connect different aspects of managing finances in a bank.

Endpoint

An API endpoint is a specific location within an API that accepts requests and sends back responses.

Endpoint vs. Webservice

Webservices expose one or more endpoints to which messages can be sent. A webservice endpoint is an entity, processor, or resource object that can be referenced and to which web services messages can be addressed. Endpoint references convey the information needed to address a web service endpoint.

We use webservices everyday. An popular example is Google search. A phrase or word entered in Google search triggers a webservice to send a request. Once the message is processed a returned response resulting the referenced hyperlinks to other resources available that contain the searched word is sent back. This request to response messaging is managed by webservices.

Framework

The API skeleton holding the library or libraries containing the functions of an API.

CMiC API's use a JSON framework.

HTTP protocol

HTTP is a communication standard between two systems using what's known as the Hypertext Transfer Protocol. HTTP makes endpoints available as API gateways, allowing HTTP queries to connect to a server. When you schedule a Zoom meeting on your Google calendar, for instance, you utilize an HTTP API.

There are two types of HTTP messages, requests and responses, each with its own format.

Requests consist of the following elements:

  • An HTTP method, usually a verb like GET, POST, or a noun like OPTIONS or HEAD that defines the operation the client wants to perform. Typically, a client wants to fetch a resource (using GET) or post the value of an HTML form (using POST), though more operations may be needed in other cases.
  • Optional headers that convey additional information for the servers.
  • A body, for some methods like POST, similar to those in responses, which contain the resource sent.

HTTP responses

HTTP response status codes are three-digit responses from the server to the browser-side request.

Everyone has probably at someone point received the classic 404 page-not-found error. That is an HTTP client error status code and there are a lot more of them.

HTTP response status codes indicate whether a specific HTTP request has been successfully completed. Responses are grouped in classes. The ones pre-dominately used in CMiC API architecture are referenced below:

Successful responses
Client error responses
Server error responses

JSON

JavaScript Object Notation (JSON) is a standard text-based format for representing structured data based on JavaScript object syntax. It is commonly used for transmitting data in web applications (e.g., sending some data from the server to the client, so it can be displayed on a web page, or vice versa).

Library

A library is a set of functions and sub-processes encoded in a programming language. These are intended to facilitate the creation of software and improve its operation. Libraries are not executable, but they are essential for another executable program to work perfectly.

In other words, a library is a file, which we generally place at the beginning of every program when writing the code that contains the functionality behind the program we're executing a webservice for.

API Methods or Actions

For Web APIs, GET, POST, PATCH, DELETE, are used in RESTful API development to specify the type of action being performed on a resource.

Best Practice | Available Actions

MetaData

Metadata formally is defined as the information that describes and explains data. It provides context with details such as the source, type, owner, and relationships to other data sets. So, it can help you understand the relevance of a particular data set and guide you on how to use it.

CMiC MetaData is any data set contained within a CMiC Database and used to populate CMiC web applications.

Object

A CMiC object can be defined as a program within a CMiC web-application that has unique attributes and behavior. Objects are what developers want to manipulate rather than the logic, database package as an example, required to manipulate them. This form of programming is well-suited for programs that are large, complex and actively updated or maintained.

Object Types Table
Object Key Tables

RESTful

A RESTful API is an architectural style for an application program interface (API) that uses HTTP requests to access and use data. RESTful APIs support this information exchange by following a secure, reliable, and efficient software communication standard.

For example, to generate monthly payslips, CMiC has to share data with your banking system to automate invoicing or communicate with an employee portal application. This type of exchange has sensitive data that must go through a secure channel of communication between your source system and third-party system.

While not all web services use the REST protocol, applications built with RESTful APIs are more lightweight, manageable and scalable.

Webhook

CMiC Webhooks automate event-based messaging from CMiC’s web application to a recipient platform when a create, update, or delete action occurs. This means CMiC can send data immediately once the action takes place and the webhook event is triggered, instead of periodic API checks.

Best Practice | Webhooks

Webservice

Web services are a type of internet software that use standardized messaging protocols like HTTP and are made available from an application service provider's web server for use by a third-party client or web-based program.

Web services are used for various applications, with the most commonly use for connecting existing programs.

Web services help developers segment applications into components that can be used and reused for various needs. For example, more than one program might need a conversion tool or a reporting function. This is possible due to web services' universal communication protocols.

Additionally, web services can be used to link data between different platforms. Since all applications can include a web services component, this can turn any program into a fully interoperable one.