Docusign:使用 REST API 和预填充标签通过模板创建信封

2024-01-13

我正在集成 Docusign,以便收件人可以看到他们的信封嵌入在我的网站上。我首先使用 api 创建信封,然后尝试使用动态数据预填充数据字段。

据我所知,我用来创建信封的 json 没有任何问题。 StackOverflow 上针对此问题的其他解决方案均无济于事。我的 json 看起来像这样(我发送到https://demo.docusign.net/restapi/v2/accounts/360734/envelopes https://demo.docusign.net/restapi/v2/accounts/360734/envelopes):

{
   "status": "sent",
   "emailBlurb": "Please sign the document.",
   "emailSubject": "Please sign your agreement",
   "templateId": "TEMPLATE_ID",
   "templateRoles": [
     {
       "clientUserId": "EMAIL",
       "name": "NAME",
       "email": "EMAIL",
       "roleName": "Signer1",
       "tabs": {
         "textTabs": [
           {
             "tabLabel": "address",
             "value": "ADDRESS "
           },
           {
             "tabLabel": "multi_address",
             "value": "ADDRESSES"
           }
         ]
       }
     },
     {
       "name": "ANOTHER NAME",
       "email": "ANOTHER EMAIL",
       "roleName": "Random1"
     }
   ]
 }

我得到以下回复:

{
   "envelopeId": "ENVELOPE_ID",
   "uri": "/envelopes/ENVELOPE_ID",
   "statusDateTime": "2013-10-25T01:20:55.6750772Z",
   "status": "sent"
}

然后我通过发布到来获取向客户展示的链接https://demo.docusign.net/restapi/v2/accounts/360734/envelopes/ENVELOPE_ID/views/recipient https://demo.docusign.net/restapi/v2/accounts/360734/envelopes/ENVELOPE_ID/views/recipient

{
  "authenticationMethod": "email",
  "clientUserId": "EMAIL",
  "email": "EMAIL",
  "returnUrl": "MYURL",
  "userName": "NAME"
}

我得到这样的回应:

 {
   "url": "https://demo.docusign.net/Member/StartInSession.aspx?t=REDACTED"
 }

这遵循此处看到的示例:https://github.com/Ergin008/DocuSign-REST-API-Webinar-April2013/blob/master/example2.json https://github.com/Ergin008/DocuSign-REST-API-Webinar-April2013/blob/master/example2.json

以这种方式创建信封后,标签似乎没有预填充。当我查看网站上嵌入的信封时,没有任何内容。我确信 tabLabels 是正确的。其他一切似乎都工作正常。我缺少某种设置吗?

UPDATE看来这可能是一个错误!我所更改的只是角色名称,它有效!

 {
   "status": "sent",
   "emailBlurb": "Please sign the document.",
   "emailSubject": "Please sign your agreement",
   "templateId": "TEMPLATE_ID",
   "templateRoles": [
     {
       "clientUserId": "EMAIL",
       "name": "NAME",
       "email": "EMAIL",
       "roleName": "Signer1",
       "tabs": {
         "textTabs": [
           {
             "tabLabel": "address",
             "value": "ADDRESS "
           },
           {
             "tabLabel": "multi_address",
             "value": "ADDRESSES"
           }
         ]
       }
     },
     {
       "name": "ANOTHER NAME",
       "email": "ANOTHER EMAIL",
       "roleName": "Signer2"
     }
   ]
 }

而且人口众多!看来如果我以 Signer 以外的任何名称开始角色名称,它就不起作用。诡异的!

是的,在本例中,我将 Docusign 上的角色名称从 Random1 更改为 Signer2。例如,Signer3 也可以工作。


您的问题表明您将该 JSON 提交到“获取收件人视图”资源:

https://demo.docusign.net/restapi/v2/accounts/ACCOUNT_ID/envelopes/ENVELOPE_ID/views/recipient)

...但是该 JSON 看起来像您在“创建信封”请求中使用的内容,而不是“获取收件人视图”请求中使用的内容。因此,让我首先澄清促进嵌入式/强制签名的过程(即在您的站点内呈现收件人的信封)。这样做分为两步:

STEP 1:创建信封(如果需要,请求包括为每个收件人预填充字段的数据)。

POST https://{server}/restapi/{apiVersion}/accounts/{accountId}/envelopes

请参阅 REST API 指南第 27 页开始的“从模板创建信封”部分(http://www.docusign.com/sites/default/files/REST_API_Guide_v2.pdf http://www.docusign.com/sites/default/files/REST_API_Guide_v2.pdf)有关请求和响应的详细信息。

STEP 2:检索可用于启动收件人信封(签名会话)的 URL。

POST https://{server}/restapi/{apiVersion}/accounts/{accountId}/envelopes/{envelopeId}/views/recipient

{
"authenticationMethod":"Email",
"clientUserId":"CLIENT_USERID_SPECIFIED_IN_REQUEST",
"email":"RECIPIENT_EMAIL",
"returnUrl":"URL_TO_REDIRECT_TO_WHEN_SIGNING_COMPLETE",
"userName":"RECIPIENT_NAME"
}

响应将包含可用于启动收件人信封的 URL:

{
"url":"URL_THAT_WILL_LAUNCH_ENVELOPE"
}

请参阅 REST API 指南第 160 页开始的“收件人后视图”部分(http://www.docusign.com/sites/default/files/REST_API_Guide_v2.pdf http://www.docusign.com/sites/default/files/REST_API_Guide_v2.pdf)有关请求和响应的更多详细信息。

现在,假设您正确执行了所有这些操作(步骤 1 和步骤 2),那么让我们回到您报告的问题:难以为收件人预填充字段。关于您问题中包含的“从模板创建信封”JSON 的一些评论:

  • 你不需要帐户ID在请求中。
  • 你不需要包括文档ID and 页码在选项卡的请求中。
  • 你需要包括客户端用户ID对于请求中的收件人,如果您希望收件人在您的站点内嵌入/强制签名。

因此,这是一个“从模板创建/发送信封”示例请求(step 1上面),用值“VALUE_A”预先填充名为“FIELD_1”的选项卡,该选项卡出现在信封中的任何位置:

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"        : "[email protected] /cdn-cgi/l/email-protection",
      "roleName"     : "Signer1Role",
      "clientUserId" : "123",
      "tabs"         :
         {"textTabs":[{
            "tabLabel":"\\*FIELD_1",
            "value":"VALUE_A"}
         ]}
   }]
}

然后,您将获取响应中返回的信封 ID 并调用“获取收件人视图”资源(step 2上面)获取启动签名会话的 URL:

POST https://{{env}}.docusign.net/restapi/{{version}}/accounts/{{acctId}}/envelopes/ENVELOPE_ID/views/recipient
{
     "authenticationMethod": "Email",
     "clientUserId": "123",
     "userName": "John Doe",
     "email": "Johns[email protected] /cdn-cgi/l/email-protection",
     "returnUrl": "http://www.google.com"
}

Finally, one last comment (but an important one): if you're just wanting to inject the recipient's "full name" in the document -- use the "Full Name" tab when creating the Template and DocuSign will automatically inject the recipient's name in place of that tag, anywhere that it appears (instead of you using a Text Tab and having to populate it via the API request). Here's the Full Name tag in the DocuSign UI tagger view: Using Full Name tag

另一个创建信封示例(带有数据字段属性的屏幕截图):

如果我提交此请求:

POST https://{{env}}.docusign.net/restapi/{{version}}/accounts/{{acctId}}/envelopes
{
  "emailSubject": "Please sign this",
  "emailBlurb": "Please sign...thanks!",
  "templateId": "TEMPLATE_ID",
  "envelopeIdStamping": "false",
  "templateRoles": [
   {
      "roleName": "Signer1",
      "name": "John Doe",
      "email": "[email protected] /cdn-cgi/l/email-protection",
      "recipientId": "1",
      "tabs":{
            "textTabs":[
               {
                  "tabLabel":"\\*address",
                  "value":"123 Main Street"
               },
            ],
         }
    }
  ],
  "status": "sent"
}

数据字段属性(通过 DocuSign UI 编辑模板时)如下所示:

那么结果就是带有 Label = 的字段address分配给收件人角色的Signer1当签名者查看其信封时,将预先填充值“123 Main Street”。如果这不适合您,我建议您:

  • 验证值roleName在 API 请求中exactly与我在之前的屏幕截图中突出显示的收件人值匹配(在我的示例中为“Signer1”)。
  • 验证值tabLabel在 API 请求中exactly与我在前面的屏幕截图中突出显示的标签值匹配(在我的示例中为“地址”)。

Note: 值为区分大小写,因此请确保您请求中的值是exact与数据字段标记属性中的值匹配(包括大写/小写)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Docusign:使用 REST API 和预填充标签通过模板创建信封 的相关文章

  • 无法将值传递给文档签名模板

    我正在尝试弄清楚如何将表单字段值传递到我的文档签名模板 我查看了 v2 API 文档 但没有发现任何结果 您只需在 JSON 请求属性 或 XML 中使用tabLabel and value特性 例如 这将填充 2 个数据字段 一个名为 A
  • Docusign 签名 url - 显示复合模板的文档 1

    使用 docusign rest api 我想创建一个包含 2 个文档的信封 然后我将使用收件人帖子视图向第一个收件人 在 iframe 中 显示文档 1 签名后将同一信封中的文档 2 显示给其他收件人 我创建了具有不同 tempalteR
  • DocuSign:Rest API C# 为签名者获取永久链接

    我正在使用 DocuSign 的 REST API 以嵌入式签名模式创建信封 使用 CreateRecipientView 函数我只得到一个临时链接 但我更希望获得像通知邮件中那样的永久链接 我怎样才能得到这个链接 URL 使用 DocuS
  • 自动添加标签

    使用 MS Word 文档作为我们的源文件 是否有一种方法可以在上传的文档中包含特殊标记字符或 MS Word 字段 以便 Dousing 可以读取特殊标记或字段并将其替换为适当的标签和签名数据 这将允许我调整我们的文档创建软件 在我们需要
  • 调用 EnvelopesApi#update_document_tabs 返回错误

    我想一次更新文档的所有选项卡 该文档的信封是根据已定义收件人和选项卡的模板创建的 我正在调用this具有以下有效负载的端点来更新选项卡 textTabs validationPattern validationMessage shared
  • Docusign REST API:将文档下载到字符串

    我正在使用 docusign API 和 PHP 构建一个应用程序 除了我不知道如何下载该文档之外 我已经完成了大部分工作 我一直在这个网站和 Docusign 网站上搜索 Docusign 有一个例子在这里 展示了如何获取 PHP 中的文
  • DocuSign 认证的严格性

    来自 DocuSign API 要求信息 Y 我们的 API 认证审核涉及验证您是否每 15 分钟每个唯一信封的状态请求不超过 1 个 以便对以下方法进行轮询合规性 REST API GET accounts accountId envel
  • 如何在 Salesforce 中以编程方式作废 DocuSign 信封?

    我正在使用 DocuSign For Salesforce 应用程序 作为工作流程的一部分 我们在满足某些条件时创建信封 但如果不再满足条件 我需要能够通过 Apex 触发器使信封无效 DocuSign 应用程序的文档详细介绍了如何创建信封
  • 如何通过浏览器javascript访问Docusign API?

    我正在用 Javascript 构建一个基于浏览器的应用程序 我尝试通过 jQuery 访问 docusign api support cors true ajax crossDomain true url https demo docus
  • Docusign 连接服务未将数据发布到指定的 url

    Docusign 连接服务不会将数据发布到连接服务选项中指定的 URL 实际上 如果我重新发送日志中的数据 它会起作用 但它本身不起作用 请帮我 谢谢 通常 当 DocuSign Connect 未发布到 URL 时 这是由以下原因之一引起
  • Docusign 请求服务器时出错,收到不成功的 HTTP 代码,已完成响应正文:{"error":"consent_required"}

    新增支持scopes by docusign for integration key在管理员连接的应用程序中仍然获得需要同意的错误 Here is whatever scopes added against integration key
  • JWT OAuth 身份验证流程中的“错误请求”消息

    我已按照文档中的所有说明生成 JWT 令牌 但只收到 错误请求 作为响应 当我尝试运行 eg 01 php jwt 时 会发生同样的情况 我正在使用 DocuSign 演示环境并使用 Postman 和curl 模拟请求 我正在做的步骤是
  • 无法使用在线签名模式创建信封

    我正在尝试创建一个信封并使用在线模式对其进行签名 首先 我登录了我的帐户 IBAction private func signDocument sender UIButton guard let hostURL URL string Env
  • 非常基本的东西 - 如何通过 REST API 将文档发送到 docusign?我到处都只看到

    你能告诉我下面的代码是否正确 MYBOUNDARY Content Type application pdf Content Disposition file filename sample pdf documentid 1 B 17f7b
  • Docusign:使用 REST API 和预填充标签通过模板创建信封

    我正在集成 Docusign 以便收件人可以看到他们的信封嵌入在我的网站上 我首先使用 api 创建信封 然后尝试使用动态数据预填充数据字段 据我所知 我用来创建信封的 json 没有任何问题 StackOverflow 上针对此问题的其他
  • 文档模板 - 角色设置为亲自或电子邮件签名

    我已经成功创建了一个系统来使用文档模板来创建新信封 该系统具有选项卡式 UI 和 iframe 每次更改选项卡以及 URL 过期时 都会从 Docusign API 获取新 URL 我的问题是现在 一些客户将亲自签名或通过电子邮件签名 阅读
  • 我们可以使用 C# 在 DocuSign API 中启用嵌入式登录和远程登录吗?

    使用服务器模板创建信封 然后获取嵌入式签名的返回 URL 并通过电子邮件将信封发送给收件人以签署文档 这样 用户可以使用电子邮件链接 远程 或 Web 中的嵌入式链接签署文档 请告诉我 DocuSign API 中有任何选项可以实现此目的吗
  • DocuSign 嵌入签名 returnUrl 长度限制?

    在处理 DocuSign 嵌入式签名流程 过去曾有效 时 我注意到在签署文档后 我被发送回的 returnUrl 中缺少 event 参数 returnUrl 看起来像 http www example com index php para
  • 无法创建将编辑者和签名者作为嵌入式收件人的信封

    我将使用我的应用程序凭据创建一个文档 该文档应由编辑接收者编辑并由签名接收者签名 尽管收件人编辑者有文档签名帐户 但它失败并出现以下错误 com docusign esign client ApiException errorCode ED
  • Docusign - 更改已完成签名通知电子邮件消息/简介

    我想这很简单 只是我没有找到正确的位置 有没有一种方法可以为已完成的签名电子邮件通知编写自定义电子邮件简介 就像您可以在嵌入式签名 API 代码中为签名通知请求生成自定义电子邮件简介一样 目前 我的集成已嵌入第一个签名者 然后通过电子邮件发

随机推荐