0

Docusign Java Rest クライアント ライブラリを使用しています。シンプルなテキスト フィールドを持つサーバー テンプレートがあります。受信者がこれらのフィールドに入力する必要がないように、フォームに事前に入力されたデータを使用して、プログラムから電子署名要求を送信したいと考えています。

私のコードスニペット:

    EnvelopeDefinition envDef = new EnvelopeDefinition();
    envDef.setEmailSubject("ATTACHMENT TESTING");

    List<CompositeTemplate> compositeTemplates = new ArrayList<>();
    envDef.setCompositeTemplates(compositeTemplates);

    CompositeTemplate t1 = new CompositeTemplate();

    List<ServerTemplate> serverTemplates = new ArrayList<>();
    t1.setServerTemplates(serverTemplates);

    ServerTemplate st = new ServerTemplate();
    st.setSequence("1");
    st.setTemplateId("8as3232a-ea84-448d-852b-7617bf4d1759");
    serverTemplates.add(st);

    CompositeTemplate t2 = new CompositeTemplate();

    List<InlineTemplate> inlineTemplates = new ArrayList<>();
    t2.setInlineTemplates(inlineTemplates);

    InlineTemplate it = new InlineTemplate();
    it.setSequence("2");
    inlineTemplates.add(it);

    Document doc = new Document();
    doc.setDocumentId("2");
    doc.setName("SSN Copy");
    doc.setRemoteUrl("https://images.pexels.com/photos/10656/c4f497772338464a5d4e4109966e02f7.jpg");
    doc.setFileExtension("jpeg");
    t2.setDocument(doc);

    compositeTemplates.add(t1);
    compositeTemplates.add(t2);

    List<TemplateRole> templateRoles = new ArrayList<>();
    TemplateRole templateRole = new TemplateRole();

    templateRole.setRoleName("Customer");
    templateRole.setName(currentUser.getDisplayName());
    templateRole.setEmail(currentUser.getEmail());

    /********Prepopulating data to fields.
    Tabs tabs = new Tabs();

    Text text1 = new Text();
    text1.setTabLabel("firstName");
    text1.setValue("Adams");
    tabs.getTextTabs().add(text1);

    Text text2 = new Text();
    text2.setTabLabel("lastName");
    text2.setValue("Johnson");
    tabs.getTextTabs().add(text2);

    templateRole.setTabs(tabs);

    templateRoles.add(templateRole);

    // assign template role(s) to the envelope
    envDef.setTemplateRoles(templateRoles);

    envDef.setStatus("sent");

    // instantiate a new EnvelopesApi object
    EnvelopesApi envelopesApi = new EnvelopesApi();

    // call the createEnvelope() API
    try {
        EnvelopeSummary envelopeSummary = envelopesApi.createEnvelope(accountId, envDef);
    } catch (ApiException e) {
        e.printStackTrace();
    }

しかし、フォームは私が入力した値なしで受信者に送られます。フィールドは空白です。私はこれを間違っていますか?助けてください。

4

1 に答える 1

1

2 つの異なる DocuSign デザイン パターンを混在させています。つまり、Composite Template と TemplateRole を混在させるべきではありません。

テンプレート ロールは、サーバー テンプレートが 1 つあり、アプリケーションからテンプレートに存在する署名者情報や DocuSign タブ情報を事前に入力する場合に必要です。

複数のサーバー テンプレートがあり、それらすべてを 1 つのエンベロープで使用したい場合、複合テンプレートが必要な場合、または混合したい場合のように、複合テンプレートはテンプレートロール デザインができることを実行できますが、他の多くのことを実行できます。進行中のドキュメントを含むサーバー テンプレートの場合は、複合テンプレートが必要です。複合テンプレートの適切な例は、https://stackoverflow.com/a/20036349/3530898で入手できます。

あなたのケースでは、サーバー テンプレートが 1 つしかなく、エンベロープへのドキュメントがサーバー テンプレートによってのみ提供される場合は、TemplateRole を使用するだけで済みます。文書の SSN コピーを渡すことの用途が理解できませんでした。顧客が署名する必要がある文書ですか?

于 2017-10-09T20:16:42.327 に答える