datai/datai-scenes/datai-scene-salesforce/docs/api-docs/2026-02-05-004-04-api.md

14 KiB
Raw Blame History

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 服务器内部错误

相关文档

附录

附录 AAI 应用状态枚举

状态值 说明
Active 活跃状态
Inactive 非活跃状态

附录 BAI 应用类型枚举

类型值 说明
EinsteinGPT Einstein GPT 应用
EinsteinBots Einstein 机器人
Other 其他类型

附录 CPostman 测试示例

创建 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}"