You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Docusign Accounts API选择指定签名提供者传入Signers对象

解决DocuSign API指定签名提供者的问题

你拿到的providers是AccountSignatureProviders类实例,不是普通字典,所以无法直接用下标[0]访问。需要先提取实例内的signature_providers属性,这才是包含所有签名提供者的可操作列表。

步骤1:提取签名提供者列表

从返回对象中取出实际的提供者列表:

# 提取可操作的签名提供者列表
signature_providers_list = providers.signature_providers

此时signature_providers_list就是你打印输出里的字典列表,可正常用下标或遍历访问。

步骤2:选择指定签名提供者

可以通过下标直接选取,或通过ID/名称筛选(更适配动态场景):

# 方式1:已知位置时直接下标选取
selected_provider = signature_providers_list[1]  # 对应GlobalSign提供者

# 方式2:通过ID精准筛选(推荐)
selected_provider = next(p for p in signature_providers_list if p['signature_provider_id'] == '73')

步骤3:传入Signers对象构造信封

recipient_signature_providers需要传入的是包含指定提供者的列表结构,而非整个AccountSignatureProviders对象。直接将选中的提供者包装成列表传入即可:

# 构造签名者对象
signer = Signer(
    email='recipient@example.com',
    name='收件人姓名',
    recipient_id='1',
    tabs=Tabs(sign_here_tabs=[SignHere(document_id='1', page_number='1', x_position='100', y_position='100')]),
    # 传入选中的签名提供者
    recipient_signature_providers=[selected_provider]
)

# 组装信封定义并发送
envelope_definition = EnvelopeDefinition(
    email_subject='请签署文档',
    documents=[Document(document_base64=base64_content, name='待签文档.pdf', document_id='1')],
    recipients=Recipients(signers=[signer]),
    status='sent'
)

关键注意事项

  • 禁止直接将list_signature_providers返回的完整对象传给recipient_signature_providers,必须提取单个/多个目标提供者组成列表。
  • 若需提供多个可选签名方式,只需将多个选中的提供者加入recipient_signature_providers列表即可。

内容的提问来源于stack exchange,提问作者Ryan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 01:52:39