融媒体解决方案提交接口

2020.12.02 17:46:10

    接口地址

    https://as.dun.163.com/v1/mediasolution/submit

    接口描述

    融媒体解决方案适用于,多种类型媒体(文本、图片、点播视频、点播音频、点播音视频、文档)合并过检场景,提交接口用于做数据提交。建议您使用POST请求, 且仅接受 application/x-www-form-urlencoded 编码格式。

    请求参数

    公共参数已省略,详细见 请求公共参数,请求版本号如下:

    参数名称 类型 是否必选 最大长度 描述
    version String Y 4 版本号v1

    私有参数如下

    参数名称 类型 是否必选 最大长度 描述
    ip String N 128 用户IP地址
    account String N 128 用户唯一标识,如果无需登录则为空
    deviceId String N 128 用户设备 id,与易盾设备画像库匹配,明文请转大写传入;MD5加密请明文转大写后MD5计算,再转大写传入,建议抄送
    deviceType Number N 4 用户设备id的类型,0:其他,10:IMEI,11:AndroidID,12:IDFA,13:IDFV,14:MAC ,20:IMEI_MD5,21:AndroidID_MD5,22:IDFA_MD5,23:IDFV_MD5,24:MAC_MD5
    publishTime Number N 13 发表时间,UNIX 时间戳(毫秒值)
    dataId String N 128 数据唯一标识,能够根据该值定位到该条数据,如对数据结果有异议,可以发送该值给客户经理查询
    title String N 512 融媒体标题
    content String(json数组) Y 150000 json格式融媒体数据
    自定义字段 String(json数组),同content N 150000 业务自定义字段,字段名称与是否过检均支持配置,请与易盾策略经理沟通配置。字段数据结构请参考 content字段,同时支持自定义多个字段
    callback String N 512 数据回调参数,调用方根据业务情况自行设计,当调用文本离线结果获取接口时,该接口会原样返回该字段。作为数据处理标识,因此该字段应该设计为能唯一定位到该次请求的数据结构,如对用户的昵称进行检测,dataId可设为用户标识(用户ID),用户修改多次,每次请求数据的dataId可能一致,但是callback参数可以设计成定位该次请求的数据结构,比如callback字段设计成json,包含dataId和请求的时间戳等信息,当然如果不想做区分,也可以直接把callback设置成dataId的值。
    callbackUrl String N 1024 离线结果回调通知到客户的URL。主动回调数据接口超时时间设置为2s,为了保证顺利接收数据,需保证接收接口性能稳定并且保证幂等性。

    content 数据结构

    参数名称 类型 是否必选 最大长度 描述
    type String Y 10 类型,分别为text-文本,image-图片,audio-点播语音,video-点播视频,audiovideo-点播语音&点播视频,file-文档
    data String Y 5000 检测数据,类型为text时最多传入20条文本内容,每条最长5000字符;类型为image时最多传入50张图片url,每张最长512字符;类型为audio时最多传入5条语音url,每条最长512字符;类型为video时最多传入5条视频url,每条最长512字符;类型为audiovideo时最多传入5条音视频url,每条最长512字符;类型为file时最多传入10个文档url,每个最长512字符
    dataId String N 128 数据唯一标识

    响应结果

    响应字段如下,响应通用字段已省略,详细见响应通用字段

    result 数据结构

    参数名称 类型 描述
    taskId String 本次请求数据标识,可以根据该标识查询数据最新结果
    dataId String 数据唯一标识,能够根据该值定位到该条数据,如对数据结果有异议,可以发送该值给客户经理查询

    请求示例

        /** 产品密钥ID,产品标识 */
        private final static String SECRETID = "your_secret_id";
        /** 产品私有密钥,服务端生成签名信息使用,请严格保管,避免泄露 */
        private final static String SECRETKEY = "your_secret_key";
        /** 易盾反垃圾云服务音视频解决方案在线提交接口地址 */
        private final static String API_URL = "https://as.dun.163.com/v1/mediasolution/submit";
        /** 实例化HttpClient,发送http请求使用,可根据需要自行调参 */
        private static HttpClient httpClient = HttpClient4Utils.createHttpClient(100, 20, 2000, 2000, 2000);
    
        /**
         *
         * @param args
         * @throws Exception
         */
        public static void main(String[] args) throws Exception {
            Map<String, String> params = new HashMap<String, String>();
            // 1.设置公共参数
            params.put("secretId", SECRETID);
            params.put("version", "v1");
            params.put("timestamp", String.valueOf(System.currentTimeMillis()));
            params.put("nonce", String.valueOf(new Random().nextInt()));
    
            // 2.设置私有参数
            params.put("title", "融媒体解决方案的标题");
            JsonArray jsonArray = new JsonArray();
            // 传图片url进行检测,name结构产品自行设计,用于唯一定位该图片数据
            JsonObject text = new JsonObject();
            text.addProperty("type", "text");
            text.addProperty("data", "融媒体文本段落");
            jsonArray.add(text);
            JsonObject image = new JsonObject();
            image.addProperty("type", "image");
            image.addProperty("data", "http://xxx");
            jsonArray.add(image);
            JsonObject audio = new JsonObject();
            audio.addProperty("type", "audio");
            audio.addProperty("data", "http://xxx");
            jsonArray.add(audio);
            JsonObject video = new JsonObject();
            video.addProperty("type", "video");
            video.addProperty("data", "http://xxx");
            jsonArray.add(video); 
            JsonObject audiovideo = new JsonObject();
            audiovideo.addProperty("type", "audiovideo");
            audiovideo.addProperty("data", "http://xxx");
            jsonArray.add(audiovideo); 
            JsonObject file = new JsonObject();
            file.addProperty("type", "file");
            file.addProperty("data", "http://xxx");
            jsonArray.add(file); 
            params.put("content", jsonArray.toString());
                    
            // 3.生成签名信息
            String signature = SignatureUtils.genSignature(SECRETKEY, params);
            params.put("signature", signature);
    
            // 4.发送HTTP请求,这里使用的是HttpClient工具包,产品可自行选择自己熟悉的工具包发送请求
            String response = HttpClient4Utils.sendPost(httpClient, API_URL, params, Consts.UTF_8);
    
            // 5.解析接口返回值
            JsonObject jObject = new JsonParser().parse(response).getAsJsonObject();
            int code = jObject.get("code").getAsInt();
            String msg = jObject.get("msg").getAsString();
            if (code == 200) {
                JsonObject result = jObject.get("result").getAsJsonObject();
                String taskId = result.get("taskId").getAsString();
                String dataId = result.get("dataId").getAsString();
                System.out.println(String.format("SUBMIT SUCCESS: taskId=%s, dataId=%s", taskId, dataId));
            } else {
                System.out.println(String.format("ERROR: code=%s, msg=%s", code, msg));
            }
        }
    

    响应示例

    {
        "code": 200,
        "msg": "ok",
        "result": {
                "taskId": "******",
                "dataId": "******"
            }
    }
    
    Online Chat Tel:95163223