我正在尝试一个简单的例子来获得一个用docuSign签名的pdf,但是当我试图让ViewUrl重定向用户时,我遇到了UNKNOWN_ENVELOPE_RECIPIENT错误。
下面是我用来用pdf文档创建信封的代码。
string recipientName = "Tester";
string recipientEmail = "test@me.com";
string accountId = AuthenticateDocuSign();
byte[] fileBytes = File.ReadAllBytes(@"C:\temp\test.pdf");
EnvelopeDefinition envDef = new EnvelopeDefinition();
envDef.EmailSubject = "[DocuSign C# SDK] - Please sign this doc";
// Add a document to the envelope
DocuSign.eSign.Model.Document doc = new DocuSign.eSign.Model.Document();
doc.DocumentBase64 = System.Convert.ToBase64String(fileBytes);
doc.Name = "TestFile.pdf";
doc.DocumentId = "1";
envDef.Documents = new List<DocuSign.eSign.Model.Document>();
envDef.Documents.Add(doc);
// Add a recipient to sign the documeent
Signer signer = new Signer();
signer.Email = recipientEmail;
signer.Name = recipientName;
signer.RecipientId = "1";
// Create a |SignHere| tab somewhere on the document for the recipient to sign
signer.Tabs = new Tabs();
signer.Tabs.SignHereTabs = new List<SignHere>();
SignHere signHere = new SignHere();
signHere.DocumentId = "1";
signHere.PageNumber = "1";
signHere.RecipientId = "1";
signHere.XPosition = "100";
signHere.YPosition = "100";
signer.Tabs.SignHereTabs.Add(signHere);
envDef.Recipients = new Recipients();
envDef.Recipients.Signers = new List<Signer>();
envDef.Recipients.Signers.Add(signer);
// set envelope status to "sent" to immediately send the signature request
envDef.Status = "sent";
// |EnvelopesApi| contains methods related to creating and sending Envelopes (aka signature requests)
EnvelopesApi envelopesApi = new EnvelopesApi();
EnvelopeSummary envelopeSummary = envelopesApi.CreateEnvelope(accountId, envDef);
RecipientViewRequest viewOptions = new RecipientViewRequest()
{
ReturnUrl = returnURL,
ClientUserId = "1000", // must match clientUserId set in step #2!
AuthenticationMethod = "email",
UserName = recipientName,
Email = recipientEmail,
};
ViewUrl recipientView = envelopesApi.CreateRecipientView(accountId, envelopeSummary.EnvelopeId, viewOptions); // EXCEPTION!完全错误:
DocuSign.eSign.Client.ApiException未被用户代码处理 ErrorCode=400 HResult=-2146233088 Message=Error调用CreateRecipientView:{ "errorCode":"UNKNOWN_ENVELOPE_RECIPIENT", "message":“您标识的收件人不是指定信封的有效收件人”}
发布于 2017-01-18 15:40:43
正如Luis在上面的注释中所指出的,如果您想随后检索收件人的“查看”URL,则必须在创建信封请求中为签名者指定clientUserId属性:
signer.clientUserId = 1000;您可以将clientUserId属性设置为您选择的任何值--在本例中我使用了1000,因为这是您的代码在Post收件人视图请求中使用的值。
ClientUserId = "1000", // must match clientUserId set in step #2!(在“clientUserId,name”和“email”属性值中,您在Post收件人视图请求中指定的值必须与您在创建信封请求中为收件人指定的值完全匹配。)
https://stackoverflow.com/questions/41721651
复制相似问题