0

我想为同一个信封中的多个收件人重复使用 DocuSign 模板。模板相当简单;它有一些签名和日期签名的块。

收件人将有不同的路由顺序。据我所知,我的 API 请求需要让路由顺序角色名称与 DocuSign 模板匹配。如果角色名称和路由顺序不匹配,我最终会在信封上得到一个空角色(具有所有签名块)。我还尝试过“在草稿中合并角色”。空角色将合并到第二个收件人中,但我丢失了该收件人的所有模板签名块。

有没有办法使用模板但修改模板收件人角色的定义?理想情况下,我想使用完全相同的模板,但为第二个收件人更改该角色的路由顺序。我想避免在 DocuSign 中创建新模板,因为我最终可能会得到很多组合。


我想完成(更新):

我想在一个信封中使用相同的模板两次。每个收件人将被分配到模板的单独副本。最终的信封应该有两个收件人,两个文档,每个收件人只能访问和查看他们的文档。

问题是模板的角色定义了路由顺序。“1”的路由顺序适用于使用模板的第一个收件人,但第二个收件人需要“2”的路由顺序。(模板的角色在所有情况下都希望路由顺序为“1”,但我希望该值为第二个收件人的“2”。)


示例模板信息:

  • 模板名称(例如目的):测试模板 #1
  • 角色名称:申请人1
  • 路由顺序:1(如果我没有定义路由顺序,DocuSign 将其视为“1”)

示例请求:

EnvelopeDefinition envDef = new EnvelopeDefinition();

var signer1 = new Signer()
{
    RecipientId = "1",
    Name = "First User 1",
    RoleName = "Applicant 1",
    Email = "fakeemail1@email.com",
    RoutingOrder = "1"
};

var signer2 = new Signer()
{
    RecipientId = "2",
    Name = "First User 2",
    RoleName = "Applicant 1",
    Email = "fakeemail2@email.com",
    RoutingOrder = "2"
};

envDef.CompositeTemplates = new List<CompositeTemplate>();

var composite1 = new CompositeTemplate()
{
    ServerTemplates = new List<ServerTemplate>()
    {
        new ServerTemplate("1", "Test Template #1 TEMPLATE_ID_GUID_HERE")
    },
    InlineTemplates = new List<InlineTemplate>()
    {
        new InlineTemplate()
        {
            Sequence = "1",
            Recipients = new Recipients()
            {
                Signers = new List<Signer>()
                {
                    signer1
                }
            }
        }
    }

};

var composite2 = new CompositeTemplate()
{
    ServerTemplates = new List<ServerTemplate>()
    {
        new ServerTemplate("2", "Test Template #1 TEMPLATE_ID_GUID_HERE")
    },
    InlineTemplates = new List<InlineTemplate>()
    {
        new InlineTemplate()
        {
            Sequence = "2",
            Recipients = new Recipients()
            {
                Signers = new List<Signer>()
                {
                    signer2
                }
            }
        }
    }

};

envDef.CompositeTemplates.Add(composite1);
envDef.CompositeTemplates.Add(composite2);
envDef.EnforceSignerVisibility = "true";

// Code to send envelope

注意:另外,我正在使用复合模板,因为我们的信封可能会有各种模板和上传文档的组合。

谢谢!

4

1 回答 1

0

这可以通过传递查询参数来实现 -change_routing_order=true同时创建信封。所以创建信封的端点将是

https://{{EnvironmentVal}}/restapi/v2/accounts/{{AccountIdVal}}/envelopes?change_routing_order=true

请求的正文将是

请求正文:

其中相同的 templateId - 076d9062-cfc7-408b-a47f-88c4b74af62b 用于相同的 RoleName 但不同的路由顺序和不同的签名者详细信息

{
   "compositeTemplates": [
      {
         "inlineTemplates": [
            {
              "recipients": {
                  "signers": [
                     {
                        "email": "email+internal@gmail.com",
                        "name": "John Doe",
                        "recipientId": "1",
                        "roleName": "Signer1",
                        "routingOrder": "1"
                     }
                  ]
               },
               "sequence": "2"
            }
         ],
         "serverTemplates": [
            {
               "sequence": "1",
               "templateId": "076d9062-cfc7-408b-a47f-88c4b74af62b"
            }
         ]
      },
      {
         "inlineTemplates": [
            {
               "recipients": {
                  "signers": [
                     {
                        "email": "email+internal2@gmail.com",
                        "name": "John Doe2",
                        "recipientId": "2",
                        "roleName": "Signer1",
                        "routingOrder": "2"
                     }
                  ]
               },
               "sequence": "2"
            }
         ],
         "serverTemplates": [
            {
               "sequence": "1",
               "templateId": "076d9062-cfc7-408b-a47f-88c4b74af62b"
            }
         ]
      }
   ],
   "status": "sent"
}
于 2019-03-07T00:35:16.680 回答