gpt4 book ai didi

javascript - 文档签名 : Getting an embedded recipient view without having templateID

转载 作者:行者123 更新时间:2023-11-30 05:38:03 26 4
gpt4 key购买 nike

我有这样的场景,我需要用户访问网站上传文档,而另一个用户必须签署该文档。

到目前为止我做了什么:

第 1 步:通过电子邮件、密码和 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 在内的有效响应。

第二步:现在我通过这个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 步:现在我希望另一个用户(如上面提供的收件人电子邮件/姓名)在我网站的嵌入 View 中签署此文档为此,我正在使用这个 API http://iodocs.docusign.com/APIWalkthrough/embeddedSigning#js但这需要一个 templateId 和 Angular 色,上面使用的 API 没有返回给我们。这需要手动上传模板并获取模板 ID,这在我的场景中是不可能的,因为我希望一切都是自动的。

谁能指导我如何进行嵌入式签名。

文档签名API

最佳答案

如果您希望签名者通过您的站点访问信封,则需要在创建信封时将签名者指定为“嵌入式/专属”签名者。这是通过在创建信封 API 请求中设置收件人对象的 clientUserId 属性来完成的。 (此属性可以设置为您选择的任何值——最大长度为 100 个字符,但您的应用程序需要对其进行跟踪,因为当他们访问您的站点时,您需要它来启动收件人的签名 session 。)

所以,它是这样工作的:

  1. 您的应用程序通过“创建信封”API 请求创建信封,为收件人(签名者)设置 clientUserId 属性以指示他们将通过您的应用程序访问 Envelope。为了这个示例,假设您将 clientUserId 设置为 1234

    “签名者”:[{ “电子邮件”:“janesemail@outlook.com”, "name": "李四", “收件人编号”:1, “clientUserId”:1234}]

  2. 您的应用程序通知签名者(通过电子邮件)他们需要在文档上签名;该电子邮件提供了有关他们如何通过您的站点访问信封(即签署文档)的信息。 (DocuSign 不会向指定为嵌入式/专属的收件人发送“签名邀请”电子邮件。)

  3. 签名者遵循您的申请发送给他们的电子邮件中的说明,并访问您的站点以签署他们的文档。当签名者准备好签名时,您的应用程序会提交一个“POST Recipient View”API 请求以获取将为指定收件人启动 DocuSign 签名 session 的 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,您的应用程序可使用该 URL 启动接收者的签名 session 。

关于javascript - 文档签名 : Getting an embedded recipient view without having templateID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22401704/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com