我们在文档中使用 AnchorTags 将签名元素放入 PDF 文档中。到目前为止,诸如“SignHere”之类的签名元素已按预期工作,每个签名只需单击一下,即可正确放入文档中。我们现在尝试使用 AnchorTags 将复选框添加到这些文档中,但我们遇到了一些有关复选框如何 1. 标记和 2. 分组的问题。
根据 DocuSign 文档:
对于每组放置的字段,该组中所有字段的数据标签均相同。这对于收件人填写的字段类型(例如文本字段)非常重要。如果您保留相同的数据标签,则当收件人填写组中的任一字段时,所有其他类似字段都会自动填充相同的数据。
查看使用 API 创建复选框,我们可以使用这样的 JSON 对象来为文档中的复选框标记分配字符串值。这将找到字符串 BOR_2_CHK 并在每个实例处放置一个复选框。
PUT /v2/accounts/{accountId}/envelopes/{envelopeId}/recipients/{recipientId}/tabs
{
"checkboxTabs": [
{
"name": "",
"tabLabel": "Checkbox1",
"selected": "false",
"shared": "false",
"required": "false",
"locked": "false",
"documentId": "46688109",
"recipientId": "50556292",
"anchorString": "BOR_2_CHK",
"anchorXOffset": "0",
"anchorYOffset": "0",
"anchorUnits": "pixels",
"anchorCaseSensitive": "false",
"anchorMatchWholeWord": "true",
"anchorHorizontalAlignment": "left",
"tabId": ""
}]}
此调用对具有多个匹配 AnchorString 的文档的影响是,将在每个匹配位置放置一个复选框,当选中任何复选框时,它们都会被选中。通过为复选框文档分配“自动放置”规则,可以在 DocuSign 网站中轻松重现这一点。
这就是事情变得奇怪的地方,当使用 AnchorTags 放置复选框的文档,并且文档中存在多个 AnchorString 实例时,签名仪式将显示多个复选框,但 API 只报告有一个复选框文档上的选项卡。
在以下 JSON 示例中,文档中有 2 个锚字符串的 3 个实例,因此文档中总共有 6 个复选框。
{
"checkboxTabs": [
{
"name": "",
"tabLabel": "Checkbox 0daa7d08-db75-43da-bcee-01a6451a34a5",
"selected": "false",
"shared": "false",
"required": "false",
"locked": "false",
"documentId": "46688109",
"recipientId": "50556292",
"pageNumber": "1",
"xPosition": "74",
"yPosition": "253",
"anchorString": "BOR_2_CHK",
"anchorXOffset": "0",
"anchorYOffset": "0",
"anchorUnits": "pixels",
"anchorCaseSensitive": "false",
"anchorMatchWholeWord": "true",
"anchorHorizontalAlignment": "left",
"tabId": "d87fb774-2b4b-4c86-95b3-e5a730066874"
},
{
"name": "",
"tabLabel": "BOR_1_CHK",
"selected": "false",
"shared": "false",
"required": "false",
"locked": "false",
"documentId": "46688109",
"recipientId": "50556292",
"pageNumber": "1",
"xPosition": "74",
"yPosition": "73",
"anchorString": "BOR_1_CHK",
"anchorXOffset": "0",
"anchorYOffset": "0",
"anchorUnits": "pixels",
"anchorCaseSensitive": "false",
"anchorMatchWholeWord": "true",
"anchorHorizontalAlignment": "left",
"tabId": "966c4273-d4a4-4acd-8ff5-08b27ba69c13"
}
]
}
我的问题是,如何使用 DocuSign REST API 取消分组并使文档上的所有 6 个复选框独立工作?
DocuSign 网站有一个按钮,作为 AutoPlace 的一部分,称为“取消分组”,当在 UI 中单击该按钮时,API 会显示分配给 AnchorString 的每个复选框的复选框选项卡,但“ancorString”属性已全部被删除来自未分组的对象。我搜索了 DocuSign API 文档以及 StackOverflow,但没有找到任何可用于完成此操作的“取消分组”方法或属性。
我发现取消复选框分组的唯一方法是使用 EnvelopeTabs:Update 方法将其设置为 null 来删除对象的anchorTag 属性。这种方法是有限的,因为当我查询信封上的选项卡列表时,每个组复选框选项卡仅显示为单个对象,因此要取消组合 3 个复选框,我必须执行 3 次更新,并且 2 次获取作为第二个和第三个的 tabID复选框仅在其前身被更改后才可用。
通常,我们的文档最多可以有 6 个签名者,每个签名者在文档中具有 40 个或更多复选框元素,即单个信封有 240 个 GET/PUT 请求,并且在 4 个信封后将达到 DocuSign 速率限制。
在此先感谢您的帮助,