DocuSign API:如何通过TemplateRole为签署人设置仅SMS交付方式?
如何通过TemplateRole为DocuSign签署人设置仅SMS交付方式?
我现在用服务器模板创建信封,想给指定签署人仅通过SMS而非邮件发送签署请求。之前一直用TemplateRole对象,但找不到正确设置仅SMS交付的方法。
查资料时看到两年前的文章和Java SDK帖子提到Bug TT-3902,但一年前的帖子说功能已可用,不过API Explorer里只有用Signer对象的示例。我有几个疑问:
- 能不能用
TemplateRole实现仅SMS交付?是不是我没找到正确写法? - Bug TT-3902已经修复了吗?
- 有没有替代方案?难道必须改成用
Signer对象重写整个信封创建流程?
我当前的Python SDK代码:
signer = TemplateRole( role_name=signer_provided["role_name"], name=signer_provided["name"], email=signer_provided["email"], tabs=tabs, )
尝试过两种写法都没成功,只会发邮件不会发SMS:
第一种写法:
phone_number = RecipientPhoneNumber(country_code="1", number=signer_provided["phone_number"]) signer = TemplateRole( delivery_method="SMS", role_name=signer_provided["role_name"], name=signer_provided["name"], phone_number=phone_number, tabs=tabs, )
第二种写法:
phone_number = RecipientPhoneNumber(country_code="1", number=signer_provided.get("phone_number")) additional_notification = RecipientAdditionalNotification(secondary_delivery_method="SMS", phone_number=phone_number) signer = TemplateRole( additional_notification=additional_notification, role_name=signer_provided["role_name"], name=signer_provided["name"], email=signer_provided["email"], tabs=tabs, )
解答
1. TemplateRole的SMS支持与Bug TT-3902状态
Bug TT-3902已修复,TemplateRole完全支持仅SMS交付,但需要注意参数的正确组合:
- 必须设置
delivery_method="SMS" - 必须传入
phone_number对象 - 绝对不能填写
email字段——如果保留email参数,DocuSign会默认优先发送邮件,忽略SMS交付设置。
2. 正确的TemplateRole实现代码
你之前的第一种写法核心问题是没移除email参数,修改后的正确代码如下:
phone_number = RecipientPhoneNumber(country_code="1", number=signer_provided["phone_number"]) signer = TemplateRole( delivery_method="SMS", role_name=signer_provided["role_name"], name=signer_provided["name"], phone_number=phone_number, tabs=tabs, )
移除email参数后,DocuSign就会仅通过SMS发送签署请求。
3. 无需切换到Signer对象
不需要重写整个流程改用Signer,TemplateRole完全能满足需求。additional_notification参数是用于同时发送邮件和SMS的双渠道场景,不适合你要的仅SMS交付。
额外注意事项
- 确认你的DocuSign账户已开启SMS交付权限(沙箱和商业账户默认支持,但需确保未被限制)
- 电话号码必须包含正确的国家码,格式符合DocuSign要求(如美国号码为
1+10位数字)
内容的提问来源于stack exchange,提问作者misterz
相关产品推荐
相关产品推荐

