我們使用Python和請求庫使用REST API V2的Add document
方法PDF文件添加到信封的DocuSign:我應該如何爲DocuSign提供PDF?
response = requests.put(
'<base URL>/envelopes/<envelope ID>/documents/<next document ID>',
files={'document': <the PDF file object>}, # <- added to the request's body
headers=self._get_headers(
{
'Content-Disposition': 'document; filename="the-file.pdf";'
}
),
timeout=60
)
這在大多數情況下,對我們的工作,不同的是約1 100 PDF文件不通過API接受。發生此問題時,我們告訴用戶通過DocuSign UI直接上傳PDF。這促使我們(在支持的幫助下)查看上面鏈接的Add document
頁面上示例請求上方出現的Document params
鏈接。該頁面顯示documentBase64
屬性和一些其他字段。如何以這種格式提供文檔,並指定所有字段?我是否應該使用files={'document': <JSON-encoded object>}
替換上面的電話中的文件?我無法弄清楚如何添加文件,而不是我們目前正在執行的方式。有沒有另一種方法我錯過了?
你見過[DocuSign的API演練](http://iodocs.docusign.com/apiwalkthroughs)嗎?他們有9個常見的REST API使用案例,每個使用6種不同的語言編寫,其中Python就是其中之一。如果你看看演練#4(網格的左中部),你會看到這個例子是如何提供文檔的。我看到的一個區別是在Content-Disposition標題中,將它設置爲'file'而不是'document'。我想知道這是否與偶爾出現的錯誤有關? – Ergin
@Ergin - 謝謝,我確實看到了這些,但他們錯過了「添加文檔」工作流程。 IIRC,DocuSign集成開發總監告訴我,我需要在Content-Disposition標題中提供'<任何名稱,我稱之爲附件>',在我的情況下,它只是''文檔''。命名附件「文檔」似乎不太可能在很短的時間內導致錯誤。 –
噢,好吧,我錯了,理解了Content-Disposition頭的第一個參數,沒有意識到這只是附件的名稱。嗯,那麼他們在通過api上傳時遇到問題的文檔與其他99似乎有用的文檔之間有什麼區別?這些PDF上的字節編碼或安全設置有什麼不同? – Ergin