内容安全支持以异步消息通知的方式向您发送机器内容识别和您自助审核的结果。若您的业务需要使用或集成相关数据,您可以配置回调通知。本文介绍了配置内容检测API回调通知的操作方法。

背景信息

说明 内容检测API和OSS违规检测均支持回调通知。关于OSS违规检测回调通知,请参见OSS违规检测回调通知
内容安全回调通知分为扫描结果回调通知和审核结果回调通知。
  • 扫描结果回调通知:内容安全完成检测请求后,服务端将机器识别的结果以POST请求的方式,发送到您设置的HTTP回调通知地址。
  • 审核结果回调通知:您通过自助审核(或调用反馈接口)修改机器识别的结果后,内容安全服务端将审核结果以POST请求的方式,发送到您设置的HTTP回调通知地址。

相关概念

在配置回调通知前,请了解下表中描述的相关概念。

名称 说明
回调地址 回调地址是您在内容安全控制台配置的服务端地址,通常是您自己的业务服务器的公网地址。回调地址需要满足以下要求:
  • 应为HTTP/HTTPS协议接口的公网可访问的URL。
  • 支持POST方法。
  • 支持传输数据编码采用UTF-8。
  • 支持数据接收格式为application/x-www-form-urlencoded
  • 支持表单参数checksumcontent
Seed Seed值用于校验发送到您设置的HTTP回调通知地址的请求是否来自内容安全服务端。
回调次数 您的服务端接收到内容安全推送的回调消息后,若返回的HTTP状态码为200,表示接收成功;若返回其他的HTTP状态码,均视为接收失败。若接收失败,内容安全服务端会重复推送回调消息,直至您接收成功。内容安全最多重复推送回调消息16次。
回调数据 回调数据是内容安全服务端向您设置的回调通知地址返回的数据内容。回调数据的结构描述见下表。
表 1. 回调通知表单数据
名称 类型 描述
checksum String <用户uid> + <seed> + <content>拼成字符串,通过SHA256算法生成。用户UID即阿里云账号ID,可以在阿里云控制台上查询。
说明 为防篡改,您可以在获取到推送结果时,按此算法生成字符串,与checksum做一次校验。
content String 字符串格式保存的JSON对象,请自行解析反转成JSON对象。关于content解析成JSON后的结构,请参见下文Content说明。
说明 在内容检测API和OSS违规检测中,content的参数结构不同。

扫描结果回调通知

内容检测API的异步检测接口均支持扫描结果回调,例如图片审核异步检测视频审核异步检测等。您在发起异步调用时,若希望内容安全向您返回扫描结果,则必须在请求参数中传入callback(回调地址)和seed(校验字符串)。

说明 在异步调用时若不使用扫描结果回调,则您只能通过定期轮询的方式获取异步检测结果。
  1. 自行准备好接收扫描结果的HTTP回调地址和Seed参数。
  2. 调用内容检测异步API接口时,传递相应的callbackseed请求参数,具体请参见API接口描述中的参数说明。

审核结果回调通知

  1. 登录云盾内容安全控制台
  2. 前往设置 > 内容检测API页面,并打开消息通知页签。
  3. API审核回调通知下,单击设置
    说明 如果您设置过回调地址,则此处显示查看,您可以单击查看
    消息通知,回调
  4. API回调通知设置侧边页,填入回调地址,并单击设置
    设置完成后,系统自动生成Seed。Seed值用于校验您的回调接口收到的请求来自阿里云。请保存自动生成的Seed,根据需要应用于您的业务。回调通知设置

Content说明

启用回调通知后,内容安全将按照回调配置发送内容检测API回调通知。回调通知中包含content表单数据。下表描述了content表单字段的结构。

表 2. content表单字段结构描述
名称 类型 是否必须 说明
scanResult JSON对象 扫描结果。根据检测对象(图片、视频)的不同,结构有差异。
auditResult JSON对象 您的自助审核结果。发生自助审核操作时才会有该字段。具体结构描述见表 3
说明 如果只推送扫描结果,则没有该字段。
humanAuditResult JSON对象 阿里云的人工审核结果。如果您购买了阿里云的人工审核服务,则人工审核的结果体现在该字段中。具体结构描述见表 4
表 3. auditResult
名称 类型 是否必须 说明
suggestion 字符串 自助审核的结果,取值:
  • block:审核时设置违规
  • pass:审核时设置正常
labels JSON数组 自助审核时设置的标签,取值可以为以下可选值中的一个或者多个:
  • porn:鉴黄
  • terrorism:暴恐涉政
  • ad:图文广告
  • live:不良场景
表 4. humanAuditResult
名称 类型 是否必须 说明
suggestion 字符串 阿里云人工审核的结果,取值:
  • block:阿里云人工审核结果为违规
  • pass:阿里云人工审核结果为正常
taskId 字符串 检测任务的ID。通过任务ID可以关联到对应内容的机器审核结果。
dataId 字符串 检测内容的ID。
content示例
{
    "scanResult": {
        "code": 200,
        "msg": "OK",
        "taskId": "fdd25f95-4892-4d6b-aca9-7939bc6e9baa-1486198766695",
        "url": "http://1.jpg",
        "results": [
            {
                "rate": 100,
                "scene": "porn",
                "suggestion": "block",
                "label": "porn"
            }
        ]
    },
    "auditReult": {
        "suggestion": "block",
        "labels": [
            "porn",
            "ad",
            "terrorism"
        ]
    },
    "humanAuditResult": {
        "suggestion": "pass",
        "dataId":"yyyy",
        "taskId": "xxxxxx"
     }
}