663 lines
19 KiB
Markdown
663 lines
19 KiB
Markdown
# API 文档 - 描述功能
|
||
|
||
## 元数据
|
||
- 需求编号:001-05
|
||
- 创建时间:2026-02-02
|
||
- 创建人:AI Assistant
|
||
- 版本号:v1.0.0
|
||
- 关联需求:[描述功能](../requirements/sub/2026-01-28-001-05-描述功能.md)
|
||
|
||
## API 概述
|
||
描述功能 API 提供了对 Salesforce 对象元数据的查询能力,包括获取所有可用对象列表、获取对象详细定义、获取对象布局信息、获取标签页信息、获取快速操作信息等。这些 API 可以帮助开发人员了解 Salesforce 对象的结构和属性,为数据操作和界面开发提供支持。
|
||
|
||
## 接口列表
|
||
|
||
### 1. 描述所有可用对象
|
||
|
||
#### 接口说明
|
||
获取 Salesforce 组织中所有用户有权限访问的对象列表。
|
||
|
||
- **接口名称**:DescribeGlobal
|
||
- **请求方式**:GET
|
||
- **请求路径**:`/partner/describe/global`
|
||
- **权限要求**:`@PreAuthorize("@ss.hasLogin()")`
|
||
|
||
#### 请求参数
|
||
无
|
||
|
||
#### 响应参数
|
||
|
||
| 参数名 | 类型 | 说明 |
|
||
|--------|------|------|
|
||
| code | Integer | 状态码(200 成功,其他失败) |
|
||
| msg | String | 提示信息 |
|
||
| data | Object | 响应数据 |
|
||
| data.encoding | String | 编码格式 |
|
||
| data.maxBatchSize | Integer | 最大批处理大小 |
|
||
| data.sobjects | Array | 对象列表 |
|
||
| data.sobjects[].activateable | Boolean | 是否可激活 |
|
||
| data.sobjects[].createable | Boolean | 是否可创建 |
|
||
| data.sobjects[].custom | Boolean | 是否自定义对象 |
|
||
| data.sobjects[].customSetting | Boolean | 是否自定义设置 |
|
||
| data.sobjects[].deletable | Boolean | 是否可删除 |
|
||
| data.sobjects[].deprecatedAndHidden | Boolean | 是否已弃用并隐藏 |
|
||
| data.sobjects[].feedEnabled | Boolean | 是否启用 Feed |
|
||
| data.sobjects[].hasSubtypes | Boolean | 是否有子类型 |
|
||
| data.sobjects[].isSubtype | Boolean | 是否为子类型 |
|
||
| data.sobjects[].keyPrefix | String | 键前缀 |
|
||
| data.sobjects[].label | String | 对象标签 |
|
||
| data.sobjects[].labelPlural | String | 对象复数标签 |
|
||
| data.sobjects[].layoutable | Boolean | 是否有布局 |
|
||
| data.sobjects[].mergeable | Boolean | 是否可合并 |
|
||
| data.sobjects[].mruEnabled | Boolean | 是否启用 MRU |
|
||
| data.sobjects[].name | String | 对象名称 |
|
||
| data.sobjects[].queryable | Boolean | 是否可查询 |
|
||
| data.sobjects[].replicateable | Boolean | 是否可复制 |
|
||
| data.sobjects[].retrieveable | Boolean | 是否可检索 |
|
||
| data.sobjects[].searchable | Boolean | 是否可搜索 |
|
||
| data.sobjects[].triggerable | Boolean | 是否可触发 |
|
||
| data.sobjects[].undeletable | Boolean | 是否可恢复 |
|
||
| data.sobjects[].updateable | Boolean | 是否可更新 |
|
||
| data.sobjects[].urls | Object | 对象 URL 集合 |
|
||
|
||
#### 成功示例
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"msg": "操作成功",
|
||
"data": {
|
||
"encoding": "UTF-8",
|
||
"maxBatchSize": 200,
|
||
"sobjects": [
|
||
{
|
||
"activateable": false,
|
||
"createable": true,
|
||
"custom": false,
|
||
"customSetting": false,
|
||
"deletable": true,
|
||
"deprecatedAndHidden": false,
|
||
"feedEnabled": true,
|
||
"hasSubtypes": false,
|
||
"isSubtype": false,
|
||
"keyPrefix": "001",
|
||
"label": "客户",
|
||
"labelPlural": "客户",
|
||
"layoutable": true,
|
||
"mergeable": true,
|
||
"mruEnabled": true,
|
||
"name": "Account",
|
||
"queryable": true,
|
||
"replicateable": true,
|
||
"retrieveable": true,
|
||
"searchable": true,
|
||
"triggerable": true,
|
||
"undeletable": true,
|
||
"updateable": true,
|
||
"urls": {
|
||
"rowTemplate": "/services/data/v65.0/sobjects/Account/{ID}",
|
||
"describe": "/services/data/v65.0/sobjects/Account/describe",
|
||
"sobject": "/services/data/v65.0/sobjects/Account"
|
||
}
|
||
}
|
||
]
|
||
}
|
||
}
|
||
```
|
||
|
||
#### 失败示例
|
||
```json
|
||
{
|
||
"code": 500,
|
||
"msg": "获取对象列表失败:连接超时"
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 2. 描述特定对象
|
||
|
||
#### 接口说明
|
||
获取指定 Salesforce 对象的详细元数据信息,包括字段定义、子对象、记录类型等。
|
||
|
||
- **接口名称**:DescribeSObject
|
||
- **请求方式**:POST
|
||
- **请求路径**:`/partner/describe/sobject`
|
||
- **权限要求**:`@PreAuthorize("@ss.hasLogin()")`
|
||
|
||
#### 请求参数
|
||
|
||
| 参数名 | 类型 | 必填 | 说明 |
|
||
|--------|------|------|------|
|
||
| objectType | String | 是 | 对象类型(如 Account、Contact 等) |
|
||
|
||
#### 请求示例
|
||
```json
|
||
{
|
||
"objectType": "Account"
|
||
}
|
||
```
|
||
|
||
#### 响应参数
|
||
|
||
| 参数名 | 类型 | 说明 |
|
||
|--------|------|------|
|
||
| code | Integer | 状态码(200 成功,其他失败) |
|
||
| msg | String | 提示信息 |
|
||
| data | Object | 响应数据 |
|
||
| data.activateable | Boolean | 是否可激活 |
|
||
| data.childRelationships | Array | 子对象关系列表 |
|
||
| data.createable | Boolean | 是否可创建 |
|
||
| data.custom | Boolean | 是否自定义对象 |
|
||
| data.deletable | Boolean | 是否可删除 |
|
||
| data.deprecatedAndHidden | Boolean | 是否已弃用并隐藏 |
|
||
| data.feedEnabled | Boolean | 是否启用 Feed |
|
||
| data.fields | Array | 字段定义列表 |
|
||
| data.fields[].autoNumber | Boolean | 是否自动编号 |
|
||
| data.fields[].byteLength | Integer | 字节长度 |
|
||
| data.fields[].calculated | Boolean | 是否计算字段 |
|
||
| data.fields[].caseSensitive | Boolean | 是否区分大小写 |
|
||
| data.fields[].createable | Boolean | 是否可创建 |
|
||
| data.fields[].custom | Boolean | 是否自定义字段 |
|
||
| data.fields[].defaultedOnCreate | Boolean | 创建时是否有默认值 |
|
||
| data.fields[].deprecatedAndHidden | Boolean | 是否已弃用并隐藏 |
|
||
| data.fields[].digits | Integer | 数字位数 |
|
||
| data.fields[].externalId | Boolean | 是否为外部 ID |
|
||
| data.fields[].filterable | Boolean | 是否可过滤 |
|
||
| data.fields[].groupable | Boolean | 是否可分组 |
|
||
| data.fields[].idLookup | Boolean | 是否可用于 ID 查找 |
|
||
| data.fields[].label | String | 字段标签 |
|
||
| data.fields[].length | Integer | 字段长度 |
|
||
| data.fields[].name | String | 字段名称 |
|
||
| data.fields[].nameField | Boolean | 是否为名称字段 |
|
||
| data.fields[].nillable | Boolean | 是否可为空 |
|
||
| data.fields[].picklistValues | Array | 选项值列表(Picklist 字段) |
|
||
| data.fields[].precision | Integer | 精度 |
|
||
| data.fields[].referenceTo | Array | 引用对象列表(关系字段) |
|
||
| data.fields[].relationshipName | String | 关系名称 |
|
||
| data.fields[].required | Boolean | 是否必填 |
|
||
| data.fields[].scale | Integer | 小数位数 |
|
||
| data.fields[].soapType | String | SOAP 类型 |
|
||
| data.fields[].sortable | Boolean | 是否可排序 |
|
||
| data.fields[].type | String | 字段类型 |
|
||
| data.fields[].unique | Boolean | 是否唯一 |
|
||
| data.fields[].updateable | Boolean | 是否可更新 |
|
||
| data.keyPrefix | String | 键前缀 |
|
||
| data.label | String | 对象标签 |
|
||
| data.labelPlural | String | 对象复数标签 |
|
||
| data.layoutable | Boolean | 是否有布局 |
|
||
| data.mergeable | Boolean | 是否可合并 |
|
||
| data.mruEnabled | Boolean | 是否启用 MRU |
|
||
| data.name | String | 对象名称 |
|
||
| data.queryable | Boolean | 是否可查询 |
|
||
| data.recordTypeInfos | Array | 记录类型信息列表 |
|
||
| data.replicateable | Boolean | 是否可复制 |
|
||
| data.retrieveable | Boolean | 是否可检索 |
|
||
| data.searchable | Boolean | 是否可搜索 |
|
||
| data.triggerable | Boolean | 是否可触发 |
|
||
| data.undeletable | Boolean | 是否可恢复 |
|
||
| data.updateable | Boolean | 是否可更新 |
|
||
| data.urls | Object | 对象 URL 集合 |
|
||
|
||
#### 成功示例
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"msg": "操作成功",
|
||
"data": {
|
||
"activateable": false,
|
||
"childRelationships": [...],
|
||
"createable": true,
|
||
"custom": false,
|
||
"deletable": true,
|
||
"deprecatedAndHidden": false,
|
||
"feedEnabled": true,
|
||
"fields": [
|
||
{
|
||
"autoNumber": false,
|
||
"byteLength": 18,
|
||
"calculated": false,
|
||
"caseSensitive": false,
|
||
"createable": false,
|
||
"custom": false,
|
||
"defaultedOnCreate": false,
|
||
"deprecatedAndHidden": false,
|
||
"digits": 0,
|
||
"externalId": false,
|
||
"filterable": true,
|
||
"groupable": true,
|
||
"idLookup": true,
|
||
"label": "客户 ID",
|
||
"length": 18,
|
||
"name": "Id",
|
||
"nameField": false,
|
||
"nillable": false,
|
||
"precision": 0,
|
||
"required": true,
|
||
"scale": 0,
|
||
"soapType": "tns:ID",
|
||
"sortable": true,
|
||
"type": "id",
|
||
"unique": false,
|
||
"updateable": false
|
||
}
|
||
],
|
||
"keyPrefix": "001",
|
||
"label": "客户",
|
||
"labelPlural": "客户",
|
||
"layoutable": true,
|
||
"mergeable": true,
|
||
"mruEnabled": true,
|
||
"name": "Account",
|
||
"queryable": true,
|
||
"recordTypeInfos": [...],
|
||
"replicateable": true,
|
||
"retrieveable": true,
|
||
"searchable": true,
|
||
"triggerable": true,
|
||
"undeletable": true,
|
||
"updateable": true,
|
||
"urls": {...}
|
||
}
|
||
}
|
||
```
|
||
|
||
#### 失败示例
|
||
```json
|
||
{
|
||
"code": 500,
|
||
"msg": "描述对象失败:对象类型 'InvalidObject' 不存在"
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 3. 描述多个对象
|
||
|
||
#### 接口说明
|
||
批量获取多个 Salesforce 对象的元数据信息,最多支持 100 个对象。
|
||
|
||
- **接口名称**:DescribeSObjects
|
||
- **请求方式**:POST
|
||
- **请求路径**:`/partner/describe/sobjects`
|
||
- **权限要求**:`@PreAuthorize("@ss.hasLogin()")`
|
||
|
||
#### 请求参数
|
||
|
||
| 参数名 | 类型 | 必填 | 说明 |
|
||
|--------|------|------|------|
|
||
| objectTypes | Array | 是 | 对象类型列表,最多 100 个 |
|
||
| objectTypes[] | String | 是 | 对象类型(如 Account、Contact 等) |
|
||
|
||
#### 请求示例
|
||
```json
|
||
{
|
||
"objectTypes": ["Account", "Contact", "Opportunity"]
|
||
}
|
||
```
|
||
|
||
#### 响应参数
|
||
|
||
| 参数名 | 类型 | 说明 |
|
||
|--------|------|------|
|
||
| code | Integer | 状态码(200 成功,其他失败) |
|
||
| msg | String | 提示信息 |
|
||
| data | Array | 对象描述结果列表 |
|
||
| data[] | Object | 单个对象的描述结果(同 DescribeSObject 的 data) |
|
||
|
||
#### 成功示例
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"msg": "操作成功",
|
||
"data": [
|
||
{
|
||
"name": "Account",
|
||
"label": "客户",
|
||
"fields": [...]
|
||
},
|
||
{
|
||
"name": "Contact",
|
||
"label": "联系人",
|
||
"fields": [...]
|
||
},
|
||
{
|
||
"name": "Opportunity",
|
||
"label": "业务机会",
|
||
"fields": [...]
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
#### 失败示例
|
||
```json
|
||
{
|
||
"code": 500,
|
||
"msg": "批量描述对象失败:对象类型列表不能为空"
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 4. 描述对象布局
|
||
|
||
#### 接口说明
|
||
获取指定 Salesforce 对象的页面布局信息,包括字段布局、按钮布局、相关列表等。
|
||
|
||
- **接口名称**:DescribeLayout
|
||
- **请求方式**:POST
|
||
- **请求路径**:`/partner/describe/layout`
|
||
- **权限要求**:`@PreAuthorize("@ss.hasLogin()")`
|
||
|
||
#### 请求参数
|
||
|
||
| 参数名 | 类型 | 必填 | 说明 |
|
||
|--------|------|------|------|
|
||
| objectType | String | 是 | 对象类型(如 Account、Contact 等) |
|
||
| recordTypeId | String | 否 | 记录类型 ID,不传则返回默认布局 |
|
||
|
||
#### 请求示例
|
||
```json
|
||
{
|
||
"objectType": "Account",
|
||
"recordTypeId": "012000000000000AAA"
|
||
}
|
||
```
|
||
|
||
#### 响应参数
|
||
|
||
| 参数名 | 类型 | 说明 |
|
||
|--------|------|------|
|
||
| code | Integer | 状态码(200 成功,其他失败) |
|
||
| msg | String | 提示信息 |
|
||
| data | Object | 响应数据 |
|
||
| data.id | String | 布局 ID |
|
||
| data.buttonLayoutSection | Object | 按钮布局部分 |
|
||
| data.detailLayoutSections | Array | 详情布局部分列表 |
|
||
| data.editLayoutSections | Array | 编辑布局部分列表 |
|
||
| data.quickActionList | Object | 快速操作列表 |
|
||
| data.relatedLists | Array | 相关列表 |
|
||
| data.relatedLists[].columns | Array | 列定义 |
|
||
| data.relatedLists[].custom | Boolean | 是否自定义 |
|
||
| data.relatedLists[].field | String | 字段名称 |
|
||
| data.relatedLists[].label | String | 标签 |
|
||
| data.relatedLists[].limitRows | Integer | 行数限制 |
|
||
| data.relatedLists[].name | String | 名称 |
|
||
| data.relatedLists[].sobject | String | 关联对象 |
|
||
| data.relatedLists[].sort | Array | 排序定义 |
|
||
|
||
#### 成功示例
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"msg": "操作成功",
|
||
"data": {
|
||
"id": "00h000000000000",
|
||
"buttonLayoutSection": {...},
|
||
"detailLayoutSections": [...],
|
||
"editLayoutSections": [...],
|
||
"quickActionList": {...},
|
||
"relatedLists": [
|
||
{
|
||
"columns": [...],
|
||
"custom": false,
|
||
"field": "AccountId",
|
||
"label": "联系人",
|
||
"limitRows": 5,
|
||
"name": "Contacts",
|
||
"sobject": "Contact",
|
||
"sort": [...]
|
||
}
|
||
]
|
||
}
|
||
}
|
||
```
|
||
|
||
#### 失败示例
|
||
```json
|
||
{
|
||
"code": 500,
|
||
"msg": "描述布局失败:对象类型 'InvalidObject' 不存在"
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 5. 描述标签页
|
||
|
||
#### 接口说明
|
||
获取 Salesforce 组织中所有用户可见的标签页列表。
|
||
|
||
- **接口名称**:DescribeTabs
|
||
- **请求方式**:GET
|
||
- **请求路径**:`/partner/describe/tabs`
|
||
- **权限要求**:`@PreAuthorize("@ss.hasLogin()")`
|
||
|
||
#### 请求参数
|
||
无
|
||
|
||
#### 响应参数
|
||
|
||
| 参数名 | 类型 | 说明 |
|
||
|--------|------|------|
|
||
| code | Integer | 状态码(200 成功,其他失败) |
|
||
| msg | String | 提示信息 |
|
||
| data | Array | 标签页列表 |
|
||
| data[].colors | Array | 颜色定义列表 |
|
||
| data[].custom | Boolean | 是否自定义 |
|
||
| data[].iconUrl | String | 图标 URL |
|
||
| data[].icons | Array | 图标定义列表 |
|
||
| data[].label | String | 标签 |
|
||
| data[].miniIconUrl | String | 小图标 URL |
|
||
| data[].name | String | 名称 |
|
||
| data[].sobjectName | String | 关联对象名称 |
|
||
| data[].url | String | URL |
|
||
|
||
#### 成功示例
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"msg": "操作成功",
|
||
"data": [
|
||
{
|
||
"colors": [
|
||
{
|
||
"color": "0070D1",
|
||
"context": "primary",
|
||
"theme": "theme4"
|
||
}
|
||
],
|
||
"custom": false,
|
||
"iconUrl": "https://example.com/img/icon/accounts32.png",
|
||
"icons": [...],
|
||
"label": "客户",
|
||
"miniIconUrl": "https://example.com/img/icon/accounts16.png",
|
||
"name": "standard-Account",
|
||
"sobjectName": "Account",
|
||
"url": "/001/o"
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
#### 失败示例
|
||
```json
|
||
{
|
||
"code": 500,
|
||
"msg": "获取标签页失败:连接超时"
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 6. 描述快速操作
|
||
|
||
#### 接口说明
|
||
获取指定 Salesforce 对象的快速操作定义信息,包括字段列表、布局信息等。
|
||
|
||
- **接口名称**:DescribeQuickActions
|
||
- **请求方式**:POST
|
||
- **请求路径**:`/partner/describe/quick-actions`
|
||
- **权限要求**:`@PreAuthorize("@ss.hasLogin()")`
|
||
|
||
#### 请求参数
|
||
|
||
| 参数名 | 类型 | 必填 | 说明 |
|
||
|--------|------|------|------|
|
||
| actionNames | Array | 是 | 快速操作名称列表 |
|
||
| actionNames[] | String | 是 | 快速操作名称(如 Account.NewContact 等) |
|
||
|
||
#### 请求示例
|
||
```json
|
||
{
|
||
"actionNames": ["Account.NewContact", "Account.NewOpportunity"]
|
||
}
|
||
```
|
||
|
||
#### 响应参数
|
||
|
||
| 参数名 | 类型 | 说明 |
|
||
|--------|------|------|
|
||
| code | Integer | 状态码(200 成功,其他失败) |
|
||
| msg | String | 提示信息 |
|
||
| data | Array | 快速操作定义列表 |
|
||
| data[].actionEnumOrId | String | 操作枚举或 ID |
|
||
| data[].canvasEnabled | Boolean | 是否启用 Canvas |
|
||
| data[].colors | Array | 颜色定义列表 |
|
||
| data[].contextSobjectType | String | 上下文对象类型 |
|
||
| data[].defaultValues | Object | 默认值 |
|
||
| data[].flowDevName | String | 流程开发名称 |
|
||
| data[].flowRecordIdVar | String | 流程记录 ID 变量 |
|
||
| data[].height | Integer | 高度 |
|
||
| data[].iconUrl | String | 图标 URL |
|
||
| data[].icons | Array | 图标定义列表 |
|
||
| data[].label | String | 标签 |
|
||
| data[].layout | Object | 布局定义 |
|
||
| data[].layout.layoutItems | Array | 布局项列表 |
|
||
| data[].lightningComponentBundleId | String | Lightning 组件包 ID |
|
||
| data[].lightningComponentBundleName | String | Lightning 组件包名称 |
|
||
| data[].lightningComponentQualifiedName | String | Lightning 组件限定名称 |
|
||
| data[].miniIconUrl | String | 小图标 URL |
|
||
| data[].name | String | 名称 |
|
||
| data[].showQuickActionLcHeader | Boolean | 是否显示快速操作 LC 头部 |
|
||
| data[].showQuickActionVfHeader | Boolean | 是否显示快速操作 VF 头部 |
|
||
| data[].targetParentField | String | 目标父字段 |
|
||
| data[].targetRecordTypeId | String | 目标记录类型 ID |
|
||
| data[].targetSobjectType | String | 目标对象类型 |
|
||
| data[].type | String | 类型 |
|
||
| data[].visualforcePageName | String | Visualforce 页面名称 |
|
||
| data[].visualforcePageUrl | String | Visualforce 页面 URL |
|
||
| data[].width | Integer | 宽度 |
|
||
|
||
#### 成功示例
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"msg": "操作成功",
|
||
"data": [
|
||
{
|
||
"actionEnumOrId": "Account.NewContact",
|
||
"canvasEnabled": false,
|
||
"colors": [...],
|
||
"contextSobjectType": "Account",
|
||
"defaultValues": {...},
|
||
"height": 0,
|
||
"iconUrl": "https://example.com/img/icon/newcontact32.png",
|
||
"icons": [...],
|
||
"label": "新建联系人",
|
||
"layout": {
|
||
"layoutItems": [...]
|
||
},
|
||
"miniIconUrl": "https://example.com/img/icon/newcontact16.png",
|
||
"name": "NewContact",
|
||
"showQuickActionLcHeader": false,
|
||
"showQuickActionVfHeader": false,
|
||
"targetParentField": "AccountId",
|
||
"targetSobjectType": "Contact",
|
||
"type": "Create",
|
||
"width": 0
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
#### 失败示例
|
||
```json
|
||
{
|
||
"code": 500,
|
||
"msg": "描述快速操作失败:快速操作名称列表不能为空"
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## 错误码
|
||
|
||
| 错误码 | 说明 | 处理建议 |
|
||
|--------|------|----------|
|
||
| 200 | 操作成功 | 无需处理 |
|
||
| 400 | 请求参数错误 | 检查请求参数是否符合要求 |
|
||
| 401 | 未授权 | 检查用户是否已登录 |
|
||
| 403 | 无权限 | 检查用户是否有权限访问该资源 |
|
||
| 404 | 资源不存在 | 检查对象类型、记录类型 ID 等是否正确 |
|
||
| 500 | 服务器内部错误 | 查看错误消息,检查 Salesforce 连接是否正常 |
|
||
| 503 | 服务不可用 | Salesforce 服务暂时不可用,稍后重试 |
|
||
|
||
## 通用错误响应格式
|
||
|
||
```json
|
||
{
|
||
"code": 500,
|
||
"msg": "错误描述信息",
|
||
"data": null
|
||
}
|
||
```
|
||
|
||
## 注意事项
|
||
|
||
### 1. DescribeGlobal 限制
|
||
- 返回所有用户有权限访问的对象
|
||
- 不包含系统内部对象
|
||
- 结果按对象名称字母顺序排序
|
||
|
||
### 2. DescribeSObject 限制
|
||
- 只返回用户有权限查看的字段
|
||
- 包含字段的详细元数据信息
|
||
- 支持递归获取子对象信息
|
||
|
||
### 3. DescribeSObjects 限制
|
||
- 最多支持 100 个对象同时描述
|
||
- 批量 API 提高效率
|
||
- 部分失败时返回成功和失败的结果
|
||
|
||
### 4. DescribeLayout 限制
|
||
- 需要指定对象类型
|
||
- 可选指定记录类型
|
||
- 返回所有布局类型(编辑、详情等)
|
||
|
||
### 5. DescribeTabs 限制
|
||
- 返回所有用户可见的标签页
|
||
- 包含自定义标签页
|
||
- 按显示顺序排序
|
||
|
||
### 6. DescribeQuickActions 限制
|
||
- 支持按对象类型过滤
|
||
- 返回快速操作的完整定义
|
||
- 包含字段和布局信息
|
||
|
||
## 相关文档
|
||
|
||
- [需求文档](../requirements/sub/2026-01-28-001-05-描述功能.md)
|
||
- [设计文档](../design/2026-02-02-005-描述功能-设计.md)
|
||
- [决策记录](../decisions/2026-02-02-005-ADR-描述功能技术选型.md)
|
||
- [提示词](../prompts/2026-02-02-005-prompt-描述功能.md)
|
||
- [变更日志](../changelog/2026-02-02-005-changelog.md)
|
||
- [复盘文档](../retros/2026-02-02-005-retro.md)
|
||
- [会话记录](../sessions/2026-01-28-001-session.md)
|
||
|
||
## 版本历史
|
||
|
||
| 版本号 | 日期 | 变更内容 | 作者 |
|
||
|--------|------|----------|------|
|
||
| v1.0.0 | 2026-02-02 | 初始版本,实现六个核心描述功能 API | AI Assistant |
|