C

IM SDK Initialization APIs

To use the Tencent Cloud Chat service, you need to initialize the SDK and log in.
API
Description
TIMInit
Initializes the IM SDK.
TIMUninit
Uninstalls the IM SDK.
TIMGetSDKVersion
Gets IM SDK version number.
TIMGetServerTime
Gets the current server time.
TIMSetConfig
Sets extra user configurations.

Login and Logout APIs

API
Description
TIMLogin
Logs in.
TIMLogout
Logs out.
TIMGetLoginUserID
Gets the userID of the logged-in user.
TIMGetLoginStatus
Gets the login status.

Message APIs

API
Description
TIMMsgSendMessage
Sends a new message
TIMMsgCancelSend
Cancels a message based on the messageID.
TIMMsgBatchSend
Sends a message to multiple users at a time, but not to groups.
TIMMsgDownloadElemToPath
Downloads message elements (such as the image, video, audio, and file) to a path.
TIMMsgDownloadMergerMessage
Downloads a merged message.
TIMMsgSetLocalCustomData
Sets custom message data (saved locally, not sent to the peer, and invalidated upon app reinstallation).
TIMMsgSetC2CReceiveMessageOpt
Sets the one-to-one message receiving option for a user (batch setting supported).
TIMMsgGetC2CReceiveMessageOpt
Queries the one-to-one message receiving option for a user.
TIMMsgSetGroupReceiveMessageOpt
Sets the receiving option for group messages.
TIMMsgSetAllReceiveMessageOpt
Sets the global message receiving option for a logged-in user (supports setting do-not-disturb times for each day).
TIMMsgSetAllReceiveMessageOpt2
Sets the global message receiving option for a logged-in user.
TIMMsgGetAllReceiveMessageOpt
Gets the global message receiving option of a logged-in user.
TIMMsgGetMsgList
Gets the message list of a conversation.
TIMMsgRevoke
Recalls a message.
TIMMsgModifyMessage
Modifies a message.
TIMMsgDelete
Deletes the messages of a conversation.
TIMMsgListDelete
Deletes the local and roaming message lists of a conversation.
TIMMsgClearHistoryMessage
Clears the messages of a conversation.
TIMMsgSaveMsg
Saves a custom message.
TIMMsgImportMsgList
Imports a message list to a conversation.
TIMMsgFindMessages
Queries the list of local messages based on the messageID.
TIMMsgFindByMsgLocatorList
Locates a message of a conversation by using the message locator.
TIMMsgSearchLocalMessages
Searches for local messages.
TIMMsgSearchCloudMessages
Searches for cloud messages.
TIMMsgSendMessageReadReceipts
Sends message read receipts.
TIMMsgGetMessageReadReceipts
Gets message read receipts.
TIMMsgGetGroupMessageReadMemberList
Gets the list of group members who have read group messages.
TIMMsgSetMessageExtensions
Sets message extensions.
TIMMsgGetMessageExtensions
Gets message extensions.
TIMMsgDeleteMessageExtensions
Deletes message extensions.
TIMMsgAddMessageReaction
Adds message reaction.
TIMMsgRemoveMessageReaction
Deletes message reaction.
TIMMsgGetMessageReactions
Gets message reactions.
TIMMsgGetAllUserListOfMessageReaction
Gets the users who respond with the specified message by page.
TIMMsgTranslateText
Translates a text message.
TIMPinGroupMessage
Sets group message pinning.
TIMGetPinnedMessageList
Gets the pinned group message list.

Conversation APIs

The conversation list is the list a user sees on the first screen after login. It includes elements such as the conversation node, conversation name, group name, last message, and unread count.
API
Description
TIMConvGetConvList
Gets the conversation list.
TIMConvGetConvInfo
Queries a list of conversations.
TIMConvGetConversationListByFilter
An advanced API for getting the conversation list.
TIMConvDelete
Deletes a conversation.
TIMConvDeleteConversationList
Deletes the conversation list.
TIMConvSetDraft
Sets the draft for a conversation.
TIMConvCancelDraft
Deletes the draft for a conversation.
TIMConvSetConversationCustomData
Sets custom conversation data.
TIMConvPinConversation
Pins a conversation to the top.
TIMConvMarkConversation
Marks a conversation.
TIMConvGetTotalUnreadMessageCount
Gets the total unread message count of all conversations.
TIMConvGetUnreadMessageCountByFilter
Gets the total unread message count by filter.
TIMConvSubscribeUnreadMessageCountByFilter
Subscribes to notification of total unread message count for conversations specified by filter.
TIMConvUnsubscribeUnreadMessageCountByFilter
Unsubscribes from notification of total unread message count for conversations specified by filter.
TIMConvCleanConversationUnreadMessageCount
Cleans up the unread message count of the conversation.
TIMConvCreateConversationGroup
Creates a conversation group.
TIMConvGetConversationGroupList
Gets the list of conversation groups.
TIMConvDeleteConversationGroup
Deletes a conversation group.
TIMConvRenameConversationGroup
Renames a conversation group.
TIMConvAddConversationsToGroup
Adds a conversation to a conversation group.
TIMConvDeleteConversationsFromGroup
Deletes conversations from a group.

Group APIs

Tencent Cloud Chat SDK supports the following preset group types, each of which pertains to different scenarios.
Work group (Work): Users can join the group only after being invited by group members. This group is similar to ordinary WeChat groups.
Public group (Public): Similar to QQ groups, users can join a public group through requests, which need to be approved by the group owner or group admin.
Meeting group (Meeting): Used together with TRTC to enable scenarios such as video conferencing and online education. Users can join and leave the group freely and view the message history before they join.
Community: Community supports up to 100,000 members and a user can join and leave a community freely without approval. It is suitable for chat scenarios with a super large number of community members, such as knowledge sharing and game discussion. This feature is supported by a client with the SDK edition V5.8 or later. To use it, you need to purchase the premium edition, and then enable it via console > Feature Configuration > Group Configuration > Group Feature Configuration > Community.
Audio-video group (AVChatRoom): An audio-video group allows users to join and leave freely and is suitable for scenarios such as live streaming and chat rooms with on-screen comments. There is no limit on the number of group members.
API
Description
TIMGroupCreate
Creates a group.
TIMGroupDelete
Deletes or dissolves a group.
TIMGroupJoin
Requests to join a group.
TIMGroupQuit
Quits a group.
TIMGroupGetJoinedGroupList
Gets the list of groups that a user has joined.
TIMGroupGetGroupInfoList
Gets group information.
TIMGroupSearchGroups
Searches for groups.
TIMGroupModifyGroupInfo
Modifies group information.
TIMGroupInitGroupAttributes
Initializes the group attributes to clear the existing group attribute list.
TIMGroupSetGroupAttributes
Sets group attributes. If a group attribute already exists, its value will be updated; otherwise, it will be added.
TIMGroupDeleteGroupAttributes
Deletes group attributes.
TIMGroupGetGroupAttributes
Gets a specified group attribute. If `NULL` is passed in for `json_keys`, all the group attributes will be obtained.
TIMGroupGetOnlineMemberCount
Gets the number of online members in a group.
TIMGroupSetGroupCounters
Sets group counters.
TIMGroupGetGroupCounters
Gets group counters.
TIMGroupIncreaseGroupCounter
Increases the group counter.
TIMGroupDecreaseGroupCounter
Decreases the group counter.
TIMGroupGetJoinedCommunityList
Gets the list of communities the current user has joined.
TIMGroupCreateTopicInCommunity
Creates a topic.
TIMGroupDeleteTopicFromCommunity
Deletes a topic.
TIMGroupSetTopicInfo
Modifies topic information.
TIMGroupGetTopicInfoList
Gets the list of topics.
TIMGroupGetMemberInfoList
Gets group member information.
TIMGroupSearchGroupMembers
Searches for group members.
TIMGroupModifyMemberInfo
Modifies group member information.
TIMGroupInviteMember
Invites someone to join a group.
TIMGroupDeleteMember
Removes a member from a group.
TIMGroupMarkGroupMemberList
Marks group members.
TIMGroupGetPendencyList
Gets the pending group request list.(Pending group requests are those that are not handled, for example, invitations or requests to join a group.)
TIMGroupHandlePendency
Handles pending group requests.
TIMGroupReportPendencyReaded
Reports that a pending group request is read.

Community Topic APIs

API
Description
TIMCommunityCreate
Creates a community that supports a topic.
TIMCommunityGetJoinedCommunityList
Gets the list of communities the current user has joined.
TIMCommunityCreateTopicInCommunity
Creates a topic.
TIMCommunityDeleteTopicFromCommunity
Deletes a topic.
TIMCommunitySetTopicInfo
Modifies topic information.
TIMCommunityGetTopicInfoList
Gets the list of topics.
TIMCommunityCreatePermissionGroupInCommunity
Creates a community permission group.
TIMCommunityDeletePermissionGroupFromCommunity
Deletes a community permission group.
TIMCommunityModifyPermissionGroupInfoInCommunity
Modifies a community permission group.
TIMCommunityGetJoinedPermissionGroupListInCommunity
Gets the list of community permission groups a user has joined.
TIMCommunityGetPermissionGroupListInCommunity
Gets a community permission group list.
TIMCommunityAddCommunityMembersToPermissionGroup
Adds members to a community permission group.
TIMCommunityRemoveCommunityMembersFromPermissionGroup
Removes members from a community permission group.
TIMCommunityGetCommunityMemberListInPermissionGroup
Gets the list of community permission group members.
TIMCommunityAddTopicPermissionToPermissionGroup
Adds topic permission to the permission group.
TIMCommunityDeleteTopicPermissionFromPermissionGroup
Deletes topic permission from the permission group.
TIMCommunityModifyTopicPermissionInPermissionGroup
Modifies the topic permission in the permission group.
TIMCommunityGetTopicPermissionInPermissionGroup
Gets the topic permission in the permission group.

User Profile APIs

API
Description
TIMProfileGetUserProfileList
Gets users' profiles.
TIMProfileModifySelfUserProfile
Modifies one's own profile.
TIMSubscribeUserInfo
Subscribes to a stranger's profile.
TIMUnsubscribeUserInfo
Unsubscribes from a stranger's profile.

User Status APIs

API
Description
TIMGetUserStatus
Gets user status information.
TIMSetSelfStatus
Sets one's own status.
TIMSubscribeUserStatus
Subscribes to a user's status.
TIMUnsubscribeUserStatus
Unsubscribes from a user's status.

Friend Management APIs

By default, Tencent Cloud Chat does not check your relationship with a user when receiving and sending messages. You can enable Check Relationship for One-to-One Messages on Feature Configuration > Login and Message > Relationship Check in the Chat console and use the following APIs to add/delete friends and manage your friends.
API
Description
TIMFriendshipGetFriendProfileList
Gets the contacts.
TIMFriendshipGetFriendsInfo
Gets information of friends.
TIMFriendshipModifyFriendProfile
Updates the profile of a friend (such as remarks).
TIMFriendshipSearchFriends
Searches for a friend.
TIMFriendshipAddFriend
Adds a friend.
TIMFriendshipDeleteFriend
Deletes a friend.
TIMFriendshipCheckFriendType
Checks the friend type (one-way or two-way).
TIMFriendshipGetPendencyList
Gets the pending friend request list.
TIMFriendshipHandleFriendAddRequest
Handles friend requests.
TIMFriendshipReportPendencyReaded
Reports that a pending friend request is read.
TIMFriendshipDeletePendency
Deletes a pending friend request.
TIMFriendshipGetBlackList
Gets the blocklist.
TIMFriendshipAddToBlackList
Adds a user to the blocklist.
TIMFriendshipDeleteFromBlackList
Removes a user from the blocklist.
TIMFriendshipCreateFriendGroup
Creates a friend group.
TIMFriendshipGetFriendGroupList
Gets the information of a friend group.
TIMFriendshipDeleteFriendGroup
Deletes a friend group.
TIMFriendshipModifyFriendGroup
Modifies a friend group.

Official Account APIs

Official accounts can send broadcast messages and one-to-one (C2C) messages to subscribers.
API
Description
TIMSubscribeOfficialAccount
Subscribes to an official account.
TIMUnsubscribeOfficialAccount
Unsubscribes from an official account.
TIMGetOfficialAccountsInfo
Gets a list of official accounts.

Follow Feature APIs

The follow feature can help establish and maintain simple connections between users, facilitating interaction and communication among them.
API
Description
TIMFollowUser
Follows users.
TIMUnfollowUser
Unfollows users.
TIMGetMyFollowingList
Gets my following user list.
TIMGetMyFollowersList
Gets my follower list.
TIMGetMutualFollowersList
Gets my mutual following user list.
TIMGetUserFollowInfo
Gets the information of followings/followers/mutual followings of a specified user.
TIMCheckFollowType
Checks the follow type of a specified user.

Offline Push APIs

API
Description
TIMMsgSetOfflinePushToken
Sets offline push configuration information (for iOS and Android platforms only).
TIMMsgDoBackground
Specifies the initial unread count on the desktop badge (for iOS and Android platforms only). This API can be called when the app detects that the app switches to the background.
TIMMsgDoForeground
Called when the app detects that the app switches to the foreground (for iOS and Android platforms only).

Signaling APIs

API
Description
TIMSignalingInvite
Invites a user.
TIMSignalingInviteInGroup
Invites certain users in the group.
TIMSignalingCancel
Cancels an invitation.
TIMSignalingAccept
Accepts an invitation.
TIMSignalingReject
Rejects an invitation.
TIMGetSignalingInfo
Gets the signaling information.
TIMSignalingModifyInvitation
Modifies the invitation signaling.

Event Callback APIs

IM SDK initialization and login callback APIs

API
Description
TIMSetNetworkStatusListenerCallback
Sets the callback for network connection status.
TIMSetKickedOfflineCallback
Sets the callback for forced logout.
TIMSetUserSigExpiredCallback
Sets the callback for user ticket expiration.
TIMSetLogCallback
Sets the callback for logs.

Message callback APIs

API
Description
TIMAddRecvNewMsgCallback
Adds the callback for receiving new messages.
TIMRemoveRecvNewMsgCallback
Deletes the callback for receiving new messages.
TIMSetMsgElemUploadProgressCallback
Sets the callback for the upload progress of message element files.
TIMSetMsgReadedReceiptCallback
Sets the callback for message read receipts.
TIMSetMsgRevokeCallback
Sets the callback for message recalls.
TIMSetMsgUpdateCallback
Sets the callback for message update notifications returned after messages are modified in the cloud.
TIMSetMsgExtensionsChangedCallback
Sets the callback for message extension changes.
TIMSetMsgExtensionsDeletedCallback
Sets the callback for message extension deletion.
TIMSetMsgReactionsChangedCallback
Sets the callback for message reaction changes.
TIMSetMsgAllMessageReceiveOptionCallback
Sets the callback for the global message receiving option.

Conversation callback APIs

API
Description
TIMSetConvEventCallback
Sets the callback for conversation events.
TIMSetConvTotalUnreadMessageCountChangedCallback
Sets the callback for changes in the unread message count of a conversation.
TIMSetConvUnreadMessageCountChangedByFilterCallback
Sets the callback for changes in the unread message count of filtered conversations.
TIMSetConvConversationGroupCreatedCallback
Sets the callback for conversation group creation.
TIMSetConvConversationGroupDeletedCallback
Sets the callback for conversation group deletion.
TIMSetConvConversationGroupNameChangedCallback
Sets the callback for a conversation group name change.
TIMSetConvConversationsAddedToGroupCallback
Sets the callback for adding a conversation to a conversation group.
TIMSetConvConversationsDeletedFromGroupCallback
Sets the callback for deleting a conversation from a conversation group.

Group callback APIs

API
Description
TIMSetGroupTipsEventCallback
Sets the callback for group system messages.
TIMSetGroupAttributeChangedCallback
Sets the callback for a group attribute change.
TIMSetGroupCounterChangedCallback
Sets the callback for a group counter change.
TIMSetGroupTopicCreatedCallback
Sets the callback for group topic creation.
TIMSetGroupTopicDeletedCallback
Sets the callback for group topic deletion.
TIMSetGroupTopicChangedCallback
Sets the callback for group topic changes.

Community topic callback APIs

API
Description
TIMSetCommunityCreateTopicCallback
Sets the callback for community topic creation.
TIMSetCommunityDeleteTopicCallback
Sets the callback for community topic deletion.
TIMSetCommunityChangeTopicInfoCallback
Sets the callback for community topic changes.
TIMSetCommunityReceiveTopicRESTCustomDataCallback
Sets the callback for the topic custom system messages pushed by REST API.
TIMSetCommunityCreatePermissionGroupCallback
Sets the callback for permission group creation.
TIMSetCommunityDeletePermissionGroupCallback
Sets the callback for permission group deletion.
TIMSetCommunityChangePermissionGroupInfoCallback
Sets the callback for permission group information changes.
TIMSetCommunityAddMembersToPermissionGroupCallback
Sets the callback for adding a member to the permission group.
TIMSetCommunityRemoveMembersFromPermissionGroupCallback
Sets the callback for removing a member from the permission group.
TIMSetCommunityAddTopicPermissionCallback
Sets the callback for adding a topic permission to the permission group.
TIMSetCommunityDeleteTopicPermissionCallback
Sets the callback for deleting a topic permission from the permission group.
TIMSetCommunityModifyTopicPermissionCallback
Sets the callback for modifying a topic permission in the permission group.

User profile and status callback APIs

API
Description
TIMSetSelfInfoUpdatedCallback
Sets the callback for one's own profile changes.
TIMSetUserStatusChangedCallback
Sets the callback for user status changes.
TIMSetUserInfoChangedCallback
Sets the callback for subscriber profile changes.

Friend callback APIs

API
Description
TIMSetOnAddFriendCallback
Sets the callback for adding friends.
TIMSetOnDeleteFriendCallback
Sets the callback for deleting friends.
TIMSetUpdateFriendProfileCallback
Sets the callback for updating friends' profiles.
TIMSetFriendAddRequestCallback
Sets the callback for friend requests.
TIMSetFriendApplicationListDeletedCallback
Sets the callback for deleting a friend request.
TIMSetFriendApplicationListReadCallback
Sets the callback for reading a friend request.
TIMSetFriendBlackListAddedCallback
Sets the callback for adding a friend to the blocklist.
TIMSetFriendBlackListDeletedCallback
Sets the callback for removing a friend from the blocklist.
TIMSetFriendGroupCreatedCallback
Sets the callback for friend group creation.
TIMSetFriendGroupDeletedCallback
Sets the callback for friend group deletion.
TIMSetFriendGroupNameChangedCallback
Sets the callback for a friend group name change.
TIMSetFriendsAddedToGroupCallback
Sets the callback for adding a friend to a friend group.
TIMSetFriendsDeletedFromGroupCallback
Sets the callback for deleting a friend from a friend group.

Official account callback APIs

API
Description
TIMSetOfficialAccountSubscribedCallback
Sets the callback for subscribing to an official account.
TIMSetOfficialAccountUnsubscribedCallback
Sets the callback for unsubscribing from an official account.
TIMSetOfficialAccountDeletedCallback
Sets the callback for deleting an official account.
TIMSetOfficialAccountInfoChangedCallback
Sets the callback for subscribed official account information changes.

Follow feature callback APIs

API
Description
TIMSetMyFollowingListChangedCallback
Sets the callback for my following list changes.
TIMSetMyFollowersListChangedCallback
Sets the callback for my followers list changes.
TIMSetMutualFollowersListChangedCallback
Sets the callback for mutual following list changes.

Signaling callback APIs

API
Description
TIMSetSignalingReceiveNewInvitationCallback
Sets the callback for receiving a new invitation.
TIMSetSignalingInvitationCancelledCallback
Sets the callback for canceling an invitation.
TIMSetSignalingInviteeAcceptedCallback
Sets the callback for accepting an invitation by invitees.
TIMSetSignalingInviteeRejectedCallback
Sets the callback for rejecting an invitation by invitees.
TIMSetSignalingInvitationTimeoutCallback
Sets the callback for an invitation timeout.
TIMSetSignalingInvitationModifiedCallback
Sets the callback for modifying an invitation.