Docusignapi 在DocuSign上有多个签名者时,自定义字段不显示
我有以下代码。我正在使用一个带有PDF的模板,我想在签名之前在PDF中的某些特定位置添加值。我想将其嵌入到我自己的VueJS应用程序中。我有两个名为amount、customerName等的customFields。当我在iframe上打开嵌入代码时,我看不到customFields。到目前为止,你认为我的代码有什么问题吗?提前谢谢Docusignapi 在DocuSign上有多个签名者时,自定义字段不显示,docusignapi,docusigncompositetmplts,Docusignapi,Docusigncompositetmplts,我有以下代码。我正在使用一个带有PDF的模板,我想在签名之前在PDF中的某些特定位置添加值。我想将其嵌入到我自己的VueJS应用程序中。我有两个名为amount、customerName等的customFields。当我在iframe上打开嵌入代码时,我看不到customFields。到目前为止,你认为我的代码有什么问题吗?提前谢谢 const docusign = require('docusign-esign'); export const makeEnvelope = async (da
const docusign = require('docusign-esign');
export const makeEnvelope = async (data) => {
let payload = {
signerEmail: 'a@b.com',
signerName: 'a b',
agentName: 'a c',
agentEmail: 'a@c.com',
templateId: 'xxx'
}
let env = new docusign.EnvelopeDefinition();
env.templateId = payload.templateId;
let info = {
"amount": "143",
"customerName": "ccc",
"tax": "13"
}
let textFields = [];
Object.keys(info).forEach(i => {
let text = docusign.Text.constructFromObject({
tabLabel: i, value: info[i]
});
textFields.push(text);
})
let tabs = docusign.Tabs.constructFromObject({
textTabs: textFields,
});
let customer = docusign.TemplateRole.constructFromObject({
name: 'sq',
email: 's@q.com',
Name: 'sq',
signerName: 'sq',
roleName: 'customer',
tabs: tabs
});
let agent = docusign.TemplateRole.constructFromObject({
name: 'sa',
email: 's@a.com',
Name: 'sa',
signerName: 'sa',
roleName: 'agent',
tabs: tabs
});
env.templateRoles = [agent, customer];
env.status = "sent";
return env;
}
export const docuApi = async (event) => {
let payload = {
basePath: 'https://demo.docusign.net/restapi',
accessToken: 'ccc',
accountId: 'xxx',
};
let dsApiClient = new docusign.ApiClient();
await dsApiClient.setBasePath(payload.basePath);
await dsApiClient.addDefaultHeader('Authorization', 'Bearer ' + payload.accessToken);
let envelopesApi = new docusign.EnvelopesApi(dsApiClient);
let envelope = await makeEnvelope(payload.envelopepayload);
let envelopeId;
let results = await envelopesApi.createEnvelope(payload.accountId, {envelopeDefinition: envelope})
.then(res => {
envelopeId = res.envelopeId;
})
.catch(err => {
});
console.log('envelopeId', envelopeId);
let viewRequest = await makeRecipientViewRequest({
"dsReturnUrl": '',
"signerEmail": 's@q.com',
"signerName": 'sa',
// "signerClientId": '',
"dsPingUrl": 'https://example.com'
})
let createView = await envelopesApi.createRecipientView(
payload.accountId, envelopeId,{recipientViewRequest: viewRequest})
.then(res => {
console.log('createView res', res)
})
.catch(err => {
console.log(err.response.error);
});
return results;
}
const makeRecipientViewRequest = async (args) => {
let viewRequest = new docusign.RecipientViewRequest();
viewRequest.returnUrl = args.dsReturnUrl + "?state=123";
viewRequest.authenticationMethod = 'none';
viewRequest.email = args.signerEmail;
viewRequest.userName = args.signerName;
viewRequest.clientUserId = args.signerClientId;
viewRequest.pingFrequency = 600; // seconds
viewRequest.pingUrl = args.dsPingUrl; // optional setting
return viewRequest
}
问题是用户名和clientUserId必须与模板匹配。否则,生成的视图与收件人不匹配,您将无法与其交互,它将只显示“正在进行”。
视图是特定于特定收件人的,对于每个收件人,您必须生成自己的视图 问题是用户名和clientUserId必须与模板匹配。否则,生成的视图与收件人不匹配,您将无法与其交互,它将只显示“正在进行”。
视图是特定于特定收件人的,对于每个收件人,您必须生成自己的视图 Siva,当您创建此模板时,您是否向第一个使用此呼叫更新的签名者添加了相同的选项卡?这些选项卡必须已经存在于模板中,并且您正在通过此调用更新它们的值……是的,我预先添加了这些选项卡,并将其分配给第一个签名者“代理”。当我打开隐式窗口中嵌入的链接时,我没有看到任何代理选项卡/自定义字段,我在PDF.aha的中间看到“正在进行中”,这可能表明视图不是针对这个签名者的。让我再看一下您的代码。您确认您的电子邮件和用户名与第一个收件人完全匹配吗?这可能是它没有为正确的用户生成这个的原因,这是有效的。我试过userName和signerClientId,但都不起作用,但clientUserId起作用了。DocuSign在不同的位置使用不同的名称来指代同一事物。我知道他们有不同的背景,但这令人困惑。谢谢你的帮助。现在,我只需要使用ReturnURL为每个签名者创建不同的视图。没有其他方法可以让同一地点的3个人在同一视图上签名,对吗?Siva,当您创建此模板时,您是否向第一个使用此呼叫更新的签名者添加了相同的选项卡?这些选项卡必须已经存在于模板中,并且您正在通过此调用更新它们的值……是的,我预先添加了这些选项卡,并将其分配给第一个签名者“代理”。当我打开隐式窗口中嵌入的链接时,我没有看到任何代理选项卡/自定义字段,我在PDF.aha的中间看到“正在进行中”,这可能表明视图不是针对这个签名者的。让我再看一下您的代码。您确认您的电子邮件和用户名与第一个收件人完全匹配吗?这可能是它没有为正确的用户生成这个的原因,这是有效的。我试过userName和signerClientId,但都不起作用,但clientUserId起作用了。DocuSign在不同的位置使用不同的名称来指代同一事物。我知道他们有不同的背景,但这令人困惑。谢谢你的帮助。现在,我只需要使用ReturnURL为每个签名者创建不同的视图。没有其他方法可以让3个人在同一个地方在同一个视图上签名,对吗?