当前位置: 首页 > 知识库问答 >
问题:

如何为没有电子邮件和姓名的收件人获得嵌入签名URL

邹英悟
2023-03-14

我的用例是,创建一个带有代理的信封,以指定以下签名者的姓名和电子邮件。

{
  "recipients": {
    "agents": [
      {
        "clientUserId": "1",
        "email": "aaa@example.com.au",
        "name": "Agent",
        "recipientId": "1",
        "routingOrder": "1"
      }
    ],
    "signers": [
      {
        "clientUserId": "2",
        "email": "",
        "name": "",
        "recipientId": "2",
        "routingOrder": "2",
        "tabs": {
          "signHereTabs": [
            {
              "anchorIgnoreIfNotPresent": "false",
              "anchorString": "Signature_anchor_1",
              "anchorUnits": "pixels",
              "anchorYOffset": "0",
              "name": "Please sign here",
              "recipientId": "1"
            }
          ]
        }
      }
    ]
  },
  "emailSubject": "DocuSign API - Signature Request on Document Call",
  "documents": [
    {
      "documentId": "1",
      "name": "{{fileName}}",
      "documentBase64": "{{fileBase64}}"
    }
  ],
  "status": "sent"
}
{
  "clientUserId": "2",
  "userName": "",
  "email": "",
  "recipientId": "2",
  "returnUrl": "https://www.sample.com",
  "authenticationMethod": "email"
}
{
    "errorCode": "INVALID_REQUEST_PARAMETER",
    "message": "The request contained at least one invalid parameter. A value was not found for parameter 'userName'."
}

我试图用新的指定名称和电子邮件获得它:

{
  "clientUserId": "2",
  "userName": "new",
  "email": "new@example",
  "recipientId": "2",
  "returnUrl": "https://www.sample.com",
  "authenticationMethod": "email"
}

但仍然得到了错误响应:

{
    "errorCode": "UNKNOWN_ENVELOPE_RECIPIENT",
    "message": "The recipient you have identified is not a valid recipient of the specified envelope."
}

我试图通过调用get envelop API获取RecipientID,并使用RecipientID检索视图,但仍然不起作用。

    null

正如建议为名称和电子邮件放置一个位置持有人,并为签名者添加clientUserId,我用请求体调用create envelope API:

{
  "recipients": {
    "agents": [
      {
        "clientUserId": "1",
        "email": "aaa@example.com.au",
        "name": "Agent",
        "recipientId": "1",
        "routingOrder": "1"
      }
    ],
    "signers": [
      {
        "clientUserId": "2",
        "email": "example@example.com",
        "name": "example",
        "recipientId": "2",
        "routingOrder": "2",
        "tabs": {
          "signHereTabs": [
            {
              "anchorIgnoreIfNotPresent": "false",
              "anchorString": "Signature_anchor_1",
              "anchorUnits": "pixels",
              "anchorYOffset": "0",
              "name": "Please sign here",
              "recipientId": "1"
            }
          ]
        }
      }
    ]
  },
  "emailSubject": "DocuSign API - Signature Request on Document Call",
  "documents": [
    {
      "documentId": "1",
      "name": "{{fileName}}",
      "documentBase64": "{{fileBase64}}"
    }
  ],
  "status": "sent"
}

对于代理,他不能更改签名者的电子邮件/名称,因为当他访问DocuSign签名链接时,DocuSign弹出一条消息“所有收件人都已被分配”。

因此,我尝试使用中介而不是代理并使用请求正文调用:

{
  "recipients": {
    "intermediaries": [
      {
        "clientUserId": "1",
        "email": "aaa@example.com.au",
        "name": "Intermediary",
        "recipientId": "1",
        "routingOrder": "1"
      }
    ],
    "signers": [
      {
        "clientUserId": "2",
        "email": "example@example.com",
        "name": "example",
        "recipientId": "2",
        "routingOrder": "2",
        "tabs": {
          "signHereTabs": [
            {
              "anchorIgnoreIfNotPresent": "false",
              "anchorString": "Signature_anchor_1",
              "anchorUnits": "pixels",
              "anchorYOffset": "0",
              "name": "Please sign here",
              "recipientId": "1"
            }
          ]
        }
      }
    ]
  },
  "emailSubject": "DocuSign API - Signature Request on Document Call",
  "documents": [
    {
      "documentId": "1",
      "name": "{{fileName}}",
      "documentBase64": "{{fileBase64}}"
    }
  ],
  "status": "sent"
}
  1. 每当中介更新签名者的姓名/电子邮件时,DocuSign将向更新后的电子邮件地址发送电子邮件,而不管是否为该签名者设置了ClientUserID

这可能是另一个问题,但DocuSign似乎对签名者和见证者的更新电子邮件事件处理方式不同。我想知道我观察到的场景是预期的:

  1. 当签名者更新/添加其证人的姓名/电子邮件时,如果为该证人设置了ClientUserID
  2. ,则DocuSign不会将电子邮件发送到更新的电子邮件地址

在使用intermediaries参数调用后,我可以通过使用请求体调用以下两种方法来检索签名者的签名URL:

{
  "clientUserId": "2",
  "userName": "example",
  "email": "example@example.com",
  "recipientId": "2",
  "returnUrl": "https://www.google.com",
  "authenticationMethod": "email"
}

{
  "clientUserId": "2",
  "userId": {{userId retrieved from get envelope recipients}},
  "recipientId": "2",
  "returnUrl": "https://www.google.com",
  "authenticationMethod": "email"
}

但是在中介更改了收件人的电子邮件/名称后,上述请求体都无法检索签名URL。我尝试了原始和更新的clientid和(email+name)组合,但仍然不起作用。

{
  "recipients": {
    "intermediaries": [
      {
        "clientUserId": "1",
        "email": "aaa@example.com.au",
        "name": "Intermediary",
        "recipientId": "1",
        "routingOrder": "1"
      }
    ],
    "signers": [
      {
        "clientUserId": "2",
        "email": "example@example.com",
        "name": "example",
        "recipientId": "2",
        "routingOrder": "2",
        "tabs": {
          "signHereTabs": [
            {
              "anchorIgnoreIfNotPresent": "false",
              "anchorString": "Signature_anchor_1",
              "anchorUnits": "pixels",
              "anchorYOffset": "0",
              "name": "Please sign here",
              "recipientId": "1"
            }
          ]
        }
      }
    ]
  },
  "workflow": {
    "workflowSteps": [
      {
        "action": "pause_before",
        "itemId": "2",
        "triggerOnItem": "routing_order"
      }
    ]
  },
  "emailSubject": "DocuSign API - Signature Request on Document Call",
  "documents": [
    {
      "documentId": "1",
      "name": "{{fileName}}",
      "documentBase64": "{{fileBase64}}"
    }
  ],
  "status": "sent"
}
  "workflow": {
    "workflowSteps": [
      {
        "action": "pause_after",
        "itemId": "1",
        "triggerOnItem": "routing_order"
      }
    ]
  },
{
    "workflow": {
        "workflowStatus": "in_progress"
    }
}

签名者的状态保持为创建,无法更新为发送,因此无法检索签名者的签名URL。如何取消工作流的暂停?

共有1个答案

宋经赋
2023-03-14

今天,DocuSign中的每个收件人都必须有一封电子邮件和名字。我怀疑出于法律原因,要求一个名字总是会被强制执行的。在你的场景中,有一个名字和一封电子邮件,你只是不知道它们是什么,对吗?您可以首先对这个信封进行获取收件人调用https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/enveloperecipients/list/

GET /restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/recipients

然后,您将获得电子邮件的名称,并可以进行POST调用以生成嵌入的签名URL。

 类似资料:
  • 我有一个用例来将电子签名与一些机密客户的现有应用程序集成。 在探索docuign时,我发现有两种方法可以获得电子签名: 远程-在电子邮件中发送签名链接 我很清楚这条遥远的路。但是,嵌入式方式不明确,我的问题是关于嵌入式的: 我有一个示例用例:假设,Tom是我的用户,他想从另一个用户Pedro那里获得签名的文档。所以汤姆会: 点击API创建一个信封,将所有文档封装在其中 现在,Tom如何将此URL发

  • 我有一个web应用程序,我用它从用户那里收集一些信息(不是姓名或电子邮件),然后计划让他们通过DocuSign立即在线(不是通过电子邮件)以电子方式签署文档。 为了获得签名url(又名收件人视图),我似乎必须提供收件人的定义。“收件人”定义的一部分是用户名和电子邮件地址。这是真的吗? DocuSign API/SDK是否要求我提供最终用户(亦称签名者)的名称和电子邮件地址?如果我不提供这些东西,A

  • DocuSign向签名者发送一封电子邮件,其中包含文档,如果我们没有提到任何电子邮件正文,它只会说请DocuSign文档名,我想知道我们是否可以删除发件人的详细信息,如 发件人姓名,发件人电子邮件地址, 你好收件人姓名, 请记录文档名称, 谢谢,发件人姓名 是否可以在开始时通过编程删除发件人姓名和发件人电子邮件地址,而无需编辑品牌中的资源文件

  • 我正在使用嵌入式Docusign API嵌入用于签名的文档。我将名字、姓氏和电子邮件存储在来自表单的会话中。我试图将templateRoles中的电子邮件更改为从表单存储在会话中的电子邮件,但我要么超时,要么得到一个错误,即电子邮件不正确:

  • 我以嵌入式方式使用DocuSign API。我创建了一个信封并添加了签名者,第一个签名者总是被设置为嵌入的。这允许我检索一个URL,然后将其嵌入到iframe中。 然而,我也希望触发一封电子邮件(信封创建完成后,而不是创建完成后),发送给主要收件人/签名者,就像他们是未嵌入的签名者一样。 我尝试向收件人添加两次具有相同角色的签名者,但都没有成功。未发送电子邮件。 有没有办法做到这一点?