我有一个关于 Docusign API 如何工作的非常基本的问题。我尝试自己寻找答案,但很快就被支持中心的大量信息弄得不知所措,其中很多信息已经过时。
这是我正在尝试做的事情:
我已经在我的 Docusign 账户中上传并配置了多个模板
我正在编写一个网络应用程序,它允许我的用户根据特定条件请求这些模板的子集
模板的子集随后将通过 iframe 集成在我的应用中使用(我假设)
我还想自动填充我的新模板副本中的几个字段
如何执行第 2 步中的 API 请求?
如何执行第 3 步中的 API 调用?还是以其他方式将值注入(inject)到文档中?
一种完全不同的方法是为我的每个用户提供一个新的 Docusign 帐户,但这似乎不对。如果有人能给我指出正确的方向,我将不胜感激。
最佳答案
这实际上不是一个基本的问题,我想说如果你问的是如何在文档上或从一个基本的模板发送签名请求,但如何组合和发送多个模板并在其中填充值是一个更多的参与。
话虽如此,要将多个模板组合到签名请求中,您只需在信封定义中使用 Composite Templates 节点即可。使用复合模板,您可以组合来自您帐户的多个服务器端模板,或将模板与本地文档或来自其他来源(即云)的文档组合。
关于您的问题:
1]
您可以进行 API 调用以编程方式检索您帐户中可用的模板,然后在您的 UI 中显示您想要的有关它们的任何方面,例如名称、描述、模板 ID 等。一旦用户(或您的应用logic) 指示他们想要将哪些模板组合到签名请求中,您可以像这样组合它们(这组合了 2 个服务器模板):
{
"emailSubject":"DocuSign Signature Request using Composite Templates",
"status":"sent",
"compositeTemplates":[
{
"serverTemplates":[
{
"sequence":"1",
"templateId":"55A80182-2E9F-435D-9B16-FD1E1C0F9D74"
}
],
"inlineTemplates":[
{
"sequence":"1",
"recipients":{
"signers":[
{
"name":"John Doe",
"email":"firstrecipient@gmail.com",
"recipientId":"1",
"clientUserId":"1001",
"roleName":"RoleOne"
}
]
}
}
]
},
{
"serverTemplates":[
{
"sequence":"2",
"templateId":"44D9E888-3D86-4186-8EE9-7071BC87A0DA"
}
],
"inlineTemplates":[
{
"sequence":"2",
"recipients":{
"signers":[
{
"name":"Jane Doe",
"email":"secondrecipient@gmail.com",
"recipientId":"1",
"clientUserId":"1002",
"roleName":"RoleOne"
}
]
}
}
]
}
]
}
2]
是的,如果你想embed your recipients (这意味着他们通过您的 UI 而不是通过 DocuSign 网站或应用程序进行签名)然后建议您对 Web 应用程序使用 iFrame
,对移动应用程序使用 Webview
。要嵌入给定的收件人,您必须设置他们的 clientUserId
,就像我在上面的示例中为两个收件人所做的那样。这是一个字符串,在客户端定义,您只需要记住您为每个收件人使用的值,因为您需要这些值来生成每个收件人的签名 URL(您将在 iFrame 中加载)。
查看“从您的应用程序内部签名”
API 食谱,了解如何完成此操作的示例代码。该示例不使用模板来创建信封,但它展示了如何生成唯一的签名 URL:
或者,如果您想使用原始 API 调用(不使用 DocuSign SDK)进行测试,您可以使用 API Explorer 来测试这些调用:
3]
我认为您基本上有第三个问题,即如何填充模板中的选项卡(又名文档字段)。您可以通过 tabLabel
来识别给定的选项卡,并使用 value
属性填充它的值。例如,如果您有两个 textTab
类型的选项卡(在 UI 中称为数据字段),您可以像这样填充它们的值:
{
"email": "jane.doe@email.com",
"name": "Jane Doe",
"roleName": "RoleOne",
"recipientId": "1",
"clientUserId": "1001",
"tabs": {
"textTabs": [
{
"tabLabel": "ApplicantAddress",
"value": "221 Main St. Suite 1000 San Francisco, CA 94105"
},
{
"tabLabel": "ApplicantSSN",
"value": "12-345-6789"
}
]
}
}
关于docusignapi - Docusign API 集成 - 如何发送多个模板和填充值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36776604/