首页 > 解决方案 > DocuSign C# Framework SDK 是否有重新发送的方法?

问题描述

在 UI 中,您可以点击按钮将电子邮件重新发送给尚未签名的人。在 REST API 中,我发现了一个非常糟糕的记录方法来做同样的事情如果你把:

https://demo.docusign.net/restapi/v2.1/accounts/ /envelopes//recipients?resend_envelope=true

并包括一个像这样的身体:

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

有谁知道 C# SDK 中是否有同样的功能?我找不到它。

标签: docusignapi

解决方案


请注意,以下内容遵循重新发送通知的标准规则。

  • 将不会为强制/嵌入式收件人发送通知

  • 如果收件人的偏好抑制了通知,则不会发送通知

  • 仅当收件人在信封的路由顺序中具有活动角色时才会发送通知

    • 通知将不会发送给已完成其角色的签名者
    • 尚未轮到签名者签名时,不会将通知发送给签名者

将信封重新发送给所有活动收件人:

  • 使用 resendEnvelope = true 创建一个信封更新选项对象

  • 创建一个空的 Envelope 对象,以便 UpdateEnvelope 调用不会尝试更改任何信封的现有参数

  • 使用空信封对象和更新选项参数对信封 ID 执行更新方法。

        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);
    

将信封重新发送给特定收件人:

  • 使用 resendEnvelope = true 创建 Recipients Options 对象

  • 创建收件人列表并使用信封的 ListRecipients 响应填充它

  • 选择您要将信封重新发送到的收件人

    • 此示例选择单个签名者,但可以调整为包括多个签名者或其他收件人类型
  • 使用适当的收件人列表对信封 ID 执行 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);
    

推荐阅读