# 文本内容安全识别

本接口应在服务器端调用,详细说明参见服务端API

本接口支持云调用。需开发者工具版本 >= 1.02.1904090(最新稳定版下载),wx-server-sdk >= 0.4.0

# 接口说明

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

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

# 应用场景

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

# 注意事项

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

# 调用方式

# HTTPS 调用

# 请求地址

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

# 请求参数

属性 类型 必填 说明
access_token string 接口调用凭证
openid string 用户的openid
version number 接口版本号,固定值2
scene number 场景枚举值: 1资料;2评论;3论坛;4社交日志;5聊天;
content string 需检测的文本内容,文本字数的上限为2500字,需使用UTF-8编码
nickname string 用户昵称,需使用UTF-8编码

# 返回参数

属性 类型说明
errcode number 错误码
errmsg string 错误信息
trace_id string 唯一请求标识,标记单次请求
result object 综合结果
属性 类型 说明
suggest string 有risky(拦截)、pass(通过)、review(可疑)三种值
label number 命中标签枚举值:100正常;10001营销广告;20001时政;20002色情;20003辱骂;20006违法犯罪;20012低俗;21000其他
replaced_content string 将关键词替换成`*`之后得到文本,如果未命中关键词而是命中模型则全文替换成`*`,通过则为原文
detail array<object> 详细检测结果
属性 类型 说明
strategy string 策略类型
errcode number 错误码,仅当该值为0时,该项结果有效
suggest string 有risky(拦截)、pass(通过)、review(可疑)三种值
label number 命中标签枚举值:100正常;10001营销广告;20001时政;20002色情;20003辱骂;20006违法犯罪;20012低俗;21000其他
keyword string 命中的自定义关键词
prob number 0-100,代表置信度,越高代表越有可能属于当前返回的标签(label)

# https请求数据示例

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

# https返回结果示例

{
    "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"
        }
    ]
}

# errcode说明

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

# 云调用

云调用是微信云开发提供的在云函数中调用微信开放接口的能力,需要在云函数中通过 wx-server-sdk 使用 出入参和HTTPS调用相同,调用方式可查看云调用说明文档

# 接口方法

openapi.wxa.game.contentSpam.msgSecCheck

# 云调用请求数据示例

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"
        }
    ]
}

调用过程中如遇到问题,点击咨询小助手