获取信封网址

时间:2017-08-17 15:07:58

标签: docusignapi

有没有办法使用API​​获取用户在DocuSign网站上查看特定信封的URL?我不是试图使用嵌入式签名体验,因此API提供的各种信封“视图”不是所需的URL。目标是在自定义Web应用程序中提供一个链接,单击该链接时将根据用户登录Docusign网站显示信封,必要时重定向到Docusign登录页面(“控制台”URL提供所需的UI但不强制这种正常的网站认证。)

我看过其他一些帖子,包括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;
}

“baseURL”来自登录结果。结果“envelopeUrl”的示例是https://demo.docusign.net/envelopes/c47dfe7b-3b2c-4885-95b8-56ac7c5aba18

但是,该URL返回404错误。 URL的路径部分是否还需要更多?该文档不清楚如何使用返回的envelopeUri,或者它是用于API还是用于浏览器的普通网站URL的一部分。

3 个答案:

答案 0 :(得分:0)

将用户重定向到Docusign web app

如果用户有权访问信封,应用应提示用户输入凭据并显示信封详细信息页面。

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

答案 1 :(得分:0)

有几种方法可以请求收件人视图。您可以获取控制台视图,发件人视图或收件人视图。在你的情况下,听起来你想要签名视图。如果您提供了ClientUserId,则需要在请求中指定它,否则您将定位收件人的姓名/电子邮件并对https:// {endpoint} .docusign.net /进行POST调用RESTAPI / V2 /账户/ $帐户ID /信封/ $ envelopeId /视图/接受者

示例:

{   " returnUrl":" http://localhost/returnUrl",   "使用authenticationMethod":"电子邮件&#34 ;,   "电子邮件":" recipientemail@email.com",   " userName":" RecipientName" }

这会产生一个回复,其中包含您的收件人可以用来访问信封的会话中签名链接。

        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);

答案 2 :(得分:0)

您提到控制台网址为您提供了所需的用户界面,因此如果您希望控制台网址具有正常的网站身份验证,那么您可以使用授权代码授予,https://docs.docusign.com/esign/guide/authentication/oa2_auth_code.html#starting-the-authentication-code-grant

要求用户通过DS WebApp进行身份验证,并在身份验证后,您需要使用OAUTH API生成访问令牌,一旦获得访问令牌,然后使用控制台视图向用户显示DS WebApp。