正如标题所述,我正在使用DocuSign C#API,并且试图使已发送的信封无效,然后在其位置发送更新的信封。
这样一个例子: 我向客户发送了一个DocuSign信封
他们打开它以查看我做错了(或想要添加项目等)
他们要求新的报价
我触发重新发送(通过使用状态标志的后端数据库通过API)
它现在正在重新发送,但是上一个仍然处于“活动状态”,并且不会自动作废。
那么我将如何使用C#API来使它无效?
感谢您的帮助,如果您需要更多信息,请询问,我会尽快与您联系。
编辑-这是我当前拥有的当前代码
try
{
envelopeGenerator = new EnvelopeDefinitionGenerator(quoteID, account_id);
envDef = envelopeGenerator.GetDefinition();
if (item.EQuoteStatus == 4)
{
envelope = envelopesApi.GetEnvelope(account_id, envelopeId);
envelope.Status = "voided";
envelope.VoidedReason = "This envelope was voided";
envelope.PurgeState = null;
updateSummary = envelopesApi.Update(account_id, envelopeSummary.EnvelopeId, envelope);
envelopeInfo = JObject.FromObject(envDef);
jsonString = JsonConvert.SerializeObject(envelopeInfo);
//throw new Exception(); // DEBUG LINE, COMMENT OUT - TO TEST IF EXCEPTION CODE WORKS.
envelopesApi = new EnvelopesApi(apiClient.Configuration);
envelopeSummary = envelopesApi.CreateEnvelope(account_id, envDef);
Console.WriteLine($"Quote {envelopeCounter} of {quotes.Count}. Envelope Summary: {envelopeSummary.Status}");
Logger.Log.Info($"Quote {envelopeCounter} of {quotes.Count}. Envelope Summary: {envelopeSummary.Status}");
successFlag = true;
}
答案 0 :(得分:0)
在使用UpdateEnvelope()方法来使信封无效时,请勿将先前信封的对象用作信封定义参数。而是创建一个新的空信封对象并使用它。
看起来您在第一部分中引用了envelope
,然后从envelopeSummary.EnvelopeId
获取了信封ID。您需要确认您拥有要清空的信封的正确ID。
尝试一下:
Envelope nullEnvelope = new Envelope();
nullEnvelope.Status = "voided";
nullEnvelope.VoidedReason = "This envelope was voided";
updateSummary = envelopesApi.Update(account_id, envelopeId, nullEnvelope);
答案 1 :(得分:0)
如果您只有一个签名者场景,并且签名者抱怨文档上有问题,那么我建议您使用Update document
流来节省信封数并节省一些时间。如果工作流中没有收件人通过以下任何端点采取任何措施,则可以用信封更新文档,