调用 CreateRecepientView 时出错:Unknown_envelope_Recipient

Error calling CreateRecepientView: Unknown_envelope_Recipient

想要生成一个 DocuSign Url 以嵌入到网络应用程序中。 得到下面的打印屏幕。问题 1 从哪里获取“SignerClientId”(MakeRecipientViewRequest 的第三个参数)? 2 如何处理“Unknown_envelope_Recipient”?

BugPrintScreen

谢谢

我看不到你的MakeRecipientViewRequest()方法,但请看下面我提供的 做你需要的 C# 代码。这里的问题是您必须匹配要为其生成签名者视图的收件人(歌手)信息。系统无法找到这样的收件人,这就是您收到错误的原因。 (我还注意到您使用了模板,因此可能还需要检查一下它是如何完成的)

        RecipientViewRequest viewRequest = MakeRecipientViewRequest(signerEmail, signerName);

private RecipientViewRequest MakeRecipientViewRequest(string signerEmail, string signerName)
{
    // Data for this method
    // signerEmail 
    // signerName
    // dsPingUrl -- class global
    // signerClientId -- class global
    // dsReturnUrl -- class global


    RecipientViewRequest viewRequest = new RecipientViewRequest();
    // Set the url where you want the recipient to go once they are done signing
    // should typically be a callback route somewhere in your app.
    // The query parameter is included as an example of how
    // to save/recover state information during the redirect to
    // the DocuSign signing ceremony. It's usually better to use
    // the session mechanism of your web framework. Query parameters
    // can be changed/spoofed very easily.
    viewRequest.ReturnUrl = dsReturnUrl + "?state=123";

    // How has your app authenticated the user? In addition to your app's
    // authentication, you can include authenticate steps from DocuSign.
    // Eg, SMS authentication
    viewRequest.AuthenticationMethod = "none";

    // Recipient information must match embedded recipient info
    // we used to create the envelope.
    viewRequest.Email = signerEmail;
    viewRequest.UserName = signerName;
    viewRequest.ClientUserId = signerClientId;

    // DocuSign recommends that you redirect to DocuSign for the
    // Signing Ceremony. There are multiple ways to save state.
    // To maintain your application's session, use the pingUrl
    // parameter. It causes the DocuSign Signing Ceremony web page
    // (not the DocuSign server) to send pings via AJAX to your
    // app,
    viewRequest.PingFrequency = "600"; // seconds
                                       // NOTE: The pings will only be sent if the pingUrl is an https address
    viewRequest.PingUrl = dsPingUrl; // optional setting

    return viewRequest;
}

我使用以下代码在 MakeEnvelope() 中设置了 clientUserId = '1000'。

Signer1.ClientUserId = "1000"

并使用 RecipientViewRequest

viewRequest = MakeRecipientViewRequest(signerEmail, signerName, "1000");

那么,成功了!