# 文本内容安全识别

调试诊断

接口应在服务器端调用,不可在前端(小程序、网页、APP等)直接调用,具体可参考接口调用指南

接口英文名:gameMsgSecCheck

文本审核接口能够识别游戏领域常见的违规内容,例如:谩骂、低俗、营销广告、小语种,无意义灌水以及违法违规,帮助构建健康的游戏环境。

  • 违法违规内容识别
  • 谩骂,隐晦低俗,软色情
  • 灰黑产广告引流识别
  • 文本变种对抗,拆字叠楼识别
  • 文本小语种类型识别
  • 灌水无意义文本识别

应用场景:

  • 用户昵称检测
  • 聊天类文本检测
  • 游戏素材类文本检测
  • 社区类文本检测
  • 资料类文本检测
  • 其他文本检测场景

# 1. 调用方式

# HTTPS 调用

POST https://api.weixin.qq.com/wxa/game/content_spam/msg_sec_check?access_token=ACCESS_TOKEN

# 云调用

  • 调用方法:wxa.game.contentSpam.msgSecCheck

  • 出入参和 HTTPS 调用相同,调用方式可查看 云调用 说明文档。

# 第三方调用

  • 本接口不支持第三方平台调用。

# 2. 请求参数

# 查询参数 Query String Parameters

参数名类型必填示例说明
access_tokenstringACCESS_TOKEN接口调用凭证,可使用 access_token

# 请求体 Request Payload

参数名类型必填说明
openidstring用户的 openid
versionnumber接口版本号,固定值 2
scenenumber场景枚举值: 1 资料;2 评论;3 论坛;4 社交日志;5 聊天;
contentstring需检测的文本内容,文本字数的上限为 2500 字,需使用 UTF-8 编码
nicknamestring用户昵称,需使用 UTF-8 编码

# 3. 返回参数

# 返回体 Response Payload

参数名类型说明
errcodenumber错误码
errmsgstring错误信息
trace_idstring唯一请求标识,标记单次请求
resultobject综合结果
detailobjarray详细检测结果

# Res.result Object Payload

综合结果

参数名类型说明枚举
suggeststring有risky(拦截)、pass(通过)三种值-
labelnumber命中标签枚举值
replaced_contentstring将关键词替换成`*`之后得到文本,如果未命中关键词而是命中模型则全文替换成`*`,通过则为原文-

# Res.detail(Array) Object Payload

详细检测结果

参数名类型说明枚举
strategystring策略类型-
errcodenumber错误码,仅当该值为0时,该项结果有效-
suggeststring有risky(拦截)、pass(通过)三种值-
labelnumber命中标签枚举值
keywordstring命中的自定义关键词-
probnumber0-100,代表置信度,越高代表越有可能属于当前返回的标签(label)-

# 4. 枚举信息

# Res.result.label Enum

命中标签

枚举值描述
100正常
10001营销广告
20001时政
20002色情
20003辱骂
20006违法犯罪
20012低俗
21000其他

# Res.detail(Array).label Enum

命中标签

枚举值描述
100正常
10001营销广告
20001时政
20002色情
20003辱骂
20006违法犯罪
20012低俗
21000其他

# 5. 注意事项

  • 版本说明: 原 1.0 和 2.0 内容安全接口【点击查看】适配小程序通用场景,小游戏建议使用游戏专用场景内容安全接口(本接口适配游戏场景标准,增强游戏场景谩骂低俗识别能力,新增对抗叠楼、游戏营销引流、小语种、灌水无意义文本识别能力);
  • 频率限制: 单个 AppID 调用上限为 1 万/分钟,1000 万/天,特殊情况可申请上调;
  • 请求耗时: 接口同步返回,一般耗时在 500ms 内,考虑http请求链路耗时,建议设置超时 1s;
  • 数据范围: 所有在微信端展示的数据,都建议请求本接口,包括小游戏用户产生的内容,以及其他渠道产生但会在微信端曝光的内容;

# 6. 代码示例

# 6.1 HTTP示例

请求示例

{
  "openid": "OPENID",
  "scene": 5,
  "version": 2,
  "content": "最新队换马嗖红胡子攻略团"
}

返回示例

{
  "errcode": 0,
  "errmsg": "ok",
  "trace_id": "54bf091a-821t3794-237p1237",
  "result": {
    "suggest": "risky",
    "label": 10001,
    "replaced_content": "最新***嗖红胡子攻略团"
  },
  "detail": [
    {
      "strategy": "minigame_content_model",
      "errcode": 0,
      "suggest": "risky",
      "label": 10001,
      "prob": 90
    },
    {
      "strategy": "keyword",
      "errcode": 0,
      "suggest": "risky",
      "label": 10001,
      "level": 90,
      "keyword": "命中的关键词1"
    }
  ]
}

# 6.2 云调用示例

请求示例

const cloud = require('wx-server-sdk');
cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV,
});
exports.main = async (event, context) => {
  try {
    const result = await cloud.openapi.wxa.game.contentSpam.msgSecCheck({
      openid: 'OPENID',
      scene: 5,
      version: 2,
      content: '最新队换马嗖红胡子攻略团',
    });
    return result;
  } catch (err) {
    return err;
  }
};

返回示例

{
  "errcode": 0,
  "errmsg": "ok",
  "trace_id": "54bf091a-821t3794-237p1237",
  "result": {
    "suggest": "risky",
    "label": 10001,
    "replaced_content": "最新***嗖红胡子攻略团"
  },
  "detail": [
    {
      "strategy": "minigame_content_model",
      "errcode": 0,
      "suggest": "risky",
      "label": 10001,
      "prob": 90
    },
    {
      "strategy": "keyword",
      "errcode": 0,
      "suggest": "risky",
      "label": 10001,
      "level": 90,
      "keyword": "命中的关键词1"
    }
  ]
}

# 7. 错误码

以下是本接口的错误码列表,其他错误码可参考 通用错误码;调用接口遇到报错,可使用官方提供的 API 诊断工具 辅助定位和分析问题。

错误码错误描述
0成功
40001access_token 无效或不为最新获取的 access_token,请开发者确认 access_token 的有效性
40003不合法的 OpenID ,请开发者确认 OpenID 的有效性
40129场景值错误(目前支持场景:1 资料;2 评论;3 论坛;4 社交日志;5 聊天;)
43002方法调用错误,请用 post 方法调用
43104appid 与 openid 不匹配
44002POST 的数据包为空。post 请求 body 参数不能为空
47001解析 JSON/XML 内容错误;post 数据中参数缺失;检查修正后重试。
750030版本号错误
750031该游戏不支持,联系小游戏侧配置
750032每分钟调用超过上限,有需求可联系小游戏侧修改
750033每日调用超过上限,有需求可联系小游戏侧修改

# 8. 适用范围

本接口支持「小游戏」账号类型调用。其他账号类型如无特殊说明,均不可调用。

点击咨询小助手