我正在尝试使用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>
答案 0 :(得分:0)
PDFBytes 不是DocuSign REST API中文档的有效属性 - REST API Guide中没有提及该属性。 (它 是SOAP API中的有效属性 - 但您并未使用SOAP API。)这可能是DocuSign不是&#39的原因。 ; t将文档添加到信封中 - 它不识别 PDFBytes 属性,因此它只是忽略它。
您可以尝试使用 documentBase64 属性(而不是 PDFBytes )。
除了使用 documentBase64 属性(而不是 PDFBytes )之外,我还建议您重新访问XML请求结构 - 如果您需要信封包含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>
换句话说 - 将&lt; document&gt; 节点设为 inlineTemplates 节点和 serverTemplates 节点的对等元素,并删除完全封装&lt; documents&gt; 元素(正如我在上面的例子中所示)。