Product overview
The IM service is a cloud instant messaging service: without building your own chat servers, you use the SDKs and REST API to add one-to-one chat, group chat, chat rooms, audio/video calls and offline push to your app, website or mini program, and event callbacks keep your business systems in sync with what happens in chat.
How it works
DeepRespond LinkAn integration involves three parts:
- Your business server: exchanges the app's credentials for an App Token and calls the server REST API to create users, manage friends, groups and chat rooms, upload files, send messages as a user or as the system, query and export messages, and manage calls. It also receives event callbacks from the IM service, and can run business checks before users send messages, add friends or join groups.
- Your client (app, website, mini program): signs in as the user and sends and receives messages and syncs conversations in real time over a persistent connection. Sign-in, reconnection, sync and local storage are handled by the client SDKs.
- Console: where your team manages apps, credentials, runtime policy, push, callbacks and content moderation, and views users, groups, messages, usage and bills.
Where to start
| To do this | Read |
|---|---|
| Get a message through in 10 minutes | Quickstart |
| Understand tenants, apps, AppKey, users and conversations | Concepts |
| Choose a client SDK | Client SDKs |
| Create users and send messages from your server | Server overview |
| Look up limits on counts, lengths and rates | Limits |
| Build meetings, voice rooms and other audio/video channels | Join your first channel |
| Build real-time multiplayer games | Start your first game |
| Fix a problem | FAQ |
Features
| Feature | Includes |
|---|---|
| Users | Sign-up and profiles, custom attributes; password sign-in, or one-time sign-in tokens issued by your server; multi-device sign-in and device management; bans, deletion, global mutes |
| Friends and block list | Friend requests and approval, friend remarks, block list; how others can add you (needs approval, anyone, nobody) |
| Groups | Creating and dissolving groups, owner and admins, invitations and join approval, join links, public groups, group profile and settings, mute all and per-member mutes, group block list |
| Messages | One-to-one and group chat; text, image, voice, video, file, location and custom messages; multi-device sync, offline and history messages; recall, edit, delete, reactions, pinning, @mentions, replies and quotes; messages sent only to online devices |
| Conversations | Conversation list and unread counts, read receipts, pinning, mark as unread, deleting and clearing conversations |
| Files | Upload and storage of message attachments, user avatars, group avatars and group files; multipart upload and resume for large files; image metadata stripping and thumbnails; short-lived download URLs that only the app's users can get; configurable attachment retention; storage usage stats |
| Chat rooms | Large rooms with no fixed members and no offline messages: owner and admins, priority-based delivery, mutes, bans and allowlist, chat room attributes, online counts and member lists |
| Audio/video calls | One-to-one and group calls: ringing, answer, decline and timeout, ringing on several devices at once, recovery after disconnects; server-side call lookup and ending; call records and stats |
| Standalone RTC channels | Audio/video channels identified by your own channel_id; open access or ticket-based access; publisher and subscriber roles; member moderation and separate usage; see Channel overview |
| Game rooms | Real-time multiplayer matches: your server creates rooms and issues join tickets, players connect to game nodes with the SDK to exchange inputs and frames; frame sync or relay, reconnection, frame catch-up, snapshots; a callback at the end of each match carries the result and online time, see game rooms overview |
| Offline push | APNs (including VoIP), FCM, and Huawei, Honor, Xiaomi, OPPO, vivo, Meizu and HarmonyOS channels; notification previews, badges, Do Not Disturb, updating notifications after recalls, push stats |
| Content moderation | Pre-send checks and after-the-fact review of messages, chat room messages, profiles, group profiles, request notes and files; word lists, manual review, user reports, violation records and automatic penalties |
| Event callbacks | Event callbacks and message copies for users, friends, groups, messages, chat rooms, calls and standalone channels; sync callbacks before sending messages, adding friends and joining groups; request signing, retries and delivery records |
| Persistent connections and presence | Real-time push over WebSocket; querying and subscribing to presence; multiple devices online |
| AI conversations | Bot accounts; connect your own LLM and stream replies as the bot; word-by-word display, resume after disconnects and stop generation on the client; the server SDKs connect directly to OpenAI, Anthropic and Gemini streams |
| Security and control | App Token and Secret rotation, IP allowlist, console member roles and two-step verification, operation log, per-app call quotas and circuit breaking |
| Plans and billing | A plan per app, with quotas enforced by plan; usage counted daily and billed monthly; usage, bills and payment records in the console |
Client SDKs
| You're building | Use this SDK |
|---|---|
| Websites, H5, Electron, React / Vue projects | Web SDK |
| Android and iOS (one codebase), or desktop apps | Flutter SDK |
| Native Android apps (Kotlin / Java) | Android SDK |
| Windows, macOS and Linux desktop apps (Tauri 2) | Tauri SDK |
| WeChat mini programs | Mini program SDK |
| UniApp (H5, mini programs, app) | UniApp SDK |
| Bots, support accounts, background services (Go) | Go SDK |
Native iOS (Swift) is still planned; use the Flutter SDK for iOS for now. For each SDK's version and known limitations, see Versions and support.
Integration steps
- Sign up for the console, and use the automatically created
demoapp or create an app to get the AppKey and server credentials; - Have your server get an App Token and create an IM user when your user signs up or first uses chat;
- Sign in as that user on the client with an SDK to send and receive messages and sync conversations, for example with the Web SDK quickstart;
- Configure offline push, event callbacks and content moderation as your business needs, and adjust the recall time limit, the number of devices signed in at once, whether users can only message friends and so on in the runtime policy.
Standalone audio/video channels
Besides one-to-one and group calls, you can organize standalone RTC channels by your own channel_id, suited to meetings, voice rooms and ad-hoc collaboration. Your server creates channels, issues tickets and manages members; users sign in with an SDK and join directly, with publishers sending audio/video and subscribers only receiving. Channels don't create IM groups or chat messages.
For requirements and scope, see Standalone RTC channels; to get started, see Join your first channel.