【问题标题】:How do I set the ttl on a docusign envelope URL?如何在文档信封 URL 上设置 ttl?
【发布时间】:2017-03-12 03:33:57
【问题描述】:

我一直在研究用于嵌入式签名的 docusign API,它运行良好,是的。我们有一个活动版本,我们通过电子邮件将第二个文档链接发送给第二个签名者,效果很棒......在发送后 5 分钟内。我找不到要通过 API 调用发送的参数,以将其有效时间长度设置为业务所需的 72 小时。我可以在 API 调用中更改的参数是什么,或者更好的是为帐户进行适当设置的配置?

【问题讨论】:

    标签: docusignapi


    【解决方案1】:

    正如其他答案所说,嵌入式签名 TTL 固定为 5 分钟。以下是处理您的场景的方法:

    为您的签名者提供一个指向您的应用程序的 URL。 该 URL 需要包含足够的状态,以便您的应用程序在收到 URL 时可以确定谁是签名者,信封 ID 是什么, 72小时是否已过等

    或者该 URL 可能是您数据库中的 ref id。您的数据库记录将包含有关信封和签名者的所有相关信息。

    当签名者使用 URL 时,您的应用将被调用。然后,您的应用程序将查找并检查信息。如果一切正常,您的应用程序会从 DocuSign 请求一个嵌入式签名 URL,然后将签名者重定向到该 URL。然后签名者签名。

    请注意我上面提到的“检查”问题。防止人们意外或故意欺骗您的系统至关重要。例如,不要只使用数据库记录 ID,因为有人可能会尝试随机记录 ID 或逐个增加一个好的记录 ID。相反,要求 URL 同时包含记录 ID 和一些无法猜测的记录信息。

    或者使用一个随机的 GUID 作为 URL 的参数,然后在你的数据库中搜索它。

    无论如何,关键是在将签名者重定向到它之前请求嵌入的签名 URL。

    【讨论】:

      【解决方案2】:

      对于嵌入式签名,如 here 所述,URL 令牌仅在 5 分钟内有效。

      这完全取决于您如何配置每个签名者:嵌入式与远程。执行此操作的主要切换是 ClientUserId 属性:正如here 所解释的,非空 ClientUserId 意味着用户是嵌入式的。因此,要设置您的共同签名者进行远程签名,您需要指定 ClientUserId = ""。

      【讨论】:

      • 在多签名者场景中,我们希望向主节点展示一个嵌入的 iframe,其行为与正常情况一样,并且 docusign 返回一个链接,用于我们通过电子邮件发送给他们的共同签名者。
      • 好的,在这种情况下,您需要将主签名者指定为嵌入式签名者,将共同签名者指定为远程签名者。我相应地更新了我的答案
      【解决方案3】:

      您可以在您的Envelope:Create api 调用中设置 notification 属性,以设置一个事件的 TTL。

      embedded signing 的 TTL 是 5 分钟。

      您只能为处于已发送状态的信封生成收件人签名链接。另请注意,签名链接会在 300 秒(5 分钟)后过期,并且仅供一次性使用,这意味着每次收件人想要访问信封时,您都需要生成一个新的签名令牌。

      这是一个示例请求,它有一个嵌入的远程收件人,信封到期时间设置为 72 小时。

      {
          "status": "sent",
          "notification": {
              "expirations": {
                  "expireAfter": 3, //Envelope Expires after 3 days (72 hours).
                  "expireEnabled": true
              },
              "useAccountDefaults": false
          },
          "recipients": {
              "signers": [
                  {
                      "email": "signer@foo.com",
                      "name": "signer one",
                      "recipientId": 1,
                      "clientUserId": 1234 //This is the embedded recipient. Does not receive an email.
                  },
                  {
                      "email": "cosigner@foo.com",
                      "name": "Co Signer",
                      "recipientId": 2 //This is the remote recipeint. Receives an email.
                  }
              ]
          },
          "emailSubject": "Envelope with an embedded recipient and remote recipient",
          "documents": [
              {
                  "documentId": "1",
                  "name": "Agreement",
                  "fileExtension": "pdf",
                  "documentBase64": "[Document base64 bytes go here]"
              }
          ]
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-01-24
        • 1970-01-01
        • 2021-11-16
        • 2014-08-08
        • 2019-07-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多