Reputation: 310
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). 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.
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 = "[email protected]",
DocumentVisibility = new List<DocumentVisibility>() { new DocumentVisibility { Visible = "false", DocumentId = "2", RecipientId = "1" } },
});
oo.Add(new CarbonCopy
{
RecipientId = "2",
RoutingOrder = "2",
Name = "mohini",
Email = "[email protected]",
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);
Upvotes: 0
Views: 502
Reputation: 310
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. 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" }}
Upvotes: 1
Reputation: 14050
you need to add this to your code:
envDef.EnforceSignerVisibilty = "true";
Upvotes: 1