# 查询所有记录(包括已删除的) ## 接口概述 查询所有记录,包括已删除的记录(回收站中的记录)。使用 QueryAll 可以检索已删除但未从回收站中永久删除的记录。 ## 基本信息 | 属性 | 值 | |------|-----| | 接口名称 | 查询所有记录 | | 接口路径 | `/partner/queryAll` | | 请求方法 | `POST` | | Content-Type | `application/json` | | 需要认证 | 是 | | 所属模块 | datai-salesforce-partner | ## 请求参数 ### 请求体 (Request Body) | 参数名 | 类型 | 必填 | 说明 | 示例值 | |--------|------|------|------|--------| | soql | String | 是 | SOQL 查询语句 | `SELECT Id, Name FROM Account LIMIT 10` | | batchSize | Integer | 否 | 批次大小,默认 500,最大 2000 | `500` | ### 请求示例 ```json { "soql": "SELECT Id, Name, IsDeleted FROM Account WHERE IsDeleted = true LIMIT 10", "batchSize": 500 } ``` ## 响应参数 ### 响应体 (Response Body) | 参数名 | 类型 | 说明 | |--------|------|------| | code | Integer | 响应状态码,200 表示成功 | | msg | String | 响应消息 | | data | Object | 响应数据 | ### data 对象结构 | 参数名 | 类型 | 说明 | |--------|------|------| | records | Array | 记录列表,每个记录是一个键值对对象 | | queryLocator | String | 查询定位器,用于 QueryMore 获取下一页 | | done | Boolean | 是否完成(true 表示没有更多数据) | | size | Integer | 记录数量 | | success | Boolean | 是否成功 | | errors | Array | 错误信息列表 | ### 响应示例 **成功响应** ```json { "code": 200, "msg": "操作成功", "data": { "records": [ { "Id": "001xx000003DHb2AAG", "Name": "Acme Corporation", "IsDeleted": true }, { "Id": "001xx000003DHb3AAH", "Name": "Tech Solutions Inc", "IsDeleted": true } ], "queryLocator": "01gD0000002J6ozIAC-2000", "done": false, "size": 2, "success": true, "errors": [] } } ``` **错误响应** ```json { "code": 500, "msg": "QueryAll 查询失败: Invalid query", "data": null } ``` ## 错误码 | 错误码 | 说明 | 处理建议 | |--------|------|----------| | 400 | 请求参数错误 | 检查 soql 语句格式是否正确 | | 401 | 认证失败 | 检查 Salesforce 认证信息是否有效 | | 500 | 服务器内部错误 | 检查 SOQL 语句语法是否正确 | ## 使用说明 ### QueryAll 与 Query 的区别 | 特性 | Query | QueryAll | |------|-------|----------| | 查询范围 | 仅查询未删除的记录 | 查询所有记录,包括已删除的 | | 性能 | 更快 | 稍慢 | | 使用场景 | 正常业务查询 | 数据恢复、审计、回收站管理 | ### 常用查询场景 1. **查询已删除的账户** ```json { "soql": "SELECT Id, Name, CreatedDate, LastModifiedDate FROM Account WHERE IsDeleted = true ORDER BY LastModifiedDate DESC LIMIT 10" } ``` 2. **查询特定时间范围内删除的记录** ```json { "soql": "SELECT Id, Name, DeletedDate FROM Account WHERE IsDeleted = true AND DeletedDate >= 2026-01-01T00:00:00Z" } ``` 3. **查询所有记录(包括已删除的)** ```json { "soql": "SELECT Id, Name, IsDeleted FROM Account ORDER BY CreatedDate DESC LIMIT 10" } ``` 4. **查询已删除的联系人及其账户信息** ```json { "soql": "SELECT Id, FirstName, LastName, Account.Name, IsDeleted FROM Contact WHERE IsDeleted = true" } ``` ### 数据恢复 查询到已删除的记录后,可以使用 `Undelete` 操作恢复记录(需要通过 CRUD 接口实现)。 ### 注意事项 1. QueryAll 只能查询仍在回收站中的记录 2. 已永久删除的记录无法通过 QueryAll 查询 3. 回收站中的记录会根据 Salesforce 的保留策略自动清理 4. 查询性能可能低于普通 Query 5. 建议在查询时添加适当的过滤条件和 LIMIT 以提高性能 ## 相关接口 - [执行 SOQL 查询](./001-query.md) - [获取查询结果的下一页](./003-query-more.md) - [执行 SOSL 搜索](./004-search.md) ## 更新日志 | 版本 | 日期 | 更新内容 | 作者 | |------|------|----------|------| | 1.0.0 | 2026-01-30 | 初始版本 | AI Assistant |