485 lines
11 KiB
Markdown
485 lines
11 KiB
Markdown
# API 文档
|
||
|
||
## 元数据
|
||
- 需求编号:004-06
|
||
- 创建时间:2026-02-06
|
||
- 创建人:AI Assistant
|
||
- 版本号:v1.0.0
|
||
|
||
## API 概述
|
||
Tooling API 访问和安全功能提供了一系列接口,用于查询 Salesforce 的访问控制相关枚举类型,包括访问方法、访问资源类型、API 访问级别、API 类型、激活平台连接器类型、激活平台创建类型。同时提供操作日志记录功能,用于记录访问和安全操作的详细信息。
|
||
|
||
## 接口列表
|
||
|
||
### 1. 查询访问方法
|
||
|
||
**功能描述**:查询 Salesforce 访问方法(AccessMethod)列表
|
||
|
||
**请求方式**:GET
|
||
|
||
**请求路径**:`/salesforce/tooling/access-security/access-methods`
|
||
|
||
**请求参数**:无
|
||
|
||
**响应参数**:
|
||
|
||
| 参数名 | 类型 | 说明 |
|
||
|--------|------|------|
|
||
| code | Integer | 状态码(200 成功,其他失败) |
|
||
| msg | String | 提示信息 |
|
||
| data | Object | 响应数据 |
|
||
| data.total | Integer | 总数 |
|
||
| data.list | Array | 访问方法列表 |
|
||
| data.list[].name | String | 访问方法名称 |
|
||
| data.list[].description | String | 访问方法描述 |
|
||
|
||
**成功示例**:
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"msg": "查询访问方法成功",
|
||
"data": {
|
||
"total": 3,
|
||
"list": [
|
||
{
|
||
"name": "OAuth",
|
||
"description": "OAuth 2.0 认证"
|
||
},
|
||
{
|
||
"name": "SAML",
|
||
"description": "SAML 单点登录"
|
||
},
|
||
{
|
||
"name": "Password",
|
||
"description": "密码认证"
|
||
}
|
||
]
|
||
}
|
||
}
|
||
```
|
||
|
||
**失败示例**:
|
||
```json
|
||
{
|
||
"code": 500,
|
||
"msg": "查询访问方法失败: 连接超时"
|
||
}
|
||
```
|
||
|
||
**权限要求**:`tooling:access:query`
|
||
|
||
---
|
||
|
||
### 2. 查询访问资源类型
|
||
|
||
**功能描述**:查询 Salesforce 访问资源类型(AccessResourceType)列表
|
||
|
||
**请求方式**:GET
|
||
|
||
**请求路径**:`/salesforce/tooling/access-security/access-resource-types`
|
||
|
||
**请求参数**:无
|
||
|
||
**响应参数**:
|
||
|
||
| 参数名 | 类型 | 说明 |
|
||
|--------|------|------|
|
||
| code | Integer | 状态码(200 成功,其他失败) |
|
||
| msg | String | 提示信息 |
|
||
| data | Object | 响应数据 |
|
||
| data.total | Integer | 总数 |
|
||
| data.list | Array | 访问资源类型列表 |
|
||
| data.list[].name | String | 资源类型名称 |
|
||
| data.list[].description | String | 资源类型描述 |
|
||
|
||
**成功示例**:
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"msg": "查询访问资源类型成功",
|
||
"data": {
|
||
"total": 5,
|
||
"list": [
|
||
{
|
||
"name": "Account",
|
||
"description": "客户"
|
||
},
|
||
{
|
||
"name": "Contact",
|
||
"description": "联系人"
|
||
},
|
||
{
|
||
"name": "Opportunity",
|
||
"description": "商机"
|
||
},
|
||
{
|
||
"name": "Lead",
|
||
"description": "潜在客户"
|
||
},
|
||
{
|
||
"name": "Case",
|
||
"description": "案例"
|
||
}
|
||
]
|
||
}
|
||
}
|
||
```
|
||
|
||
**失败示例**:
|
||
```json
|
||
{
|
||
"code": 500,
|
||
"msg": "查询访问资源类型失败: 认证失败"
|
||
}
|
||
```
|
||
|
||
**权限要求**:`tooling:access:query`
|
||
|
||
---
|
||
|
||
### 3. 查询 API 访问级别
|
||
|
||
**功能描述**:查询 Salesforce API 访问级别(APIAccessLevel)列表
|
||
|
||
**请求方式**:GET
|
||
|
||
**请求路径**:`/salesforce/tooling/access-security/api-access-levels`
|
||
|
||
**请求参数**:无
|
||
|
||
**响应参数**:
|
||
|
||
| 参数名 | 类型 | 说明 |
|
||
|--------|------|------|
|
||
| code | Integer | 状态码(200 成功,其他失败) |
|
||
| msg | String | 提示信息 |
|
||
| data | Object | 响应数据 |
|
||
| data.total | Integer | 总数 |
|
||
| data.list | Array | API 访问级别列表 |
|
||
| data.list[].name | String | 访问级别名称 |
|
||
| data.list[].description | String | 访问级别描述 |
|
||
|
||
**成功示例**:
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"msg": "查询 API 访问级别成功",
|
||
"data": {
|
||
"total": 3,
|
||
"list": [
|
||
{
|
||
"name": "Read",
|
||
"description": "只读访问"
|
||
},
|
||
{
|
||
"name": "Write",
|
||
"description": "读写访问"
|
||
},
|
||
{
|
||
"name": "Admin",
|
||
"description": "管理员访问"
|
||
}
|
||
]
|
||
}
|
||
}
|
||
```
|
||
|
||
**失败示例**:
|
||
```json
|
||
{
|
||
"code": 500,
|
||
"msg": "查询 API 访问级别失败: 连接超时"
|
||
}
|
||
```
|
||
|
||
**权限要求**:`tooling:access:query`
|
||
|
||
---
|
||
|
||
### 4. 查询 API 类型
|
||
|
||
**功能描述**:查询 Salesforce API 类型(APIType)列表
|
||
|
||
**请求方式**:GET
|
||
|
||
**请求路径**:`/salesforce/tooling/access-security/api-types`
|
||
|
||
**请求参数**:无
|
||
|
||
**响应参数**:
|
||
|
||
| 参数名 | 类型 | 说明 |
|
||
|--------|------|------|
|
||
| code | Integer | 状态码(200 成功,其他失败) |
|
||
| msg | String | 提示信息 |
|
||
| data | Object | 响应数据 |
|
||
| data.total | Integer | 总数 |
|
||
| data.list | Array | API 类型列表 |
|
||
| data.list[].name | String | API 类型名称 |
|
||
| data.list[].description | String | API 类型描述 |
|
||
|
||
**成功示例**:
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"msg": "查询 API 类型成功",
|
||
"data": {
|
||
"total": 4,
|
||
"list": [
|
||
{
|
||
"name": "REST",
|
||
"description": "REST API"
|
||
},
|
||
{
|
||
"name": "SOAP",
|
||
"description": "SOAP API"
|
||
},
|
||
{
|
||
"name": "Bulk",
|
||
"description": "Bulk API"
|
||
},
|
||
{
|
||
"name": "Streaming",
|
||
"description": "Streaming API"
|
||
}
|
||
]
|
||
}
|
||
}
|
||
```
|
||
|
||
**失败示例**:
|
||
```json
|
||
{
|
||
"code": 500,
|
||
"msg": "查询 API 类型失败: 认证失败"
|
||
}
|
||
```
|
||
|
||
**权限要求**:`tooling:access:query`
|
||
|
||
---
|
||
|
||
### 5. 查询激活平台连接器类型
|
||
|
||
**功能描述**:查询 Salesforce 激活平台连接器类型(ActivationPlatformConnectorType)列表
|
||
|
||
**请求方式**:GET
|
||
|
||
**请求路径**:`/salesforce/tooling/access-security/activation-platform-connector-types`
|
||
|
||
**请求参数**:无
|
||
|
||
**响应参数**:
|
||
|
||
| 参数名 | 类型 | 说明 |
|
||
|--------|------|------|
|
||
| code | Integer | 状态码(200 成功,其他失败) |
|
||
| msg | String | 提示信息 |
|
||
| data | Object | 响应数据 |
|
||
| data.total | Integer | 总数 |
|
||
| data.list | Array | 激活平台连接器类型列表 |
|
||
| data.list[].name | String | 连接器类型名称 |
|
||
| data.list[].description | String | 连接器类型描述 |
|
||
|
||
**成功示例**:
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"msg": "查询激活平台连接器类型成功",
|
||
"data": {
|
||
"total": 3,
|
||
"list": [
|
||
{
|
||
"name": "REST",
|
||
"description": "REST 连接器"
|
||
},
|
||
{
|
||
"name": "SOAP",
|
||
"description": "SOAP 连接器"
|
||
},
|
||
{
|
||
"name": "OData",
|
||
"description": "OData 连接器"
|
||
}
|
||
]
|
||
}
|
||
}
|
||
```
|
||
|
||
**失败示例**:
|
||
```json
|
||
{
|
||
"code": 500,
|
||
"msg": "查询激活平台连接器类型失败: 连接超时"
|
||
}
|
||
```
|
||
|
||
**权限要求**:`tooling:access:query`
|
||
|
||
---
|
||
|
||
### 6. 查询激活平台创建类型
|
||
|
||
**功能描述**:查询 Salesforce 激活平台创建类型(ActivationPlatformCreationType)列表
|
||
|
||
**请求方式**:GET
|
||
|
||
**请求路径**:`/salesforce/tooling/access-security/activation-platform-creation-types`
|
||
|
||
**请求参数**:无
|
||
|
||
**响应参数**:
|
||
|
||
| 参数名 | 类型 | 说明 |
|
||
|--------|------|------|
|
||
| code | Integer | 状态码(200 成功,其他失败) |
|
||
| msg | String | 提示信息 |
|
||
| data | Object | 响应数据 |
|
||
| data.total | Integer | 总数 |
|
||
| data.list | Array | 激活平台创建类型列表 |
|
||
| data.list[].name | String | 创建类型名称 |
|
||
| data.list[].description | String | 创建类型描述 |
|
||
|
||
**成功示例**:
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"msg": "查询激活平台创建类型成功",
|
||
"data": {
|
||
"total": 2,
|
||
"list": [
|
||
{
|
||
"name": "Manual",
|
||
"description": "手动创建"
|
||
},
|
||
{
|
||
"name": "Auto",
|
||
"description": "自动创建"
|
||
}
|
||
]
|
||
}
|
||
}
|
||
```
|
||
|
||
**失败示例**:
|
||
```json
|
||
{
|
||
"code": 500,
|
||
"msg": "查询激活平台创建类型失败: 认证失败"
|
||
}
|
||
```
|
||
|
||
**权限要求**:`tooling:access:query`
|
||
|
||
---
|
||
|
||
### 7. 查询操作日志
|
||
|
||
**功能描述**:分页查询访问和安全操作日志
|
||
|
||
**请求方式**:GET
|
||
|
||
**请求路径**:`/salesforce/tooling/access-security/logs`
|
||
|
||
**请求参数**:
|
||
|
||
| 参数名 | 类型 | 必填 | 说明 |
|
||
|--------|------|------|------|
|
||
| pageNum | Integer | 否 | 页码,默认 1 |
|
||
| pageSize | Integer | 否 | 每页大小,默认 10 |
|
||
| operationType | String | 否 | 操作类型(ACCESS_METHOD_QUERY/ACCESS_RESOURCE_TYPE_QUERY/API_ACCESS_LEVEL_QUERY/API_TYPE_QUERY/CONNECTOR_TYPE_QUERY/CREATION_TYPE_QUERY) |
|
||
| status | String | 否 | 状态(SUCCESS/FAILURE) |
|
||
| beginTime | String | 否 | 开始时间(yyyy-MM-dd HH:mm:ss) |
|
||
| endTime | String | 否 | 结束时间(yyyy-MM-dd HH:mm:ss) |
|
||
|
||
**响应参数**:
|
||
|
||
| 参数名 | 类型 | 说明 |
|
||
|--------|------|------|
|
||
| code | Integer | 状态码(200 成功,其他失败) |
|
||
| msg | String | 提示信息 |
|
||
| data | Object | 响应数据 |
|
||
| data.total | Integer | 总数 |
|
||
| data.list | Array | 操作日志列表 |
|
||
| data.list[].id | Long | 日志 ID |
|
||
| data.list[].operationType | String | 操作类型 |
|
||
| data.list[].operationDesc | String | 操作描述 |
|
||
| data.list[].connectionId | Long | 连接 ID |
|
||
| data.list[].orgId | String | 组织 ID |
|
||
| data.list[].userId | Long | 用户 ID |
|
||
| data.list[].methodName | String | 方法名称 |
|
||
| data.list[].resourceType | String | 资源类型 |
|
||
| data.list[].apiAccessLevel | String | API 访问级别 |
|
||
| data.list[].apiType | String | API 类型 |
|
||
| data.list[].connectorType | String | 连接器类型 |
|
||
| data.list[].creationType | String | 创建类型 |
|
||
| data.list[].requestParams | String | 请求参数(JSON 格式) |
|
||
| data.list[].responseData | String | 响应数据(JSON 格式) |
|
||
| data.list[].status | String | 状态(SUCCESS/FAILURE) |
|
||
| data.list[].errorMsg | String | 错误信息 |
|
||
| data.list[].createTime | String | 创建时间 |
|
||
| data.list[].updateTime | String | 更新时间 |
|
||
|
||
**成功示例**:
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"msg": "查询成功",
|
||
"data": {
|
||
"total": 15,
|
||
"list": [
|
||
{
|
||
"id": 1,
|
||
"operationType": "ACCESS_METHOD_QUERY",
|
||
"operationDesc": "查询访问方法",
|
||
"connectionId": 1,
|
||
"orgId": "00Dxx0000000001",
|
||
"userId": 1,
|
||
"methodName": null,
|
||
"resourceType": null,
|
||
"apiAccessLevel": null,
|
||
"apiType": null,
|
||
"connectorType": null,
|
||
"creationType": null,
|
||
"requestParams": "{}",
|
||
"responseData": "{\"total\":3,\"list\":[...]}",
|
||
"status": "SUCCESS",
|
||
"errorMsg": null,
|
||
"createTime": "2026-02-06 10:30:00",
|
||
"updateTime": "2026-02-06 10:30:00"
|
||
}
|
||
]
|
||
}
|
||
}
|
||
```
|
||
|
||
**失败示例**:
|
||
```json
|
||
{
|
||
"code": 500,
|
||
"msg": "查询失败: 数据库连接异常"
|
||
}
|
||
```
|
||
|
||
**权限要求**:`tooling:access:query`
|
||
|
||
---
|
||
|
||
## 错误码
|
||
|
||
| 错误码 | 错误信息 | 说明 |
|
||
|--------|----------|------|
|
||
| TOOLING_ACCESS_001 | 访问方法查询失败 | 查询访问方法时发生错误 |
|
||
| TOOLING_ACCESS_002 | 访问资源类型查询失败 | 查询访问资源类型时发生错误 |
|
||
| TOOLING_ACCESS_003 | API 访问级别查询失败 | 查询 API 访问级别时发生错误 |
|
||
| TOOLING_ACCESS_004 | 激活平台类型查询失败 | 查询激活平台类型时发生错误 |
|
||
|
||
## 相关文档
|
||
- [需求文档](../requirements/sub/2026-01-28-004-06-访问和安全.md)
|
||
- [设计文档](../design/2026-02-03-004-06-访问和安全-设计.md)
|
||
- [决策文档](../decisions/2026-02-03-004-06-ADR-访问和安全技术选型.md)
|
||
- [SQL 脚本](../sql/2026-02-03-004-06-访问和安全操作日志.sql)
|
||
- [提示词文档](../prompts/2026-02-06-004-06-prompt-访问和安全.md)
|
||
- [变更日志](../changelog/2026-02-06-004-06-changelog.md)
|
||
- [复盘文档](../retros/2026-02-06-004-06-retro.md)
|