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

如何通过DocuSign Admin API合规关闭离职员工的用户账户?

正确关闭指定用户账户的Admin API方案

针对你遇到的后台服务器端操作、无需用户同意关闭离职员工账户的场景,我来梳理下可行的解决路径,结合你提到的几个尝试逐一分析:

先排除不可行的方案

  • CloseMemberships接口:确实需要用户本人的身份令牌,完全不适合后台管理员的批量/单用户操作,直接排除。
  • eSignature API的Delete User接口:如文档所述,即使是管理员也无法删除其他用户,只能操作自己的账户;而且需要单独维护eSignature的JWT令牌,增加了基础设施复杂度,不推荐。
  • 你误解的CloseBulkUserImportRequest:这个接口并非不能传递用户数据,而是你没掌握正确的调用流程——它需要先创建一个批量作业,上传包含目标用户的CSV文件,而非仅传递OrganizationId。

可行方案:Admin API批量关闭指定用户(支持单/多用户)

Admin API的批量关闭用户功能完全匹配你的需求:用组织管理员的JWT令牌调用、无需用户同意、支持通过用户ID或邮箱指定目标用户,同时兼容单用户和批量用户的场景。

具体步骤(结合.NET NuGet包)

  1. 准备CSV文件
    生成包含目标用户的CSV文件,列名只能选user_id或email(二选一,不能混用),示例如下:

    • 按用户ID:
      user_id
      123e4567-e89b-12d3-a456-426614174000
      
    • 按邮箱:
      email
      terminated.user@yourcompany.com
      

    如果是单用户关闭,CSV里只保留一行目标数据即可。

  2. 使用.NET SDK调用批量关闭接口
    你提到的CreateBulkImportCloseUsersRequestAsync方法需要传入完整的批量请求对象,而非仅OrganizationId。以下是代码示例:

    using DocuSign.Admin.Api;
    using DocuSign.Admin.Client;
    using DocuSign.Admin.Model;
    
    // 初始化Admin API客户端(使用组织管理员的JWT令牌)
    var apiClient = new ApiClient("https://demo.docusign.net/restapi"); // 生产环境替换为https://www.docusign.net/restapi
    apiClient.Configuration.AddDefaultHeader("Authorization", $"Bearer {yourAdminJwtToken}");
    
    var bulkOperationsApi = new BulkOperationsApi(apiClient);
    
    // 读取CSV文件为字节数组(也可直接构造字节内容)
    byte[] csvBytes = File.ReadAllBytes("path/to/close_users.csv");
    
    // 构建批量关闭请求
    var bulkRequest = new BulkUserImportRequest
    {
        OrganizationId = "your-organization-id",
        Operation = "close", // 指定操作类型为关闭用户
        File = csvBytes,
        FileName = "close_users.csv",
        AutoExecute = true // 设置为true会自动执行作业,无需手动触发
    };
    
    // 发送请求并获取结果
    var response = await bulkOperationsApi.CreateBulkUserImportRequestAsync(bulkRequest);
    
    // 可通过BulkImportRequestId查询作业执行状态
    var jobStatus = await bulkOperationsApi.GetBulkUserImportRequestAsync(response.BulkImportRequestId, "your-organization-id");
    

关键注意事项

  • 权限要求:确保你的JWT应用拥有Admin API的user_read和user_write权限,且令牌对应的用户是组织管理员。
  • CSV格式要求:列名必须严格为user_id或email,不能添加额外列,否则会导致导入失败。
  • 即时生效:设置AutoExecute = true后,作业会立即执行,目标用户账户将被快速关闭,满足你“立即关闭”的需求。

这种方案完全在Admin API范围内实现需求,不需要依赖eSignature API,也无需用户任何交互。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 21:47:42