Realtime · Socket.IO

Chat & messaging

Join

javascript
socket.emit("chat:join", {
  chatId: "64c3d4e5f678901234567890",
  projectId: "6958511e8397f2dfa88090d8",
})
socket.emit("chat:join", {
  chatId: "64c3d4e5f678901234567890",
  projectId: "6958511e8397f2dfa88090d8",
})

Send message

javascript
socket.emit("message:send", {
  chatId: "64c3d4e5f678901234567890",
  projectId: "6958511e8397f2dfa88090d8",
  type: "text",
  content: "Hello",
  replyTo: null,
  mentions: [],
})
socket.emit("message:send", {
  chatId: "64c3d4e5f678901234567890",
  projectId: "6958511e8397f2dfa88090d8",
  type: "text",
  content: "Hello",
  replyTo: null,
  mentions: [],
})

Ack message:sent: { "messageId": "...", "timestamp": "..." }

Room message:new:

json
{
  "message": { "_id": "...", "content": "Hello", "sender": "...", "chat": "...", "createdAt": "..." },
  "chat": { "_id": "64c3...", "name": "Team", "type": "group" }
}
{
  "message": { "_id": "...", "content": "Hello", "sender": "...", "chat": "...", "createdAt": "..." },
  "chat": { "_id": "64c3...", "name": "Team", "type": "group" }
}

Other chat broadcasts

Server eventTrigger
message:reactionmessage:react
message:editedmessage:edit
message:deletedmessage:delete
messages:readmessages:mark:read
participant:added / participant:removed / chat:updatedChat service (REST or socket flows)