簡體   English   中英

如何通過收件人DocuSignAPI使用模板將accessCode發送給收件人並覆蓋電子郵件?

[英]How do I send an accessCode to a recipient and override the email using a template via the DocuSignAPI?

我已經嘗試了所有我能想到的所有事情,並且無法使它起作用。

我試圖在我的代碼中設置訪問代碼,並使用RequestSignatureFromTemplate調用將其發送到templateRole。 現在,我所有的配置信息都是XML。 我並不反對使用JSON,但並非所有開發人員都知道JSON。

這是我的XML的片段。

<envelopeDefinition xmlns=\"http://www.docusign.com/restapi\">
    accountId>12345</accountId>
    <status>sent</status>                        
    <emailSubject>Test Form</emailSubject>
    <emailBlurb>This is a template test.</emailBlurb>
    <templateId>####-########</templateId>
    <templateRoles>
        <templateRole>
            <accessCode>AccessCode124</accessCode>" +
            <addAccessCodeToEmail>true</addAccessCodeToEmail>" +
            <email>jevans@eclarifire.com</email>
            <name>Test User</name>
            <roleName>RoleOne</roleName>
            <emailNotification>
                <emailSubject>This is RoleOne's subject</emailSubject>
                <emailBody>This is RoleOne's email.</emailBody>
                <addAccessCodeToEmail>true</addAccessCodeToEmail>
            </emailNotification>
        </templateRole>
        <templateRole>
            <accessCode>AccessCode246</accessCode>
            <email>jevans@eclarifire.com</email>
            <name>Test User2</name>
            <roleName>RoleTwo</roleName>
            <emailNotification>
                <emailBody>Your access code is 24680</emailBody>
            </emailNotification>
        </templateRole>
    </templateRoles>
</envelopeDefinition>

您會注意到,我在templateRole節點中有兩種不同的實現。 這是故意的,因為我正在嘗試所有我能想到的東西。 在templateRole(1)中,我在兩個不同的位置添加了addAccessCodeToEmail節點,但在兩個位置均不起作用。 我還嘗試覆蓋templateRole(1)emailBlurb節點,它也不起作用。

我已經看完了文檔,它說您應該能夠添加“收件人”格式遵循的所有內容,但我無法使其正常工作。

任何人有任何想法嗎?

我從未在“創建/發送信封” API請求中使用過addAccessCodeToEmail屬性,因為收件人在接收到的電子郵件中包含訪問代碼,這完全抵消了使用訪問代碼進行身份驗證的影響。 即,要求收件人輸入訪問代碼的整個要點是增加保障的另一層 -超越的事實,有人僅僅能夠訪問電子郵件收件箱-授權訪問信封之前。 如果您要在收件人收到的電子郵件中包含訪問代碼,則使用訪問代碼作為身份驗證形式不會提供任何其他安全優勢-有權訪問該電子郵件收件箱的任何人都將能夠輕松訪問信封(與根本不使用訪問代碼相同的結果)。

話雖這么說, 一個(無論何種原因)應允許您有包含在收件人收到的電子郵件訪問代碼屬性-我不能得到這個工作的。 可能是一個錯誤,但DocuSign的某人需要確認。 根據文檔,這將導致電子郵件中包含訪問代碼:

POST https://{{env}}.docusign.net/restapi/{{version}}/accounts/{{acctId}}/envelopes
{
    "status"        : "sent",
    "emailBlurb"    : "please sign",
    "emailSubject"  : "Please sign your document",
    "templateId"    : "TEMPLATE_ID",
    "templateRoles" : [{
      "name"         : "John Doe",
      "email"        : "JohnsEmail@outlook.com",
      "roleName"     : "Signer1",
      "accessCode"   : "1234",
      "addAccessCodeToEmail": "true"
   }]
}

此請求導致收件人必須先輸入訪問代碼,然后他才能訪問信封,但是addAccessCodeToEmail屬性沒有達到預期的效果,因為訪問代碼不會出現在收件人接收的電子郵件中的任何位置。

替代方法(最佳實踐) :與使用純文本訪問代碼添加到電子郵件不同,使用API​​創建/發送信封並要求訪問代碼作為收件人身份驗證形式的最佳實踐是:

  • 使用您的應用程序知道的有關接收者的數據,以編程方式設置accessCode
  • 設置“電子郵件模糊”(即電子郵件正文)以提供有關訪問代碼的提示。

例如,假設您的應用程序知道收件人的社會保險號。 發出“創建信封” API請求時:

  • accessCode的值設置為收件人的SSN的最后4位數字。
  • 設置emailBlurb的值以包括消息“您的訪問代碼是SSN的后4位”。

與僅在電子郵件本身中包括訪問碼(以純文本格式)相比,以這種方式進行操作要安全得多。

最后,關於覆蓋收件人的電子郵件主題和正文的問題-請參閱REST API指南第290-291頁的emailNotification屬性的定義( http://www.docusign.com/sites/default/files/REST_API_Guide_v2。 pdf ):

  • 重要說明:如果為一個收件人啟用了此功能,它將覆蓋信封主題和EmailBlurb。 另外,您必須為所有收件人啟用emailNotification

聽起來好像您需要為每個收件人設置emailNotification,以使其生效。

這里有幾個示例,這些示例在Create Envelope API請求中使用“復合模板”來創建具有ID檢查或電話身份驗證的信封作為收件人身份驗證的方法。

收件人身份驗證= ID檢查

POST https://{{env}}.docusign.net/restapi/{{version}}/accounts/{{acctId}}/envelopes
{
  "emailSubject": "Please sign",
  "emailBlurb": "Please sign...thanks!",
  "status": "sent",
  "compositeTemplates": [
  {
    "serverTemplates": [
    {
        "sequence" : 1,
        "templateId": "TEMPLATE_ID"
    }],
    "inlineTemplates": [
    {
        "sequence" : 2,
        "recipients": {
            "signers" : [{
                "email": "SallysEmail@outlook.com",
                "name": "Sally Adamson",
                "recipientId": "1",
                "roleName": "ROLE_NAME",
                "requireIdLookup": "true",
                "idCheckConfigurationName": "ID Check $"
            }]
        }
    }]
  }]  
}

收件人身份驗證=電話身份驗證

POST https://{{env}}.docusign.net/restapi/{{version}}/accounts/{{acctId}}/envelopes
{
  "emailSubject": "Please sign",
  "emailBlurb": "Please sign...thanks!",
  "status": "sent",
  "compositeTemplates": [
  {
    "serverTemplates": [
    {
        "sequence" : 1,
        "templateId": "TEMPLATE_ID"
    }],
    "inlineTemplates": [
    {
        "sequence" : 2,
        "recipients": {
            "signers" : [{
                "email": "SallysEmail@outlook.com",
                "name": "Sally Adamson",
                "recipientId": "1",
                "roleName": "ROLE_NAME",
                "requireIdLookup": "true",
                "idCheckConfigurationName": "Phone Auth $",
              "phoneAuthentication": {
                "recipMayProvideNumber": "false",
                "senderProvidedNumbers": ["206-444-5555"]
              }
            }]
        }
    }]
  }]  
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM