发送带有设置签名顺序的嵌入式签名电子邮件

时间:2019-07-18 15:42:04

标签: java docusignapi

因此,基本上,我需要使用嵌入式签名功能来获取URL并将其嵌入到我的应用程序中,然后我的客户才能从我这一侧对文档进行签名。除此之外,我的客户在文档上签名后,他还需要要求债务人也要在同一文档上签名。 因此,在DocuSign UI上,我发现可以设置签名顺序,这意味着第二位收件人在第一个收件人签名后立即收到电子邮件(完全符合我的要求)。 setting on UI 但是,即使第一个签名者在UI上说已发送,第二个收件人在第一个签名者签名后也无法收到电子邮件。

public Envelope embeddedSigning(Long debtorId, String signerEmail, String signerName, String templateId) throws ApiException, IOException {
    // create an envelop
    EnvelopeDefinition envelope = makeEnvelope(debtorId, signerEmail, signerName, templateId);

    ApiClient apiClient = baseRestApiClient();
    apiClient.addDefaultHeader("Authorization", "Bearer " + getToken());
    EnvelopesApi envelopesApi = new EnvelopesApi(apiClient);
    EnvelopeSummary summary = envelopesApi.createEnvelope(accountId, envelope);
    RecipientViewRequest viewRequest = makeRecipientViewRequest(debtorId, signerEmail, signerName);
    ViewUrl viewUrl = envelopesApi.createRecipientView(accountId, summary.getEnvelopeId(), viewRequest);

    // @formatter:off
    return Envelope.builder()
        .envelopId(summary.getEnvelopeId())
        .redirectUrl(viewUrl.getUrl()).build();
    // @formatter:on
  }
private EnvelopeDefinition makeEnvelope(Long debtorId, String signerEmail, String signerName, String templateId) throws IOException {
    EnvelopeDefinition envelopeDefinition = new EnvelopeDefinition();
    envelopeDefinition.setEmailSubject("Please sign this document");
    envelopeDefinition.setTemplateId(templateId);

    TemplateRole signer = new TemplateRole();
    signer.setEmail(signerEmail);
    signer.setName(signerName);
    signer.clientUserId(String.valueOf(debtorId));
    signer.setRoleName("signer0");
    signer.setRoutingOrder("1");

    TemplateRole signer1 = new TemplateRole();
    signer1.setEmail("xxx");
    signer1.setName("xxx");
    signer1.clientUserId(String.valueOf(xxx));
    signer1.setRoleName("signer1");
    signer1.setRoutingOrder("2");

    envelopeDefinition.setTemplateRoles(Arrays.asList(signer, signer1));
    envelopeDefinition.setStatus("sent");
    return envelopeDefinition;
  }

1 个答案:

答案 0 :(得分:0)

通常,路由顺序从1开始。因此它应该是1和2,而不是0和1。 除此之外,“已发送”是整个信封的状态。信封首先进入路由顺序1。然后,当路由订单1的所有收件人完成签名后,将转到2,依此类推。我不确定此处是否确实存在问题,但是请确认在更改为1和2之后,您究竟看到了什么?没想到。