please select
  • UIKit
  • SDK
  • Server APIs
Chat/
SDK/
Web/
Conversation/
SDK
  • Install Chat SDK
  • Initialize Chat SDK
  • Login and Logout
  • Client APIs
  • Changelog
  • Message
    • Overview
    • Send a Message
    • Receive a Message
    • Historical Message
    • Forward Messages
    • Modify a Message
    • Delete Messages
    • Clear History Message
    • Recall a Message
    • Send an Online Message
    • Message Read Receipt
    • Query Messages
    • Targeted Group Message
    • Do not Notify
    • Key-Value Extensions
    • Translation
  • Conversation
    • Overview
    • Conversation List
    • Get Conversations
    • Unread Count
    • Pin Conversations
    • Delete Conversations
    • Mark
    • Conversation Group
  • Group
    • Overview
    • Group Management
    • Group Profile
    • Group Member Management
    • Group Member Profile
    • Custom Group Attribute
    • Group Counter
  • Community Topic
    • Community Management
  • User Profile and Relationship Chain
    • User Profile
    • User Status
    • Friend Management
    • Friend Group
    • Block List
  • Guideline for Beginners
  • Console Guide
    • Creating and Upgrading an Application
    • Basic Configuration
    • Feature Configuration
    • Account Management
    • Group Management
    • Webhook Configuration
  • Product Introduction
    • Message Management
      • One-to-One Message
      • Message Storage
      • Offline Push
      • Group Message
      • Message Formats
    • Account System
      • Login Authentication
      • Online Status Management
    • Group Related
      • Group System
      • Group Management
    • User Profile and Relationship Chain
      • Profile Management
      • Relationship Chain Management
  • Purchase Guide
    • Billing Overview
    • Pricing
  • Error Codes

Conversation Group

Feature Description

In some cases, you may need to group conversations, for example, into a "Product experience" or "R&D" group, which can be implemented through the following API.
Note:
To use this feature, you need to purchase the Premium edition.

Display Effect



Creating a conversation group

Call the createConversationGroup API to create a conversation group. After the API is called successfully, the SDK distributes the TencentCloudChat.EVENT.CONVERSATION_LIST_UPDATED and TencentCloudChat.EVENT.CONVERSATION_GROUP_LIST_UPDATED events.
Note:
Up to 20 conversation groups can be created. After this limit is exceeded, the 51010 error will be reported. Groups that are no longer used should be promptly deleted.
API
chat.createConversationGroup(options);
Parameters
The options parameter is of the Object type. It contains the following attribute values:
Name
Type
Description
conversationIDList
String
List of conversation IDs
groupName
String
Conversation group name, which can be up to 32 bytes in length
Return values
Promise
Sample
let promise = chat.createConversationGroup({
conversationIDList: ['GROUPtest', 'C2Cexample'],
groupName: 'Suppliers',
});
promise.then(function(imResponse) {
// Created the conversation group successfully
const { successConversationIDList, failureConversationIDList } = imResponse.data;
// successConversationIDList - List of IDs of the conversations that were created successfully
// Get the conversation list
const conversationList = chat.getConversationList(successConversationIDList);

// failureConversationIDList - List of IDs of the conversations that failed to be created
failureConversationIDList.forEach((item) => {
const { conversationID, code, message } = item;
});
}).catch(function(imError){
console.warn('createConversationGroup error:', imError);
});

Deleting a conversation group

Call the deleteConversationGroup API to delete a conversation group. After the API is deleted successfully, the SDK distributes the TencentCloudChat.EVENT.CONVERSATION_LIST_UPDATED and TencentCloudChat.EVENT.CONVERSATION_GROUP_LIST_UPDATED events.
Note
If the target conversation group doesn't exist, the 51009 error will be reported.
API
chat.deleteConversationGroup(groupName);
Parameters
Name
Type
Description
groupName
String
Conversation group name, which can be up to 32 bytes in length
Return values
Promise
Sample
let promise = tim.deleteConversationGroup('Suppliers');
promise.then(function() {
// Deleted successfully
}).catch(function(imError){
console.warn('deleteConversationGroup error:', imError);
});

Renaming a conversation group

Call the renameConversationGroup API to rename a conversation group. After the API is renamed successfully, the SDK distributes the TencentCloudChat.EVENT.CONVERSATION_LIST_UPDATED and TencentCloudChat.EVENT.CONVERSATION_GROUP_LIST_UPDATED events.
API
chat.renameConversationGroup(options);
Parameters
The options parameter is of the Object type. It contains the following attribute values:
Name
Type
Description
oldName
String
Old group name
newName
String
New group name, which can be up to 32 bytes in length
Return values
Promise
Sample
let promise = chat.renameConversationGroup({
oldName: 'Suppliers_old',
newName: 'Suppliers_new'
});
promise.then(function(imResponse) {
// Renamed successfully
}).catch(function(imError){
console.warn('renameConversationGroup error:', imError);
});



Getting the list of conversation groups

Call the getConversationGroupList API to get the list of conversation groups.
API
chat.getConversationGroupList();
Return values
Promise
Sample
let promise = chat.getConversationGroupList();
promise.then(function(imResponse) {
const groupNameList = imResponse.data; // Conversation group name list
});
// Obtain all conversations in a specified conversation group
let promise = chat.getConversationList({ groupName: 'Suppliers' });
promise.then(function(imResponse) {
const conversationList = imResponse.data.conversationList; // Conversation list
});

Adding a conversation to a group

After creating a group, you can call the addConversationsToGroup API to add a conversation to the group. After the API is called successfully, the SDK distributes the TencentCloudChat.EVENT.CONVERSATION_GROUP_LIST_UPDATED event.
API
chat.addConversationsToGroup(options);
Parameters
The options parameter is of the Object type. It contains the following attribute values:
Name
Type
Description
conversationIDList
String
List of conversation IDs
groupName
String
Conversation group name, which can be up to 32 bytes in length
Return values
Promise
Sample
let promise = chat.addConversationsToGroup({
conversationIDList: ['GROUPtest', 'C2Cexample'],,
groupName: 'Suppliers_new',
});
promise.then(function(imResponse) {
// Added the conversation to the group successfully
const { successConversationIDList, failureConversationIDList } = imResponse.data;
// successConversationIDList - List of IDs of the conversations that were created successfully
// Get the conversation list
const conversationList = chat.getConversationList(successConversationIDList);

// failureConversationIDList - List of IDs of the conversations that failed to be created
failureConversationIDList.forEach((item) => {
const { conversationID, code, message } = item;
});
}).catch(function(imError){
console.warn('addConversationsToGroup error:', imError);
});

Deleting a conversation from a group

Call the deleteConversationsFromGroup API to delete a conversation from a group. After the API is called successfully, the SDK distributes the TencentCloudChat.EVENT.CONVERSATION_GROUP_LIST_UPDATED event.
API
chat.deleteConversationsFromGroup(options);
Parameters
The options parameter is of the Object type. It contains the following attribute values:
Name
Type
Description
conversationIDList
String
List of conversation IDs
groupName
String
Conversation group name, which can be up to 32 bytes in length
Return values
Promise
Sample
let promise = chat.deleteConversationsFromGroup({
conversationIDList: ['GROUPtest', 'C2Cexample'],,
groupName: 'Suppliers_new',
});
promise.then(function(imResponse) {
// Deleted the conversation from the group successfully
const { successConversationIDList, failureConversationIDList } = imResponse.data;
// successConversationIDList - List of IDs of the conversations that were created successfully
// Get the conversation list
const conversationList = chat.getConversationList(successConversationIDList);

// failureConversationIDList - List of IDs of the conversations that failed to be created
failureConversationIDList.forEach((item) => {
const { conversationID, code, message } = item;
});
}).catch(function(imError){
console.warn('deleteConversationsFromGroup error:', imError);
});

Listening for the notification of a conversation group change

Trigger such listening in the case of a conversation group change, such as conversation group creation, deletion, and renaming.
Sample
let onConversationGroupListUpdated = function(event) {
console.log(event.data); // List of all conversation groups
}
chat.on(TencentCloudChat.EVENT.CONVERSATION_GROUP_LIST_UPDATED, onConversationGroupListUpdated);

Listening for the notification of a conversation change in a conversation group

Trigger such listening in the case of a conversation change in a conversation group, for example, adding a conversation to a conversation group or deleting a conversation from a conversation group.
Sample
let onConversationInGroupUpdated = function(event) {
const { groupName, conversationList } = event.data;
// groupName - Conversation group name
// conversationList - List of conversations in the group
}
chat.on(TencentCloudChat.EVENT.CONVERSATION_IN_GROUP_UPDATED, onConversationInGroupUpdated);