2

ユーザーが Web サイトに来てドキュメントをアップロードする必要があり、別のユーザーがこのドキュメントに署名する必要があるというシナリオがあります。

私が今までやってきたこと:

Step1: 電子メール、パスワード、Integratorkey でログイン

function(next) {
        var url = "https://demo.docusign.net/restapi/v2/login_information";
        var body = "";  // no request body for login api call
        
        // set request url, method, body, and headers
        var options = initializeRequest(url, "GET", body, email, password);
        
        // send the request...
        request(options, function(err, res, body) {
            if(!parseResponseBody(err, res, body)) {
                return;
            }
            baseUrl = JSON.parse(body).loginAccounts[0].baseUrl;
            next(null); // call next function
        });
    },

有効なアカウント ID を含む有効な応答を取得しています。

ステップ 2: この API を介してドキュメントをアップロードしています

function(next) {    
        var url = baseUrl + "/envelopes";
        // following request body will place 1 signature tab 100 pixels to the right and
        // 100 pixels down from the top left of the document that you send in the request
        var body = {
            "recipients": {
                "signers": [{
                    "email": recipientEmail,
                    "name": recipientName,
                    "recipientId": 1,
                    "tabs": {
                        "signHereTabs": [{
                            "xPosition": "100",
                            "yPosition": "100",
                            "documentId": "1",
                            "pageNumber": "1"                                                                                   
                        }]
                    }
                }]
            },
            "emailSubject": 'checkkkkkkkk API !!!!!',
            "documents": [{
                "name": "abc.pdf",
                "documentId": 1,
            }],
            "status": "sent",
        };
        
        // set request url, method, body, and headers
        var options = initializeRequest(url, "POST", body, email, password);
    
        // change default Content-Type header from "application/json" to "multipart/form-data"
        options.headers["Content-Type"] = "multipart/form-data";
        
        // configure a multipart http request with JSON body and document bytes
        options.multipart = [{
                    "Content-Type": "application/json",
                    "Content-Disposition": "form-data",
                    "body": JSON.stringify(body),
                }, {
                    "Content-Type": "application/pdf",
                    'Content-Disposition': 'file; filename="' + documentName + '"; documentId=1',
                    "body": fs.readFileSync(documentName),
                }
        ];
 
        // send the request...
        request(options, function(err, res, body) {
            parseResponseBody(err, res, body);
            envelopeId = JSON.parse(body).envelopeId;
            console.log(envelopeId);
            next(null);
        });

    }, 

ここで応答として、有効な EnvelopeID を取得しています (確かに!!)

ステップ 3: 別のユーザー (上記の受信者の電子メール/名前) に、 この API http://iodocs.docusign.com/APIWalkthrough/embeddedSigning#jsを使用して、自分の Web サイトの埋め込みビューでこのドキュメントに署名してもらいたいのです が、上記の使用された API によって返されなかった templateId とロールが必要です。これには、テンプレートをアップロードして templateID を取得するための手動の作業が必要です。これは、すべてを自動化したいため、私のシナリオでは不可能です。

埋め込み署名を続行する方法を誰かに教えてもらえますか。

DocuSignAPI

4

2 に答える 2

1

署名者がサイト経由でエンベロープにアクセスできるようにする場合は、エンベロープを作成するときに、署名者を「埋め込み/キャプティブ」署名者として指定する必要があります。これはclientUserId、Create Envelope API リクエストで Recipient オブジェクトのプロパティを設定することによって行われます。(このプロパティは、選択した任意の値に設定できます -- 最大長は 100 文字ですが、受信者がサイトに来たときに受信者の署名セッションを開始するために必要になるため、アプリケーションはそれを追跡する必要があります。)

したがって、次のように機能します。

  1. アプリケーションは、" Create Envelope " API リクエスト を介して Envelope を作成clientUserIdし、受信者 (署名者) のプロパティを設定して、アプリケーションを介して Envelope にアクセスすることを示します。この例のために、clientUserId1234に設定するとします。

    "signers": [{ "email": "janesemail@outlook.com", "name": "Jane Doe", "recipientId": 1, "clientUserId": 1234 }]

  2. アプリケーションは、署名者に (電子メールを介して) 文書に署名が必要であることを通知します。この電子メールには、あなたのサイトからエンベロープにアクセスする (つまり、文書に署名する) 方法に関する情報が記載されています。(DocuSign は、埋め込み/キャプティブとして指定された受信者に「署名招待」メールを送信しません。)

  3. 署名者は、アプリケーションから送信された電子メールの指示に従い、サイトにアクセスしてドキュメントに署名します。署名者が署名する準備ができると、アプリケーションは " POST Recipient View " API リクエストを送信して、指定された受信者に対して DocuSign 署名セッションを開始する URL を取得します。リクエストは次のようになります。

.

POST https://{{env}}.docusign.net/restapi/{{version}}/accounts/{{acctId}}/envelopes/{{envelopeId}}/views/recipient

{
     "authenticationMethod": "Email",
     "clientUserId": "1234",
     "userName": "Jane Doe",
     "email": "janesemail@outlook.com",
     "returnUrl": "URLInYourAppThatDocuSignRedirectsToWhenDocuSignSessionIsCompleted"
}

この要求への応答には、アプリケーションが受信者の署名セッションを開始するために使用できる URL が含まれます。

于 2014-03-14T15:03:29.167 に答える