2013-07-09 131 views
2

我們使用docusign爲人們簽署了在我們網站上註冊的同意書,並且我被指向了嵌入式簽名API。Docusign嵌入式簽名

從我的理解,我必須創建一個我已經完成的信封。

我正在使用.Net示例。

登錄通過API很好,但我得到以下錯誤試圖獲得URL從API回:

ENVELOPE_IS_INCOMPLETE The Envelope is not Complete. A Complete Envelope Requires Documents, Recipients, Tabs, and a Subject Line. 

這裏是我的envelopeDefinition XML:

string requestBody = "<envelopeDefinition xmlns=\"http://www.docusign.com/restapi\">" + 
      "<accountId>" + accountId + "</accountId>" + 
      "<status>sent</status>" + 
      "<emailSubject>API Call for Embedded Sending</emailSubject>" + 
      "<emailBlurb>This comes from C#</emailBlurb>" + 
      "<templateId>[TEMPLATE ID FROM DOCUSIGN]</templateId>" + 
      "<templateRoles>" + 
      "<email>[email protected]</email>" + // NOTE: Use different email address if username provided in non-email format! 
      "<name>[email protected]</name>" + // username can be in email format or an actual ID string 
      "<roleName>Signer</roleName>" + 
      "</templateRoles>" + 
      "</envelopeDefinition>"; 

我看到了另一個帖子關於這裏需要一個clientUserId:

http://community.docusign.com/t5/DocuSign-API-Integration-NET/REST-API-net-Error-message-when-creating-the-envelope-from-a/m-p/18121#M1791

但我不確定如何在envelopeDefinition中實現。

請幫忙!

回答

4

要使用嵌入功能,您確實需要爲每個將使用URL令牌訪問信封的收件人設置clientUserId屬性。訣竅是,當您創建信封時,您需要爲收件人設置clientUserId屬性,那麼當您請求URL令牌時,您需要將其包含在請求中以及其電子郵件,名稱和收件人ID中。

DocuSign的開發人員中心有一個專門用於嵌入的整個頁面,並討論了clientUserId屬性的用法。請在這裏看到:

http://www.docusign.com/developer-center/explore/features/embedding-docusign

他們的API演練也是一個很好的資源。他們有6種語言的代碼,向您展示如何完成常見的DocuSign任務。看看底部有三個嵌入功能:

http://iodocs.docusign.com/APIWalkthroughs

[更新] 好吧,我是能夠重現您的問題,並已更新the gist你被工作過的。它應該現在工作,如果你照原樣複製並輸入你的憑證,但基本上請求主體缺少兩個部分。請注意額外的templateRole(單數)標籤和clientUserId標籤:

string requestBody = "<envelopeDefinition xmlns=\"http://www.docusign.com/restapi\">" + 
       "<accountId>" + accountId + "</accountId>" + 
        "<status>sent</status>" + 
        "<emailSubject>API Call for Embedded Sending</emailSubject>" + 
        "<emailBlurb>This comes from C#</emailBlurb>" + 
        "<templateId>" + templateId + "</templateId>" + 
        "<templateRoles>" + 
        "<templateRole>" + 
        "<email>" + username + "</email>" + // NOTE: Use different email address if username provided in non-email format! 
        "<name>Name</name>" +    // username can be in email format or an actual ID string 
        "<roleName>" + roleName + "</roleName>" + 
        "<clientUserId>1</clientUserId>" + 
        "</templateRole>" + 
        "</templateRoles>" + 
        "</envelopeDefinition>"; 
+0

謝謝!這工作完美! – newm0528

相關問題