单个图片上传

素材中心同步创建图片素材接口
1、如需上传多个素材,请使用批量上传图片接口:【/material/batch/upload/image/sync】且单个图片最大不能超过10M;支持的格式有:png/jpg;
3、接口上传成功,素材中心会对素材进行异步审核,审核时效:非风险图片99%在4s内完成审核,风险图片我们会在24h内审核完成;对于审核失败的素材,素材中心会在一定时间内将其删除。因此,如果存在审核的情况,素材上传后不一定马上返回图片的url,可根据返回的material_id通过素材详情查询接口查具体的图片url。

4、上传时需要关注文件夹属性,只有0(文件夹)和1(图片文件夹)才可以上传图片。文件夹属性可通过【/material/getFolderInfo】和【/material/searchFolder】查看;
5、2022年11月-素材接口字段变更公告:https://op.jinritemai.com/docs/notice-docs/5/2668 响应参数ByteUrl字段废弃;只有AuditStatus=3时ByteUrl才会返回;  

请求URL:

POST https://kf.fw199.com/gateway/dd/material/uploadimagesync

公共参数

参数名称 参数类型 是否必须 示例值 参数描述
appid String 合作伙伴AppId
timestamp String 1657525936 当前Unix时间戳,秒
seller_nick String 38173182 抖店的账号,对应蜂巢授权返回doudianseller字段
sign String

业务参数

参数名称 参数类型 是否必须 示例值 参数描述
folder_id String 0 文件夹id,0为根目录
url String http://xxx.xxx 图片url,必须是公网可访问。url和file_uri二选一,不能同时为空,如果2者都不为空取url
material_name String 图片名称.jpg 图片名称,开发者自定义,不得超过50个字符。
file_uri - tos-cn-i-7veqoeduo3/9e1df78… 二进制文件对应的uri,获取方式请参考:二进制上传素材指南
need_distinct Bool false 是否需要去重(true/false),默认为false。去重是指:存在已经审核通过且内容相同的图片,直接返回已存在的图片地址。

2. 请求示例代码(Java)

2.1 上传公网上的已存在的图片

即已经知道公网上图片的url,将公网的图片下载到店铺的素材中心里, 示例如下:

     @Test
    public void  DDMaterialUploadimageSync() throws Exception {
        Map<String, Object> data = new HashMap<String, Object>();
        data.put("appid",  Config.AppId);
        Long timestamp = System.currentTimeMillis() / 1000;
        data.put("timestamp", timestamp.toString());
        data.put("seller_nick", Config.DDSellerNick);
        data.put("folder_id","73691281073984637961425" );
       data.put("url","https://www.cheeli.com.cn/wp-content/themes/stratusx-child/img/product/productA1.jpg" ); 
        data.put("material_name","test3.jpg" );
        data.put("need_distinct","false" );
        data.put("sign", Sign(data,Config.AppSecret));
        // 调用服务API 
        String filePath = "";  //  不是传本地文件,此处留空。
        String resp = doHttpRequest(Config.DDMaterialUploadimageSync, data,filePath);
        System.out.println(resp);
    }
返回结果如下:

{
  "code": 0,
  "message": "ok",
  "data": {
    "material_info": {
      "material_id": "74484998751869176420425",
      "folder_id": "73691281073984637961425",
      "origin_url": "https://www.cheeli.com.cn/wp-content/themes/stratusx-child/img/product/productA1.jpg",
      "byte_url": "https://p3-aio.ecombdimg.com/obj/ecom-shop-material/jpeg_m_7b0c5176542b6228bd6cb9b26b0b6e02_sx_10411_www339-350",
      "materil_name": "test3.jpg",
      "material_type": "photo",
      "operate_status": 1,
      "audit_status": 3,
      "audit_reject_desc": "",
      "size": 11264,
      "photo_info": {
        "height": 350,
        "width": 339,
        "format": "jpeg"
      },
      "video_info": null,
      "create_time": "2024-12-15 13:03:40",
      "update_time": "2024-12-15 13:03:43",
      "delete_time": ""
    }
  },
  "trace_id": ""
}
2.2 上传本地文件

从本地电脑上传文件到店铺的素材中心,示例如下:

 
    @Test
    public void  DDMaterialUploadimageSync() throws Exception {
        Map<String, Object> data = new HashMap<String, Object>();
        data.put("appid",  Config.AppId);
        Long timestamp = System.currentTimeMillis() / 1000;
        data.put("timestamp", timestamp.toString());
        data.put("seller_nick", Config.DDSellerNick);
        data.put("folder_id","73691281073984637961425" );
//    data.put("url","https://www.cheeli.com.cn/wp-content/themes/stratusx-child/img/product/productA1.jpg" );

        data.put("material_name","test3.jpg" );
        data.put("need_distinct","false" );
        data.put("sign", Sign(data,Config.AppSecret));
        // 调用服务API 
        // 本地文件路径
        String filePath = "/Users/fcdev/working/demodata/good_image.png";
        String resp = doHttpRequest(Config.DDMaterialUploadimageSync, data,filePath);
        System.out.println(resp);
    }
返回结果如下:
{
  "code": 0,
  "message": "ok",
  "data": {
    "material_info": {
      "material_id": "74478856420227812350425",
      "folder_id": "73691281073984637961425",
      "origin_url": "",
      "byte_url": "https://p3-aio.ecombdimg.com/obj/ecom-shop-material/png_m_a31d40ba9613add7dcccfc6e37867f60_sx_598754_www616-792",
      "materil_name": "女上衣",
      "material_type": "photo",
      "operate_status": 1,
      "audit_status": 3,
      "audit_reject_desc": "",
      "size": 599040,
      "photo_info": { "height": 792, "width": 616, "format": "png" },
      "video_info": null,
      "create_time": "2024-12-13 21:20:08",
      "update_time": "2024-12-13 21:20:08",
      "delete_time": ""
    }
  },
  "trace_id": ""
}

说明: code为0表示成功,非0为失败,message会包含失败原因。 

3. 返回字段参数说明

material_infoStruct - 素材详情
参数名称 参数类型 字段标签 示例值 参数描述
material_id String 70072571115707435960250 素材id;可使用【/material/batchUploadImageSync】【/material/uploadImageSync】【/material/searchMaterial】接口获取
folder_id String 70072571115706780601250 文件夹id
origin_url String “” 开发者上传时传入的公网可访问地址
byte_url String “” 图片url;当audit_status=3时获取byte_url;有值返回
materil_name String 名称 素材名称
material_type String video 素材类型,photo-图片;video-视频
operate_status Int32 0 素材状态,0-待下载;1-有效;4-在回收站中
audit_status Int32 5 审核状态,1-待审核;2-审核中;3-通过;4-拒绝;注意:只有AuditStatus=3时ByteUrl才会返回
audit_reject_desc String 文件大小超出限制 审核失败的原因
size Int64 1234 大小,单位为byte
photo_infoStruct - 图片信息
参数名称 参数类型 字段标签 示例值 参数描述
height Int32 255 图片高度
width Int32 255 图片宽度
format String jpg 图片格式
video_infoStruct - 视频信息
参数名称 参数类型 字段标签 示例值 参数描述
format String mp3 视频格式
duration Double 12 视频时长,单位秒
vid String 12345678 vid,用于获取视频播放地址,接口文档见:https://op.jinritemai.com/docs/api-docs/69/2164
height Int32 32 视频高度
width Int32 23 视频宽度
video_cover_url String www.xxxxxxx.com 视频封面地址
create_time String 2021-09-12 12:23:23 素材创建时间
update_time String 2021-09-12 12:23:23 素材最近一次修改时间
delete_time String 0 素材移动到回收站的时间,只有在回收站中,该字段才有意义
文档更新时间: 2024-12-16 13:37   作者:JSL