如何通过DocuSign REST API为锚点定位的CheckboxTab设置必填属性?
解决基于锚点定位的CheckboxTab必填校验(无需提前知晓页码)
以下是三种可行的解决思路,都能避开提前获取页码的限制:
1. 先创建草稿信封获取锚点Tab的实际页码
先创建包含锚点定位CheckboxTab的草稿状态信封,再调用接口获取该Tab的实际页码,最后补充TabGroup配置:
- 第一步:发送POST请求创建草稿信封,仅需包含锚点CheckboxTab配置,状态设为
createdPOST /v2.1/accounts/{accountId}/envelopes Content-Type: application/json { "status": "created", "documents": [{"documentId": "1", "name": "target_doc.pdf", "documentBase64": "xxx"}], "recipients": { "signers": [{ "email": "signer@yourdomain.com", "name": "Test Signer", "recipientId": "1", "tabs": { "checkboxTabs": [{ "anchorString": "your_anchor_text", "tabLabel": "Must_Check", "anchorIgnoreIfNotPresent": false }] } }] } } - 第二步:调用GET接口获取该收件人的所有Tab详情,从中提取CheckboxTab的
pageNumberGET /v2.1/accounts/{accountId}/envelopes/{envelopeId}/documents/1/tabs?recipientId=1 - 第三步:发送PUT请求更新信封,添加包含正确页码的TabGroup,将CheckboxTab设为必填
PUT /v2.1/accounts/{accountId}/envelopes/{envelopeId}/recipients/1/tabs Content-Type: application/json { "tabGroups": [{ "groupName": "Required_Checkbox_Group", "required": "true", "documentId": "1", "pageNumber": "{extracted_page_number}", "tabs": [{"tabLabel": "Must_Check"}] }] }
最后将信封状态改为sent即可。
2. 直接通过TabLabel关联锚点Tab(无需手动传页码)
DocuSign允许在TabGroup中通过tabLabel直接关联已存在的Tab,无需手动指定页码:
当你创建包含锚点CheckboxTab的信封时,同时在TabGroup配置中仅指定documentId、groupName、required属性,以及关联的tabLabel,DocuSign会自动从锚点生成的CheckboxTab中读取页码并完成绑定:
POST /v2.1/accounts/{accountId}/envelopes Content-Type: application/json { "status": "sent", "documents": [{"documentId": "1", "name": "target_doc.pdf", "documentBase64": "xxx"}], "recipients": { "signers": [{ "email": "signer@yourdomain.com", "name": "Test Signer", "recipientId": "1", "tabs": { "checkboxTabs": [{ "anchorString": "your_anchor_text", "tabLabel": "Must_Check", "anchorIgnoreIfNotPresent": false }], "tabGroups": [{ "groupName": "Required_Checkbox_Group", "required": "true", "documentId": "1", "tabs": [{"tabLabel": "Must_Check"}] }] } }] } }
注:该方法需要确保CheckboxTab的tabLabel唯一,避免关联错误。
3. 预先在模板中配置TabGroup与锚点
如果你的文档是重复使用的,建议在DocuSign控制台创建模板:
- 在模板中添加锚点定位的CheckboxTab,然后创建对应的TabGroup并将该CheckboxTab加入组,设置为必填
- 后续调用模板创建信封时,直接使用模板的配置,无需再手动处理页码和TabGroup绑定
内容的提问来源于stack exchange,提问作者Jean-Michel Rey
相关产品推荐
相关产品推荐

