Docusign:带有选项卡的复合模板

Docusign: composite templates with tabs

如何在创建信封时使用复合模板指定预填充字段。

我尝试在 inlineTemplate.recipients.signers[0].tabs 中包含选项卡信息,但出现 System.String cannot be cast to API_REST.Models.v2.tabs 错误。

如果我将信息作为模板角色包含在 templateRoles 中,它将被忽略。文档中没有关于如何执行此操作的信息。预填充数据似乎应该在内联模板中指定。

我的其他未解决问题包括 recipientId 的作用。 clientUserId有什么用?我们目前为所有签名者将 clientUserId 设置为相同的值。我看到它在签名者请求签名时使用。由于某种原因,它应该对每个签名者都是唯一的吗?

它看起来也像是一个单一的复合模板,将服务器和内联模板相互叠加。在单个复合模板中具有多个服务器模板或多个内联模板的用例是什么?

是否计划改进文档以描述如何将复合模板用于各种目的?

Signer/template角色:

{
  "clientUserId": "clientUserId",
  "email": "first+last@email.com",
  "name": "First Last",
  "roleName": "role1",
  "tabs": {
    "textTabs": [
      {
        "locked": true,
        "tabLabel": "\*FieldName",
        "value": "prefillValue"
      }
    ]
  }
}

示例请求:

{
  "compositeTemplates": [
    {
      "inlineTemplates": [
        {
          "recipients": {
            "signers": [
              {
                "clientUserId": "clientUserId",
                "email": "first+last@email.com",
                "name": "First Last",
                "recipientId": 1,
                "roleName": "role1",
                "tabs": {
                  "textTabs": [{"tabLabel": "label", "value": "val"}]
                }
              }
            ]
          },
          "sequence": 1
        }
      ],
      "serverTemplates": [
        {
          "sequence": 1,
          "templateId": "templateId1"
        }
      ]
    },
    {
      "inlineTemplates": [
        {
          "recipients": {
            "signers": [
              {
                "clientUserId": "clientUserId",
                "email": "first+last@better.com",
                "name": "First Last",
                "recipientId": 1,
                "roleName": "role1",
                "tabs": {
                  "textTabs": [{"tabLabel": "label", "value": "val"}]
                }
              }
            ]
          },
          "sequence": 2
        }
      ],
      "serverTemplates": [
        {
          "sequence": 2,
          "templateId": "templateId2"
        }
      ]
    }
  ],
  "emailSubject": "Email subject",
  "status": "sent",
  "templateId": null,
  "templateRoles": null
}

可以找到有关从服务器模板发送信封的信息here.

RecipientID 由 tab 元素用于指示哪个收件人将签署文档,而 clientuserID 指定用户是否 remote or embedded 并且建议每个签名者都是唯一的(但不是必需的)。

我还建议阅读 this page 有关复合模板的内容,希望这个概念能使您理解得更透彻一些,但我同意您的看法,即缺少有关复合模板的文档可能会很麻烦。

不幸的是,我没有包含选项卡数据的示例,但是在我下面的示例中的每个收件人下添加选项卡部分应该没有问题。

{
  "emailSubject": "DocuSign Comp Test 1",
  "emailBlurb": "Example - Composite Templates",
  "status": "sent",
  "compositeTemplates": [
    {
      "serverTemplates": [
        {
          "sequence": "1",
          "templateId": "templateId1"
        }
      ],
      "inlineTemplates": [
        {
          "sequence": "1",
          "recipients": {
            "signers": [
              {
                "email": "testsigner123@gmail.com",
                "name": "Test Tester",
                "recipientId": "1",
                "roleName": "Signer 1"
              }
            ]
          }
        }
      ]
    },
    {
      "serverTemplates": [
        {
          "sequence": "2",
          "templateId": "templateId2"
        }
      ],
      "inlineTemplates": [
        {
          "sequence": "2",
          "recipients": {
            "signers": [
              {
                "email": "testsigner123@gmail.com",
                "name": "Test Tester",
                "recipientId": "1",
                "roleName": "Signer 1"
              }
            ]
          }
        }
      ]
    },
    {    
      "serverTemplates": [
        {
          "sequence": "3",
          "templateId": "templateId3"
        }
      ],
      "inlineTemplates": [
        {
          "sequence": "2",
          "recipients": {
            "signers": [
              {
                "email": "testsigner123@gmail.com",
                "name": "Test Tester",
                "recipientId": "1",
                "roleName": "Signer 1"
              }
            ]
          }
        }
      ]
    }
  ]
}