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 无效或已过期"
}
}
相关文档