Skip to main content
POST

Overview

Send messages to specified channels, supporting various message types including text, images, files, and more.

Request Body

Required Parameters

payload
string
required
Base64 encoded message content
from_uid
string
required
Sender user ID
channel_id
string
required
Target channel ID
channel_type
integer
required
Channel type (1=personal channel, 2=group channel)

Optional Parameters

header
object
Message header information
client_msg_no
string
Client message number for deduplication and status tracking
stream_no
string
Stream message number
expire
integer
Message expiration time (seconds), 0 means no expiration
subscribers
array
Specified list of subscribers to receive the message (only valid for CMD messages)
subscribers[]
string
Subscriber user ID

Response Fields

message_id
integer
required
Server-generated message ID
message_seq
integer
required
Message sequence number
client_msg_no
string
required
Client message number (echo)

Status Codes

Message Type Examples

According to WuKongIM protocol specifications, here are recommended Payload structure examples:

Regular Messages

Text Message

Text Message (with @ functionality)

  • mention.all: Whether to @everyone (0=@users, 1=@everyone)
  • mention.uids: If all=1, this field is empty

Text Message (with reply)

Image Message

GIF Message

Voice Message

timeTrad: Voice duration (seconds)

File Message

size: File size in bytes

Command Message

System Messages

System message type must be greater than 1000

Create Group Chat

Message settings: NoPersist:0, RedDot:0, SyncOnce:1

Add Group Members

Message settings: NoPersist:0, RedDot:0, SyncOnce:1

Remove Group Members

Message settings: NoPersist:0, RedDot:0, SyncOnce:1

Group Member Kicked

Message settings: NoPersist:0, RedDot:1, SyncOnce:0

Update Group Name

Message settings: NoPersist:0, RedDot:0, SyncOnce:1

Update Group Announcement

Message settings: NoPersist:0, RedDot:0, SyncOnce:1

Recall Message

Message settings: NoPersist:0, RedDot:0, SyncOnce:1

Command Messages

Basic Command Message

Message settings: SyncOnce:1

Group Member Info Update

Upon receiving this message, the client should incrementally sync group member information

Red Dot Clear

Upon receiving this command, the client should clear the red dot for the corresponding conversation

Usage Examples

Best Practices

  1. Message Deduplication: Use unique client_msg_no to avoid duplicate sending
  2. Message Queue: Add failed messages to retry queue
  3. Content Encoding: Ensure payload is correctly Base64 encoded
  4. Permission Check: Check if user has sending permission before sending
  5. Message Types: Strictly follow protocol specifications for correct message type numbers
  6. System Messages: System message types must be greater than 1000 with correct message flags
  7. Command Messages: Command messages should set SyncOnce:1 flag