【问题标题】:Avoid repeating recipient information multiple times while creating DocuSign envelope with composite template避免在使用复合模板创建 DocuSign 信封时多次重复收件人信息
【发布时间】:2020-06-06 06:20:01
【问题描述】:

我正在使用复合模板,因为我需要在信封中包含多个模板。在所有模板中,签名角色都是相同的。我有以下角色和签名顺序。

当我创建信封时,我还需要为每个角色提供自定义电子邮件主题和正文。

这是我使用复合模板创建信封的请求 json。故意将第二个复合模板部分留空,以免它太大。

{
    "status": "created",
    "compositeTemplates": [
        {
            "serverTemplates": [
                {
                    "sequence": "1",
                    "templateId": "de231abb-4566-4433-8c10-6fae41d5f36e"
                }
            ],
            "inlineTemplates": [
                {
                    "envelope": {
                        "customFields": {
                            "textCustomFields": [
                                {
                                    "name": "policy",
                                    "value": "12345"
                                }
                            ]
                        }
                    },
                    "sequence": "1",
                    "recipients": {
                        "carbonCopies": [
                            {
                                "recipientId": "1",
                                "email": "email2@domain.com",
                                "name": "Supervisor Name",
                                "roleName": "Supervisor",
                                "routingOrder": "2",
                                "emailNotification": {
                                    "supportedLanguage": "en",
                                    "emailSubject": "Custom email subject for supervisor",
                                    "emailBody": "Custom email body for supervisor"
                                }
                            },
                            {
                                "recipientId": "2",
                                "email": "email1@domain.com",
                                "name": "Admin Name",
                                "roleName": "Admin",
                                "routingOrder": "4",
                                "emailNotification": {
                                    "supportedLanguage": "en",
                                    "emailSubject": "Custom email subject for admin",
                                    "emailBody": "Custom email body for admin"
                                }
                            }
                        ],
                        "signers": [
                            {
                                "recipientId": "3",
                                "email": "email3@domain.com",
                                "name": "Data entry person Name",
                                "roleName": "DataEntry",
                                "routingOrder": "1",
                                "emailNotification": {
                                    "supportedLanguage": "en",
                                    "emailSubject": "Custom email subject for data entry person",
                                    "emailBody": "Custom email body for data entry person"
                                },
                                "tabs": {
                                    "textTabs": [
                                        {
                                            "tabLabel": "field name",
                                            "value": "field value"
                                        }
                                    ]
                                }
                            },
                            {
                                "recipientId": "4",
                                "email": "email4@domain.com",
                                "name": "client Name",
                                "roleName": "Client",
                                "routingOrder": "3",
                                "emailNotification": {
                                    "supportedLanguage": "en",
                                    "emailSubject": "Custom email subject for the client",
                                    "emailBody": "Custom email body for the client"
                                },
                                "tabs": {
                                    "textTabs": [
                                        {
                                            "tabLabel": "other field name",
                                            "value": "other value"
                                        },
                                        {
                                            "tabLabel": "other2 field name",
                                            "value": "other2 value"
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                }
            ]
        },
        {
            "serverTemplates": [
                {
                    "sequence": "1",
                    "templateId": "de231abb-4566-4433-8c10-6fae41d5f36e"
                }
            ],
            "inlineTemplates": [
                {
                    .
                    - repeat same recipient information again
                    .
                }
            ]
        }
    ]
}

当我准备信封创建请求 json 时,我必须为我需要包含的每个模板创建一个 CompositeTemplate。在 compositeTemplates[x]/inlineTemplates[0]/recipients 中,我为所有 4 个收件人指定了信息(姓名、电子邮件、角色名称、routingOrder、电子邮件主题、电子邮件正文和选项卡,如果适用)。我必须在 CompositeTemplate 中重复相同的 compositeTemplates[x]/inlineTemplates[0]/recipients ,其中包含重复的信息(姓名、电子邮件、角色名称、routingOrder、电子邮件主题、电子邮件正文),这对我来说听起来不正确。

问题#1 -你知道有没有办法在一个地方提供收件人而不是在每个 CompositeTemplate 下复制它?

我的下一个问题是关于从不同的角度证明收件人和标签信息。在 inlineTemplates 下的 Composite 模板中,我必须使用 EnvelopeRecipients 来指定收件人及其选项卡。在这种情况下,我需要知道每个收件人/角色的签名权限,因为我需要将它们放在签名者、corbonCopy 等之下。如果是带有单个模板的信封,我可以轻松地在 EnvelopDefinition 下使用templateRole 来指定收件人及其标签信息按角色。我不需要知道角色的签名权限。

问题#2 – 有没有办法在 CompositeTemplate 中按角色指定收件人信息,而无需像使用单个模板信封那样知道签名权限?

【问题讨论】:

  • 在下面回答。如果有帮助,请务必支持并接受。周五快乐

标签: docusignapi


【解决方案1】:

答案 #1

我不这么认为。如果此工作流程很常见,您可以考虑创建第三个模板,其中包含前两个模板的文档和选项卡。

然后,您可以简单地发送一个仅包含第三个模板的信封。在这种情况下,您只需指定一次收件人信息。

但是,我们通常建议使用复合模板模式,因为当您的用例在未来发生变化时,它更容易自定义和扩展。

答案#2

没有。您正在混合使用两种不同的 DocuSign 设计模式,即不应混合使用 Composite Template 和 TemplateRole。

当您有一个服务器模板并且您想要从您的应用程序中预填充模板中存在的签名者信息和/或任何 DocuSign 选项卡信息时,需要模板角色。

您可以做的(我相信您已经意识到)是在使您的POST /envelopes 包含复合模板之前,使用GET /template 检索模板的签名权限。

【讨论】:

  • 感谢您的回答。我必须说 DocuSign 团队在 stackoverflow 上非常活跃。我同意你的回答#1,我将使用带有重复收件人信息的复合模板。关于答案#2,感谢您提出阅读模板的想法。阅读后,我就拥有了我需要的收件人、角色、标签等所有信息。
  • 乐于助人!请务必接受答案。让我们知道我们是否可以提供进一步帮助
  • @MatthewRoknich -- 请原谅我跳到这里:你是说如果我需要在 DocuSign 服务器上的模板上预填标签信息,我必须使用模板角色?但是如果我使用的是复合模板,我就不能使用模板角色吗?我使用 Composite 是为了使用具有特定签名者信息的不同文档,但我需要在模板上预先填写一些选项卡。我应该使用什么?如果你想让我开始一个新问题,我会的。谢谢!
  • 正确。模板角色特定于模板对象模型。相反,如果您选择 Composite 对象模型,则只需在 inlineTemplates 属性中分配选项卡。如果您遇到困难,请提出一个新问题,我会提供一些示例
  • 我最初在 InlineTemplate 中使用收件人选项卡,但在单选按钮上收到发送错误。我终于发现我正在使用的文档已被编辑器损坏,同一锚文本的多个实例相互堆叠。一旦修复,一切正常。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-17
  • 1970-01-01
  • 2013-12-28
  • 1970-01-01
相关资源
最近更新 更多