# 申诉接口

开始使用前,请先创建应用,申请UGC内容安全审核,并成功完成审批,取得code值。

本文提供了申诉的具体接口和参数说明。

# 请求

POST https://apigate.glodon.com/ugc/api/v1/ugcFeedback
1

# header参数

参数名 必选 类型 描述
Authorization String Bearer app_access_token. 注:该 access_token 是应用级别
Content-Type String application/json

# body参数

参数名 必选 参数类型 参数含义
name 字符串 申诉人姓名(可为空字符串,建议尽可能完善申诉人信息)
phone 字符串 申诉人电话(可为空字符串,建议尽可能完善申诉人信息)
mail 字符串 申诉人邮箱(可为空字符串,建议尽可能完善申诉人信息)
description 字符串 申诉原因
content 字符串 申诉对象(文本直接上传,图片、视频上传对应链接)
type 字符串 文本、图片、视频的申诉对象类型:text、image、video
callback 字符串 申诉结果回调通知您的URL,支持HTTP、HTTPS。callback接口必须支持POST方法、UTF-8编码的传输数据,以及表单参数checksumdata
seed 字符串 该值用于回调通知请求中的签名。当使用callback时,该字段必须提供。
code 字符串 产品ID(申请开通申诉流程中,由云安全技术部提供)

# API请求示例

# 返回参数

名称 类型 是否必须 描述
code String 请求成功为0,否则为error code(HTTP状态码)
message String 请求成功为success,否则为错误描述信息
feedbackId 字符串 本次申诉的ID
content 字符串 提交申诉的对象

# 返回结果示例

# 结果回调通知

内容安全按照下表描述的生成规则和格式设置checksumcontent,调用您的callback接口返回检测结果。

注意

您的服务端callback接口收到内容安全推送的结果后,如果返回的HTTP状态码为200,则表示接收成功,其他的HTTP状态码均视为接收失败。接收失败时,内容安全将最多重复推送16次检测结果,直到接收成功。重复推送16次后仍未接收成功,则不再推送,建议您检查callback接口的状态。

名称 类型 描述
checksum 字符串 由code(产品ID) + seed +data 拼成字符串,通过SHA256算法生成。为防篡改,您可以在获取到推送结果时,按上述算法生成字符串,与checksum做一次校验。
data 字符串 JSON字符串格式,请自行解析反转成JSON对象。data结果的示例如下。

# 回调返回参数

名称 类型 是否必须 描述
result 字符串 申诉处理结果(合规、不合规)
feedback 字符串 申诉处理意见
feedbackId 字符串 本次申诉ID
content 字符串 提交的视频url地址
status 字符串 申诉处理状态(已受理,处理完毕。)

回调结果获取示例:

@RestController
public class demo {
    @PostMapping(value = "/test")
    public String test(@RequestParam("checksum")String checksum,
                       @RequestParam("data")String data){
        String code = "123";   //云安全中心提供code
        String seed = "SignSeedDemo";  //回调通知请求中的签名自定义部分,防止被猜解
        String result = getSHA256Str(code + seed + data);
        if(result.equals(checksum)){
            System.out.println("签名正确");
        } else
            System.out.println("签名异常");
        return "demo";
    }

    public static String getSHA256Str(String str){
        MessageDigest messageDigest;
        String encdeStr = "";
        try {
            messageDigest = MessageDigest.getInstance("SHA-256");
            byte[] hash = messageDigest.digest(str.getBytes("UTF-8"));
            encdeStr = Hex.encodeHexString(hash);
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        return encdeStr;
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

checksum结果示例

087d4092bcef114c5c0eeaea3f12bdb62f91f7497daf1a984a06f384332b248e
1

data结果示例

{
    "result":"合规",
    "feedback":"处理意见",
    "feedbackId":"a2dcd910-e0aa-4c75-8c07-9e3d1e8307a0",
    "content":"https://img.tupianzj.com/uploads/allimg/200109/37-20010Z95312.jpg",
    "status":"处理完毕"
}
1
2
3
4
5
6
7

# 下一步操作

依据申诉处理结果result进行下一步处理。

  • 在线客服

  • 意见反馈