如何在没有路由顺序的情况下设置最后一个签名者的签名日期?

How do I set Signed Date with the last Signer without Routing Order?

我遇到了一个问题,我很难理解为什么这么简单的事情很难找到解决方案。基本上我想在最后一个签名者完成该过程时在每个文档(包含在信封中)中设置一个签名日期。

我有这个文件和签名者

文件:A 文件、B 文件、C 文件

签名者:签名者 1、签名者 2、签名者 3

现在组合

文件签名者:

文档 A:签名者 1、签名者 2 和签名者 3

文档 B:签名者 1 和签名者 2

Doc C:签名者 2 和签名者 3

所以,我的想法是创建一个包含所有这些信息的信封,并且不设置路由顺序我想在每个文档中设置一个签名日期,当最后一个签名者(我不知道是哪一个)做出签名。

有什么神奇的方法可以做到这一点?

我会感激任何 tip/help :)

PS: 这是我的第一个问题,如果我做错了什么请见谅。

{
  "recipients": {
    "signers": [
      {
        "email": "signer1@yopmail.com",
        "name": "Signer 1",
        "recipientId": 1,
        "tabs": {
          "dateSignedTabs": [
            {
              "font": "Calibri",
              "fontSize": "Size9",
              "bold": "true",
              "anchorString": "Signer1 Signed Date",
              "anchorUnits": "pixels",
              "anchorYOffset": "-2", 
              "anchorXOffset": "-5"
            }
          ],
          "signHereTabs": [
            {
                "anchorString": "Signer 1",
                "anchorUnits": "pixels",
                "anchorYOffset": "10", 
                "anchorXOffset": "-40"
            }
          ]
        }
      },
      {
        "email": "signer2@yopmail.com",
        "name": "Signer 2",
        "recipientId": 2,
        "tabs": {
          "dateSignedTabs": [
            {
              "font": "Calibri",
              "fontSize": "Size9",
              "bold": "true",
              "anchorString": "Signer2 Signed Date",
              "anchorUnits": "pixels",
              "anchorYOffset": "-2", 
              "anchorXOffset": "-5"
            }
          ],
          "signHereTabs": [
              {
                "anchorString": "Signer 2",
                "anchorUnits": "pixels",
                "anchorYOffset": "10", 
                "anchorXOffset": "-40"
              }
            ]
          }
      },
      {
        "email": "signer3@yopmail.com",
        "name": "Signer 3",
        "recipientId": 3,
        "tabs": {
          "dateSignedTabs": [
            {
              "font": "Calibri",
              "fontSize": "Size9",
              "bold": "true",
              "anchorString": "Signer3 Signed Date",
              "anchorUnits": "pixels",
              "anchorYOffset": "-2", 
              "anchorXOffset": "-5"
            }
          ],
          "signHereTabs": [
              {
                "anchorString": "Signer 3",
                "anchorUnits": "pixels",
                "anchorYOffset": "10", 
                "anchorXOffset": "-40"
              }
            ]
        }
      }
    ]
  },
  "emailSubject": "DocuSign API - Signature Request on Document Call",
  "documents": [
    {
      "documentId": "1",
      "name": "Doc A.pdf",
      "documentBase64": <Document1_Base64>
    },
    {
      "documentId": "2",
      "name": "Doc B.pdf",
      "documentBase64": <Document2_Base64>
    },
    {
      "documentId": "3",
      "name": "Doc C.pdf",
      "documentBase64": <Document3_Base64>
    }
  ],
  "status": "sent"
}

POST /restapi/v2.1/accounts/{accountId}/envelopes

使用 REST API v2.1 我创建了一个包含有效负载代码的信封作为示例。

如您所见,我不想使用 Routing Order,因此,每个签名者都有自己的 dateSignedTabs 对于 mi 没问题,但我希望得到最后一个签名者的日期它在文档的开头,这才是我真正的交易。

每个 dateSigned 选项卡都属于特定的签名者收件人。所以你有几个选择:

  1. 使用路由顺序。那么最后一个人的dateSigned就是最后一个签名者的日期
  2. 在文档的签名页面上添加措辞,例如“本协议在最后一次签名之日最终确定”——后面是三个签名和三个 dateSigned 标签。咨询律师,我相信你的目标可以通过合同语言来实现。这是一个 example by a contract writer.
  3. 您可以添加更多程序以添加“生效日期”字段,其中包含最后一个人签名的日期。见下文。

添加最后一个签名者的“生效日期”

  1. 将所有签名者设置为路由顺序 1。由于它们都是相同的路由顺序,因此这与没有用于信封签名者的路由顺序相同。
  2. 添加一个伪造的嵌入式签名者作为路由顺序 2。类似于“系统”,电子邮件地址为“system_signer@example.com”。由于这是嵌入式签名者,因此不会向他们发送任何电子邮件。
  3. 在帐户 (Connect) 或信封 (eventNotification) 级别添加 webhook。您可以使用中间 PaaS 系统在防火墙后接收 Webhook,而无需更改防火墙。看我的 blog post
  4. 当信封已“发送”给系统签名者时,webhook 会通知您的应用。更正信封:将“生效日期”选项卡(文本选项卡)的值设置为当前日期。并删除“系统”签名者。信封现在将继续完成。
  5. 成功。