添加关键词

大约 4 分钟

添加关键词

功能说明

  • 添加关键词。
  • 每个应用最多可配置 10 个名单, 每个名单最多可添加 10,000 个关键词,即每个应用最多可配置 100,000 个词条。

调用频率上限:100 次/秒/App Key

前提条件

要调用环信即时通讯 RESTful API,请确保满足以下要求:

认证方式

环信即时通讯 REST API 要求 Bearer HTTP 认证。每次发送 HTTP 请求时,都必须在请求头部填入如下 Authorization 字段:

Authorization: Bearer YourAppToken

为提高项目的安全性,环信使用 Token(动态密钥)对即将登录即时通讯系统的用户进行鉴权。本文介绍的即时通讯所有 REST API 均需使用 App Token 的鉴权方式,详见 使用 App Token 鉴权

HTTP 请求

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

路径参数

参数类型是否必需描述
hostString环信即时通讯 IM 分配的用于访问 RESTful API 的域名。详见 获取环信即时通讯 IM 的信息
org_nameString环信即时通讯 IM 为每个公司(组织)分配的唯一标识。详见 获取环信即时通讯 IM 的信息
app_nameString你在环信即时通讯云控制台创建应用时填入的应用名称。详见 获取环信即时通讯 IM 的信息
list_idString关键词名单 ID。将关键词添加到该名单中。

请求 header

参数类型是否必需描述
Content-TypeString内容类型。请填 application/json
AcceptString内容类型。请填 application/json
AuthorizationStringApp 管理员的鉴权 token,格式为 Bearer YourAppToken,其中 Bearer 为固定字符,后面为英文空格和获取到的 app token。

请求 body

参数类型是否必需描述
wordContentsArray要添加的关键词列表。 一次最多可添加 100 个关键词。
userIdString添加关键词的用户 ID。

HTTP 响应

响应 body

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

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

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

示例

请求示例

# 将 <YourAppToken> 替换为你在服务端生成的 App Token

curl -X POST 'https://XXXX/XXXX/XXXX/moderation/text/list/{list_id}/word/batch' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <YourAppToken>' \
-d '{
      "wordContents": [
      "music",
      "musicradio",
      "musicvideo"
      ],
      "userId": "v1"
    }' 

响应示例

{
    "status": "OK",
    "entity": {
        "id": "1r14SOXXXXiSBbR3WTczWj92qsq",
        "name": "1",
        "moderationId": "159Rss4cL0XXXXcBfVAZ0IRQNwW",
        "appkey": "XXXX#XXXX",
        "category": "DEFAULT",
        "scope": "ALL",
        "tagId": null,
        "fullMatch": false,
        "suggestion": "PASS",
        "disposition": "PASS",
        "quantity": 4,
        "status": "ACTIVE",
        "createDataTime": 1740732560873,
        "updateDataTime": 1752501847616,
        "textList": [
            {
                "id": "1xDQ86NiiXXXXmGNMBGgNEZ6jj9",
                "appId": "1DHFtAi7XXXXqsrjCV449Kljh98",
                "word": "music",
                "userId": "v1",
                "listId": "1r14SOXXXXiSBbR3WTczWj92qsq",
                "status": true,
                "createDateTime": 1752489316741,
                "updateDateTime": 1752490995382
            },
            {
                "id": "1xXXXXUjdvN1LE68wFeILywpks2",
                "appId": "1DHFtAi7XXXXqsrjCV449Kljh98",
                "word": "musicradio",
                "userId": "v1",
                "listId": "1r14SOXXXXiSBbR3WTczWj92qsq",
                "status": true,
                "createDateTime": 1752501847581,
                "updateDateTime": 1752501847581
            },
            {
                "id": "1xDpWuXXXXqAfXzk0Y2OZ3JOhJt",
                "appId": "1DHFtAi7XXXXqsrjCV449Kljh98",
                "word": "musicvideo",
                "userId": "v1",
                "listId": "1r14SOXXXXiSBbR3WTczWj92qsq",
                "status": true,
                "createDateTime": 1752501847581,
                "updateDateTime": 1752501847581
            }
        ]
    }
}

错误码

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

HTTP 状态码错误类型错误提示可能原因处理建议
401unauthorizedUnable to authenticate (OAuth)token 不合法,可能过期或 token 错误。使用新的 token 访问。
400Bad RequestThe text count exceeds the maximum number关键词数量超限。减少关键词数量。每个名单最多可添加 10,000 个关键词,每个应用最多可配置 100,000 个词条。
400Bad Requestrequest data is empty新增名单为空。添加关键词名单。
400Bad RequesttextList data is empty不存在关键词名单。先创建名单,再操作。
400Bad RequestThe textList already contains the text关键词重复。去除重复关键词。

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