You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DocuSign REST API(Node.js)多收件人签字字段不显示问题

DocuSign REST API(Node.js)后续收件人预定义字段不显示问题

我通过DocuSign REST API(Node.js)发送带预定义角色的信封,发送成功。第一个收件人(Candidato角色)签字时所有预定义字段正常显示,但第二、第三、第四个收件人(Testigo_1、Testigo_2、Coordinador角色)签字时,预先定义的字段完全不显示。

核心代码实现

const definicionsobre = new docusign.EnvelopeDefinition();
definicionsobre.templateId = Id_Plantilla;

// Candidato角色字段配置
let arraytabscandidato = [
    docusign.Text.constructFromObject({
        tabLabel: "iniciales_candidato",
        value: arrayCR[4],
    }),
    docusign.Text.constructFromObject({
        tabLabel: "domicilio_candidato",
        value: arrayCR[5],
    }),
    docusign.Text.constructFromObject({
        tabLabel: "telefono_candidato",
        value: arrayCR[7],
    }),
];
let tabscandidato = docusign.Tabs.constructFromObject({textTabs: arraytabscandidato});
let candidatoRol = docusign.TemplateRole.constructFromObject({
    recipientId: arrayCR[1],
    name: arrayCR[2],
    email: arrayCR[3],
    clientUserId: 1001,
    routingOrder: 1,
    tabs: tabscandidato,
    roleName: "Candidato",
});

// Testigo_1角色字段配置
let arraytabstestigo1 = [
    docusign.Text.constructFromObject({
        tabLabel: "domicilio_t1",
        value: dataT1[3],
    }),
    docusign.Text.constructFromObject({
        tabLabel: "relacion_t1",
        value: dataT1[4],
    }),
    docusign.Text.constructFromObject({
        tabLabel: "telefono_t1",
        value: dataT1[5],
    }),
];
let tabstestigo1 = docusign.Tabs.constructFromObject({textTabs: arraytabstestigo1});
let testigo1Rol = docusign.TemplateRole.constructFromObject({
    recipientId: dataT1[0],
    name: dataT1[1],
    email: dataT1[2],
    clientUserId: 1001,
    routingOrder: 2,
    tabs: tabstestigo1,
    roleName: "Testigo_1",
});

// Testigo_2角色字段配置
let tabstestigo2 = docusign.Tabs.constructFromObject({
    textTabs: [
        docusign.Text.constructFromObject({
            tabLabel: "domicilio_t2",
            value: dataT2[3],
        }),
        docusign.Text.constructFromObject({
            tabLabel: "relacion_t2",
            value: dataT2[4],
        }),
        docusign.Text.constructFromObject({
            tabLabel: "telefono_t2",
            value: dataT2[5],
        }),
    ],
});
let testigo2Rol = docusign.TemplateRole.constructFromObject({
    recipientId: dataT2[0],
    name: dataT2[1],
    email: dataT2[2],
    clientUserId: 1001,
    routingOrder: 3,
    tabs: tabstestigo2,
    roleName: "Testigo_2",
});

// Coordinador角色配置(无字段)
let coordinadorRol = docusign.TemplateRole.constructFromObject({
    recipientId: arrayCoordi[0],
    name: arrayCoordi[1],
    email: arrayCoordi[2],
    clientUserId: 1001,
    routingOrder: 4,
    roleName: "Coordinador",
});

definicionsobre.templateRoles = [
    candidatoRol,
    testigo1Rol,
    testigo2Rol,
    coordinadorRol,
];
definicionsobre.status = "sent";

后续收件人看到的界面

第二、第三和第四个收件人看到的界面

信封返回的收件人信息

{
    "agents": [],
    "carbonCopies": [],
    "certifiedDeliveries": [],
    "currentRoutingOrder": "1",
    "editors": [],
    "inPersonSigners": [],
    "intermediaries": [],
    "notaries": [],
    "recipientCount": "4",
    "seals": [],
    "signers": [
        {
            "clientUserId": "1001",
            "completedCount": "0",
            "creationReason": "sender",
            "deliveryMethod": "email",
            "email": "x@x.com",
            "isBulkRecipient": "false",
            "name": "Wilfrido Rubén Ruiz Pérez",
            "note": "",
            "recipientId": "1",
            "recipientIdGuid": "dafceece-d81d-49f9-a4b4-34cc6a4371d9",
            "recipientType": "signer",
            "requireIdLookup": "false",
            "requireUploadSignature": "false",
            "roleName": "Candidato",
            "routingOrder": "1",
            "sentDateTime": "2023-05-30T18:24:02.8070000Z",
            "status": "sent",
            "userId": "38609301-ed16-42cf-b82c-dcb1915f7177"
        },
        {
            "clientUserId": "1002",
            "completedCount": "0",
            "creationReason": "sender",
            "deliveryMethod": "email",
            "email": "x@x.com",
            "isBulkRecipient": "false",
            "name": "Yasser  Martinez Herrera",
            "recipientId": "5",
            "recipientIdGuid": "ebfb8c03-48cd-468d-baab-914d894b8f38",
            "recipientSuppliesTabs": "true",
            "recipientType": "signer",
            "requireIdLookup": "false",
            "requireUploadSignature": "false",
            "roleName": "Testigo_1",
            "routingOrder": "2",
            "status": "created",
            "userId": "a2dafdc2-6a1d-42fe-a6ab-e0acd7e4fa57"
        },
        {
            "clientUserId": "1003",
            "completedCount": "0",
            "creationReason": "sender",
            "deliveryMethod": "email",
            "email": "x@x.com",
            "isBulkRecipient": "false",
            "name": "Brayan López Hernández",
            "recipientId": "6",
            "recipientIdGuid": "58399fe7-9f9f-45f3-9724-5cac5ff385eb",
            "recipientSuppliesTabs": "true",
            "recipientType": "signer",
            "requireIdLookup": "false",
            "requireUploadSignature": "false",
            "roleName": "Testigo_2",
            "routingOrder": "3",
            "status": "created",
            "userId": "d1623117-fe47-4655-aeb3-1f910cd933d3"
        },
        {
            "clientUserId": "1004",
            "completedCount": "0",
            "creationReason": "sender",
            "deliveryMethod": "email",
            "email": "x@x.com",
            "isBulkRecipient": "false",
            "name": "Adriana López Bernal",
            "recipientId": "7",
            "recipientIdGuid": "a0593aed-54fc-423d-a406-91323db9daca",
            "recipientSuppliesTabs": "true",
            "recipientType": "signer",
            "requireIdLookup": "false",
            "requireUploadSignature": "false",
            "roleName": "Coordinador",
            "routingOrder": "4",
            "status": "created",
            "userId": "7afca9a0-6958-4a8e-b9d8-0e4060b99eb0"
        }
    ],
    "witnesses": []
}

问题排查与解决方法

  1. 修正重复的clientUserId
    代码中所有收件人都设置了clientUserId: 1001,但DocuSign要求每个收件人的clientUserId必须唯一。将Testigo_1设为1002,Testigo_2设为1003,Coordinador设为1004,与返回的JSON保持一致。

  2. 验证模板字段的角色绑定
    登录DocuSign后台,检查模板中Testigo_1、Testigo_2、Coordinador对应的字段,确保每个字段的"分配给"选项正确选择了对应的角色名称,无拼写或大小写错误。

  3. 核对tabLabel与模板字段标签
    确认代码中设置的tabLabel(如domicilio_t1、relacion_t2)与模板中对应角色的字段标签完全一致,包括大小写、特殊字符。

  4. 补充Coordinador角色的Tabs配置
    如果Coordinador角色在模板中有预定义字段,需要为其添加对应的tabs配置,否则字段不会显示。

内容的提问来源于stack exchange,提问作者Brayan Lopez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 12:15:23