Skip to main content

Message type overview

Nexconn provides a rich set of built-in message types to simplify chat application development. Each built-in message type has a unique type identifier (ObjectName) and a predefined content structure. Different message types have different server and client processing behaviors.

Message properties

Each message type defines the following properties:

  • Client counting & storage: Whether the message increments the unread count and whether the client SDK stores it locally.
  • Missed message caching: Whether the server caches the message for offline recipients (direct, group, and system channels only). Cached for up to 7 days by default.
  • Push notifications: Whether the message triggers a remote push notification when the recipient is offline. Push notifications require a notification title and content. Some built-in message types have preset push notification titles and content.
Important
  • Client unread count behavior only affects the channel unread count, not the app badge.
  • Messages sent via the server API are stored only in the recipient's server-side history by default (requires the corresponding cloud storage service). To also store in the sender's history, see Sync sent messages to the sender's client.
  • Community channels and open channels do not support missed message caching.
  • Web and mini-program clients do not support local message storage.
  • Web, mini-program, and PC clients cannot receive push notifications.

Message categories

Built-in message types are organized into the following categories:

  • User content messages: Messages containing user-generated content — text, image, GIF, voice, file, video, location, quote, and combined forward.
  • Notification messages: Notifications displayed in the chat UI, such as recall notifications or group notifications. Do not increment the unread count.
  • Transient messages: Ephemeral status messages (e.g., "typing" indicators). Not stored on the client or server.
  • Signal messages: Internal messages used by the SDK to implement its own features. Apps generally do not need to handle these.

User content messages

User content messages have preset push notification titles and content. If custom push content is not provided at send time, the preset values are used.

Message TypeObjectNameClient BehaviorMissed Message CachingPush Notification
Text messageRC:TxtMsgISCOUNTED: stored, counts as unreadSupportedSupported by default
HD voice messageRC:HQVCMsgISCOUNTED: stored, counts as unreadSupportedSupported by default
Image messageRC:ImgMsgISCOUNTED: stored, counts as unreadSupportedSupported by default
GIF messageRC:GIFMsgISCOUNTED: stored, counts as unreadSupportedSupported by default
Rich content messageRC:ImgTextMsgISCOUNTED: stored, counts as unreadSupportedSupported by default
File messageRC:FileMsgISCOUNTED: stored, counts as unreadSupportedSupported by default
Location messageRC:LBSMsgISCOUNTED: stored, counts as unreadSupportedSupported by default
Short video messageRC:SightMsgISCOUNTED: stored, counts as unreadSupportedSupported by default
Quote messageRC:ReferenceMsgISCOUNTED: stored, counts as unreadSupportedSupported by default
Combined forward messageRC:CombineMsgISCOUNTED: stored, counts as unreadSupportedSupported by default

Notification messages

Notification messages do not have preset push notification content. To trigger push notifications for offline recipients, provide custom push content at send time.

Message TypeObjectNameClient BehaviorMissed Message CachingPush Notification
Recall notificationRC:RcNtfISPERSISTED: stored, no unread countSupportedNot supported by default
Contact notificationRC:ContactNtfISPERSISTED: stored, no unread countSupportedNot supported by default
Profile notificationRC:ProfileNtfISPERSISTED: stored, no unread countSupportedNot supported by default
Info notificationRC:InfoNtfISPERSISTED: stored, no unread countSupportedNot supported by default
Group notificationRC:GrpNtfISPERSISTED: stored, no unread countSupportedNot supported by default
Command notificationRC:CmdNtfISPERSISTED: stored, no unread countSupportedNot supported by default

Transient messages

Transient messages represent instantaneous states (e.g., typing indicators). They are only received when the user is online. Neither the client nor the server stores them. To send via the server API, use the transient message endpoints.

Message TypeObjectNameClient BehaviorMissed Message CachingPush Notification
Typing statusRC:TypStsSTATUS: not stored, no unread countNot supportedNot supported

Signal messages

tip

Signal messages are used internally by the SDK. Apps generally do not need to handle them.

These messages need to be delivered reliably but are not displayed in the UI. If the recipient is offline, they are delivered as missed messages on reconnection. Message routing and message callback services include these message types.

Signal messages

Message TypeObjectNameClient BehaviorMissed Message CachingPush Notification
Command messageRC:CmdMsgNONE: not stored, no unread countSupportedNot supported by default
Recall commandRC:RcCmdNONE: not stored, no unread countSupportedSupported by default
Read receipt (direct)RC:ReadNtfNONE: not stored, no unread countSupportedNot supported by default
Read receipt request (group)RC:RRReqMsgNONE: not stored, no unread countSupportedNot supported by default
Read receipt response (group)RC:RRRspMsgNONE: not stored, no unread countSupportedNot supported by default
Multi-device read syncRC:SRSMsgNONE: not stored, no unread countSupportedNot supported by default
Open channel KV notificationRC:chrmKVNotiMsgNONE: not stored, no unread countSupportedNot supported by default

Audio/video call signal messages

Message TypeObjectNameClient BehaviorMissed Message CachingPush Notification
Call acceptRC:VCAcceptNONE: not storedSupportedSupported by default
Call hangupRC:VCHangupNONE: not storedSupportedSupported by default
Call inviteRC:VCInviteNONE: not storedSupportedSupported by default
Media switchRC:VCModifyMediaNONE: not storedSupportedSupported by default
Member changeRC:VCModifyMemNONE: not storedSupportedSupported by default
Call ringingRC:VCRingingNONE: not storedSupportedSupported by default

Message metadata operation message

RC:MsgExMsg — generated when message metadata is set or deleted in community channels. Available via message routing and message callback. Not delivered to client SDKs.

Streaming message

RC:StreamMsg — see Streaming message format. Supports direct and group channels with real-time typewriter display on clients.