172 lines
4.1 KiB
Markdown
172 lines
4.1 KiB
Markdown
|
|
# 查询所有记录(包括已删除的)
|
|||
|
|
|
|||
|
|
## 接口概述
|
|||
|
|
|
|||
|
|
查询所有记录,包括已删除的记录(回收站中的记录)。使用 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 |
|