通过模板创建文件

更新时间:2021-04-22 16:38:26

接口描述

基于文件模板生成待签文件用于后续文件,该文件可用用于签署,也可作为附件。通过模版创建文件前,需完成模版创建及组件添加。文件模板只能使用通过接口进行模板管理。

注意:

因Windows操作系统中文件名称不支持个别特殊字符,现调整neme字段不支持以下9个字符

/ \ : * " < > | ?以及所有emoji表情,详见文件名称特殊字符限制

点击查看具体更新日志


API在线调试

可通过API在线调试工具使用接口功能,入口:模板创建文件


接口

/v1/files/createByTemplate

请求方式

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


请求参数

参数名称

类型

必选

参数类型

参数说明

示例值

name

string

body

文件名称(必须带上文件扩展名,不然会导致后续发起流程校验过不去 示例:合同.pdf );

注意:

(1)该字段的文件后缀名称和真实的文件后缀需要一致。比如上传的文件类型是word文件,那该参数需要传“xxx.docx”,不能是“xxx.pdf”

(2)文件名称不支持以下9个字符:/ \ : * " < > | ?


templateId

string

body

模板编号

(1)正式环境可通过e签宝网站->企业模板下创建和查询

(2)通过上传方式方式创建模板接口获取模板id和上传链接,文件流上传文件成功之后,模板id可用于这里



simpleFormFields

object

body

输入项填充内容,key:value 传入;可使用输入项组件id+填充内容,也可使用输入项组件key+填充内容方式填充

注意:E签宝官网获取的模板id,在通过模板创建文件的时候只支持输入项组件id+填充内容

如何进行图片控件填充【请点击


公共响应参数

参数名称

类型

必选

参数说明

示例值

code

int

业务码,0表示成功


message

string

信息


data

object

业务信息


响应参数

参数名称

类型

必选

参数说明

示例值

downloadUrl

string

文件下载地址,有效期一小时


fileId

string

文件id


fileName

string

文件名称


请求示例  

POST https://openapi.esign.cn/v1/files/createByTemplate


{
"name":"模板文件ten",
"simpleFormFields":{
"name":"测试甲方",
"yifang":"测试乙方"
},
"templateId":"bd4f8b3fc02047a9be661d164eceb288"
}

响应示例

{
    "code":0,
    "data":{
        "downloadUrl":"https://esignoss.oss-cn-hangzhou.aliyuncs.com/1111563786/677c0013-5f2f-4306-a0d6-78ae96b6acd4/three_page.pdf?Expires=1561465463&OSSAccessKeyId=LTAIdvHfiVrzDKbE&Signature=SJPYKClVxXbvJUOjwnvhYUXS15A%3D",
        "fileId":"b1a149a2968a466984864cc222a02e9c",
        "fileName":"模板文件ten"
    },
    "message":"成功"
}

错误码

错误码

错误描述

解决方案

401



1.token过期了

2.header请求头不正确

3.apiurl和应用ID环境不对应,例如apiurl是模拟环境,应用ID是正式环境的

1430601

创建合同失败: 'xxx'的内容超出区域

检查添加输入项组件/v1/docTemplates/{templateId}/components接口调用的时候,设置的输入项组件宽度和高度是不是太小了

1430601

创建合同失败: 填充内容缺失

问题原因:

(1)E签宝官网获取的模板id,在通过模板创建文件的时候只支持输入项组件id+填充内容

(2)如果是接口(上传方式创建模板)获取的模板id,这个是模板中有一项或者几项没有填,可以用查询模板详情查出来,然后比照一下填充内容,看看缺了哪一个


解决办法:

(1)E签宝官网获取的模板id,在通过模板创建文件的时候只支持输入项组件id+填充内容

(2)先调用接口/v1/docTemplates/{templateId}(查询模板详情)接口,或者通过Adobe Reader软件看下文档的输入项组件一共有几个,在调用通过模板创建文件接口的时候这些输入项组件必须都填充上


我要纠错