【发布时间】:2019-12-08 16:57:32
【问题描述】:
我正在尝试使用 DocuSign REST SDK(nuget 包),但无法获取随信封元数据返回的自定义字段。我尝试使用带有自定义字段的复合模板创建一个信封,作为内联模板和信封定义的一部分,只是为了看看我能得到什么:
CompositeTemplate composite = new CompositeTemplate();
composite.Document = document;
InlineTemplate inlineTemplate = new InlineTemplate();
inlineTemplate.Sequence = "1";
inlineTemplate.Recipients = new Recipients();
inlineTemplate.Recipients.Signers = new List<Signer>();
inlineTemplate.Recipients.Signers.Add(signer);
inlineTemplate.CustomFields = new CustomFields(null, new List<TextCustomField>());
TextCustomField iCF = new TextCustomField();
iCF.Name = "InlineTemplateCustomField";
iCF.Value = "202303";
inlineTemplate.CustomFields.TextCustomFields.Add(iCF);
ServerTemplate serverTemplate = new ServerTemplate("2", "8e556cd1-d343-4c07-9401-d88b00a67671"); //payment template id
composite.InlineTemplates = new List<InlineTemplate>();
composite.InlineTemplates.Add(inlineTemplate);
composite.ServerTemplates = new List<ServerTemplate>();
composite.ServerTemplates.Add(serverTemplate);
EnvelopeDefinition envDef = new EnvelopeDefinition();
envDef.CompositeTemplates = new List<CompositeTemplate>();
envDef.CompositeTemplates.Add(composite);
TextCustomField cf = new TextCustomField();
cf.Name ="EnvelopeCustomField";
cf.Value = "101202";
envDef.CustomFields = new CustomFields(null, new List<TextCustomField>());
envDef.CustomFields.TextCustomFields.Add(cf);
ApiClient apiClient = new ApiClient(basePath);
apiClient.Configuration.AddDefaultHeader("Authorization", "Bearer " + accessToken);
EnvelopesApi envelopesApi = new EnvelopesApi(apiClient.Configuration);
EnvelopeSummary results = envelopesApi.CreateEnvelope(accountId, envDef);
我可以使用 ListCustomFields 方法检索 InlineTemplateCustomField,但如果我使用“custom_fields”选项检索 Envelope 结果,Envelope 的自定义字段数组将为空。这是预期的吗?
CustomFieldsEnvelope customFieldsEnvelope = envelopesApi.ListCustomFields(accountId, "743e9d25-e093-43ec-acbd-5fbfce053e92");
EnvelopesApi.GetEnvelopeOptions options = new EnvelopesApi.GetEnvelopeOptions();
options.include = "custom_fields";
Envelope results = envelopesApi.GetEnvelope(accountId, "743e9d25-e093-43ec-acbd-5fbfce053e92", options);
如果可能,我希望在一次 API 调用中获取信封的状态和自定义字段,这就是为什么我希望在 GetEnvelope 调用中重新获取“EnvelopeCustomField”。
【问题讨论】:
标签: docusignapi docusigncompositetmplts