【问题标题】:DocuSign API - Populating identical tab names in different documents for each recipientDocuSign API - 在每个收件人的不同文档中填充相同的选项卡名称
【发布时间】:2015-10-06 19:06:08
【问题描述】:

我对 DocuSign 的世界还很陌生,我正在尝试为多个收件人填充标签,这些收件人在 DocuSign 的特定服务器模板中设置了不同的文档。这些文档中的选项卡名称相同。

下面的代码将毫无问题地为收件人 1 填充文档中的选项卡,这很有意义,因为我将选项卡的收件人值设置为 1。但是,我不知道如何使用这些选项卡来填充发送给收件人 2 和 3 的文档。我尝试循环遍历数组中的收件人并以这种方式设置收件人 ID,但这只会使文档中的选项卡变为空白。

                Type MyClassType = MyClass.GetType();

                //add all the neccessary instances of the DocuSignWeb.TAB object into a dictionary
                //giving each one a unique name based on the property it represents
                var tabNames = new Dictionary<string, DocuSignWeb.Tab>();
                foreach (PropertyInfo propertyInfoTabs in MyClassType.GetProperties())
                {

                        string tabName = propertyInfoTabs.Name;
                        tabNames.Add(tabName, new DocuSignWeb.Tab());
                }

                //dynamically populate each tab with the relevant data
                //and add each one to a list.
                List<DocuSignWeb.Tab> tabs = new List<DocuSignWeb.Tab>();
                foreach (PropertyInfo propertyInfo in MyClassType .GetProperties())
                {

                        DocuSignWeb.Tab t = tabNames[propertyInfo.Name];
                        t.TabLabel = propertyInfo.Name;
                        t.Value = Convert.ToString(propertyInfo.GetValue(MyClass, null));
                        //document info is defined in server template
                        t.RecipientID = "1"; 
                        t.TemplateLocked = true;
                        t.Type = TabTypeCode.Custom;
                        t.CustomTabLocked = true;
                        t.CustomTabDisableAutoSize = true;
                        t.CustomTabWidth = 20;
                        tabs.Add(t);

                } 

            inlineTemplate.Envelope.Tabs = tabs.ToArray();

如果有人这样做并且可以提供帮助,我将不胜感激。

【问题讨论】:

    标签: c# docusignapi


    【解决方案1】:

    DocuSign 选项卡始终与给定的收件人相关(而不是文档本身)。因此,例如,如果您有 3 个唯一收件人,那么您至少必须在请求中指定 3 个完全独立的选项卡,即使这些选项卡具有相同的名称。每个标签都有一个唯一的recipientId,表明它属于哪个收件人。

    由于您发布的是代码而不是代码生成的 JSON 正文,因此很难判断您发送的是哪种请求,如果您发布原始 JSON,将会很有帮助。

    在任何情况下,如果您要发送给 2 个唯一收件人,则为了使示例简短,您的请求将如下所示:

    {
        "recipients": {
            "signers": [
                {
                    "email": "sally@email.com",
                    "name": "Sally Doe",
                    "recipientId": 1,
                    "tabs": {
                        "textTabs": [
                            {
                                "tabLabel": "Data Field 1",
                                "value": "12345",
                                "xPosition": "100",
                                "yPosition": "100",
                                "documentId": "1",
                                "pageNumber": "1"
                            }
                        ]
                    }
                },
                {
                    "email": "jon@email.com",
                    "name": "Jon Doe",
                    "recipientId": 2,
                    "tabs": {
                        "textTabs": [
                            {
                                "tabLabel": "Data Field 1",
                                "value": "12345",
                                "xPosition": "100",
                                "yPosition": "100",
                                "documentId": "1",
                                "pageNumber": "1"
                            }
                        ]
                    }
                }
            ]
        }
    }
    

    正如您所见,定义了两个单独的选项卡,每个选项卡都有一个唯一的recipientId,即使它们具有我们设置的相同名称和值。要调试,请查看您的代码发送的请求(注意:您可以通过您的帐户首选项启用请求日志以轻松查看您的请求)然后返回您的代码并确保它正在创建您期望的请求。

    【讨论】:

    • 谢谢。这正是我试图对多个动态创建的选项卡进行的操作。显然,我只需要弄清楚如何遍历收件人并为每个具有唯一收件人 ID 的选项卡创建标签。听起来这绝对应该是可能的。我将进行一些调试并查看请求日志记录。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多