Mesibo Real-time APIs - Introduction
Estimated reading time: 3 minutesmesibo is a powerful real-time communication platform to quickly add robust real-time messaging, group chat, voice, and video calls, conferencing into your mobile and web applications.
The key objectives while designing mesibo APIs were reliability, performance, and scalability. We have seen APIs as complex as the universe making apps unnecessarily complex and error-prone. We have instead worked hard to make mesibo APIs simple, yet powerful.
In this section, we will explore mesibo real-time APIs in detail. It is highly recommended that you also refer to the source code of one of the mesibo sample app in GitHub to learn how APIs are used.
Key Components
There are three key components of Mesibo real-time APIs
-
Functions, which you can invoke. For example, to send a message, make a call, etc
-
Listeners, which mesibo will invoke for various events. For example, when you receive a message, receive an incoming call, etc. You can implement these listeners to get real-time notifications of events
-
Data Structures, various data structures used in functions and listeners
API Declarations
All the APIs have exactly the same name and parameters across the platform unless specified. They only differ in the way they are invoked in various platforms like Java (Android), Kotlin (Android), Objective-C (iOS), Swift (iOS), C++, Javascript. For example, the ‘setPath’ API is invoked on various platform, as shown below:
On Android
mesibo.setPath(path)
On IOS
Objective-C
[mesiboInstance setPath:path];
Swift
mesibo.getInstance().setPath(path)
This makes it easy for you to write cross-platform code across platform. In the following sections, we will describe APIs with name and parameters.
API Parameters
Although all the APIs have the same name and parameters across platforms, some parameter types may vary. For example, a parameter is of type string
for a particular API, the String
is used for that parameter on Java while NSString *
is used for the same parameter on iOS Objective-C. The table below summarizes the generic type used in documentation and the corresponding type used in the actual implementation. If the parameter types are the same across platforms, they are not mentioned in the table, for example, int, MesiboProfile, etc.
Type | Java | Kotlin | Objective-C | Swift | Javascript | C/C++ |
---|---|---|---|---|---|---|
String | String | String | NSString * | String | var | char * or const char * |
boolean | boolean | boolean | BOOL | Bool | var | int (1 or 0) |
byte[] | byte[] | byte[] | NSData * | NSData * | var (array) | char * or const char * |
long | long | long | uint64_t or uint32_t | long | var (array) | uint64_t or uint32_t |
Get Started with Mesibo Real-time APIs
Mesibo Real-time APIs are broadly classified in the following categories:
-
Initialization APIs - Set of APIs for initializing Mesibo and start connection to Mesibo cloud or your on-premise servers.
-
Messaging APIs - Core Messaging APIs for sending messages, forwarding, resending, reading messages from the database etc.
-
File Transfer APIs - APIs to send and receive files.
-
Voice & Video Calls APIs - APIs for voice and video calls.
-
Profile and Contact Syncronization APIs - APIs to manage user and group profiles.
-
Group Management APIs - APIs to create and manage groups.
-
Utility APIs - Various utility APIs to perform auxiliary tasks like checking network connections, creating files, etc.
You can click on individual sections to go through each API category. Although, it is not necessary to go in the order but recommended for the first reading.
real-time chat api, messaging API, chat API introduction, document for voice SDK, video SDK, mesibo