Аннулировать электронное письмо, ранее отправленное с использованием DocuSign C # API - PullRequest
0 голосов
/ 18 марта 2019

Как видно из названия, я использую API DocuSign C # и пытаюсь аннулировать отправленный конверт, а затем отправлять обновленный конверт на его место.

Итак, пример: Я отправляю конверт 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;
    }

Ответы [ 2 ]

0 голосов
/ 19 марта 2019

Если у вас есть только один сценарий подписавшего, и этот подписавшийся жаловался на то, что в документе что-то не так, я бы предложил использовать поток Update document, который бы сэкономил ваше количество конвертов и немного сэкономил.Вы можете обновить документ (ы) в конверте, если ни один получатель в рабочем процессе не предпринял никаких действий, выполнив следующие действия:

0 голосов
/ 18 марта 2019

При использовании метода UpdateEnvelope () для аннулирования конверта не используйте объект предыдущего конверта в качестве параметра определения конверта.Вместо этого создайте новый пустой объект Envelope и используйте его.

Похоже, что вы ссылаетесь на envelope в первой части, а затем получаете идентификатор конверта из envelopeSummary.EnvelopeId.Вы хотите подтвердить, что у вас есть правильный идентификатор для конверта, который вы пытаетесь аннулировать.

Попробуйте это:

    Envelope nullEnvelope = new Envelope();
    nullEnvelope.Status = "voided";
    nullEnvelope.VoidedReason = "This envelope was voided";

    updateSummary = envelopesApi.Update(account_id, envelopeId, nullEnvelope);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...