FEATURED · 精选文章

如何用 DocuSeal /templates/merge API 把多个模板合并为一个新模板

发布时间 / 2026/9/14 11:26:06
来源 / 创域科博编辑部
栏目 / 资讯中心
如何用 DocuSeal /templates/merge API 把多个模板合并为一个新模板 如何用 DocuSeal /templates/merge API 把多个模板合并为一个新模板【免费下载链接】docusealOpen source DocuSign alternative. Create, fill, and sign digital documents ✍️项目地址: https://gitcode.com/GitHub_Trending/do/docuseal当你把一份业务文档拆成了多个 DocuSeal 模板例如合同正文、附录、附件清单各自一个模板现在希望通过 API 把它们连同其中的文档和字段一次性合并成一个新模板供后续发起签署。DocuSeal 提供了POST /templates/merge接口来完成这件事传入若干模板 ID接口会生成一个新的合并模板原有模板保持不变。以下内容基于仓库内的 API 文档 docs/api/shell.md 与 docs/openapi.json。准备条件一个可用于 API 调用的鉴权凭证。文档中所有接口示例均通过请求头X-Auth-Token传递docs/openapi.json 中对应的安全方案为securitySchemes: { AuthToken: { type: apiKey, in: header, name: X-Auth-Token } }API 基础地址为https://api.docuseal.com文档示例中所有请求都指向该地址。待合并的模板 ID整数。模板 ID 可以先通过模板列表接口查到。第一步获取要合并的模板 ID调用GET /templates列出当前账号下的模板可用查询参数按条件筛选curl --request GET \ --url https://api.docuseal.com/templates \ --header X-Auth-Token: API_KEY支持的可选项见 docs/api/shell.md 的 List all templates 一节q按模板名称部分匹配筛选slug按模板唯一 slug 筛选例如opaKWh8WWTAcVG文档示例值external_id按你通过 API 创建模板时传入的应用自定义标识筛选folder按文件夹名称筛选。从返回结果中记下需要合并的各个模板的id这是下一步唯一的必填输入。第二步调用 merge 接口创建合并模板curl --request POST \ --url https://api.docuseal.com/templates/merge \ --header X-Auth-Token: API_KEY \ --header content-type: application/json \ --data {template_ids:[321,432],name:Merged Template}上面命令中的API_KEY替换为你的鉴权凭证321、432是文档示例中的模板 ID替换为你第一步拿到的真实 ID。请求体参数如下定义来源docs/openapi.json 中/templates/merge的requestBody参数类型是否必填说明template_idsinteger 数组是要合并进新模板的模板 ID 数组namestring否新模板名称。不指定时会使用现有名称加(Merged)后缀folder_namestring否合并后的模板要放入的文件夹名称external_idstring否你应用中用于标识该模板的唯一字符串键shared_linkboolean否设为true后任何持有链接的人都能从该模板创建提交默认值为truerolesstring 数组否合并模板中要使用的填写者角色名文档示例为[Agent, Customer]roles用于在合并后的模板中统一填写者角色如果你的多个模板里已有同名角色字段可按文档示例传入角色名数组例如[Agent, Customer]。如果不想用 curl官方各语言文档中给出了对应的 SDK 写法例如 docs/api/python.mddocuseal.key API_KEY docuseal.merge_templates({ template_ids: [321, 432], name: Merged Template })以及 docs/api/javascript.mdconst template await docuseal.mergeTemplates({ template_ids: [321, 432], name: Merged Template })同样把321、432替换成真实模板 ID 即可。验证合并结果接口成功时返回200响应体就是新建的合并模板对象必含字段包括id、slug、name、schema、fields、submitters、documents等。文档给出的示例响应docs/openapi.json 中的example仅作格式参考{ id: 6, slug: Xc7opTqwwV9P7x, name: Merged Template, source: api, folder_name: Default, shared_link: true, schema: [ { attachment_uuid: 68aa0716-61f0-4535-9ba4-6c00f835b080, name: sample-document } ], documents: [ { id: 9, uuid: ded62277-9705-4fac-b5dc-58325d4102eb, url: https://docuseal.com/file/hash/sample-document.pdf, filename: sample-document.pdf } ] }按以下顺序核对即可确认合并完成响应中的id和slug是原列表之外的新值说明创建的是新模板而不是覆盖某个已有模板name与你传入的name一致如果没传name应为现有名称带(Merged)后缀documents/schema中列出的文档来自各源模板fields为合并后模板中的字段列表可用于确认字段都带了过来。之后也可以用GET /templates或按slug查询来复查新模板是否出现在列表中。容易混淆的地方这里的 merge 是模板级别的合并把多个模板及其文档、字段合成为一个新模板。docs/api/shell.md 中 Update template documentsPUT /templates/{id}/documents里的merge参数是另一回事作用是把单个模板内的现有和新文档合并成一个 PDF 文件不要与本文的/templates/merge接口混用。shared_link默认为true意味着合并出的模板默认开放共享链接、任何人拿到链接都能发起提交如果该模板只供内部签署使用需要在请求中显式传shared_link: false。限制请求体中只有template_ids是必填项但必须传入至少一个有效的模板 ID文档示例为[321, 432]两个 ID。接口文档未说明对源模板的最低字段或文档数量要求也未说明重复 ID 的处理方式源模板在合并后保持不变可继续独立使用或归档归档走DELETE /templates/{id}见 docs/api/shell.md 的 Archive a template。【免费下载链接】docusealOpen source DocuSign alternative. Create, fill, and sign digital documents ✍️项目地址: https://gitcode.com/GitHub_Trending/do/docuseal创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED — 相关阅读

相关资讯

LATEST — 最新资讯

最新发布

TODAY — 本日精选

新闻

WEEKLY — 本周精选

新闻

MONTHLY — 本月精选

新闻