内容安全支持以异步消息通知的方式向您发送人工审核和人工审核复核的结果。如果您的业务需要使用或集成相关数据,则可以配置回调通知。本文介绍了配置人工审核及复核人工审核回调通知的操作方法。
背景信息
人工审核回调分为阿里云人工审核回调通知和复核人工审核回调通知:
人工审核回调通知:内容安全人工审核团队完成人工审核后,服务端将识别的结果以POST请求的方式,发送到您设置的HTTP回调通知地址。
复核人工审核回调通知:内容安全客户通过控制台完成复核确认后,服务端将标记的结果以POST请求的方式,发送到您设置的HTTP回调通知地址。
相关概念
在配置回调通知前,请了解下表中描述的相关概念。
名称 | 说明 |
回调地址 | 回调地址是您在内容安全控制台配置的服务端地址,通常是您自己的业务服务器的公网地址。回调地址需要满足以下要求:
|
seed | seed值用于校验发送到您设置的HTTP回调通知地址的请求是否来自内容安全服务端。 |
回调次数 | 您的服务端接收到内容安全推送的回调消息后,如果返回的HTTP状态码为200,表示接收成功;如果返回其他的HTTP状态码,均视为接收失败。如果接收失败,内容安全服务端会重复推送回调消息,直至您接收成功。内容安全最多重复推送3次回调消息。 |
回调数据 | 回调数据是内容安全服务端向您设置的回调通知地址返回的数据内容。关于回调数据的结构描述,请参见回调通知表单数据。 |
名称 | 类型 | 描述 |
checksum | String | 总和校验码,由 说明 为防篡改,您可以在获取到推送结果时,按上述算法生成字符串,与checksum做一次校验。 |
content | String | 字符串格式保存的JSON对象,请自行解析反转成JSON对象。关于content解析成JSON后的结构,请参见下文content表单字段说明。 说明 在内容检测API和OSS违规检测中,content的参数结构不同。 |
前提条件
已开通人工审核服务。人工审核服务目前需要通过售后人员开通,如果未开通内容安全服务,控制台不会展示人工审核内容。
请通过钉钉加入阿里云内容安全问题答疑群聊(群号:35573806)联系售后人员开通服务。加群时请备注您的公司名称+职位类型(研发、产品或者审核),例如XXX公司+研发。
人工审核回调通知
人工审核接口不支持实时返回检测结果,系统支持回调方式通知调用方。人工审核分为人机审核和纯人工审核,两者的回调方式有一定的差异,以下分别进行介绍。
人机审核
如果您使用的是阿里云人工审核服务+机审服务,人工审核模块的回调需要通过控制台配置消息通知来实现,具体操作步骤如下:
- 登录内容安全控制台。
在左侧导航栏,选择 。
在消息通知页签,单击新增通知。
在新增通知对话框,输入方案名称、回调地址,选择加密算法、通知类型、审核结果,然后单击确认。
保存完成后,系统自动生成seed。seed值用于校验您的回调接口收到的请求来自阿里云。请保存自动生成的seed。
重要如果您已经配置了机审回调通知服务,您可以直接复用之前的配置,也可以根据业务需要重新配置。
系统支持对于所有的审核结果进行回调,您也可以根据自己的业务场景选择部分审核结果进行回调。
通知类型项请选择阿里云人审结果。
加密算法方式:
SHA256:使用HMAC-SHA256加密算法。
国密SM3:使用国密SM3加密算法,返回十六进制的字符串,且字符串由小写字母和数字组成。
例如,abc经国密SM3加密后返回66c7f0f462eeedd9d1f2d46bdc10e4e24167c4875cf2f7a2297da02b8f4ba8e0。
在机器审核页面,单击业务场景管理。
纯人工审核
如果您使用的是阿里云纯人工审核服务,人工审核模块的回调需要通过请求参数传入callback(回调地址)和seed(校验字符串)来实现。
自行准备好接收扫描结果的HTTP回调地址和seed参数。
调用内容检测异步API接口时,传递相应的callback和seed请求参数。
content表单字段说明
启用回调通知后,内容安全将按照回调配置发送内容检测API回调通知。回调通知中包含content表单数据。下表描述了content表单字段的结构。
名称 | 类型 | 是否必须 | 说明 |
humanAuditResult | JSONObject | 否 | 阿里云的人工审核结果。如果您购买了阿里云的人工审核服务,则人工审核的结果体现在该字段中。具体请参见humanAuditResult。 |
名称 | 类型 | 是否必须 | 说明 |
suggestion | String | 是 | 阿里云人工审核的结果,取值:
|
customAuditFlag | Boolean | 是 |
说明 此标志位用来区分返回报文内容是阿里人工审核结果或者客户控制台人工审核复核结果。 |
taskId | String | 是 | 检测任务的ID。通过任务ID可以关联到对应内容的审核结果。 |
dataId | String | 是 | 检测内容的ID。 |
labels | StringArray | 否 | 人工审核的标签结果,可能有多个值。 说明 默认不返回该参数。配置该字段需要额外收费,具体请联系商务沟通。 |
content示例
{
"humanAuditResult": {
"suggestion": "pass",
"customAuditFlag": false,
"dataId": "yyyy",
"labels": [
"色情",
"低俗"
],
"taskId": "xxxxxx"
}
}