如何使用agreement_id删除DocuSign Clickwrap协议
DocuSign Clickwrap协议作废/删除实现方案
可用的API端点
你可以直接调用DocuSign Click API的官方端点来作废用户签署的协议,端点格式如下:
DELETE /clickapi/v1/accounts/{accountId}/clickwraps/{clickwrapId}/agreements/{agreementId}
- 参数说明:
accountId:你的DocuSign账户IDclickwrapId:生成用户协议所使用的模板IDagreementId:用户首次签署时生成的目标协议ID
- 认证要求:请求头需携带有效的OAuth2 Token,权限需包含Clickwrap相关的写入权限
官方Node客户端(docusign-click)的使用方式
虽然官方文档未明确提及,但客户端实际支持该功能,你需要调用deleteAgreement方法而非ClickwrapDeleteResponse(后者仅为响应数据模型)。以下是Express后端端点的示例代码:
const docusignClick = require('docusign-click'); const express = require('express'); const app = express(); // 假设已通过OAuth流程获取到有效token const getOAuthToken = async () => { // 此处实现你的OAuth2 token获取逻辑 return process.env.DOCUSIGN_OAUTH_TOKEN; }; app.delete('/api/delete-agreement/:agreementId', async (req, res) => { try { const { agreementId } = req.params; const accountId = process.env.DOCUSIGN_ACCOUNT_ID; const clickwrapId = process.env.DOCUSIGN_CLICKWRAP_TEMPLATE_ID; const oauthToken = await getOAuthToken(); const apiClient = new docusignClick.ApiClient(); // 沙箱环境用demo域名,生产环境替换为https://www.docusign.net/restapi apiClient.setBasePath('https://demo.docusign.net/restapi'); apiClient.addDefaultHeader('Authorization', `Bearer ${oauthToken}`); const clickApi = new docusignClick.ClickApi(apiClient); // 调用deleteAgreement方法作废协议 const response = await clickApi.deleteAgreement(accountId, clickwrapId, agreementId); res.status(200).json({ success: true, message: '协议已成功作废', responseData: response }); } catch (error) { res.status(500).json({ success: false, error: error.message || '作废协议时发生错误' }); } }); app.listen(3000, () => console.log('Express服务已启动'));
注意事项
- 协议作废后无法恢复,执行操作前需确认业务逻辑允许该操作
- 确保OAuth2 Token拥有足够的权限,需包含
clickwrap_write相关权限 - 沙箱环境与生产环境的API域名不同,需根据部署环境切换
内容的提问来源于stack exchange,提问作者Khizar Hussain
相关产品推荐
相关产品推荐

