Api 如何使用DocuSign将包含两份文档副本的信封正确发送给两个收件人,每个收件人一份签名?

Api 如何使用DocuSign将包含两份文档副本的信封正确发送给两个收件人,每个收件人一份签名?,api,docusignapi,Api,Docusignapi,我正在使用DocuSign.eSign包(DocuSign.eSign.dll v2.1.10),在特定场景中遇到问题。在本例中,我尝试向两个签名者发送一个信封,信封中有两份相同文档的副本,每个副本供他们签名。有人告诉我,重新设计表格不是一个选项,所以当我们需要夫妻双方在表格上签名时,他们必须各自在同一份表格上签名 我已经确认信封包含2个文档(DocumentID 1,DocumentID 2)和两个签名者,每个签名者只有1个签名者,并且定义了正确的相应DocumentID 但是,当签名者收到信

我正在使用DocuSign.eSign包(DocuSign.eSign.dll v2.1.10),在特定场景中遇到问题。在本例中,我尝试向两个签名者发送一个信封,信封中有两份相同文档的副本,每个副本供他们签名。有人告诉我,重新设计表格不是一个选项,所以当我们需要夫妻双方在表格上签名时,他们必须各自在同一份表格上签名

我已经确认信封包含2个文档(DocumentID 1,DocumentID 2)和两个签名者,每个签名者只有1个签名者,并且定义了正确的相应DocumentID

但是,当签名者收到信封时,每个签名者在两个文档的每个文档上都有SignHere标签。信封完成后,两人在两份文件上都有重叠的签名

我也尝试过动态命名文档,所以名称和ID一样是唯一的,没有运气。我一定错过了什么明显的东西。当签名者A和签名者B都是“同一”文档时,我如何更正签名者A只签名文档ID 1,签名者B只签名文档ID 2

添加:仅当选项卡定义为通过定位点而不是坐标定位时,才会发生这种情况。它似乎在检测两个文档上的锚文本,尽管SignHereTab被定义为只属于指定文档

{
  "documents": [
    {
      "documentBase64": "...",
      "documentId": "1",
      "fileExtension": "doc",
      "name": "Limitation Of Liability"
    },
    {
      "documentBase64": "...",
      "documentId": "2",
      "fileExtension": "doc",
      "name": "Limitation Of Liability"
    }
  ],
  "recipients": {
    "signers": [
      {
        "accessCode": "***",
        "email": "client1@test.com",
        "name": "Client One",
        "recipientId": "1",
        "routingOrder": "1",
        "tabs": {
          "checkboxTabs": [],
          "dateSignedTabs": [],
          "initialHereTabs": [],
          "numberTabs": [],
          "radioGroupTabs": [],
          "signerAttachmentTabs": [],
          "signHereTabs": [
            {
              "anchorString": "Client Signature",
              "anchorXOffset": "0",
              "anchorYOffset": "-20",
              "documentId": "1",
              "name": "Signature",
              "recipientId": "client1@test.com",
              "scaleValue": "1",
              "tabId": "1",
              "tabLabel": "1"
            }
          ],
          "textTabs": []
        }
      },
      {
        "accessCode": "***",
        "email": "client2@test.com",
        "name": "Client Two",
        "recipientId": "2",
        "routingOrder": "2",
        "tabs": {
          "checkboxTabs": [],
          "dateSignedTabs": [],
          "initialHereTabs": [],
          "numberTabs": [],
          "radioGroupTabs": [],
          "signerAttachmentTabs": [],
          "signHereTabs": [
            {
              "anchorString": "Client Signature",
              "anchorXOffset": "0",
              "anchorYOffset": "-20",
              "documentId": "2",
              "name": "Signature",
              "recipientId": "client2@test.com",
              "scaleValue": "1",
              "tabId": "2",
              "tabLabel": "2"
            }
          ],
          "textTabs": []
        }
      }
    ]
  },
  "status": "sent"
}

我没有看到您的代码,因此我不知道您是如何放置标签的。如果您使用的是X/Y坐标,那么您应该通过移动它来确保它们没有重叠。 如果您使用的是anchorString,那么您可能对两个收件人的两个标记使用了相同的字符串?这就解释了为什么它们会重叠

编辑:查看了关于使用锚的编辑。您可能应该检查这些文本在原始文档中的位置。如果无法修改原始文档,则可以使用像素将标记移离字符串

(锚定标记允许您使用与文本的偏移量,以便可以移动它们)

EDIT2:既然您现在添加了代码,我想问题是两个选项卡的tabLabel是相同的。
选项卡应具有唯一的标签,这将解决问题。

在帐户级别上为锚字符串填充范围的DS帐户设置了一个设置,默认情况下,它是
信封
范围。因此,如果信封中的两个文档上都存在相同的锚字符串,则DocuSign将为每个文档上的每个签名者应用选项卡。要解决此问题,您需要请求DocuSign支持人员或DocuSign的客户经理将范围更改为Document,而不是DocuSign后端内部管理工具中的信封

一旦scope设置为
Document
,您就可以为每个字符串添加documentId和锚字符串,并且它将仅为特定的签名者应用选项卡


另外请注意,后端内部管理员会将锚定填充范围显示为
文档
(这是一个UI错误),但实际上它是一个信封。因此,请与您一起工作的DS人员切换该范围两次,首先切换到
信封
,然后返回到
文档
范围。

很抱歉,我可能没有解释清楚。人员1应仅在文件1上签字,人员2应仅在文件2上签字,且标签被正确定义为属于文件1和文件2。但是,当信封送达时,标签1同时出现在文档1和文档2上,标签2同时出现在文档1和文档2上。我建议修改原始文档,但遭到了抵制。我们需要查看您的代码。您可以为标记指定documentId,如果操作正确,它应该只为该文档显示。谢谢,我已将适用的信封定义输出添加到我的帖子中。啊哈!我认为你的问题是小报。看起来两个标签都有完全相同的标签,对吗?你能试着用不同的标签看看是否能解决这个问题吗?不幸的是,这没有任何效果。我想强调的是,这种情况只发生在做“锚定”选项卡时。当选项卡由坐标定义时,每个选项卡仅显示在相应的文档上。当它们由锚点定义时,它会将两者都放在两个锚点上。