单个图片上传
素材中心同步创建图片素材接口
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