簡體   English   中英

通過 docusign API 為具有多個文檔的多個收件人設置文檔可見性

[英]To set document visibility for multiple recipient with multiple document via docusign API

我正在嘗試實現 docuSign 的文檔可見性。假設我有兩個文檔(文檔 A 和文檔 B),並且我有兩個抄送人員(人員 A 和人員 B),並且我試圖對抄送人員(接收文件副本)。 來自 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";

我發現了這個問題。 這是因為我沒有在文檔可見性列表中列出所有文檔。 就像我有兩個文檔在信封中,同時添加了文檔可見性列表。 我只添加需要可見性為 false 的文檔。 文檔可見性列表應該包含列表中的所有帶有可見性設置的文檔。

我在做什么

DocumentVisibility = new List<DocumentVisibility>() { new DocumentVisibility { Visible = "false", DocumentId = "2", RecipientId = "1"}}

正確的做法是

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM