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

如何使用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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 00:02:48