You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DocuSign中用JSON标记添加预填充标签不显示的问题求助

问题描述

我正在创建HTML文档,希望使用JSON标记来放置标签。这个方法对签署者的常规标签有效,但尝试用相同方式添加发送者的预填充标签时,所有预填充标签都不显示。我用CompositeTemplate生成信封,因为预填充标签不属于任何收件人,所以把它放在文档层级,代码片段如下:

EnvelopeDefinition().apply {
  emailSubject = ...
  emailBlurb = ...
  this.status = "created"
  compositeTemplates = listOf(
    CompositeTemplate().apply {
      document = Document().apply {
        documentId = "1"
        name = "some document.pdf"
        htmlDefinition = "<div>{{\"tabLabel\": \"exampleTextTab\"}}</div>"
        tabs = Tabs().apply {
          prefillTabs = listOf(
            PreFillTab().apply {
              tabLabel = "exampleTextTab"
              font = "arial"
              fontSize = "size8"
              locked = "true"
            }
          )
        }
解决方案

预填充标签不能直接挂载在Document对象的tabs属性下,需要调整结构来实现:

  • 将预填充标签移至CompositeTemplate的inlineTemplates中,而非文档层级
  • 在inlineTemplate内创建一个占位收件人(比如用抄送人类型),把预填充标签放在该收件人的tabs.prefillTabs里
  • 确保JSON标记的tabLabel和预填充标签的tabLabel完全匹配,同时必须设置预填充的具体值

调整后的代码示例:

EnvelopeDefinition().apply {
  emailSubject = ...
  emailBlurb = ...
  this.status = "created"
  compositeTemplates = listOf(
    CompositeTemplate().apply {
      document = Document().apply {
        documentId = "1"
        name = "some document.pdf"
        htmlDefinition = "<div>{{\"tabLabel\": \"exampleTextTab\"}}</div>"
      }
      // 新增inlineTemplate承载预填充标签
      inlineTemplates = listOf(
        InlineTemplate().apply {
          sequence = "1"
          recipients = Recipients().apply {
            // 创建占位抄送人,仅用于承载预填充标签
            carbonCopies = listOf(
              CarbonCopy().apply {
                recipientId = "99"
                name = "Placeholder"
                email = "placeholder@example.com"
                tabs = Tabs().apply {
                  prefillTabs = listOf(
                    PreFillTab().apply {
                      tabLabel = "exampleTextTab"
                      font = "arial"
                      fontSize = "size8"
                      locked = "true"
                      value = "这里是预填充的内容" // 必须设置填充值
                    }
                  )
                }
              }
            )
          }
        }
      )
    }
  )
}
关键说明
  • 预填充标签必须关联到某个收件人实体,哪怕是占位的抄送人,无法直接绑定到文档本身
  • 占位收件人不会收到邮件,也无需参与签署,仅作为预填充标签的载体存在
  • 若未设置value属性,预填充标签即使显示也会是空内容

内容的提问来源于stack exchange,提问作者Michael X

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 11:01:18