Learn
In-app communications
and APIs explained
Use these definitions and explainers to understand APIs, SDKs, and in-app communications so you can make the right choice for your business.

Sendbird
About Sendbird
Sendbird is the AI-first communication platform for the enterprise to delight customers.

APIs, SDKs, and UI kits
APIs
An API (application programming interface) is a type of software that allows other software to communicate, integrate, and exchange data and functionality through a set of defined rules and protocols.
A chat API is a set of rules and protocols that allows developers to add chat functionality and server infrastructure to an app that would otherwise be difficult to code from scratch.
A cross-platform API allows developers to build apps or software that can run on multiple operating systems or platforms with minimal modifications.
An API solution is a complete set of tools, services, and infrastructure that enable businesses to use and manage multiple pre-built APIs from a single platform.
Server-side APIs and client-side APIs work together to make apps and software work together seamlessly. Their main difference lies in their respective locations and responsibilities within the architecture of an app.
How APIs work
APIs facilitate the exchange of data and functionality between the two sides of the app experience: the server (the backend), and the client app (the frontend). This is known as client-server architecture.
An API layer is a component of software architecture that sits between the app and underlying systems, providing an interface for API calls and requests.
An API request is a message sent by an app to the API asking for a specific service, functionality, or data.
An API response is the information returned to an app from a server following an API request.
Functionality is the set of features, capabilities, and actions that a software application can perform to meet user needs and achieve its intended purpose.
SDKs (software development kits)
A software development kit (SDK) is a ready-to-use set of tools, libraries, and documentation that API platforms provide to facilitate app creation.
Chat APIs and chat SDKs are both used to incorporate chat functionality into apps, but they’re used at different points in app development and for different purposes.
UI kits
A UI kit is a set of pre-built components, design elements, and resources that help developers to create a consistent, visually appealing user interface (UI) for an app.

In-app communications
Channels
A channel is a way for people to communicate, access information, and exchange information.
In-app messaging, chat, voice, video, and other channels
In-app chat is an embeddable feature that allows users to send and receive messages in real time while active in a mobile app.
In-app calling is an embeddable feature that adds high-quality voice and video calling capabilities to a mobile app.
In-app video calling is an embeddable feature that adds high-quality video calling capabilities to a mobile app.
In-app live streaming is a feature that enables users to broadcast real-time video from a mobile app, with the support of live chat capabilities.
Push notifications are a feature that sends a message to a user’s mobile device to alert them of new content, messages, or in-app activity.

The messaging experience
The messaging experience
User experience (UX) measures overall satisfaction and perception of users while using a product or service.
The user interface (UI) is the visual and interactive elements through which users interact with and navigate a mobile app.
User preferences are the specific choices or settings that users can adjust to personalize or tailor their experience of a mobile app.
UX (user experience) and UI (user interfaces) are two related but distinct concepts in digital product design and development. Both are critical but have different focuses.
Rich media are multimedia elements that enhance the experience of in-app communications.

Performance
Metrics
Monitoring and analyzing the performance of in-app communications allows you to gain insights, identify improvements, and boost engagement.
Business metrics, or KPIs (key performance indicators), are quantifiable measurements used to track and evaluate performance, processes, and progress toward a business goal.
Analytics and insights
An analytics dashboard is a built-in tool that tracks, analyzes, and visualizes metrics and data related to in-app communications.
Data export is the process of extracting and converting raw data from its existing format to that required by another application or software system.

Back end
Programming languages
A programming language is a set of rules and syntax that allow people to communicate instructions to computers and serves as the foundation of software development.
Developers have access to a range of programming languages, each with different features and characteristics that make it suitable for different tasks.
SOAP (simple object access protocol) and RESTful (representational state transfer) are both architectural styles used to design web service.
Infrastructure
Cloud infrastructure is the collection of hardware, software, networks, and services that support and enable cloud computing.
Connectivity is the ability of computer systems, devices, or networks to establish and maintain communications with each other over the internet.
Scalability is the ability of a computer system, application, or infrastructure to handle increasing demands while maintaining performance and reliability.
Concurrency is the ability of a computer system or program to execute multiple processes or tasks at once, or at overlapping time intervals.
Latency is the time it takes for a message to be sent from sender to recipient.
Integrations
Data migration is the process of transferring data from one system or database to another as part of an integration.
Third-party software is any software, tool, or service developed and provided by an organization outside your primary software platform.
API management
A fully-managed API is an API (application programming interface) offered as a complete, end-to-end solution by the API provider.
Versioning is the practice of assigning a unique code to each iteration of a software, such as Mac OS Catalina 10.5.7.
Testing is verifying an app's functionality, performance, and reliability before it moves to production or goes live.
Debugging is the process of identifying, analyzing, and fixing issues or defects in an app or software system.

Operations
Security
Authentication is the process of verifying the identity of a user or an application that’s trying to access a messaging system.
Message encryption encodes message data to make it unreadable to unauthorized parties.
TLS/SSL encryption is a protocol used to encrypt communications data sent between an app and a server.
AES256 (Advanced Encryption Standard 256-bit) encryption is a widely used symmetric encryption algorithm that provides strong security to protect sensitive data.
Datagram Transport Layer Security (DTLS) encryption is a protocol that enables secure communication over unreliable transport protocols.
Compliance
SOC 2 is a voluntary compliance standard developed by the American Institute of Certified Public Accountants (AICPA) that specifies how organizations should manage their customer data.
The General Data Protection Regulation (GDPR) is a data protection and privacy regulation implemented by the European Union (EU) to regulate the processing of personal data and protect individuals.
ISO 27001 is an international standard that specifies the requirements for businesses to establish, implement, maintain, and improve their information security management systems (ISMS).
The Health Insurance Portability and Accountability Act (HIPAA) is a US federal law that protects the privacy and security of individuals’ medical information.
Service level agreements (SLAs)
A service level agreement (SLA) is a contractual agreement between a business and its customers that defines the level of service the business must provide.

Development
Documentation and support
Community support is when developers come together to help each other by sharing knowledge, insights, and experiences with a platform.
A developer portal is a dedicated website that provides resources and tools that help developers understand, use, and integrate new APIs and software.
Code samples are small snippets or examples of code that demonstrate how to use an API to perform specific tasks or access functionalities.
Tutorials are developer guides that offer step-by-step instructions on how to use an API effectively.
A sample app is a fully functional application that demonstrates how to use and integrate an API, including how to build specific functionalities and use cases.

API features
Essential API features
A typing indicator is a visual cue that indicates when another user is actively composing a message in a conversation.
A delivery receipt is a visual cue that indicates to a message sender that their message has been delivered successfully to the intended recipient by the server.
A read receipt is a visual cue that informs the message sender that the recipient has opened and read their message.
Reactions are a feature that allows users to respond to a message with emojis and icons that match their thoughts or feelings.
User mentions, also known as @mentions, is a feature that directly notifies a specific user within a conversation or group channel.
Advanced API features
Unified inbox is a feature that combines all the conversations and communications a user has with a business and other users into a single, centralized message interface.
Offline messaging is a feature that gives users access to chat even when they’re not connected to the internet.
Announcements is a feature that provides a dedicated channel for broadcasting news, promotions, and time-sensitive updates to all users, or specific user groups.
Pinned messages are a feature that enables administrators of group channels or conversations to highlight important information for all to see.
Message search is a feature that allows users to search for messages within a specific channel using a search bar embedded in the chat interface.

Messaging-centric industries and business models
Industries
In-app communications allow transport and logistics providers to use in-app communications to enable real-time messaging and calling, optimize routes, update customers, and more.
Food delivery services use in-app communications to connect drivers, customers, and support agents within the mobile app to ensure order completion.
Rideshare services use in-app communications to connect drivers, customers, and support agents in the mobile app to ensure a seamless, successful experience.
FinTech services use in-app communications to provide support, foster trust, and enhance the user experience with live conversation capabilities.
Investment and wealth management apps can provide more personalized, secure, and transparent experiences through in-app communications.
Social communities
Social media apps rely on in-app communications to connect users and engage them in meaningful, interactive experiences.
In-app communications are at the heart of dating apps, allowing users to connect and make meaningful connections through communication.
In-app communications play a crucial role in keeping users engaged, informed, and connected within fantasy sports and betting apps.
Messaging-based business models
Two-sided marketplaces rely on in-app communications to connect buyers and sellers, facilitating interactions and transactions between these two groups to generate revenue.
In-app communications are the core of community apps, enabling users to engage and connect in real time to share common interests, goals, or activities.
In-app communications are essential to on-demand gig economy apps, allowing users to find, interact, and coordinate with gig workers at every step of the service process.