[英]To set document visibility for multiple recipient with multiple document via docusign API
I am trying to implement the document visibility of docuSign.suppose i have two document(Document A and Document B) and I have two CC person (Person A and Person B) and i am trying to hide the document from CC person (who receive a copy of document).我正在尝试实现 docuSign 的文档可见性。假设我有两个文档(文档 A 和文档 B),并且我有两个抄送人员(人员 A 和人员 B),并且我试图对抄送人员(接收文件副本)。 Document B from Person A and Document A from Person B. but when i try this from DocuSign portal it is working fine but when i implement the code for this then the visibility setting of document is not working.
来自 A 的文档 B 和来自 B 的文档 A。但是当我从 DocuSign 门户尝试此操作时,它工作正常,但是当我为此实现代码时,文档的可见性设置不起作用。
public void docusign(string path, string recipientName, string recipientEmail, string EnvelopeId)
{
ApiClient apiClient = new ApiClient("https://demo.docusign.net/restapi");
Configuration.Default.ApiClient = apiClient;
//Verify Account Details
string accountId = loginApi(credential.UserName, credential.Password);
// Read a file from disk to use as a document.
byte[] fileBytes = System.IO.File.ReadAllBytes(path);
byte[] fileBytes1 = System.IO.File.ReadAllBytes(@"Path");
EnvelopeDefinition envDef = new EnvelopeDefinition();
envDef.EmailSubject = "Please sign this doc";
//Here i am adding the document
Document doc = new Document();
doc.DocumentBase64 = System.Convert.ToBase64String(fileBytes);
doc.Name = Path.GetFileName(path);
doc.DocumentId = "1";
doc.TransformPdfFields = "true";
Document doc1 = new Document();
doc1.DocumentBase64 = System.Convert.ToBase64String(fileBytes1);
doc1.Name = "Test 2-converted -converted.pdf";// Path.GetFileName(path);
doc1.DocumentId = "2";
//Adding CC person
List<CarbonCopy> oo = new List<CarbonCopy>();
oo.Add(new CarbonCopy
{
RecipientId = "1",
RoutingOrder = "1",
Name = "darpan",
Email = "xyz1@gmail.com",
DocumentVisibility = new List<DocumentVisibility>() { new DocumentVisibility { Visible = "false", DocumentId = "2", RecipientId = "1" } },
});
oo.Add(new CarbonCopy
{
RecipientId = "2",
RoutingOrder = "2",
Name = "mohini",
Email = "xyz2@gmail.com",
DocumentVisibility= new List<DocumentVisibility>() { new DocumentVisibility { Visible = "false", DocumentId = "1", RecipientId = "2" } },
});
envDef.Recipients = new DocuSign.eSign.Model.Recipients();
envDef.Recipients.CarbonCopies = oo;
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);
您需要将此添加到您的代码中:
envDef.EnforceSignerVisibilty = "true";
I found the issue.我发现了这个问题。 It because I am not listing all document in document visibility list.
这是因为我没有在文档可见性列表中列出所有文档。 Like I have two document in envelop and while adding document visibility list.
就像我有两个文档在信封中,同时添加了文档可见性列表。 I am only adding document that need visibility to false.
我只添加需要可见性为 false 的文档。 Document visibility list should have all the document in list with visibility setting.
文档可见性列表应该包含列表中的所有带有可见性设置的文档。
What I am doing我在做什么
DocumentVisibility = new List<DocumentVisibility>() { new DocumentVisibility { Visible = "false", DocumentId = "2", RecipientId = "1"}}
Correct way is正确的做法是
DocumentVisibility = new List<DocumentVisibility>() { new DocumentVisibility { Visible = "false", DocumentId = "2", RecipientId = "1" },new DocumentVisibility { Visible = "true", DocumentId = "1", RecipientId = "1" }}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.