创建关键词名单

大约 5 分钟

创建关键词名单

功能说明

  • 创建关键词名单。
  • 关键词名单为增值服务,在 文本审核规则 中应用。使用前,你需要开通 文本审核服务, 配置 文本审核规则,并开通 关键词名单服务
  • 创建的名单会在环信控制台的 关键词名单 列表(即时通讯 > 内容审核 > 文本审核 > 关键词名单)中展示。你可以在环信控制台编辑、删除名单或进行添加/删除关键词等操作。
  • 每个应用最多可配置 100 个名单, 每个名单最多可添加 10,000 个关键词,即每个应用最多可配置 1,000,000 个词条。

调用频率上限

100 次/秒/App Key

请求 URL

POST https://{host}/{org_name}/{app_name}/moderation/text/list

关于请求 URL 中的参数说明,详见 请求 URL 参数介绍

请求示例

# 将 <YourAppToken> 替换为你在服务端生成的 App Token
curl -X POST 'https://XXXX/XXXX/XXXX/moderation/text/list' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <YourAppToken>' \
-d '{
      "name": "list_1",
      "scope": "ALL",
      "disposition": "PASS",
      "fullMatch": true,
      "userId": "v1",
      "textContexts": ["music", "sport", "entertainment"]
    }' 

请求 header 参数

关于 Content-TypeAcceptAuthorization 字段的说明,详见 请求 header 参数说明

请求 body 参数

参数类型是否必需描述
nameString关键词名单的名称,不能超过 32 个字符。
scopeString关键词名单的生效范围:
- ALL:对所有会话均生效;
- CHAT:仅对单聊会话生效;
- GROUP:仅对群组会话生效;
- ROOM:仅对聊天室会话生效;
- TAG:仅对指定标签下的用户、群组或聊天室生效。
tagIdString标签 ID。该参数仅在 scopeTAG 时必须设置。
dispositionString对匹配关键词的消息内容的审核处理:
- PASS:忽略,对匹配的关键词不处理。
- REJECT:拦截,对内容匹配关键词的消息进行拦截,不下发给接收方。
- EXCHANGE:替换为 ***
fullMatchBoolean关键词与消息内容是否为精确匹配:
- true:是
- (默认) false:否
userIdString创建关键词名单的用户 ID。
textContextsArray关键词。每次最多可包含 200 个关键词,每个关键词的不能超过 128 个字符。

响应示例

{
    "status": "OK",
    "entity": {
        "id": "1xIXXXXlodF52URYQk7rZmd5s8k",
        "name": "list_1",
        "moderationId": "159XXXXcL0ylUvcBfVAZ0IRQNwW",
        "appkey": "XXXX#XXXX",
        "category": "DEFAULT",
        "scope": "ALL",
        "tagId": null,
        "fullMatch": true,
        "suggestion": "PASS",
        "disposition": "PASS",
        "quantity": 3,
        "status": "ACTIVE",
        "createDataTime": 1752631447613,
        "updateDataTime": 1752631447613,
        "textList": [
            {
                "id": "1xXXXXzCd7dhlkbkgE9REtO760H",
                "appId": "1XXXXAi7wabrqsrjCV449Kljh98",
                "word": "music",
                "userId": "v1",
                "listId": "1xXXXXlodF52URYQk7rZmd5s8k",
                "status": true,
                "createDateTime": 1752631447638,
                "updateDateTime": 1752631447638
            },
            {
                "id": "1xXXXXSXWJyUAkatENR9VM9cM8H",
                "appId": "1DHFtAi7wabrqsrjCV449Kljh98",
                "word": "entertainment",
                "userId": "v1",
                "listId": "1xXXXXlodF52URYQk7rZmd5s8k",
                "status": true,
                "createDateTime": 1752631447638,
                "updateDateTime": 1752631447638
            },
            {
                "id": "1xXXXXMwaoioOHkiGr74Ru6xArO",
                "appId": "1DHFtAi7wabrqsrjCV449Kljh98",
                "word": "sport",
                "userId": "v1",
                "listId": "1xXXXXlodF52URYQk7rZmd5s8k",
                "status": true,
                "createDateTime": 1752631447638,
                "updateDateTime": 1752631447638
            }
        ]
    }
}

响应 body 字段

如果返回的 HTTP 状态码为 200,表示请求成功,响应包体中包含以下字段:

字段类型描述
statusString请求状态。若请求成功,返回 OK
entityJSON关键词名单的详情。
- idString关键词名单 ID。
- nameString关键词名单的名称。
- moderationIdString审核 ID。开发者可忽略该参数。
- appkeyString应用的 App Key。
- categoryString值为 DEFAULT,表示关键词名单。
- scopeString关键词名单的生效范围。
- tagIdString标签 ID。
- fullMatchBoolean关键词与消息内容是否要精确匹配。
- suggestionString对匹配关键词的消息内容的处理建议。该字段的值以及值的含义与 disposition 字段相同。
- dispositionString对匹配关键词的消息内容的处理。关于该字段的说明,详见 请求 body 中的 disposition
- quantityInt关键词数量。
- statusString关键词名单的状态:
- ACTIVE:开启
- CLOSE:关闭
- createDataTimeLong关键词名单的创建时间。
- updateDataTimeLong关键词名单的修改时间。
- textListArray关键词列表。
- id:String, 关键词 ID。
- appId:String,应用 ID。
- word:String, 关键词。
- userId:String,添加关键词的用户 ID。
- listId:String,关键词名单 ID。
- status:String,关键词状态。开发者可忽略该参数。
- createDateTime:Long,关键词添加时间。
- updateDateTime:Long,关键词更新时间。

如果返回的 HTTP 状态码非 200,表示请求失败。你可以参考 错误码 了解可能的原因。

错误码

如果返回的 HTTP 状态码非 200,表示请求失败,可能提示以下错误码:

HTTP 状态码错误类型错误提示可能原因处理建议
401unauthorizedUnable to authenticate (OAuth)token 不合法,可能过期或 token 错误。使用新的 token 访问。
400Bad Requestrequest param is empty生效范围、关键词名单的名称、对匹配关键词的消息内容的审核处理为空。检查必填参数。
400Bad RequestThe textList count exceeds the maximum number关键词名单数量超过上限。每个应用最多可配置 100 个名单。减少关键词名单数量。
400Bad RequestThe text count exceeds the maximum number关键词数量超过上限。减少关键词数量。
400Bad RequestThe textList already exists关键词名单名称已存在。修改关键词名单名称。
400Bad Requestmoderation org data is empty你未开通内容审核服务。开通内容审核服务。
400Bad Requestthe number of words exceeds the limit应用下面的关键词总数超过上限。每个应用最多可配置 100 个名单, 每个名单最多可添加 10,000 个关键词,即每个应用最多可配置 1,000,000 个词条。减少关键词数量。
400MODERATION_002"request param is empty若未设置必填参数,例如 namescope,会提示该错误。请传入必填参数。

关于其他错误,你可以参考 错误码页面 了解可能的原因。

上次编辑于: