2017-08-17 87 views
0

有沒有一種方法可以使用API​​獲取用戶在DocuSign網站上查看特定信封的URL?我沒有嘗試使用嵌入式簽名體驗,因此API提供的各種信封「視圖」不是所需的URL。目標是在自定義Web應用程序中提供一個鏈接,單擊該鏈接時會根據用戶登錄Docusign網站顯示信封,必要時重定向到Docusign登錄頁面(「控制檯」URL提供所需的UI,但不強制這種正常的網站認證)。獲取信封URL

我見過其他一些帖子,包括url for managing an evelopeget document url。後者看起來很有希望(儘管在我的情況下,所需的URL是整個信封,而不是特定的文檔),但沒有提供構建完整URL的代碼示例。

我使用C#,與代碼,包括以下(基於get envelope API):

EnvelopesApi envelopesApi = new EnvelopesApi(loginResult.ApiConfiguration); 
var envelope = envelopesApi.GetEnvelope(loginResult.AccountId, envelopeId); 

string envelopeUri = envelope.EnvelopeUri; 

Uri baseUri; 
if (Uri.TryCreate(baseUrl, UriKind.Absolute, out baseUri)) 
{ 
    var uriBuilder = new UriBuilder(baseUri.Scheme, baseUri.Host); 
    uriBuilder.Path = envelopeUri; 

    envelopeUrl = uriBuilder.Uri.AbsoluteUri; 
} 

的「基本URL」是從登錄結果。生成的「envelopeUrl」的一個示例是https://demo.docusign.net/envelopes/c47dfe7b-3b2c-4885-95b8-56ac7c5aba18

但是,該URL返回404錯誤。 URL的路徑部分是否需要更多?該文檔不清楚如何使用返回的envelopeUri,或者它是用於API還是用於瀏覽器的普通網站URL的一部分。

回答

0

你提到所以如果你想與普通網站的身份驗證,那麼你可以使用授權碼格蘭特控制檯URL該控制檯網址爲您提供所需的UI,https://docs.docusign.com/esign/guide/authentication/oa2_auth_code.html#starting-the-authentication-code-grant

詢問用戶通過DS Web應用程序和認證後,認證,您需要使用OAUTH API生成其訪問令牌,一旦獲得訪問令牌,然後使用Console View將DS WebApp顯示給用戶。

+0

這是迄今爲止最好的答案。由於我的應用程序當前使用服務器端代碼中的DocuSign API,因此我忽略了這部分文檔(我應該在原始文章中指出我通過傳統標頭使用服務集成)。如果將來我有需要,我一定會嘗試這條路線;現在我已經繞過了整個問題,通過使用API​​將文檔下載爲PDF,這足以滿足我目前的應用需求。 –

0

將用戶重定向到Docusign web app

該應用程序應提示用戶輸入憑據,並顯示信封詳細信息頁面,如果用戶訪問了信封。

https://appdemo.docusign.com/documents/details/c47dfe7b-3b2c-4885-95b8-56ac7c5aba18 
+0

我在瀏覽器地址欄中看到過類似的網址,但依靠它不是一個好主意,除非它在某個地方被記錄。使用API​​獲取URL是首選。 –

+0

不幸的是,通過API沒有這樣的選項。但是,您可以在REST API之上自行構建應用程序。 [DocuSign rest api](https://docs.docusign.com/esign/)應該爲您提供json/xml格式的所有信封信息。這可能並不簡單,但可能。例如:DocuSign Web應用程序構建在REST API之上。 –

0

有幾種請求收件人視圖的方法。您可以獲取控制檯視圖,發件人視圖或收件人視圖。在你的情況下,它聽起來像你想要簽名視圖。如果您提供了ClientUserId,則需要在請求中指定它,否則您將定位收件人的名稱/電子郵件,並對https:// {endpoint} .docusign.net/restapi/v2 /賬戶/ $帳戶ID /袋/ $ envelopeId /視圖/收件人

例子:

{ 「RETURNURL」: 「http://localhost/returnUrl」, 「使用authenticationMethod」: 「電子郵件」, 「電子郵件」:「recipientemail @ email.com「, 」userName「:」RecipientName「 }

這會產生一個響應,其中包含會話中的簽名li nk您的收件人可以用來訪問信封。

 EnvelopesApi envelopesApi = new EnvelopesApi(testConfig.Configuration); 
     RecipientViewRequest viewOptions = new RecipientViewRequest() 
     { 
      ReturnUrl = returnurl, 
      ClientUserId = "1234", // Must match if supplied when creating the envelope 
      AuthenticationMethod = "email", 
      UserName = "recipientName", 
      Email = "recipientEmail" 
     }; 


     ViewUrl recipientView = envelopesApi.CreateRecipientView(AccountId, EnvelopeId, viewOptions); 
+0

我已經嘗試了一些提到的「意見」,但那不符合要求。正如原來的文章所述,我不希望嵌入式簽名的觀點。我在尋找的是一種支持的方式,即通過這種方式讓URL查看信封,如果尚未登錄,則需要用戶通過DocuSign登錄頁面進行登錄。各種「查看」網址不符合此認證要求。 –