如何分配Envelope Sender?DocuSign账户代用户发信封方法咨询
如何在DocuSign中分配Envelope Sender权限并以指定用户名义发送信封
我来帮你梳理下DocuSign里分配Envelope Sender权限以及以指定用户名义发送信封的具体操作,分UI和API两种场景来说明:
一、先给目标用户分配Envelope Sender权限
要让指定用户能被代表发送信封,首先得确保该用户拥有Envelope Sender的基础权限,步骤如下:
- 用管理员账户登录DocuSign,点击左上角的Admin按钮进入管理控制台
- 在左侧导航栏找到Users,搜索并选中你要设置的目标用户
- 进入用户详情页后,切换到Permissions标签页
- 在权限列表里,找到并勾选与发送信封相关的权限:至少要勾选
Send Envelopes,如果需要让该用户管理自己的信封,还可以勾选Manage Envelopes - 滚动到页面底部,点击Save保存设置
二、以指定用户名义发送信封
方式1:通过DocuSign UI操作
如果你是管理员,想直接在网页端以指定用户的名义发信封:
- 登录管理员账户后,进入Send页面(创建新信封的入口)
- 在页面右上角或发送按钮附近,找到Send As(或“代表用户发送”)的下拉选项(不同版本的UI位置可能略有差异)
- 从下拉列表中选择已经分配了Envelope Sender权限的目标用户
- 正常完成信封创建流程:上传文档、添加收件人、设置签名位置等
- 点击Send后,信封会以你选中的用户名义发出,收件人看到的发件人信息就是该用户的
方式2:通过API调用实现
如果是开发场景,需要通过代码自动以指定用户名义发送,核心是利用DocuSign的Impersonation功能:
- 先确保你的集成应用已经在Admin控制台的Integrations > Apps and Keys里被授予
Impersonate User的权限 - 在调用创建信封的API时,指定
impersonation_user_id参数为目标用户的ID(可以从Admin控制台的用户详情页获取该ID)
举个Python代码的示例:
import docusign_esign as docusign from docusign_esign import ApiClient, EnvelopesApi, EnvelopeDefinition, Signer, SignHere, Tabs, Recipients, Document # 初始化API客户端 api_client = ApiClient() api_client.host = "https://demo.docusign.net/restapi" # 生产环境替换为https://www.docusign.net/restapi api_client.set_default_header("Authorization", "Bearer YOUR_ACCESS_TOKEN") # 目标用户的ID(要代表发送的用户) target_user_id = "USER_ID_OF_THE_SENDER" # 你的账户ID account_id = "YOUR_DOCUSIGN_ACCOUNT_ID" # 构建信封定义 envelope_def = EnvelopeDefinition( email_subject="请签署这份合作协议", status="sent" # 设置为sent直接发送,draft则保存为草稿 ) # 添加要签署的文档(这里用base64编码的文档内容) with open("contract.pdf", "rb") as f: doc_b64 = f.read().decode("base64") document = Document( document_base64=doc_b64, name="合作协议.pdf", document_id="1" ) envelope_def.documents = [document] # 添加收件人信息 signer = Signer( email="recipient@example.com", name="张三", recipient_id="1", routing_order="1" ) # 添加签名位置 sign_here_tab = SignHere( document_id="1", page_number="1", x_position="200", y_position="300" ) signer.tabs = Tabs(sign_here_tabs=[sign_here_tab]) envelope_def.recipients = Recipients(signers=[signer]) # 创建并发送信封,指定要 impersonate 的用户ID envelopes_api = EnvelopesApi(api_client) response = envelopes_api.create_envelope( account_id=account_id, envelope_definition=envelope_def, impersonation_user_id=target_user_id ) print(f"信封已发送,信封ID: {response.envelope_id}")
几个需要注意的点
- 目标用户必须是已激活的账户用户,且已经分配了Envelope Sender权限,否则无法被代表发送
- UI中的
Send As选项只有管理员或拥有相应权限的用户才能看到 - API调用时,必须确保你的访问令牌(Access Token)有足够的权限,并且已经正确设置了Impersonation权限
内容的提问来源于stack exchange,提问作者NoName
相关产品推荐
相关产品推荐

