You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

DocuSign SOAP API多文档多收件人签名流程配置异常问题

DocuSign SOAP API 收件人文档分配问题排查与修正

我来帮你搞定这个问题~你遇到的核心问题是DocuSign SOAP API默认会让所有收件人可见并签署所有文档,再加上可能没正确配置路由顺序,才导致两位收件人都被要求处理两份文档。下面是具体的排查点和修正后的结构示例:

关键问题点

  • 未给每个收件人显式指定可访问/签署的文档范围:DocuSign默认收件人能看到所有上传的文档,必须通过DocumentVisibilityList元素限制每个收件人的文档权限。
  • 路由顺序(RoutingOrder)未正确配置:需要设置收件人1的路由顺序为1,收件人2为2,确保收件人1完成签署后,才会将请求发送给收件人2。

修正后的SOAP结构片段

下面是符合你需求的核心部分示例,重点关注Recipients下的配置:

<ns0:EnvelopeDefinition>
  <!-- 文档部分:给每个文档分配唯一的DocumentId -->
  <ns0:Documents>
    <ns0:Document>
      <ns0:DocumentId>1</ns0:DocumentId>
      <ns0:Name>文档1.pdf</ns0:Name>
      <ns0:DocumentBase64>[Base64编码内容]</ns0:DocumentBase64>
    </ns0:Document>
    <ns0:Document>
      <ns0:DocumentId>2</ns0:DocumentId>
      <ns0:Name>文档2.pdf</ns0:Name>
      <ns0:DocumentBase64>[Base64编码内容]</ns0:DocumentBase64>
    </ns0:Document>
  </ns0:Documents>

  <!-- 收件人部分:配置路由顺序和文档可见性 -->
  <ns0:Recipients>
    <ns0:Signers>
      <!-- 第1位收件人:仅处理文档1,路由顺序1 -->
      <ns0:Signer>
        <ns0:RecipientId>1</ns0:RecipientId>
        <ns0:RoutingOrder>1</ns0:RoutingOrder>
        <ns0:Email>recipient1@example.com</ns0:Email>
        <ns0:Name>收件人1</ns0:Name>
        <!-- 指定仅可见文档1 -->
        <ns0:DocumentVisibilityList>
          <ns0:DocumentVisibility>
            <ns0:DocumentId>1</ns0:DocumentId>
            <ns0:Visible>true</ns0:Visible>
          </ns0:DocumentVisibility>
          <!-- 显式设置文档2不可见(可选,但更严谨) -->
          <ns0:DocumentVisibility>
            <ns0:DocumentId>2</ns0:DocumentId>
            <ns0:Visible>false</ns0:Visible>
          </ns0:DocumentVisibility>
        </ns0:DocumentVisibilityList>
        <!-- 文档1的签署标签 -->
        <ns0:Tabs>
          <ns0:SignHereTabs>
            <ns0:SignHere>
              <ns0:DocumentId>1</ns0:DocumentId>
              <ns0:PageNumber>1</ns0:PageNumber>
              <ns0:XPosition>100</ns0:XPosition>
              <ns0:YPosition>100</ns0:YPosition>
            </ns0:SignHere>
          </ns0:SignHereTabs>
        </ns0:Tabs>
      </ns0:Signer>

      <!-- 第2位收件人:仅处理文档2,路由顺序2 -->
      <ns0:Signer>
        <ns0:RecipientId>2</ns0:RecipientId>
        <ns0:RoutingOrder>2</ns0:RoutingOrder>
        <ns0:Email>recipient2@example.com</ns0:Email>
        <ns0:Name>收件人2</ns0:Name>
        <!-- 指定仅可见文档2 -->
        <ns0:DocumentVisibilityList>
          <ns0:DocumentVisibility>
            <ns0:DocumentId>1</ns0:DocumentId>
            <ns0:Visible>false</ns0:Visible>
          </ns0:DocumentVisibility>
          <ns0:DocumentVisibility>
            <ns0:DocumentId>2</ns0:DocumentId>
            <ns0:Visible>true</ns0:Visible>
          </ns0:DocumentVisibility>
        </ns0:DocumentVisibilityList>
        <!-- 文档2的签署标签 -->
        <ns0:Tabs>
          <ns0:SignHereTabs>
            <ns0:SignHere>
              <ns0:DocumentId>2</ns0:DocumentId>
              <ns0:PageNumber>1</ns0:PageNumber>
              <ns0:XPosition>100</ns0:XPosition>
              <ns0:YPosition>100</ns0:YPosition>
            </ns0:SignHere>
          </ns0:SignHereTabs>
        </ns0:Tabs>
      </ns0:Signer>
    </ns0:Signers>
  </ns0:Recipients>

  <ns0:Status>sent</ns0:Status>
</ns0:EnvelopeDefinition>

额外注意事项

  • 确保每个SignHere标签的DocumentId和对应收件人可见的文档ID一致,避免出现“无签署位置”的错误。
  • 如果你的原SOAP请求中没有DocumentVisibilityList,DocuSign会默认所有文档对所有收件人可见,这就是导致两位收件人都看到两份文档的直接原因。
  • 路由顺序(RoutingOrder)必须设置为不同的值(1和2),这样才能保证串行流程:收件人1完成后,系统才会通知收件人2。

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

火山引擎 最新活动