接口描述
通过该接口获取文件fileId和上传地址uploadUrl,并通过上传方式将文件上传至e签宝服务端,用于后续发起签署流程使用,上传方法请参考:文件流上传方法
注意:
(1)上传的文件大小不要超过40M,详见文件大小规则说明
(2)因Windows操作系统中文件名称不支持个别特殊字符,现调整fileName字段不支持以下9个字符
/ \ : * " < > | ?以及所有emoji表情,详见文件名称特殊字符限制
(3)上传的文件类型规则描述,详见文件类型规则说明
点击查看具体更新日志
API在线调试
可通过API在线调试工具使用接口功能,入口:通过上传方式创建文件
接口
/v1/files/getUploadUrl
请求方式
POST
请求头
提供两种安全接入方式,开发者可选择其中一种方式进行对接,对应参数如何获取,参考文档【请点击】。
方式一:请求签名鉴权
请求头入参示例如下:
参数名称 | 类型 | 必选 | 参数说明 | 示例值 |
X-Tsign-Open-App-Id | string | 是 | 项目ID | |
Content-Type | string | 是 | application/json;charset=UTF-8 | |
X-Tsign-Open-Ca-Timestamp | string | 是 | API 调用者传递时间戳,值为当前时间的毫秒数,也就是从1970年1月1日起至今的时间转换为毫秒,时间戳有效时间为15分钟,为了防重放攻击 | |
Accept | string | 是 | 建议统一填写 */* | |
X-Tsign-Open-Ca-Signature | string | 是 | 签名字符串 | |
Content-MD5 | string | 否 | 当请求 Body 非 Form 表单时,可以计算 Body 的 MD5 值传递给云网关进行 Body MD5 校验。建议当请求 Body 非 Form 表单时,加上此请求头。 | |
X-Tsign-Open-Auth-Mode | string | 是 | 选择请求方式进行鉴权,固定值,Signature |
方式二:OAuth2.0鉴权
当安全接入选择OAuth2.0鉴权方式,请点击查阅详情,请求头入参示例如下:
参数名称 | 类型 | 必选 | 参数说明 |
X-Tsign-Open-App-Id | string | 是 | 项目ID |
X-Tsign-Open-Token | string | 是 | 通过获取鉴权Token接口返回 |
Content-Type | string | 是 | application/json; charset=UTF-8 |
请求参数
参数名称 | 类型 | 必选 | 参数类型 | 参数说明 | 示例值 |
contentMd5 | string | 是 | body | 先获取文件MD5的二进制数组(128位),再对这个二进制进行base64编码。 (1)获取代码示例:【请点击】 (2)可使用E签宝官网工具进行计算【请点击】 ![]() | |
contentType | string | 是 | body | 目标文件的MIME类型,支持: (1)application/octet-stream (2)application/pdf 注意,后面文件流上传的Content-Type参数要和这里一致,不然就会有403的报错 | |
convert2Pdf | boolean | 是 | body | 是否转换成pdf文档,默认false,代表不做转换。转换是异步行为,如果指定要转换,需要调用查询文件信息接口查询状态,转换完成后才可使用。 | |
fileName | string | 是 | body | 文件名称(必须带上文件扩展名,不然会导致后续发起流程校验过不去 示例:合同.pdf ); 注意: (1)该字段的文件后缀名称和真实的文件后缀需要一致。比如上传的文件类型是word文件,那该参数需要传“xxx.docx”,不能是“xxx.pdf” (2)文件名称不支持以下9个字符:/ \ : * " < > | ? | |
fileSize | int64 | 是 | body | 文件大小,单位byte |
公共响应参数
参数名称 | 类型 | 必选 | 参数说明 | 示例值 |
code | int | 是 | 业务码,0表示成功 | |
message | string | 否 | 信息 | |
data | object | 否 | 业务信息 |
响应参数
参数名称 | 类型 | 必选 | 参数说明 | 示例值 |
fileId | string | 否 | 文件Id | |
uploadUrl | string | 否 | 文件直传地址, 可以重复使用,但是只能传一样的文件,有效期一小时 |
请求示例
POST https://openapi.esign.cn/v1/files/getUploadUrl
{
"contentMd5":"eGMHwA4TWnbg6PYKMxreUQ==",
"contentType":"application/octet-stream",
"convert2Pdf":false,
"fileName":"附件.zip",
"fileSize":2542635
}
响应示例
{
"code":0,
"data":{
"fileId":"049d33945cde46b7953bf377fe2a7608",
"uploadUrl":"https://esignoss.oss-cn-hangzhou.aliyuncs.com/1111563786/d8d35867-744b-47f3-890f-e3650efd99e1/%E9%99%84%E4%BB%B6.zip?Expires=1561472338&OSSAccessKeyId=STS.NHmxRMcKLPqz9km2veAujyrCB&Signature=aM8p6T/Sby30bBUVt%2BfOcYR36t0%3D&callback-var=eyJ4OmZpbGVfa2V5IjoiJGFkNTlkZjExLThmNzMtNDdkZC05MTIwLTk1MDNlOTk4NDNkYSQzMTc3NzA4NTIifQ%3D%3D%0A&callback=eyJjYWxsYmFja1VybCI6Imh0dHA6Ly90ZmlsZS50c2lnbi5jbi9maWxlLXN5c3RlbS9jYWxsYmFjay9hbGlvc3MiLCJjYWxsYmFja0JvZHkiOiAie1wibWltZVR5cGVcIjoke21pbWVUeXBlfSxcInNpemVcIjogJHtzaXplfSxcImJ1Y2tldFwiOiAke2J1Y2tldH0sXCJvYmplY3RcIjogJHtvYmplY3R9LFwiZXRhZ1wiOiAke2V0YWd9LFwiZmlsZV9rZXlcIjoke3g6ZmlsZV9rZXl9fSIsImNhbGxiYWNrQm9keVR5cGUiOiAiYXBwbGljYXRpb24vanNvbiJ9%0A&security-token=CAIS%2BAF1q6Ft5B2yfSjIr4vYM%2Bj5jpRt57ORO03c1nYwTfpGlrfooDz2IHtKdXRvBu8Xs/4wnmxX7f4YlqB6T55OSAmcNZEoDH68YdPkMeT7oMWQweEurv/MQBqyaXPS2MvVfJ%2BOLrf0ceusbFbpjzJ6xaCAGxypQ12iN%2B/m6/Ngdc9FHHPPD1x8CcxROxFppeIDKHLVLozNCBPxhXfKB0ca0WgVy0EHsPnvm5DNs0uH1AKjkbRM9r6ceMb0M5NeW75kSMqw0eBMca7M7TVd8RAi9t0t1/IVpGiY4YDAWQYLv0rda7DOltFiMkpla7MmXqlft%2BhzcgeQY0pc/RqAAWbkTMmUIhYPd/RICa6Mo/WvK%2BqWh2U1FUDTcoyOUFICU9W6AT9DIA5nqxIlfGpOrIsQtCXK5Nl5lqX3aRev2zbr9ZhFcHWRPZ2GZKr92ppjxCThZ756EG49vggXLFd3VHRQT3ABI90LcXPxkmVrEW5nji4wJKX3k1AO0G6Whpjn"
},
"message":"成功"
}
错误码
错误码 | 错误描述 | 解决方案 |
401 | 1.token过期了 2.header请求头不正确 3.apiurl和应用ID环境不对应,例如apiurl是模拟环境,应用ID是正式环境的 |