14 KiB
API 文档:AI 和智能功能
元数据
- 需求编号: 004-04
- 文档版本: v1.0.0
- 创建时间: 2026-02-05
- 创建人: AI Assistant
- 关联需求: AI 和智能功能
API 概述
功能描述
AI 和智能功能 API 提供对 Salesforce Tooling API 中 AI 相关功能的访问,包括:
- AI 应用管理(创建、查询、更新、删除)
- AI 评估配置查询(评估主题类型、处理状态、指标类型)
- AI 创作工具查询(创作包类型、版本状态、助手模板状态)
基础信息
- 基础路径:
/salesforce/tooling/ai - 权限前缀:
tooling:ai - Content-Type:
application/json - 认证方式: JWT Token + Session
通用响应格式
{
"code": 200,
"msg": "操作成功",
"data": {}
}
通用错误码
| 错误码 | 说明 |
|---|---|
| 200 | 操作成功 |
| 500 | 服务器内部错误 |
| 401 | 未授权 |
| 403 | 权限不足 |
接口列表
一、AI 应用管理接口
1. 创建 AI 应用
功能描述: 通过 Tooling API 创建 AI 应用(AIApplication)
请求方式: POST
请求路径: /salesforce/tooling/ai/application
权限要求: tooling:ai:create
请求参数:
| 参数名 | 类型 | 必填 | 说明 | 示例 |
|---|---|---|---|---|
| developerName | String | 是 | 开发者名称,唯一标识 | "MyAIApp" |
| masterLabel | String | 是 | 主标签,显示名称 | "My AI Application" |
| description | String | 否 | 描述 | "This is my AI application" |
| status | String | 是 | 状态(Active/Inactive) | "Active" |
| applicationType | String | 是 | 应用类型 | "EinsteinGPT" |
请求示例:
{
"developerName": "MyAIApp",
"masterLabel": "My AI Application",
"description": "This is my AI application",
"status": "Active",
"applicationType": "EinsteinGPT"
}
响应参数:
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | Integer | 状态码 |
| msg | String | 提示信息 |
| data | Object | 创建结果 |
| data.id | String | 创建的记录 ID |
| data.success | Boolean | 是否成功 |
| data.errors | Array | 错误信息列表 |
成功响应示例:
{
"code": 200,
"msg": "创建 AI 应用成功",
"data": {
"id": "0Afxx0000000001CAA",
"success": true,
"errors": []
}
}
失败响应示例:
{
"code": 500,
"msg": "创建 AI 应用失败",
"data": {
"id": null,
"success": false,
"errors": ["DeveloperName already exists"]
}
}
错误码:
- TOOLING_AI_001: Session 无效或已过期
- TOOLING_AI_002: 创建 AI 应用失败
- TOOLING_AI_007: 权限不足
2. 查询 AI 应用列表
功能描述: 查询 Salesforce 组织中的所有 AI 应用
请求方式: GET
请求路径: /salesforce/tooling/ai/applications
权限要求: tooling:ai:query
请求参数:
| 参数名 | 类型 | 必填 | 说明 | 示例 |
|---|---|---|---|---|
| status | String | 否 | 状态筛选 | "Active" |
| pageNum | Integer | 否 | 页码,默认 1 | 1 |
| pageSize | Integer | 否 | 每页大小,默认 10 | 10 |
请求示例:
GET /salesforce/tooling/ai/applications?status=Active&pageNum=1&pageSize=10
响应参数:
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | Integer | 状态码 |
| msg | String | 提示信息 |
| data | Object | 查询结果 |
| data.total | Integer | 总记录数 |
| data.rows | Array | AI 应用列表 |
| data.rows[].id | String | 记录 ID |
| data.rows[].developerName | String | 开发者名称 |
| data.rows[].masterLabel | String | 主标签 |
| data.rows[].description | String | 描述 |
| data.rows[].status | String | 状态 |
| data.rows[].applicationType | String | 应用类型 |
| data.rows[].createdDate | String | 创建日期 |
| data.rows[].lastModifiedDate | String | 最后修改日期 |
成功响应示例:
{
"code": 200,
"msg": "查询成功",
"data": {
"total": 2,
"rows": [
{
"id": "0Afxx0000000001CAA",
"developerName": "MyAIApp",
"masterLabel": "My AI Application",
"description": "This is my AI application",
"status": "Active",
"applicationType": "EinsteinGPT",
"createdDate": "2026-02-05T10:00:00.000Z",
"lastModifiedDate": "2026-02-05T10:00:00.000Z"
}
]
}
}
错误码:
- TOOLING_AI_001: Session 无效或已过期
- TOOLING_AI_005: 查询 AI 应用失败
3. 更新 AI 应用
功能描述: 通过 Tooling API 更新 AI 应用
请求方式: PUT
请求路径: /salesforce/tooling/ai/application
权限要求: tooling:ai:update
请求参数:
| 参数名 | 类型 | 必填 | 说明 | 示例 |
|---|---|---|---|---|
| id | String | 是 | 记录 ID | "0Afxx0000000001CAA" |
| developerName | String | 否 | 开发者名称 | "MyAIApp" |
| masterLabel | String | 否 | 主标签 | "My AI Application" |
| description | String | 否 | 描述 | "Updated description" |
| status | String | 否 | 状态 | "Inactive" |
| applicationType | String | 否 | 应用类型 | "EinsteinGPT" |
请求示例:
{
"id": "0Afxx0000000001CAA",
"masterLabel": "My AI Application Updated",
"description": "Updated description"
}
响应参数:
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | Integer | 状态码 |
| msg | String | 提示信息 |
| data | Object | 更新结果 |
| data.id | String | 记录 ID |
| data.success | Boolean | 是否成功 |
| data.errors | Array | 错误信息列表 |
成功响应示例:
{
"code": 200,
"msg": "更新 AI 应用成功",
"data": {
"id": "0Afxx0000000001CAA",
"success": true,
"errors": []
}
}
错误码:
- TOOLING_AI_001: Session 无效或已过期
- TOOLING_AI_003: 更新 AI 应用失败
- TOOLING_AI_008: 记录不存在
4. 删除 AI 应用
功能描述: 通过 Tooling API 删除 AI 应用
请求方式: DELETE
请求路径: /salesforce/tooling/ai/application/{id}
权限要求: tooling:ai:delete
路径参数:
| 参数名 | 类型 | 必填 | 说明 | 示例 |
|---|---|---|---|---|
| id | String | 是 | 记录 ID | "0Afxx0000000001CAA" |
请求示例:
DELETE /salesforce/tooling/ai/application/0Afxx0000000001CAA
响应参数:
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | Integer | 状态码 |
| msg | String | 提示信息 |
| data | Object | 删除结果 |
| data.id | String | 记录 ID |
| data.success | Boolean | 是否成功 |
| data.errors | Array | 错误信息列表 |
成功响应示例:
{
"code": 200,
"msg": "删除 AI 应用成功",
"data": {
"id": "0Afxx0000000001CAA",
"success": true,
"errors": []
}
}
错误码:
- TOOLING_AI_001: Session 无效或已过期
- TOOLING_AI_004: 删除 AI 应用失败
- TOOLING_AI_008: 记录不存在
二、AI 评估配置查询接口
5. 查询评估主题类型
功能描述: 查询 Salesforce 组织中的 AI 评估主题类型(AiEvaluationSubjectType)
请求方式: GET
请求路径: /salesforce/tooling/ai/evaluation-subject-types
权限要求: tooling:ai:query
请求参数:
| 参数名 | 类型 | 必填 | 说明 | 示例 |
|---|---|---|---|---|
| pageNum | Integer | 否 | 页码,默认 1 | 1 |
| pageSize | Integer | 否 | 每页大小,默认 10 | 10 |
请求示例:
GET /salesforce/tooling/ai/evaluation-subject-types?pageNum=1&pageSize=10
响应参数:
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | Integer | 状态码 |
| msg | String | 提示信息 |
| data | Object | 查询结果 |
| data.total | Integer | 总记录数 |
| data.rows | Array | 评估主题类型列表 |
| data.rows[].id | String | 记录 ID |
| data.rows[].developerName | String | 开发者名称 |
| data.rows[].masterLabel | String | 主标签 |
| data.rows[].description | String | 描述 |
成功响应示例:
{
"code": 200,
"msg": "查询成功",
"data": {
"total": 3,
"rows": [
{
"id": "0Agxx0000000001CAA",
"developerName": "Flow",
"masterLabel": "Flow",
"description": "Flow evaluation subject"
}
]
}
}
错误码:
- TOOLING_AI_001: Session 无效或已过期
- TOOLING_AI_010: 查询 AI 类型失败
6. 查询评估处理状态
功能描述: 查询 Salesforce 组织中的 AI 评估处理状态(AiEvaluationProcessingStatus)
请求方式: GET
请求路径: /salesforce/tooling/ai/evaluation-processing-statuses
权限要求: tooling:ai:query
请求参数:
| 参数名 | 类型 | 必填 | 说明 | 示例 |
|---|---|---|---|---|
| pageNum | Integer | 否 | 页码,默认 1 | 1 |
| pageSize | Integer | 否 | 每页大小,默认 10 | 10 |
响应参数: 同"查询评估主题类型"
错误码:
- TOOLING_AI_001: Session 无效或已过期
- TOOLING_AI_010: 查询 AI 类型失败
7. 查询评估指标类型
功能描述: 查询 Salesforce 组织中的 AI 评估指标类型(AiEvaluationMetricType)
请求方式: GET
请求路径: /salesforce/tooling/ai/evaluation-metric-types
权限要求: tooling:ai:query
请求参数: 同"查询评估主题类型"
响应参数: 同"查询评估主题类型"
错误码:
- TOOLING_AI_001: Session 无效或已过期
- TOOLING_AI_010: 查询 AI 类型失败
三、AI 创作工具查询接口
8. 查询创作包类型
功能描述: 查询 Salesforce 组织中的 AI 创作包类型(AiAuthoringBundleType)
请求方式: GET
请求路径: /salesforce/tooling/ai/authoring-bundle-types
权限要求: tooling:ai:query
请求参数:
| 参数名 | 类型 | 必填 | 说明 | 示例 |
|---|---|---|---|---|
| pageNum | Integer | 否 | 页码,默认 1 | 1 |
| pageSize | Integer | 否 | 每页大小,默认 10 | 10 |
响应参数: 同"查询评估主题类型"
错误码:
- TOOLING_AI_001: Session 无效或已过期
- TOOLING_AI_010: 查询 AI 类型失败
9. 查询创作包版本状态
功能描述: 查询 Salesforce 组织中的 AI 创作包版本状态(AiAuthoringBundleVersionStatus)
请求方式: GET
请求路径: /salesforce/tooling/ai/authoring-bundle-version-statuses
权限要求: tooling:ai:query
请求参数: 同"查询创作包类型"
响应参数: 同"查询评估主题类型"
错误码:
- TOOLING_AI_001: Session 无效或已过期
- TOOLING_AI_010: 查询 AI 类型失败
10. 查询助手模板状态
功能描述: 查询 Salesforce 组织中的 AI 助手模板状态(AiAssistantTemplateStatus)
请求方式: GET
请求路径: /salesforce/tooling/ai/assistant-template-statuses
权限要求: tooling:ai:query
请求参数: 同"查询创作包类型"
响应参数: 同"查询评估主题类型"
错误码:
- TOOLING_AI_001: Session 无效或已过期
- TOOLING_AI_010: 查询 AI 类型失败
错误码列表
系统错误码
| 错误码 | 说明 | 处理建议 |
|---|---|---|
| TOOLING_AI_001 | Session 无效或已过期 | 重新登录获取有效 Session |
| TOOLING_AI_002 | 创建 AI 应用失败 | 检查请求参数是否正确,DeveloperName 是否已存在 |
| TOOLING_AI_003 | 更新 AI 应用失败 | 检查记录 ID 是否存在,请求参数是否正确 |
| TOOLING_AI_004 | 删除 AI 应用失败 | 检查记录 ID 是否存在,是否有权限删除 |
| TOOLING_AI_005 | 查询 AI 应用失败 | 检查查询条件是否正确,Session 是否有效 |
| TOOLING_AI_006 | 网络超时 | 检查网络连接,稍后重试 |
| TOOLING_AI_007 | 权限不足 | 检查用户是否有相应权限 |
| TOOLING_AI_008 | 记录不存在 | 检查记录 ID 是否正确 |
| TOOLING_AI_009 | 用户未登录 | 请先登录系统 |
| TOOLING_AI_010 | 查询 AI 类型失败 | 检查 Session 是否有效,网络连接是否正常 |
| TOOLING_AI_011 | 操作类型不支持 | 检查操作类型是否正确 |
HTTP 状态码
| 状态码 | 说明 |
|---|---|
| 200 | 请求成功 |
| 400 | 请求参数错误 |
| 401 | 未授权,需要登录 |
| 403 | 权限不足 |
| 404 | 资源不存在 |
| 500 | 服务器内部错误 |
相关文档
附录
附录 A:AI 应用状态枚举
| 状态值 | 说明 |
|---|---|
| Active | 活跃状态 |
| Inactive | 非活跃状态 |
附录 B:AI 应用类型枚举
| 类型值 | 说明 |
|---|---|
| EinsteinGPT | Einstein GPT 应用 |
| EinsteinBots | Einstein 机器人 |
| Other | 其他类型 |
附录 C:Postman 测试示例
创建 AI 应用
curl -X POST "http://localhost:8080/salesforce/tooling/ai/application" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${TOKEN}" \
-d '{
"developerName": "TestAIApp",
"masterLabel": "Test AI Application",
"description": "This is a test AI application",
"status": "Active",
"applicationType": "EinsteinGPT"
}'
查询 AI 应用列表
curl -X GET "http://localhost:8080/salesforce/tooling/ai/applications?pageNum=1&pageSize=10" \
-H "Authorization: Bearer ${TOKEN}"
更新 AI 应用
curl -X PUT "http://localhost:8080/salesforce/tooling/ai/application" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${TOKEN}" \
-d '{
"id": "0Afxx0000000001CAA",
"masterLabel": "Updated AI Application"
}'
删除 AI 应用
curl -X DELETE "http://localhost:8080/salesforce/tooling/ai/application/0Afxx0000000001CAA" \
-H "Authorization: Bearer ${TOKEN}"