【问题标题】:Docusign API Composite TemplateDocusign API 复合模板
【发布时间】:2017-06-07 14:46:17
【问题描述】:

我正在尝试使用compositeTemplate 创建一个包含收件人信息和用户提供的文档的信封。收件人信息或文档在创建时都不会添加到信封中。然而,信封使用服务器模板部分中提供的模板。 bytestring 变量是 pdfbytes。我正在使用 REST API。下面是我的 xml 字符串。任何帮助表示赞赏。

9/12 编辑,原始结果相同。 作为补充说明,我已经成功创建了一个包含提供的 pdf 字节但不使用任何模板的信封。

<envelopeDefinition xmlns="http://www.docusign.com/restapi">
            ...
            <compositeTemplates>
                <compositeTemplate>
                    <serverTemplates>
                       ...
                    </serverTemplates>
                    <inlineTemplates>
                       ...
                    </inlineTemplates>
                    <document>
                        <name>DOCUSIGN API TEST DOC</name>
                        <documentId>123456</documentId>
                        <documentBase64>pdfbytestring</documentBase64>
                    </document>
                </compositeTemplate>
            </compositeTemplates>
        </envelopeDefinition>

【问题讨论】:

  • 那么问题出在哪里?你收到错误信息了吗?如果是这样,它说明了什么?请详细说明...
  • 问题是提供的文档在创建时没有包含在信封中。通过服务器模板标签提供的模板正确显示。没有错误消息,它只是使用给定的模板创建信封,而不是文档。

标签: docusignapi docusigncompositetmplts


【解决方案1】:

PDFBytes 不是 DocuSign REST API 中 document 的有效属性——REST API Guide 中没有提及该属性。 (它 SOAP API 中的一个有效属性——但您没有使用 SOAP API。)这可能是 DocuSign 没有将文档添加到信封的原因-- 它不识别 PDFBytes 属性,所以它只是忽略它。

您可以尝试使用 documentBase64 属性(而不是 PDFBytes)。

除了使用 documentBase64 属性(而不是 PDFBytes)之外,我还建议您重新访问您的 XML 请求结构——如果您希望 Envelope包含在 API 请求中指定的文档(而不是作为模板一部分的文档),那么您的请求的结构应如下所示:

(此处仅显示请求的 compositeTemplates 部分):

<compositeTemplates>
  <compositeTemplate>
      <serverTemplates>
        <serverTemplate>
            ...
        </serverTemplate>
      </serverTemplates>
      <inlineTemplates>
        <inlineTemplate>
            ...
        </inlineTemplate>
      </inlineTemplates>        
      <document>
        <name>DOCUMENT_NAME</name>
        <documentId>DOCUMENT_ID</documentId>
        <documentBase64>DOCUMENT_BYTES</documentBase64>
      </document>
  </compositeTemplate>
</compositeTemplates>

也就是说——让节点成为inlineTemplates节点和serverTemplates节点的对等元素,去掉封装 元素(如我在上面的示例中所示)。

【讨论】:

  • 在这种情况下,您是否知道在 REST API 中使用的正确属性是什么?此外,如果我在内联模板中包含 PDFBytes 属性而没有为文档名称提供 name 属性,我会收到一条错误消息,指出“在没有设置 'name' 字段的情况下定义了一个文档”。
  • 用可能的解决方法更新了我的答案 - 尝试改用 documentBase64 属性。
  • 我们也尝试使用该属性,但未能成功显示正确的文档。
  • Kim,我已经尝试对我的 xml 结构进行建议的更改,并且得到了相同的结果。请查看我对原始帖子的编辑以了解我当前的 xml 结构。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-03
  • 1970-01-01
  • 2016-08-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多