如何使用PHP代码/API删除DocuSign的template或已发送/签署的envelop
实现步骤与代码示例
触发时机:用Webhook监听状态变更
要在信封发送或签署完成后自动删除,得先配置DocuSign Connect(即Webhook),监听Envelope Sent(发送完成)或Envelope Completed(签署完成)事件。当DocuSign触发这些事件时,会把信封ID、状态等数据推送至你指定的后端接口,你就可以在接口内执行删除操作。
删除信封的PHP实现
核心逻辑
调用DocuSign的DELETE /v2.1/accounts/{accountId}/envelopes/{envelopeId}接口,已发送、已完成的信封均支持删除,草稿也可删除但一般无需操作。
代码示例
先通过Composer安装官方SDK:
composer require docusign/esign-client
删除逻辑代码:
<?php require __DIR__ . '/vendor/autoload.php'; use DocuSign\eSign\Client\ApiClient; use DocuSign\eSign\Configuration; // 替换为你的实际参数 $accountId = '你的账户ID'; $envelopeId = '待删除的信封ID'; $accessToken = '你的API访问令牌'; // 测试环境用demo地址,生产环境替换为https://www.docusign.net/restapi $basePath = 'https://demo.docusign.net/restapi'; // 初始化API客户端 $config = new Configuration(); $config->setHost($basePath); $config->addDefaultHeader('Authorization', "Bearer {$accessToken}"); $apiClient = new ApiClient($config); try { // 发送删除请求 $apiClient->callApi( "/v2.1/accounts/{$accountId}/envelopes/{$envelopeId}", 'DELETE', [], [], [], [], null, ['Content-Type' => 'application/json'] ); echo "信封删除成功"; } catch (\Exception $e) { echo "删除失败:" . $e->getMessage(); } ?>
删除模板的PHP实现
核心逻辑
调用DELETE /v2.1/accounts/{accountId}/templates/{templateId}接口,需注意:若模板还关联未完成的信封,大概率无法删除,需先处理完关联信封。
代码示例
<?php require __DIR__ . '/vendor/autoload.php'; use DocuSign\eSign\Client\ApiClient; use DocuSign\eSign\Configuration; // 替换为你的实际参数 $accountId = '你的账户ID'; $templateId = '待删除的模板ID'; $accessToken = '你的API访问令牌'; $basePath = 'https://demo.docusign.net/restapi'; // 初始化API客户端 $config = new Configuration(); $config->setHost($basePath); $config->addDefaultHeader('Authorization', "Bearer {$accessToken}"); $apiClient = new ApiClient($config); try { // 发送删除请求 $apiClient->callApi( "/v2.1/accounts/{$accountId}/templates/{$templateId}", 'DELETE', [], [], [], [], null, ['Content-Type' => 'application/json'] ); echo "模板删除成功"; } catch (\Exception $e) { echo "删除失败:" . $e->getMessage(); } ?>
关键注意事项
- 权限要求:调用API的用户必须拥有删除信封/模板的权限,一般为账户管理员或具备对应操作权限的角色。
- Webhook配置:在DocuSign后台配置Connect时,需选择正确的事件类型,同时确保后端接口能正常接收POST请求,解析事件中的
envelopeId及关联的templateId(若有)。 - 删除限制:已完成的信封删除后,审计记录仍会保留,无法彻底清除;若模板被多个信封引用,需确认所有关联信封处理完毕后再执行删除。
- 错误处理:必须捕获API调用异常,针对权限不足、资源不存在等情况做日志记录或重试处理,避免程序崩溃。
内容的提问来源于stack exchange,提问作者Manish Kumar Pathak
相关产品推荐
相关产品推荐

