DocuSign技术问询:仅通过envelopeId能否查询信封发送人?
解决DocuSign无accountId查询信封发送人的方案
核心思路
既然能获取发送方授权以代表其操作,可通过OAuth 2.0授权流程获取包含accountId的访问凭证,再调用API查询信封信息。
具体步骤
- 提取envelopeId参数
从用户访问链接的查询参数中提取envelopeId,前端可通过以下代码实现:
const urlParams = new URLSearchParams(window.location.search); const envelopeId = urlParams.get('envelopeId');
发起发送方授权流程
引导发送方完成DocuSign的OAuth授权,授权成功后会返回包含account_id和access_token的响应数据。授权时需设置合适的权限范围(scope),至少包含signature权限,确保能访问信封相关信息。调用API查询信封发送人
拿到accountId和access_token后,调用指定API:
GET /v2.1/accounts/{accountId}/envelopes/{envelopeId}
请求头需携带授权信息:Authorization: Bearer {access_token}。返回的信封数据中,statusChangedBy或creator字段即为发送人相关信息。
- 适配无数据库场景
由于网站无数据库,授权获取的access_token和accountId可临时存储在前端内存中,使用后即可丢弃。若需多次查询,可引导用户重新授权,或设置较长的token有效期(需注意安全风险)。
注意事项
- 全程使用HTTPS传输,避免token和accountId泄露。
- 授权前需明确告知发送方授权用途,符合隐私合规要求。
内容的提问来源于stack exchange,提问作者Ry2254
相关产品推荐
相关产品推荐

