# API 文档 - 批量删除记录 ## 元数据 - 需求编号:001 - 子需求编号:001-01 - 接口编号:003 - 创建时间:2026-02-02 - 创建人:AI Assistant - 状态:已完成 ## 接口概述 批量删除 Salesforce 记录,支持最多 1000 条记录,每批最多 200 条,自动分批处理。 ## 基本信息 - **功能描述**:批量删除 Salesforce 记录 - **请求方式**:POST - **请求路径**:`/partner/batch/delete` - **权限要求**:`@PreAuthorize("@ss.hasLogin()")` ## 请求参数 ### 请求体(JSON) | 参数名 | 类型 | 必填 | 说明 | 示例值 | |--------|------|------|------|--------| | objectType | String | 是 | 对象类型 | Account | | ids | Array[String] | 是 | 记录 ID 列表 | ["001xx...", "001xx..."] | | allOrNone | Boolean | 否 | 是否全部成功或全部失败,默认 false | false | | sleepTime | Long | 否 | 批次间休眠时间(毫秒),默认 100 | 100 | ### 请求示例 ```json { "objectType": "Account", "ids": [ "001xx0000001Gw2EAA", "001xx0000001Gw3EAA", "001xx0000001Gw4EAA" ], "allOrNone": false, "sleepTime": 100 } ``` ## 响应参数 | 参数名 | 类型 | 说明 | |--------|------|------| | code | Integer | 状态码(200 成功,其他失败) | | msg | String | 提示信息 | | data | Object | 响应数据 | | data.success | Boolean | 是否全部成功 | | data.successCount | Integer | 成功数量 | | data.failureCount | Integer | 失败数量 | | data.totalCount | Integer | 总数量 | | data.results | Array | 结果列表 | | data.results[].success | Boolean | 是否成功 | | data.results[].id | String | 记录 ID | | data.results[].errors | Array | 错误列表 | | data.results[].index | Integer | 索引 | | data.errorMessage | String | 错误消息 | ### 成功响应示例 ```json { "code": 200, "msg": "批量删除成功", "data": { "success": true, "successCount": 3, "failureCount": 0, "totalCount": 3, "results": [ { "success": true, "id": "001xx0000001Gw2EAA", "errors": null, "index": 0 }, { "success": true, "id": "001xx0000001Gw3EAA", "errors": null, "index": 1 }, { "success": true, "id": "001xx0000001Gw4EAA", "errors": null, "index": 2 } ], "errorMessage": null } } ``` ### 部分失败响应示例 ```json { "code": 200, "msg": "批量删除部分失败", "data": { "success": false, "successCount": 2, "failureCount": 1, "totalCount": 3, "results": [ { "success": true, "id": "001xx0000001Gw2EAA", "errors": null, "index": 0 }, { "success": true, "id": "001xx0000001Gw3EAA", "errors": null, "index": 1 }, { "success": false, "id": "001xx0000001Gw4EAA", "errors": [ { "statusCode": "ENTITY_IS_DELETED", "message": "The entity is already deleted", "fields": [] } ], "index": 2 } ], "errorMessage": null } } ``` ### 失败响应示例 ```json { "code": 500, "msg": "批量删除记录失败", "data": { "success": false, "successCount": 0, "failureCount": 0, "totalCount": 0, "results": null, "errorMessage": "Invalid object type: InvalidObject" } } ``` ## 错误码 | 错误码 | 说明 | 处理建议 | |--------|------|----------| | 200 | 操作成功 | - | | 400 | 请求参数错误 | 检查请求参数格式和必填项 | | 401 | 未登录或登录已过期 | 请重新登录 | | 500 | 服务器内部错误 | 请联系管理员或稍后重试 | ## 注意事项 1. 单次最多删除 1000 条记录 2. 每批最多 200 条记录,超过会自动分批 3. 删除操作是永久性的,无法恢复 4. allOrNone 为 true 时,任何一条记录失败都会导致整个操作失败 5. sleepTime 用于控制批次间的间隔,避免 API 限流 6. 删除操作需要记录的删除权限 7. 某些记录可能因为关联关系或其他限制无法删除 ## 相关文档 - [需求文档](../../requirements/2026-01-28-001-PartnerAPI源org实现.md) - [设计文档](../../design/2026-01-29-001-01-认证和会话管理-设计.md) - [决策记录](../../decisions/2026-01-29-001-01-ADR-认证和会话管理技术选型.md)