如何通过Node.js SDK禁用DocuSign的Style Selection功能
如何通过DocuSign Node.js SDK禁用预格式化签名选项
要实现禁止签署人使用预格式化签名、仅允许绘制或上传签名的需求,你需要在创建信封时为签署人配置signerCanUsePredefinedSignatures参数并设置为false,这对应DocuSign后台“Adopt Signature Setting”中的禁用选项。
以下是完整的Node.js SDK代码示例:
const docusign = require('docusign-esign'); async function createEnvelopeWithRestrictedSignature() { // 初始化DocuSign客户端 const dsApiClient = new docusign.ApiClient(); dsApiClient.setBasePath('https://demo.docusign.net/restapi'); // 生产环境替换为https://www.docusign.net/restapi dsApiClient.addDefaultHeader('Authorization', 'Bearer ' + YOUR_ACCESS_TOKEN); const envelopesApi = new docusign.EnvelopesApi(dsApiClient); // 构建签署人对象,关键配置禁用预格式化签名 const signer = docusign.Signer.constructFromObject({ email: 'signer@example.com', name: 'Test Signer', clientUserId: '123', // 嵌入式签署需设置,邮件邀请签署可省略 recipientId: '1', signerCanUsePredefinedSignatures: false // 核心配置:禁用预格式化签名 }); // 添加签名标签 const signHere = docusign.SignHere.constructFromObject({ documentId: '1', pageNumber: '1', recipientId: '1', xPosition: '100', yPosition: '100' }); const tabs = docusign.Tabs.constructFromObject({ signHereTabs: [signHere] }); signer.tabs = tabs; // 构建信封定义 const envelopeDefinition = docusign.EnvelopeDefinition.constructFromObject({ emailSubject: '请签署文档', documents: [{ documentId: '1', name: 'Test Document.pdf', documentBase64: YOUR_DOCUMENT_BASE64 // 替换为你的文档base64字符串 }], recipients: docusign.Recipients.constructFromObject({ signers: [signer] }), status: 'sent' // 直接发送信封,草稿状态设为'created' }); try { const results = await envelopesApi.createEnvelope(YOUR_ACCOUNT_ID, { envelopeDefinition }); console.log(`信封创建成功,信封ID:${results.envelopeId}`); } catch (error) { console.error('创建信封失败:', error); } } // 调用函数 createEnvelopeWithRestrictedSignature();
关键说明:
signerCanUsePredefinedSignatures: false:这是实现需求的核心配置,设置后签署人在签署界面将无法选择预格式化签名样式,仅能通过绘制或上传方式添加签名。- 需替换代码中的
YOUR_ACCESS_TOKEN、YOUR_ACCOUNT_ID和YOUR_DOCUMENT_BASE64为实际业务值。 clientUserId仅在嵌入式签署场景下必填,若采用邮件邀请签署模式可删除该参数。
内容的提问来源于stack exchange,提问作者swarup sahu
相关产品推荐
相关产品推荐

