推送模式

2024.03.19 16:06:56

    内容安全直播音频结果获取推送模式用于将直播音频异步检测或人工审核结果主动推送给客户,保证客户最快的获取结果。客户需要按照以下规范实现接收结果的接口。推送模式与轮询模式互斥,只能选取一种模式进行结果获取。

    接口说明

    结果主动推送模式以数据为维度,将异步机器检测结果或者人工审核结果推送给客户,需客户在调用检测接口时设置回调地址callbackUrl参数,客户方需保证回调接收接口的可用性和稳定性,确保能正常接收推送过来的结果数据。

    鉴权说明

    客户接口可以通过业务开通时易盾分配的密钥信息字段进行接口鉴权,鉴权粒度是否要精确到业务级别,用户可以根据需要自行决定,请参见接口鉴权

    接入说明

    • 协议说明:检测接口请求参数中指定了回调地址参数callbackUrl(即一个http(s)协议接口的URL)。主动推送接口需要支持http协议,支持POST方法,传输数据编码采用utf-8
    • 接口性能:推送结果接口默认超时时间为2s,为了保证顺利接收数据,客户需保证接收接口可用性和性能稳定
    • 失败重试:客户接口处理结果数据,并返回应答。如果客户接口请求异常,超时或收到的应答不符合规范,易盾会认为推送失败;我们将每隔10分钟推送一次,如果一直失败,持续一天后不再推送
    • 幂等性:结果推送时同样的结果可能会多次请求客户接口。客户接口需要保证幂等性,能够正确处理重复结果数据

    接口耗时

    客户接收接口需保证接收接口可用性和性能稳定,易盾请求超时时间为2s,客户接口尽量保证在1s内返回应答,如有特殊要求,可联系易盾运营适当调整超时时间

    请求

    请求地址

    名称
    HTTP URL 回调地址callbackUrl
    HTTP Method POST

    请求头

    名称 类型 必填 描述
    Content-Type String 固定值:"application/x-www-form-urlencoded"

    请求参数

    名称 类型 必填 最大长度 描述
    secretId String 32 产品秘钥 id ,由易盾内容安全云服务分配,产品标识
    businessId String 32 业务id ,由易盾内容安全云服务分配,业务标识
    signature String 32 请求签名,用来验证此次请求的合法性,具体算法见接口鉴权
    callbackData String - 主动推送结果数据,格式为 json 字符串, 详细见下表 callbackData 结构
    名称 类型 必须返回 描述
    callbackData String 音频检测结果
     ∟ antispam Object 内容安全检测结果
      ∟ taskId String 易盾侧机审数据唯一标识,能够根据该值定位到该条数据,如对检测结果有异议,可以发送该值给策略经理查询
      ∟ callback String 提交时传递的callback
      ∟ dataId String 上传数据唯一标识,能够根据该值定位到该条数据,如对数据结果有异议,可以发送该值给客户经理查询
      ∟ censorSource Number 审核来源,0:易盾人审,1:客户人审,2:易盾机审
      ∟ status Number 检测状态,1-检测中,2-检测成功,3-检测失败
      ∟ failureReason Number 检测失败原因,当检测失败时返回,1:下载失败,2:直播流不存在,3:解析失败,4:格式错误
      ∟ riskLevel Number 直播异常风险等级, 0-正常,1-低危,2-中危,3-中高危,4-高危
      ∟ riskScore Number 直播异常分数
      ∟ duration Number 直播时长字段,直播结束返回直播整体时长,单位s
      ∟ billDuration Number 直播音频片段计费时长字段,单位s
      ∟ evidences Object 直播断句审核证据信息
       ∟ suggestion Number 建议结果 0-通过 1-嫌疑 2-删除
       ∟ suggestionLevel Number 嫌疑级别,针对部分定制策略支持命中嫌疑时返回,1:低嫌疑,2:高嫌疑,对通用策略、模型结果暂不支持,v5.2版本新增,默认不返回,如果需要返回请联系运营经理配置
       ∟ startTime Number 断句开始时间,单位毫秒
       ∟ endTime Number 断句结束时间,单位毫秒
       ∟ type Number 断句类型,0-语音识别,1-声纹检测
       ∟ rate Number 声纹检测命中置信度
       ∟ content String 当断句为声纹检测时返回命中声纹检测,语音识别时语音内容
       ∟ url String 需要开启返回直播语音片段播放地址,请联系易盾策略经理
       ∟ speakerId String 针对接入SDK监听客户,返回说话人ID信息
       ∟ speakerRiskScore Number 说话人的直播异常分数
       ∟ segmentId String 断句id
       ∟ frontSegment Object 关联证据信息,异常/嫌疑断句命中时返回,命中断句前20s的证据信息,包含前20s的音频语音识别内容及对应url。通过时数据为空,如果命中断句前20s没有内容,返回为空。
        ∟ content String 命中断句前20s的语音识别内容
        ∟ url String 命中断句前20s的音频url,可解析进行回放
       ∟ labels Object[] 分类信息,通过时数据为空
        ∟ label Number 分类信息,分类信息,100:色情,200:广告,260:广告法,300:暴恐,400:违禁,500:涉政,600:谩骂,1040:黑麦,1100:涉价值观,1050:噪音
        ∟ level Number 命中级别,示例值:1:嫌疑,2:不通过,0:正常,特殊策略下可返回“level=0”的数据,如果需要返回可以找策略经理配置
        ∟ subLabels Object[] 命中细分类信息
         ∟ subLabel String 细分类,详细编码请参考细分类编码 对照表
         ∟ subLabelDepth Number 命中的标签层级,目前支持的层级:2,3
         ∟ secondLabel String 命中二级标签细分类
         ∟ thirdLabel String 命中三级标签细分类
         ∟ details Object 其他信息
          ∟ hitInfos Object[] 证据信息
           ∟ value String 命中线索内容
          ∟ hitLeaders Object[] 命中领导人信息
           ∟ value String 领导人名,若命中领导人声纹,返回对应的领导人名
          ∟ keywords Object[] 自定义敏感词线索分类信息
           ∟ word String 自定义添加敏感词
          ∟ intent Object 意图识别结果
           ∟ result Number 意图识别结果类型,0:否定意图;1:肯定意图
           ∟ score Number 意图识别结果得分,小数[0-1]范围
          ∟ rules Object[] 命中用户自定义的规则信息
           ∟ name String 规则名
      ∟ reviewEvidences Object 直播墙人审证据信息
       ∟ action Number 审核操作, 1为忽略, 2为警告, 3为断流, 4为提示
       ∟ actionTime Number 操作时间, UNIX_TIME时间戳, 毫秒为单位
       ∟ spamType Number 违规类型, 100-色情, 115-音乐内容低俗, 116-言论低俗涉黄, 121-发出涉黄声音, 122-ASMR, 200-广告, 211-商业推广, 212-提及竞品, 300-暴恐, 400-违禁, 500-涉政, 511-影响政府形象, 512-邪教迷信, 513-涉军事, 514-涉宗教, 515-国歌、严肃歌曲, 516-涉及少数民族,517-涉及政治敏感话题 800-不文明, 826-传播负面情绪, 827-违反公序良俗, 828-侵害他人隐私, 1000-其他, 1023-无营养, 1027-话题炒作, 1030-挂机, 1050-自定义
       ∟ spamDetail String 违规详细说明
       ∟ censorLabels Object[] 支持在审核系统自定义标签分类信息;使用自定义标签时,spamType为1050
        ∟ code String 在系统配置自定义标签之后会生成一个唯一的标签ID
        ∟ name String 在审核系统配置自定义标签名称
        ∟ desc String 在审核系统配置自定义标签备注
        ∟ customCode String 在审核系统配置自定义标签code
       ∟ speakerId String 针对接入SDK监听客户,针对房间内具体说话人的处罚,返回说话人ID信息,若为空,则针对房间维度处罚
       ∟ censorAccount String 审核账号
       ∟ warnCount Number 警告次数
       ∟ promptCount Number 提示次数
       ∟ segments Object[] 人审断句信息, 可为空
        ∟ startTime Number 断句开始时间,单位毫秒
        ∟ endTime Number 断句结束时间 ,单位毫秒
     ∟ asr Object 语音识别检测结果,如有需要请联系您的专属商务,未开通状态下不返回
      ∟ taskId String 易盾侧机审数据唯一标识,能够根据该值定位到该条数据,如对检测结果有异议,可以发送该值给策略经理查询
      ∟ startTime Number 断句开始时间,单位毫秒
      ∟ endTime Number 断句结束时间,单位毫秒
      ∟ content String 语音识别结果
      ∟ url String 语音断句的临时访问地址,地址有效期为7天,如需开启请联系易盾策略经理
      ∟ speakerId String 针对接入SDK监听客户,返回说话人ID信息
     ∟ language Object 语种识别检测结果,如有需要请联系您的专属商务,未开通状态下不返回
      ∟ taskId String 易盾侧机审数据唯一标识,能够根据该值定位到该条数据,如对检测结果有异议,可以发送该值给策略经理查询
      ∟ startTime Number 断句开始时间,单位毫秒
      ∟ endTime Number 断句结束时间,单位毫秒
      ∟ content String 语种识别类型,支持检测语种类型请参考语种代码表
      ∟ callback String 提交时传递的callback
      ∟ segmentId String 断句id
      ∟ speakerId String 针对接入SDK监听客户,返回说话人ID信息
     ∟ voice Object 人声属性检测结果
      ∟ taskId String 易盾侧机审数据唯一标识,能够根据该值定位到该条数据,如对检测结果有异议,可以发送该值给策略经理查询
      ∟ startTime Number 断句开始时间,单位毫秒
      ∟ endTime Number 断句结束时间,单位毫秒
      ∟ dataId String 上传数据唯一标识,能够根据该值定位到该条数据,如对数据结果有异议,可以发送该值给客户经理查询
      ∟ segmentId String 断句id
      ∟ speakerId String 针对接入SDK监听客户,返回说话人ID信息
      ∟ callback String 提交时传递的callback
      ∟ mainGender String 音频性别建议值,male/female
      ∟ mainAgeGroup String 识别人声年龄,underage(0~18岁),adult(18岁以上)
      ∟ mainAgeGroupRate Number 人声年龄置信度分数,0-1之间取值,1为置信度最高,0为置信度最低
      ∟ url String 语音断句的临时访问地址
     ∟ quality Object 语音质量检测结果
      ∟ taskId String 易盾侧机审数据唯一标识,能够根据该值定位到该条数据,如对检测结果有异议,可以发送该值给策略经理查询
      ∟ startTime Number 断句开始时间,单位毫秒
      ∟ endTime Number 断句结束时间,单位毫秒
      ∟ dataId String 上传数据唯一标识,能够根据该值定位到该条数据,如对数据结果有异议,可以发送该值给客户经理查询
      ∟ callback String 提交时传递的callback
      ∟ speakerId String 针对接入SDK监听客户,返回说话人ID信息
      ∟ details Object 详细说明
       ∟ silent Boolean 是否为无声片段,true:无声片段

    请求体示例

    callbackData=***&signature=xxx&secretId=xxx&businessId=xxx
    

    请求体 callbackData 格式如下,callbackData 为 JSON 字符串格式,请自行解析或者反转成 JSON 对象使用。

    检测中返回示例
    {
        "antispam":{
            "taskId":"3e10895e028d4b53b387edef27f6deb6",
            "dataId":"1631932263268",
            "censorSource":2,
            "evidences":{
                "content":"加我",
                "startTime":1631932269297,
                "endTime":1631932285317,
                "dataId":"1631932263268",
                "speakerId":"",
                "segmentId":"0ab2682947b648fd98cbe9436875ab0d",
                "suggestion":2,
                "labels":[
                    {
                        "label":200,
                        "level":2,
                        "subLabels":[
                            {
                                "details":{
                                    "hitInfos":[
                                        {
                                            "value":"加我"
                                        }
                                    ]
                                },
                                "subLabel":"200009",
                                "subLabelDepth":2,
                                "secondLabel":"200009"
                            }
                        ]
                    }
                ]
            },
            "riskLevel":4,
            "riskScore":212,
            "status":1
        },
        "asr":{
            "taskId":"3e10895e028d4b53b387edef27f6deb6",
            "startTime":1631932269297,
            "endTime":1631932285317,
            "content":"加我",
            "speakerId":"",
            "dataId":"1631932263268"
        },
        "voice":{
            "taskId":"7f03cdeaf4cf4c748a4edbe97833a9ee",
            "dataId":"",
            "callback":"",
            "detail":{
                "mainAgeGroup":"adult",
                "mainAgeGroupRate":0.9973
            }
        }
    }
    
    

    检测结束返回示例 { "antispam":{ "taskId":"31d2bdoi41d9f3jmifu4lghog04009xgv", "callback":"{自定义callback内容}", "evidences":{ "startTime":0, "endTime":0, "segments":[

            ],
            "suggestion":0,
            "censorSource":2
        },
        "duration":26,
        "status":2,
        "dataId":"12345"
    }
    

    }

    
    ## 响应
    
    ### 响应结果
    
    * 客户接口接收到我们回调的结果后,需要返回应答信息,接口响应HTTP状态码为200,当回调处理异常时,应答的HTTP状态码应为500,或者4xx; 
    * 目前推送方式默认连接超时(connect timeout)150ms,回调超时(socket timeout)为2s,建议收到推送检测结果后,优先返回response应答信息,异步处理检测结果,避免因为回调超时,易盾侧未收到响应重复推送结果。如业务侧对于超时配置有特殊要求,可联系易盾策略经理调整配置。
    * 应答信息为JSON格式,字段定义如下:
    
    
    |名称|类型|必须返回|描述|
    |----|----|----|----|
    |code|Number|是|应答code,易盾方解析code为200表示推送成功|
    |msg|String|否|具体描述信息|
    
    ### 响应体示例
    
    ```json
    { 
        "code": 200, 
        "msg": "接收成功"
    }
    
    在线咨询 电话咨询:95163223 免费试用