查询所有记录(包括已删除的)
接口概述
查询所有记录,包括已删除的记录(回收站中的记录)。使用 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 |
请求示例
{
"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 |
错误信息列表 |
响应示例
成功响应
{
"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": []
}
}
错误响应
{
"code": 500,
"msg": "QueryAll 查询失败: Invalid query",
"data": null
}
错误码
| 错误码 |
说明 |
处理建议 |
| 400 |
请求参数错误 |
检查 soql 语句格式是否正确 |
| 401 |
认证失败 |
检查 Salesforce 认证信息是否有效 |
| 500 |
服务器内部错误 |
检查 SOQL 语句语法是否正确 |
使用说明
QueryAll 与 Query 的区别
| 特性 |
Query |
QueryAll |
| 查询范围 |
仅查询未删除的记录 |
查询所有记录,包括已删除的 |
| 性能 |
更快 |
稍慢 |
| 使用场景 |
正常业务查询 |
数据恢复、审计、回收站管理 |
常用查询场景
- 查询已删除的账户
{
"soql": "SELECT Id, Name, CreatedDate, LastModifiedDate FROM Account WHERE IsDeleted = true ORDER BY LastModifiedDate DESC LIMIT 10"
}
- 查询特定时间范围内删除的记录
{
"soql": "SELECT Id, Name, DeletedDate FROM Account WHERE IsDeleted = true AND DeletedDate >= 2026-01-01T00:00:00Z"
}
- 查询所有记录(包括已删除的)
{
"soql": "SELECT Id, Name, IsDeleted FROM Account ORDER BY CreatedDate DESC LIMIT 10"
}
- 查询已删除的联系人及其账户信息
{
"soql": "SELECT Id, FirstName, LastName, Account.Name, IsDeleted FROM Contact WHERE IsDeleted = true"
}
数据恢复
查询到已删除的记录后,可以使用 Undelete 操作恢复记录(需要通过 CRUD 接口实现)。
注意事项
- QueryAll 只能查询仍在回收站中的记录
- 已永久删除的记录无法通过 QueryAll 查询
- 回收站中的记录会根据 Salesforce 的保留策略自动清理
- 查询性能可能低于普通 Query
- 建议在查询时添加适当的过滤条件和 LIMIT 以提高性能
相关接口
更新日志
| 版本 |
日期 |
更新内容 |
作者 |
| 1.0.0 |
2026-01-30 |
初始版本 |
AI Assistant |