上传附件接口
更新时间: 2024-02-28 可选接入 可直接调用
接口概述
1、用于把客服或判罚事件的附件上传至携程网盘,如需要使用内部或第三方的网盘,请联系携程进行安全审核,审核通过后我们会操作加白
2、平台会定期监控附件占用空间,请注意不要上传和事件单无关的文件,否则会被禁止使用
请求地址
地址格式: http(s)://{domain}/file/v1/api/upload?channel={channel}&public={public}&oversea={oversea}&filename={filename}
域名domain请在对接前和携程产研确认
请求内容
参数 | 类型 | 必传 | 描述 | 示例 | 备注 |
---|---|---|---|---|---|
Content-Length | String | 是 | 请求头传参,文件实际大小,遵循http标准协议规范 | ||
Crc | String | 是 | 请求头传参,crc校验码,可参考文档下方的代码示例 | ||
Content-type | String | 是 | 请求头传参,判罚事件支持的文件类型 | ||
channel | String | 是 | 地址栏传参,上传来源标识 | 请联系携程产研获取 | |
public | String | 是 | 地址栏传参,是否外网可访问,0代表仅携程内网访问,1外网可访问 | 如附件内容仅提供给携程客服使用,请传0 | |
oversea | String | 是 | 地址栏传参,文件地址所适用的地区,0 国内可访问,1 海外可访问 | 境内业务直接传0 | |
filename | String | 是 | 地址栏传参,请传入urlsafebase64加密过的编码:urlsafebase64({serviceproviderid}{filename}) | java用户可调用Base64.getUrlEncoder().encodeToString(name)方法,传入"测试abc123.pdf",并观察编码结果是否为"5rWL6K VYWJjXzEyMy5wZGY="来验证方法有效性;注意,文件名只能包含【数字 字母 中文 - /】,文件后缀只支持数字与字母 |
返回内容
RedReverseResponse
参数 | 类型 | 必传 | 描述 | 示例 | 备注 |
---|---|---|---|---|---|
file_name | String | 是 | 携程编码后的文件名,格式:7/{channel}/{your_custom_filename} | 7/{channel}/1000013_6.pdf | 注意,同名文件无法覆盖,第二次上传会报409或者400错误 |
url | String | 是 | 文件链接 | https://ws.downloadfile.fx.ctripcorp.com/files/7/{channel}/1000013_6.pdf |
请根据http响应码判断请求结果:
200 (OK)
400 (参数错误)
401 (要求正确的token或过期)
409 (文件名已存在)
411 (要求提供content length)
412 (Crc检验不正确)
413 (不能超过50M)
415 (不支持的图片格式)
416(不支持的文件格式)
500 (异常)
CRC校验
public static String getCrc(byte[] fileBytes) throws NoSuchAlgorithmException {
byte[] tmp;
int size5M = 5 * 1024 * 1024;
int size10M = 10 * 1024 * 1024;
if (fileBytes.length > size10M) {
tmp = new byte[size10M];
System.arraycopy(fileBytes, 0, tmp, 0, size5M);
System.arraycopy(fileBytes, fileBytes.length - size5M, tmp, size5M, size5M); }
else {
tmp = fileBytes;
}
MessageDigest m=MessageDigest.getInstance(""MD5"");
byte[] digest = m.digest(tmp);
return Hex.encodeHexString(digest);
}
请求示例
文件名:1000013_6.pdf
请求地址:http://file.c-ctrip.com/file/v1/api/upload?channel={channel}&public=0&oversea=0&filename=MTAwMDAxM182LnBkZg==
base64:MTAwMDAxM182LnBkZg==
crc码:aec1af77b93c5158282f844b83c23556
响应示例
{
"file_name":"7/{channel}/1000013_6.pdf",
"url":"https://ws.downloadfile.fx.ctripcorp.com/files/7/{channel}/1000013_6.pdf"
}