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

15 KiB
Raw Permalink Blame History

API 文档

元数据

  • 需求编号004-05
  • 创建时间2026-02-06
  • 创建人AI Assistant
  • 版本号v1.0.0
  • 模块Tooling API - 动作和自动化

API 概述

功能描述

Tooling API 动作和自动化功能提供 Salesforce 动作覆盖ActionOverride和可操作列表ActionableList的管理能力包括创建、更新、删除、查询动作覆盖查询可操作列表以及获取各种枚举类型。

基础信息

  • 基础路径/salesforce/tooling/action-automation
  • 认证方式JWT Token通过 Header 传递)
  • 权限控制:基于若依权限系统
  • 数据格式JSON

通用响应格式

{
  "code": 200,
  "msg": "操作成功",
  "data": { ... }
}

通用错误响应格式

{
  "code": 500,
  "msg": "错误信息",
  "data": { ... }
}

接口列表

1. 创建动作覆盖

  • 功能描述创建新的动作覆盖ActionOverride
  • 请求方式POST
  • 请求路径/salesforce/tooling/action-automation/action-override/create
  • 权限要求tooling:action:create

请求参数

参数名 类型 必填 说明
actionName String 动作名称,长度 1-255 字符
content String 动作内容,长度 0-131072 字符
formFactor String 表单因子(如 Large, Medium, Small
pageOrSobjectType String 页面或 SObject 类型,长度 1-255 字符
recordType String 记录类型 ID长度 18 字符
type String 动作覆盖类型(如 Default, Flexipage 等)

请求示例

{
  "actionName": "New",
  "content": "{}",
  "formFactor": "Large",
  "pageOrSobjectType": "Account",
  "type": "Default"
}

响应参数

参数名 类型 说明
code Integer 状态码200 成功,其他失败)
msg String 提示信息
data Object 操作结果
data.success Boolean 是否成功
data.id String 创建的记录 ID
data.createdDate String 创建时间
data.errorCode String 错误码(失败时)
data.errorMessage String 错误信息(失败时)

成功响应示例

{
  "code": 200,
  "msg": "创建动作覆盖成功",
  "data": {
    "success": true,
    "id": "01Ixx0000000001EAA",
    "createdDate": "2026-02-06T10:30:00",
    "lastModifiedDate": "2026-02-06T10:30:00"
  }
}

失败响应示例

{
  "code": 500,
  "msg": "创建动作覆盖失败",
  "data": {
    "success": false,
    "errorCode": "TOOLING_ACTION_002",
    "errorMessage": "ActionOverride with the specified name already exists"
  }
}

2. 更新动作覆盖

  • 功能描述:更新现有的动作覆盖
  • 请求方式PUT
  • 请求路径/salesforce/tooling/action-automation/action-override/update
  • 权限要求tooling:action:update

请求参数

参数名 类型 必填 说明
id String 动作覆盖 ID长度 18 字符
actionName String 动作名称,长度 1-255 字符
content String 动作内容,长度 0-131072 字符
formFactor String 表单因子
pageOrSobjectType String 页面或 SObject 类型
recordType String 记录类型 ID
type String 动作覆盖类型

请求示例

{
  "id": "01Ixx0000000001EAA",
  "actionName": "New",
  "content": "{\"updated\": true}",
  "formFactor": "Large",
  "pageOrSobjectType": "Account",
  "type": "Flexipage"
}

响应参数

参数名 类型 说明
code Integer 状态码
msg String 提示信息
data Object 操作结果
data.success Boolean 是否成功
data.id String 更新的记录 ID
data.lastModifiedDate String 最后修改时间

成功响应示例

{
  "code": 200,
  "msg": "更新动作覆盖成功",
  "data": {
    "success": true,
    "id": "01Ixx0000000001EAA",
    "lastModifiedDate": "2026-02-06T11:00:00"
  }
}

3. 删除动作覆盖

  • 功能描述:删除指定的动作覆盖
  • 请求方式DELETE
  • 请求路径/salesforce/tooling/action-automation/action-override/delete/{id}
  • 权限要求tooling:action:delete

路径参数

参数名 类型 必填 说明
id String 动作覆盖 ID长度 18 字符

响应参数

参数名 类型 说明
code Integer 状态码
msg String 提示信息
data Object 操作结果
data.success Boolean 是否成功
data.id String 删除的记录 ID

成功响应示例

{
  "code": 200,
  "msg": "删除动作覆盖成功",
  "data": {
    "success": true,
    "id": "01Ixx0000000001EAA"
  }
}

4. 查询动作覆盖

  • 功能描述:分页查询动作覆盖列表
  • 请求方式GET
  • 请求路径/salesforce/tooling/action-automation/action-override/query
  • 权限要求tooling:action:query

查询参数

参数名 类型 必填 说明
actionName String 动作名称,支持模糊查询
pageOrSobjectType String 页面或 SObject 类型
type String 动作覆盖类型
pageNum Integer 页码,默认 1
pageSize Integer 每页大小,默认 10

响应参数

参数名 类型 说明
code Integer 状态码
msg String 提示信息
data Object 分页结果
data.total Long 总记录数
data.rows Array 动作覆盖列表
data.rows[].id String 记录 ID
data.rows[].actionName String 动作名称
data.rows[].pageOrSobjectType String 页面或 SObject 类型
data.rows[].type String 动作覆盖类型
data.rows[].createdDate String 创建时间
data.rows[].lastModifiedDate String 最后修改时间

成功响应示例

{
  "code": 200,
  "msg": "查询动作覆盖成功",
  "data": {
    "total": 25,
    "rows": [
      {
        "id": "01Ixx0000000001EAA",
        "actionName": "New",
        "pageOrSobjectType": "Account",
        "type": "Default",
        "createdDate": "2026-02-06T10:30:00",
        "lastModifiedDate": "2026-02-06T11:00:00"
      }
    ]
  }
}

5. 查询可操作列表

  • 功能描述分页查询可操作列表ActionableList
  • 请求方式GET
  • 请求路径/salesforce/tooling/action-automation/actionable-list/query
  • 权限要求tooling:action:query

查询参数

参数名 类型 必填 说明
name String 列表名称,支持模糊查询
type String 列表类型
pageNum Integer 页码,默认 1
pageSize Integer 每页大小,默认 10

响应参数

参数名 类型 说明
code Integer 状态码
msg String 提示信息
data Object 分页结果
data.total Long 总记录数
data.rows Array 可操作列表
data.rows[].id String 记录 ID
data.rows[].name String 列表名称
data.rows[].type String 列表类型
data.rows[].sourceType String 源类型
data.rows[].createdDate String 创建时间

成功响应示例

{
  "code": 200,
  "msg": "查询可操作列表成功",
  "data": {
    "total": 10,
    "rows": [
      {
        "id": "00Dxx0000000001EAA",
        "name": "My Actionable List",
        "type": "List",
        "sourceType": "Sobject",
        "createdDate": "2026-02-06T10:30:00"
      }
    ]
  }
}

6. 获取动作覆盖类型

  • 功能描述:获取所有支持的动作覆盖类型
  • 请求方式GET
  • 请求路径/salesforce/tooling/action-automation/action-override/types
  • 权限要求tooling:action:query

响应参数

参数名 类型 说明
code Integer 状态码
msg String 提示信息
data Array 动作覆盖类型列表
data[].value String 类型值
data[].label String 类型标签

成功响应示例

{
  "code": 200,
  "msg": "获取动作覆盖类型成功",
  "data": [
    { "value": "Default", "label": "Default" },
    { "value": "Flexipage", "label": "Flexipage" },
    { "value": "LightningComponent", "label": "Lightning Component" },
    { "value": "Scontrol", "label": "Scontrol" },
    { "value": "Standard", "label": "Standard" },
    { "value": "Visualforce", "label": "Visualforce" }
  ]
}

7. 获取动作子类型

  • 功能描述:获取所有支持的动作子类型
  • 请求方式GET
  • 请求路径/salesforce/tooling/action-automation/action/subtypes
  • 权限要求tooling:action:query

响应参数

参数名 类型 说明
code Integer 状态码
msg String 提示信息
data Array 动作子类型列表

成功响应示例

{
  "code": 200,
  "msg": "获取动作子类型成功",
  "data": [
    { "value": "ActionLink", "label": "Action Link" },
    { "value": "Flow", "label": "Flow" },
    { "value": "InvocableAction", "label": "Invocable Action" },
    { "value": "ProductivityAction", "label": "Productivity Action" },
    { "value": "QuickAction", "label": "Quick Action" }
  ]
}

8. 获取可操作列表类型

  • 功能描述:获取所有支持的可操作列表类型
  • 请求方式GET
  • 请求路径/salesforce/tooling/action-automation/actionable-list/types
  • 权限要求tooling:action:query

响应参数

参数名 类型 说明
code Integer 状态码
msg String 提示信息
data Array 可操作列表类型列表

成功响应示例

{
  "code": 200,
  "msg": "获取可操作列表类型成功",
  "data": [
    { "value": "List", "label": "List" },
    { "value": "MruList", "label": "MRU List" },
    { "value": "Queue", "label": "Queue" }
  ]
}

9. 获取可操作列表源类型

  • 功能描述:获取所有支持的可操作列表源类型
  • 请求方式GET
  • 请求路径/salesforce/tooling/action-automation/actionable-list/source-types
  • 权限要求tooling:action:query

响应参数

参数名 类型 说明
code Integer 状态码
msg String 提示信息
data Array 可操作列表源类型列表

成功响应示例

{
  "code": 200,
  "msg": "获取可操作列表源类型成功",
  "data": [
    { "value": "Sobject", "label": "Sobject" },
    { "value": "Flow", "label": "Flow" },
    { "value": "Apex", "label": "Apex" }
  ]
}

10. 获取动作任务分配类型

  • 功能描述:获取所有支持的动作任务分配类型
  • 请求方式GET
  • 请求路径/salesforce/tooling/action-automation/action-task/assigned-to-types
  • 权限要求tooling:action:query

响应参数

参数名 类型 说明
code Integer 状态码
msg String 提示信息
data Array 动作任务分配类型列表

成功响应示例

{
  "code": 200,
  "msg": "获取动作任务分配类型成功",
  "data": [
    { "value": "Owner", "label": "Owner" },
    { "value": "User", "label": "User" },
    { "value": "Queue", "label": "Queue" }
  ]
}

11. 获取动作 HTTP 方法

  • 功能描述:获取所有支持的动作 HTTP 方法
  • 请求方式GET
  • 请求路径/salesforce/tooling/action-automation/action/http-methods
  • 权限要求tooling:action:query

响应参数

参数名 类型 说明
code Integer 状态码
msg String 提示信息
data Array HTTP 方法列表

成功响应示例

{
  "code": 200,
  "msg": "获取动作 HTTP 方法成功",
  "data": [
    { "value": "GET", "label": "GET" },
    { "value": "POST", "label": "POST" },
    { "value": "PUT", "label": "PUT" },
    { "value": "DELETE", "label": "DELETE" },
    { "value": "PATCH", "label": "PATCH" }
  ]
}

12. 获取动作邮件发送者类型

  • 功能描述:获取所有支持的动作邮件发送者类型
  • 请求方式GET
  • 请求路径/salesforce/tooling/action-automation/action/email-sender-types
  • 权限要求tooling:action:query

响应参数

参数名 类型 说明
code Integer 状态码
msg String 提示信息
data Array 邮件发送者类型列表

成功响应示例

{
  "code": 200,
  "msg": "获取动作邮件发送者类型成功",
  "data": [
    { "value": "CurrentUser", "label": "Current User" },
    { "value": "OrgWideEmailAddress", "label": "Org-Wide Email Address" },
    { "value": "DefaultWorkflowUser", "label": "Default Workflow User" }
  ]
}

错误码

错误码列表

错误码 说明 场景
TOOLING_ACTION_001 Session 无效或已过期 Salesforce 会话过期或无效
TOOLING_ACTION_002 创建动作覆盖失败 创建动作覆盖时发生错误
TOOLING_ACTION_003 更新动作覆盖失败 更新动作覆盖时发生错误
TOOLING_ACTION_004 删除动作覆盖失败 删除动作覆盖时发生错误
TOOLING_ACTION_005 查询动作覆盖失败 查询动作覆盖时发生错误
TOOLING_ACTION_006 查询可操作列表失败 查询可操作列表时发生错误
TOOLING_ACTION_007 获取动作覆盖类型失败 获取动作覆盖类型时发生错误
TOOLING_ACTION_008 获取动作子类型失败 获取动作子类型时发生错误
TOOLING_ACTION_009 获取可操作列表类型失败 获取可操作列表类型时发生错误
TOOLING_ACTION_010 获取可操作列表源类型失败 获取可操作列表源类型时发生错误
TOOLING_ACTION_011 权限不足 用户没有执行该操作的权限

错误响应示例

{
  "code": 500,
  "msg": "Session 无效或已过期",
  "data": {
    "success": false,
    "errorCode": "TOOLING_ACTION_001",
    "errorMessage": "Session 无效或已过期"
  }
}

相关文档