Conversation

Query · conversation

conversation(id: ID!): ConversationView!

Lấy thông tin DM hoặc kênh theo ID để hiển thị thành viên và lựa chọn cá nhân như ghim hoặc tắt nhắc tên. Query này không trả lịch sử tin nhắn; dùng messages cho nội dung.

Gửi query qua HTTP POST /graphql với Authorization: Bearer <accessToken>. Cần đăng nhập và là thành viên của chính conversation. Chỉ thuộc workspace là chưa đủ để đọc kênh công khai chưa tham gia; GUEST vẫn đọc được conversation mà họ đã được thêm vào.

Input

Đối sốKiểu GraphQLBắt buộcQuy tắc và ý nghĩa
idID!CóUUID conversation; không có giá trị mặc định.

Output

Trả về ConversationView!, không null.

ConversationView

TrườngKiểu GraphQLÝ nghĩa
idID!ID conversation.
workspaceIdID!Workspace chứa conversation.
typeConversationType!DIRECT là DM hai người; CHANNEL là kênh.
visibilityConversationVisibility!PRIVATE hoặc PUBLIC. DM mới là PRIVATE; kênh PUBLIC vẫn cần tham gia để đọc nội dung.
isDefaultBoolean!true với kênh mặc định #general; DM là false.
titleStringTên kênh; DM mới là null.
descriptionStringMô tả kênh hoặc null; DM mới là null.
createdAtDateTime!Thời điểm tạo conversation.
updatedAtDateTime!Thời điểm cập nhật conversation.
pinnedAtDateTimeThời điểm người gọi ghim conversation, hoặc null.
mutedBoolean!Trạng thái tắt thông báo nhắc tên của người gọi.
lastMessageSequenceIntMốc sequence tin nhắn gần nhất, hoặc null nếu chưa có tin nhắn.
members[ConversationMemberView!]!Danh sách thành viên, không có phần tử null; xem ConversationMemberView.

ConversationMemberView

TrườngKiểu GraphQLÝ nghĩa
userIdID!ID người dùng.
usernameString!Username.
displayNameString!Tên hiển thị.
avatarUrlStringURL ảnh đại diện hoặc null.
roleMemberRole!Vai trò trong conversation: OWNER, ADMIN hoặc MEMBER; thành viên DM mới có MEMBER.
lastReadSequenceInt!Mốc sequence đã đọc của thành viên; thành viên mới bắt đầu ở 0.

Ví dụ

query Conversation($id: ID!) {
  conversation(id: $id) {
      id
      workspaceId
      type
      visibility
      isDefault
      title
      description
      createdAt
      updatedAt
      pinnedAt
      muted
      lastMessageSequence
      members {
        userId
        username
        displayName
        avatarUrl
        role
        lastReadSequence
      }
  }
}

Biến:

{
  "id": "33333333-3333-4333-8333-333333333333"
}

Phản hồi minh họa:

{
  "data": {
    "conversation": {
      "id": "33333333-3333-4333-8333-333333333333",
      "workspaceId": "aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa",
      "type": "DIRECT",
      "visibility": "PRIVATE",
      "isDefault": false,
      "title": null,
      "description": null,
      "createdAt": "2026-09-26T09:00:00.000Z",
      "updatedAt": "2026-09-26T09:00:00.000Z",
      "pinnedAt": null,
      "muted": false,
      "lastMessageSequence": null,
      "members": [
        {
          "userId": "11111111-1111-4111-8111-111111111111",
          "username": "an",
          "displayName": "An",
          "avatarUrl": null,
          "role": "MEMBER",
          "lastReadSequence": 0
        },
        {
          "userId": "22222222-2222-4222-8222-222222222222",
          "username": "binh",
          "displayName": "Bình",
          "avatarUrl": null,
          "role": "MEMBER",
          "lastReadSequence": 0
        }
      ]
    }
  }
}

Thiếu hoặc sai access token trả UNAUTHENTICATED. ID sai định dạng trả BAD_USER_INPUT. Người chưa tham gia conversation, kể cả khi đó là kênh công khai trong workspace của họ, nhận FORBIDDEN; ID không tồn tại cũng trả lỗi truy cập này.

Chữ ký operation được tạo từ GraphQL schema.