使用 C# 移动信封 - 如何将 XML/JSON 请求和“PUT”方法转换为有效的 C# 代码

本文关键字:PUT 求和 方法 代码 有效 请求 转换 JSON 移动 XML 使用 | 更新日期: 2023-09-27 18:34:18

首先,我的代码:

    string accountID = loginInfo.LoginAccounts[0].AccountId;
        Console.WriteLine("Account ID:" + accountID);
        FoldersApi foldApi = new FoldersApi();
        var folders = foldApi.List(accountID);
        //this is pointing to my "Sent" folder
        string folderID = folders.Folders[1].FolderId;
        var envID = foldApi.ListItems(accountID, folderID);
        foreach (FolderItem fi in envID.FolderItems)
        {
            EnvelopesApi envApi = new EnvelopesApi();
            EnvelopeDocumentsResult docsList = envApi.ListDocuments(accountID, fi.EnvelopeId);
            Recipients listRecip = envApi.ListRecipients(accountID, fi.EnvelopeId);
            string listOfInfo = "";
            Envelope myEnv = envApi.GetEnvelope(accountID, fi.EnvelopeId);
            if (myEnv.Status == "completed")
            {
                foreach (var signer in listRecip.Signers)
                {
                    var listTabs = envApi.ListTabs(accountID, fi.EnvelopeId, signer.RecipientId);
                    foreach (var tab in listTabs.TextTabs)
                    {
                        //listOfInfo is for each specific document, just to view results
                        listOfInfo += tab.TabLabel + " - " + tab.Value + " 'n ";
                        //bigString is an aggregation of all documents tab values
                        bigString += tab.TabLabel + " - " + tab.Value + " 'n ";
                    }
                    Console.WriteLine("Stop here");//breakpoint
                }
                //Move code should go here.
            }
        }
目前,我的

代码进入我的帐户,获取所有文件夹的列表,然后指向我的"已发送"文件夹。之后,我查看已发送文件夹中的所有文档,检查它们的状态是否为"已完成",如果是,则"进入"该文档并删除我放置在文档上的文本选项卡中的所有信息。

关于我的问题!在我删除了我需要的信息后,注释"//移动代码应该放在这里",我想从我的"已发送"文件夹(文件夹[1])中移动一个信封并将其放入我的"已加载"文件夹(文件夹[3])。

我已审查 : https://www.docusign.com/p/RESTAPIGuide/RESTAPIGuide.htm#REST%20API%20References/Move%20Envelope.htm

但我无法理解如何将 XML/JSON 请求和"PUT"方法转换为有效的 C# 代码。

任何协助将不胜感激。谢谢

-凯尔。

使用 C# 移动信封 - 如何将 XML/JSON 请求和“PUT”方法转换为有效的 C# 代码

更新的代码。

        Console.WriteLine("Account ID:" + accountID);
        FoldersApi foldApi = new FoldersApi();
        //create fr object
        FoldersRequest fr = new FoldersRequest();
        //instantiate EnvelopeIds string list, to a new string list..
        fr.EnvelopeIds = new List<string>();
        //get folders
        var folders = foldApi.List(accountID);
        string sentFolderID = "";
        string loadedFolderID = "";
        foreach (var fold in folders.Folders)
        {//get sent/loaded folder IDs
            if (fold.Name == "Sent Items") { sentFolderID = fold.FolderId; }
            else if(fold.Name == "Loaded") { loadedFolderID = fold.FolderId; }
        }
        //list the items in the folder
        var envID = foldApi.ListItems(accountID, sentFolderID);
        //for each item in the folder...
        foreach (FolderItem fi in envID.FolderItems)
        {
            EnvelopesApi envApi = new EnvelopesApi();
            //get a list of documents in the envelope
            EnvelopeDocumentsResult docsList = envApi.ListDocuments(accountID, fi.EnvelopeId);
            //list recipients
            Recipients listRecip = envApi.ListRecipients(accountID, fi.EnvelopeId);
            string listOfInfo = "";
            Envelope myEnv = envApi.GetEnvelope(accountID, fi.EnvelopeId);
            if (myEnv.Status == "completed")
            {
                foreach (var signer in listRecip.Signers)
                {
                    var listTabs = envApi.ListTabs(accountID, fi.EnvelopeId, signer.RecipientId);
                    foreach (var tab in listTabs.TextTabs)
                    {
                        //get info out of document
                        listOfInfo += tab.TabLabel + " - " + tab.Value + " 'n ";
                        bigString += tab.TabLabel + " - " + tab.Value + " 'n ";
                    }
                    Console.WriteLine("Stop here");//breakpoint
                }
                //add this envelope ID to the list of envelopes to be moved
                fr.EnvelopeIds.Add(myEnv.EnvelopeId);                    
            }
        }
        //move all the envelopes in the list
        if (fr.EnvelopeIds.Count >= 1) { foldApi.MoveEnvelopes(accountID, loadedFolderID, fr); }

我找到了一个解决方案。