Creating Topic
Feature Overview
This API is used by the app admin to create a topic.
API Calling Description
Applicable group types
Group Type ID | Whether This RESTful API Is Supported |
Private | No |
Public | No |
ChatRoom | No |
AVChatRoom | No |
Community | This API applies only to topic-enabled communities. |
Note:
To use the topic feature, you need to go to the console, choose Feature Configuration > Group configuration > Group feature configuration > Community, enable the community feature and then enable the topic feature.
Sample request URL
https://xxxxxx/v4/million_group_open_http_svc/create_topic?sdkappid=88888888&identifier=admin&usersig=xxx&random=99999999&contenttype=json
Request parameters
The following table describes the modified parameters when this API is called. For other parameters, see RESTful API Overview.
Parameter | Description |
xxxxxx | Domain name corresponding to the country/region where your SDKAppID is located. China: console.tim.qq.com Singapore: adminapisgp.im.qcloud.comSeoul: adminapikr.im.qcloud.com Tokyo: adminapijpn.im.qcloud.comFrankfurt: adminapiger.im.qcloud.comSilicon Valley: adminapiusa.im.qcloud.comJakarta: adminapiidn.im.qcloud.com |
v4/million_group_open_http_svc/create_topic | Request API. |
sdkappid | SDKAppID assigned by the Chat console when an app is created. |
identifier | |
usersig | |
random | A random 32-bit unsigned integer ranging from 0 to 4294967295. |
contenttype | Request format. The value is fixed to json. |
Maximum call frequency
200 calls per second.
Sample request
Basic format
Create a topic. Here,
GroupId is required, which indicates the group of the topic. Before creating a topic, a topic-enabled group must exist.{"GroupId": "@TGS#_@TGS#cQVLVHIM62CJ", // Group ID of the topic, which is required"TopicName": "TestTopic" // Topic name, which is required}
Customize the topic ID
To simplify the topic ID, Tencent Cloud allows customizing it in the format of "GroupId+@TOPIC#_+Custom part" during topic creation through the RESTful API in the application. For more information, see Group System.
{"GroupId": "@TGS#_@TGS#cQVLVHIM62CJ", // Group ID of the topic, which is required"TopicId": "@TGS#_@TGS#cQVLVHIM62CJ@TOPIC#_TestTopic", // Custom topic ID, which is optional"TopicName": "TestTopic" // Topic name, which is required}
ALL IN ONE
{"GroupId": "@TGS#_@TGS#cQVLVHIM62CJ", // Group ID of the topic, which is required"TopicId": "@TGS#_@TGS#cQVLVHIM62CJ@TOPIC#_TestTopic", // Custom topic ID, which is optional"TopicName": "TestTopic", // Topic name, which is required"From_Account": "1400187352", // Member creating the topic"CustomString": "This is a custom string", // Custom string"FaceUrl": "http://this.is.face.url", // (Optional) Topic profile photo URL"Notification": "This is topic Notification", // (Optional) Topic notice"Introduction": "This is topic Introduction" // (Optional) Topic introduction}
Request fields
Field | Type | Required | Description |
GroupId | String | Required | Group ID of the topic to be created. |
TopicId | String | No | To simplify topic IDs and make them easy to remember, Tencent Cloud allows apps to customize topic IDs during topic creation through RESTful APIs. For details, see here. |
TopicName | String | Yes | Topic name, whose maximum length is 30 bytes. This field is UTF-8-encoded, and one Chinese character occupies three bytes. |
From_Account | uint64 | No | User account that wants to create the topic. |
CustomString | String | No | Custom string, which can contain up to 3,000 bytes, encoded in UTF-8. |
FaceUrl | String | No | URL of the topic profile photo, whose maximum length is 100 bytes. |
Notification | String | No | Topic notice, whose maximum length is 300 bytes. This field is UTF-8-encoded, and one Chinese character occupies three bytes. |
Introduction | String | No | Topic introduction, whose maximum length is 240 bytes. This field is UTF-8-encoded, and one Chinese character occupies three bytes. |
DefaultPermission | Integer | No | The default permission for group members in this topic, only groups with permission groups enabled can set this field. |
TopicType | String | No | The type of topic. Possible values: Public (default): The topic shares the same member list as the group. Private: The topic maintains its own member list, independent from the group. Only group members can join, but membership must be granted separately. |
MaxMemberCount | Integer | No | The maximum number of members allowed in the topic. Takes effect only for private topics. Defaults to the upper limit of your current monthly plan. The value cannot exceed 10000 or the group's MaxMemberCount, whichever is lower. |
ApplyJoinOption | String | No | Only effective for private topics. Method for handling requests to join the topic, which can be FreeAccess, NeedPermission, or DisableApply. The default value is FreeAccess. |
InviteJoinOption | String | No | Only effective for private topics. Options for handling invitations to join the group. Valid values: FreeAccess: directly inviting users to the group without approval and other operationsNeedPermission: requiring approval from the group admin or ownerDisableInvite : group invitations via API are disabled |
Sample response
Basic form, containing only basic topic information
{"ActionStatus": "OK","ErrorInfo": "","ErrorCode": 0,"TopicId": "@TGS#_@TGS#cQVLVHIM62CJ@TOPIC#_@TOPIC#cETE3HIM62CQ"}
Custom ID and
ALL IN ONE of the topic{"ActionStatus": "OK","ErrorInfo": "","ErrorCode": 0,"TopicId": "@TGS#_@TGS#cQVLVHIM62CJ@TOPIC#_TestTopic"}
Response fields
Field | Type | Description |
ActionStatus | String | Request result. OK: successful; FAIL: failed. |
ErrorCode | Integer | Error code. 0: Successful; other values: Failed. |
ErrorInfo | String | Error information. |
TopicId | String | ID of the successfully created topic, which can be customized or assigned by the Chat backend. |
Error Codes
The returned HTTP status code for this API is always 200 unless a network error (such as error 502) occurs. The specific error code and details can be found in the response fields
ErrorCode and ErrorInfo respectively.
For public error codes (60000 to 79999), see Error Codes.
The following table describes the error codes specific to this API:Error Code | Description |
10002 | Internal server error. Try again. |
10003 | Invalid command word. |
10004 | Invalid parameter. Check the error description and troubleshoot the issue. |
10006 | The operation exceeds the frequency limit. Please reduce the call frequency. This error is usually caused by too much net group increase in a single day or too frequent calls to obtain all groups in the app. |
10007 | Insufficient operation permissions. Check the request parameters based on the error message. |
10008 | The request is invalid, probably because verification of the signing information in the request failed. Please try again or submit a ticket. |
10010 | The current group does not exist or has been deleted. |
10015 | The requested group ID is invalid. Check the request parameter based on the error message. |
10016 | The application backend rejected this operation through a webhook. Check the returned value of the webhook before topic creation. |
10025 | You have already used this group ID. Disband the existing group first or select another group ID. |
10036 | The number of audio-video groups (AVChatRoom) created exceeds the limit. Delete some of the groups or purchase an upgrade by referring to Pricing. |
10037 | The number of prepaid topics created exceeds the limit. Delete some of the topics or purchase an upgrade by referring to Pricing. |
11000 | The current group does not support the community topic feature. To use this feature, you need to purchase the Pro edition 、Pro Plus edition or Enterprise edition and enable it in the console. |
11003 | The current group does not support the private topic feature. To use this feature, you need to purchase the Pro Plus edition or Enterprise edition. |
80001 | Failed to pass the security check. Check the request parameters based on the error message. |