Docusignapi 在DocuSign上有多个签名者时,自定义字段不显示

Docusignapi 在DocuSign上有多个签名者时,自定义字段不显示,docusignapi,docusigncompositetmplts,Docusignapi,Docusigncompositetmplts,我有以下代码。我正在使用一个带有PDF的模板,我想在签名之前在PDF中的某些特定位置添加值。我想将其嵌入到我自己的VueJS应用程序中。我有两个名为amount、customerName等的customFields。当我在iframe上打开嵌入代码时,我看不到customFields。到目前为止,你认为我的代码有什么问题吗?提前谢谢 const docusign = require('docusign-esign'); export const makeEnvelope = async (da

我有以下代码。我正在使用一个带有PDF的模板,我想在签名之前在PDF中的某些特定位置添加值。我想将其嵌入到我自己的VueJS应用程序中。我有两个名为amount、customerName等的customFields。当我在iframe上打开嵌入代码时,我看不到customFields。到目前为止,你认为我的代码有什么问题吗?提前谢谢

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个人在同一个地方在同一个视图上签名,对吗?