Есть ли в DocuSign C# Framework SDK методы для повторной отправки? - PullRequest
0 голосов
/ 09 апреля 2020

В пользовательском интерфейсе вы можете нажать кнопку, чтобы повторно отправить электронные письма людям, которые не подписали. В API REST я нашел очень плохо документированный метод, чтобы сделать то же самое. Если вы PUT: 1007 * и включают тело типа:

{
  "signers": [
   {
      "recipientId": "3",
    }
  ]
}

Кто-нибудь знает, есть ли такая же функциональность в C# SDK? Я не могу его найти.

1 Ответ

2 голосов
/ 10 апреля 2020

Обратите внимание, что следующие правила соответствуют стандартным правилам повторной отправки уведомлений.

  • Уведомления не будут доставляться получателям / встроенным получателям

  • Уведомления не будет доставлено, если предпочтения получателя подавляют их

  • Уведомления будут доставляться только в том случае, если получатель играет активную роль в заказе маршрутизации конверта

    • Уведомления не будут доставляться подписавшему, который уже выполнил свою роль
    • Уведомления не будут доставляться подписавшему, когда он еще не повернуть к знаку

Чтобы отправить конверт всем активным получателям:

  • Создать объект параметров обновления конвертов с resendEnvelope = true

  • Создайте пустой объект Envelope, чтобы вызов UpdateEnvelope не пытался изменить какие-либо из существующих параметров конверта

  • Выполните метод обновления для идентификатора конверта, используя пустой объект Envelope и параметр параметров обновления.

        EnvelopesApi envelopesApi = new EnvelopesApi();
        string envelopeGuid = "00000000-0000-0000-0000-000000000000";
    
        EnvelopesApi.UpdateOptions envelopeOptions = new EnvelopesApi.UpdateOptions();
        envelopeOptions.resendEnvelope = "true";
        Envelope envelope = new Envelope();
        envelopesApi.Update(accountId, envelopeGuid, envelope, envelopeOptions);
    

Чтобы отправить конверт указанному c получателю:

  • Создание объекта параметров получателей с resendEnvelope = true

  • Создание списка получателей и заполнение его ответом ListRecipients для конверта

  • Выберите получателей, для которых вы хотите отправить конверт на

    • В этом примере выбирается один подписавший, но его можно адаптировать для включения несколько подписчиков или другие типы получателей
  • Выполните метод UpdateRecipients по идентификатору конверта, используя соответствующий список получателей

    • Если включены несколько получателей, возможен частичный успех с некоторыми сбоями
    • Например: если вы включаете список всех получателей, но один Подписант уже выполнил свою роль. Другие подписавшиеся вернут «Успех», но завершившийся подписчик выдаст ошибку «Получатель не может быть обновлен. Получатель не находится в состоянии, позволяющем исправление».
  • Этот пример сложный -коды первого подписанта

        string envelopeGuid = "00000000-0000-0000-0000-000000000000";
        Recipients recipients = new Recipients();
        recipients = envelopesApi.ListRecipients(accountId, envelopeGuid); //get all signers on envelope
    
        Signer signer = new Signer();
        signer = recipients.Signers[0]; //Replace with logic to select appropriate signer(s)
        Recipients resendRecipients = new Recipients();
        resendRecipients.Signers = new List<Signer>();
        resendRecipients.Signers.Add(signer);
        //Add any additional recipients here
    
        EnvelopesApi.UpdateRecipientsOptions recipientsOptions = new EnvelopesApi.UpdateRecipientsOptions();
        recipientsOptions.resendEnvelope = "true";
        envelopesApi.UpdateRecipients(accountId, envelopeGuid, resendRecipients, recipientsOptions);
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...