У меня есть сценарий, в котором мне нужно, чтобы пользователи заходили на веб-сайт для загрузки документа, а другой пользователь должен подписать этот документ.
Что я сделал до сих пор:
Шаг 1. Войдите с помощью электронной почты, пароля и ключа интеграции
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
});
},
Я получаю действительный ответ, включая действительный идентификатор учетной записи.
Шаг 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, но для этого требуется идентификатор шаблона и роль, которые нам не возвращены. с помощью указанных выше API. это требует ручных усилий для загрузки шаблона и получения идентификатора шаблона, что невозможно в моем сценарии, потому что я хочу, чтобы все было автоматически.
Может ли кто-нибудь указать мне, как действовать со встроенной подписью.