C# 在DocuSign中预先填充模板上的选项卡

C# 在DocuSign中预先填充模板上的选项卡,c#,jwt,docusignapi,C#,Jwt,Docusignapi,我正在使用从DocuSign开发页面链接的C#JWT-framework.sln 我的API在演示环境中工作,我可以执行以下操作: 发送带有签名块位置控制的信封 发送信封,动态添加选项卡,并为这些选项卡定位和设置值 检索已签署的信封 使用预定义的模板发送信封 下面的代码使用我的模板生成了一个信封…但是我无法用我的一生,弄清楚如何获取模板中存在的选项卡对象列表,以便在路由信封进行签名之前,可以用数据预填充它们 EnvelopeDefinition envelopeDefinition = new

我正在使用从DocuSign开发页面链接的C#JWT-framework.sln

我的API在演示环境中工作,我可以执行以下操作:

  • 发送带有签名块位置控制的信封
  • 发送信封,动态添加选项卡,并为这些选项卡定位和设置值
  • 检索已签署的信封
  • 使用预定义的模板发送信封
  • 下面的代码使用我的模板生成了一个信封…但是我无法用我的一生,弄清楚如何获取模板中存在的选项卡对象列表,以便在路由信封进行签名之前,可以用数据预填充它们

    EnvelopeDefinition envelopeDefinition = new EnvelopeDefinition
            {
                EmailSubject = "Please sign this test document"
            };
    
            envelopeDefinition.TemplateId = "5a56ee22-91dd-443e-85f4-bd43b446db5b";
    
    我想我需要使用TemplateTabs类,但我还没有找到任何示例,说明如何循环遍历模板上的所有选项卡,然后根据选项卡ID更新特定选项卡

    任何帮助都将不胜感激

    谢谢 jlimited

    我们将向您展示如何执行此操作

    (当然,您的模板是不同的,只是为了给您一个想法)

    详情如下:

    //设置模板中字段的值
    //列表项
    列表颜色选择器=新列表
    {
    Value=“绿色”,
    DocumentId=“1”,
    PageNumber=“1”,
    TabLabel=“列表”
    };
    //复选框
    复选框ckAuthorization=新建复选框
    {
    TabLabel=“ckAuthorization”,
    Selected=“true”
    };
    复选框ckAgreement=new复选框
    {
    TabLabel=“ckAgreement”,
    Selected=“true”
    };
    放射组放射组=新放射组
    {
    GroupName=“radio1”,
    //您只需要为正在选择的条目提供readio条目
    收音机=新列表{new Radio{Value=“white”,Selected=“true”}
    };
    Text includedOnTemplate=新文本
    {
    TabLabel=“text”,
    Value=“Jabberywocky!”
    };
    //我们还可以将新选项卡(字段)添加到模板中已有的选项卡(字段)
    文本添加字段=新文本
    {
    DocumentId=“1”,
    PageNumber=“1”,
    XPosition=“280”,
    YPosition=“172”,
    Font=“helvetica”,
    FontSize=“size14”,
    TabLabel=“添加了文本字段”,
    Height=“23”,
    Width=“84”,
    Required=“false”,
    Bold=“true”,
    Value=signerName,
    Locked=“false”,
    TabId=“名称”
    };
    //将选项卡模型(包括SignHere选项卡)添加到签名者。
    //Tabs对象需要不同字段/选项卡类型的数组
    //选项卡按收件人/签名人设置
    制表符=新制表符
    {
    CheckboxTabs=新列表{ckAuthorization,ckAgreement},
    radioGroup Tabs=新列表{radioGroup},
    TextTabs=新列表{includedTemplate,addedField},
    ListTabs=新列表{colorPicker}
    };
    
    我们有一个演示如何执行此操作的程序

    (当然,您的模板是不同的,只是为了给您一个想法)

    详情如下:

    //设置模板中字段的值
    //列表项
    列表颜色选择器=新列表
    {
    Value=“绿色”,
    DocumentId=“1”,
    PageNumber=“1”,
    TabLabel=“列表”
    };
    //复选框
    复选框ckAuthorization=新建复选框
    {
    TabLabel=“ckAuthorization”,
    Selected=“true”
    };
    复选框ckAgreement=new复选框
    {
    TabLabel=“ckAgreement”,
    Selected=“true”
    };
    放射组放射组=新放射组
    {
    GroupName=“radio1”,
    //您只需要为正在选择的条目提供readio条目
    收音机=新列表{new Radio{Value=“white”,Selected=“true”}
    };
    Text includedOnTemplate=新文本
    {
    TabLabel=“text”,
    Value=“Jabberywocky!”
    };
    //我们还可以将新选项卡(字段)添加到模板中已有的选项卡(字段)
    文本添加字段=新文本
    {
    DocumentId=“1”,
    PageNumber=“1”,
    XPosition=“280”,
    YPosition=“172”,
    Font=“helvetica”,
    FontSize=“size14”,
    TabLabel=“添加了文本字段”,
    Height=“23”,
    Width=“84”,
    Required=“false”,
    Bold=“true”,
    Value=signerName,
    Locked=“false”,
    TabId=“名称”
    };
    //将选项卡模型(包括SignHere选项卡)添加到签名者。
    //Tabs对象需要不同字段/选项卡类型的数组
    //选项卡按收件人/签名人设置
    制表符=新制表符
    {
    CheckboxTabs=新列表{ckAuthorization,ckAgreement},
    radioGroup Tabs=新列表{radioGroup},
    TextTabs=新列表{includedTemplate,addedField},
    ListTabs=新列表{colorPicker}
    };
    
     // Set the values for the fields in the template
            // List item
            List colorPicker = new List
            {
                Value = "green",
                DocumentId = "1",
                PageNumber = "1",
                TabLabel = "list"
            };
    
            // Checkboxes
            Checkbox ckAuthorization = new Checkbox
            {
                TabLabel = "ckAuthorization",
                Selected = "true"
            };
             Checkbox ckAgreement = new Checkbox
            {
                TabLabel = "ckAgreement",
                Selected = "true"
            };
    
            RadioGroup radioGroup = new RadioGroup
            {
                GroupName = "radio1",
                // You only need to provide the readio entry for the entry you're selecting
                Radios = new List<Radio> { new Radio { Value = "white", Selected = "true" } }
            };
    
            Text includedOnTemplate = new Text
            {
                TabLabel = "text",
                Value = "Jabberywocky!"
            };
    
            // We can also add a new tab (field) to the ones already in the template
            Text addedField = new Text
            {
                DocumentId = "1",
                PageNumber = "1",
                XPosition = "280",
                YPosition = "172",
                Font = "helvetica",
                FontSize = "size14",
                TabLabel = "added text field",
                Height = "23",
                Width = "84",
                Required = "false",
                Bold = "true",
                Value = signerName,
                Locked = "false",
                TabId = "name"
            };
    
            // Add the tabs model (including the SignHere tab) to the signer.
            // The Tabs object wants arrays of the different field/tab types
            // Tabs are set per recipient/signer
            Tabs tabs = new Tabs
            {
                CheckboxTabs = new List<Checkbox> { ckAuthorization, ckAgreement },
                RadioGroupTabs = new List<RadioGroup> { radioGroup },
                TextTabs = new List<Text> { includedOnTemplate, addedField },
                ListTabs = new List<List> { colorPicker }
            };