使用CompositeTemplate添加文档时遭遇INVALID_MULTI_PART_REQUEST错误
问题解决:DocuSign更新草稿信封时CompositeTemplate报错INVALID_MULTI_PART_REQUEST
核心原因
你调用的PUT .../accounts/{accountId}/envelopes/{envelopeId}/documents接口不支持CompositeTemplate结构。这个端点仅用于通过顶级documents数组添加/更新简单文档,无法解析请求体中的compositeTemplates字段,因此错误判定你在使用多部分请求,最终返回400错误。
而transformPdfFields确实需要在CompositeTemplate中生效,但这仅适用于**创建信封(POST /envelopes)或更新整个信封(PUT /envelopes/{envelopeId})**的接口,而非专门的documents子端点。
解决方案
改用PUT /accounts/{accountId}/envelopes/{envelopeId}接口更新整个草稿信封,请求体中包含compositeTemplates结构,同时保持信封状态为created(草稿状态)。
示例请求体
{ "status": "created", "compositeTemplates": [ { "document": { "documentBase64": "...", "documentId": "200", "name": "document.pdf", "transformPdfFields": "true" }, "inlineTemplates": [ { "recipients": { "signers": [ { "defaultRecipient": "true", "email": "jdoe@domain.test", "name": "John Doe", "recipientId": "1" } ] }, "sequence": "1" } ] } // 若需保留草稿中原有文档,需将原有文档的配置也加入compositeTemplates数组 ] }
注意事项
- 如果草稿信封已存在其他文档,更新时必须将这些文档的配置也包含在
compositeTemplates中,否则原有文档会被覆盖。 - 确保请求头
Content-Type设置为application/json,避免触发多部分请求解析逻辑。
内容的提问来源于stack exchange,提问作者Aner
相关产品推荐
相关产品推荐

