C# 信封中的DocuSign API元数据

C# 信封中的DocuSign API元数据,c#,docusignapi,C#,Docusignapi,使用C#SDK向远程收件人请求签名。我想知道是否可以将元数据添加到信封本身,例如,另一个特定于我们域的id,可以设置一次(最初)并随时检索,而不管文档状态如何。我将EnvelopedDocument.DocumentFields视为一个潜在字段,但不确定这是否适合我所做的工作。另请参见EnvelopedDefinition.CustomFields.*。尝试使用TextCustomFields,但我看不到它显示在文档上(当show=true时),更不用说它是否在信封的整个生命周期中被附加到信封上

使用C#SDK向远程收件人请求签名。我想知道是否可以将元数据添加到信封本身,例如,另一个特定于我们域的id,可以设置一次(最初)并随时检索,而不管文档状态如何。我将EnvelopedDocument.DocumentFields视为一个潜在字段,但不确定这是否适合我所做的工作。另请参见EnvelopedDefinition.CustomFields.*。尝试使用TextCustomFields,但我看不到它显示在文档上(当show=true时),更不用说它是否在信封的整个生命周期中被附加到信封上了。任何帮助都将不胜感激。谢谢

创建DocuSign信封时,可以在文档级别或信封级别(通过使用“自定义字段”)指定自定义元数据

  • 文档级别的自定义字段与信封中的特定文档关联
  • 信封级别的自定义字段与信封本身关联
使用自定义字段指定的元数据(无论是在文档级别还是信封级别)对信封收件人都不可见,但随后可以随时显示

根据您提供的信息,听起来您最有可能对信封自定义字段感兴趣。我在使用DocuSign C#SDK方面没有太多经验,但下面是创建信封请求的JSON部分,它在信封级别指定了一个自定义字段:

{
    "emailSubject": "Please Print, Complete and Sign Document",
    "emailBlurb": "Please print and complete documents and sign on paper. ",
    "status": "sent",
    "compositeTemplates": [{
        "inlineTemplates": [{
            "sequence": "1",        
            "customFields": {
                "textCustomFields": [{
                    "name": "MyOwnField",
                    "required": "true",
                    "show": "true",
                    "value": "MyValue"
                }]
            },
            "recipients": {
                "signers": [{
                    "requireSignOnPaper": "true",
                    "name": "John Doe",
                    "email": "jdoe@test.com",
                    "recipientId": "1",
                    "routingOrder": "1"
                }]
            }
        }],
        "document": {
            "documentId": "1",
            "name": "AccountApplication.pdf",
            "transformPdfFields": false
        }
    }]
}
基于此,如果您在C#SDK中看到
EnvelopedDefinition.CustomFields.TextCustomFields
,我怀疑您将使用它创建信封自定义字段。正如我前面提到的,收件人在DocuSign web UI中不会看到信封自定义字段值,但您应该能够在信封生命周期的任何时候通过API检索信封自定义字段值

更新(C#代码示例):

在简要介绍C#SDK的基础上,下面是一个代码示例,演示如何在信封上创建两个(文本)自定义字段:

// create a new envelope which we will use to send the signature request
EnvelopeDefinition envDef = new EnvelopeDefinition();

// create my first Envelope custom field
TextCustomField myFirstCustomField = new TextCustomField();
myFirstCustomField.Name = "field1";
myFirstCustomField.Value = "value1";

// create my second Envelope custom field
TextCustomField mySecondCustomField = new TextCustomField();
mySecondCustomField.Name = "field2";
mySecondCustomField.Value = "value2";

// add my custom fields to the envelope
envDef.CustomFields.TextCustomFields.Add(myFirstCustomField);
envDef.CustomFields.TextCustomFields.Add(mySecondCustomField);

...

如果您在创建信封时创建了信封自定义字段,则该字段永远不会显示在文档上。您可以使用API在信封中看到这些字段值,也可以在完工证书文档中看到。感谢您的回复。我实际上可以创建一个自定义字段。我对它的检索有问题。当我通过api从docusign检索信封时,调用envelope.CustomFields总是为我返回null。是否有不同的方法从信封中获取自定义字段?顺便说一句,当我添加自定义字段时,它位于EnvelopedDefinitions下——不确定这是否会产生影响。没关系,我想出来了。不过,感谢您的详细帖子——应该可以帮助任何与此问题相关的人。