Один и тот же документ для нескольких человек, для подписей (пять человек) на одном и том же документе в последовательном порядке (не MegaSign)
Я надеюсь, что у вас все хорошо, я интегрировал API в нашу собственную систему (бесплатная версия, будет интегрировать его с использованием корпоративной учетной записи, когда система начнет работать предварительно). Я пытаюсь отправить один и тот же документ нескольким людям за их подписи в порядке (порядок ввода электронной почты). Что я испытываю, так это то, что когда я делаю это, используя https://secure.na2.echosign.com/public/compose это работает отлично, как я хочу. Но когда я пытаюсь отправить документ с помощью API, он не отправляет документ нескольким людям, а отправляет документ только одному человеку. Хотя я ввел пять разных писем. Вот код для вашего лучшего понимания. Пожалуйста, дайте мне знать, как я могу отправить документ в указанном порядке всем пользователям, когда первый подписывает документ, он должен отправить его следующему получателю, но не отправляет следующему и показывает, что документ был подписан.
function SendAgreementForSignature(context, p_accessToken, p_transientDocumentId) {
var l_strEnteredEmails = document.getElementById('emails').value;
if (l_strEnteredEmails != '') {
var userEmails = [];
l_strEnteredEmails = l_strEnteredEmails.split(',');
var l_intCounter = 0;
for (var i = 0; i < l_strEnteredEmails.length; i++) {
if (l_strEnteredEmails[i].length > 5) {
userEmails[l_intCounter] = l_strEnteredEmails[i];
l_intCounter++;
}
}
var transientDocumentId = p_transientDocumentId;
//Initialize the Agreements API
var agreementsApi = new AdobeSignSdk.AgreementsApi(context);
var agreementsModel = AdobeSignSdk.AgreementsModel;
//Get recipient set info
//Create an array of recipients from list of email ids.
var recipientSetMemberInfos = [];
for (var i = 0; i < userEmails.length; i++) {
var recipientInfo = new agreementsModel.RecipientInfo();
recipientInfo.setEmail(userEmails[i]);
recipientSetMemberInfos.push(recipientInfo);
}
//Create recipient set info
var recipientSetInfo = new agreementsModel.RecipientSetInfo();
recipientSetInfo.setRecipientSetMemberInfos(recipientSetMemberInfos);
recipientSetInfo.setRecipientSetRole(agreementsModel.RecipientSetInfo.RecipientSetRoleEnu m.SIGNER);
recipientSetInfo.setSigningOrder("SEQUENTIAL");
recipientSetInfo.setRecipientSetName(" Recepients");
var recipientSetInfos = [];
recipientSetInfos.push(recipientSetInfo);
//Get file info and create a list of file info
var fileInfo = new agreementsModel.FileInfo();
fileInfo.setTransientDocumentId(transientDocumentId);
//fileInfo.setLibraryDocumentName("[DEMO USE ONLY] Long Term Business Plan Approval");
//Get file info and create a list of file info
var fileInfo2 = new agreementsModel.FileInfo();
fileInfo2.setLibraryDocumentName("[DEMO USE ONLY] Long Term Business Plan Approval");
var fileInfos = [];
fileInfos.push(fileInfo);
//var fieldinfo="mergeFieldInfo": [ {"fieldName": "firstName","defaultValue": "xxxx"}]
//var a = { "mergeFieldInfo": [' + '{ "fieldName": "firstName", "defaultValue": "xxxx" }] };
var aa = {
"mergeFieldInfo": [{ "fieldName": "firstName", "defaultValue": "xxxx" }]
};
//Get document creation info
//Create document creation info from the file info object
var documentCreationInfo = new agreementsModel.DocumentCreationInfo();
documentCreationInfo.setName("Long Term Business Plan Approval");
documentCreationInfo.setFileInfos(fileInfos);
documentCreationInfo.setRecipientSetInfos(recipientSetInfos);
documentCreationInfo.setSignatureType(agreementsModel.DocumentCreationInfo.SignatureTypeE num.ESIGN);
documentCreationInfo.setSignatureFlow(agreementsModel.DocumentCreationInfo.SignatureFlowE num.SENDER_SIGNATURE_NOT_REQUIRED);
var a = documentCreationInfo.getFormFieldLayerTemplates();
//var b = documentCreationInfo.getFormFields();
//documentCreationInfo.formFieldLayerTemplates = "[DEMO USE ONLY] ";
documentCreationInfo.setFormFieldLayerTemplates(fileInfo2);
//documentCreationInfo.setMergeFieldInfo(aa);
var a = documentCreationInfo.getFormFieldLayerTemplates();
//Get agreement creation info
var agreementCreationInfo = new agreementsModel.AgreementCreationInfo();
agreementCreationInfo.setDocumentCreationInfo(documentCreationInfo);
var headerParams = { "accessToken": p_accessToken };
//Make API call to create agreement
agreementsApi.createAgreement(headerParams, agreementCreationInfo)
.then(function (agreementCreationResponse) {
//debugger;
//alert("Agreement created for Id " + agreementCreationResponse.getAgreementId());
alert("Agreement has been sent.");
checkStatusOfAgreement(p_accessToken);
})
.catch(function (apiError) {
console.log(apiError);
});
}
else
alert('Please enter Email(s).');
}