业务规则
更新业务规则
鉴权方式
AppKey + Sign 是应用密钥鉴权,由管理员创建,用于以应用管理员身份访问应用数据。
版本
请求地址
Path 参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
worksheet_id | string | 是 | 工作表 ID 或别名 |
rule_id | string | 是 | 业务规则 ID |
Header 参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
HAP-Appkey | string | 是 | HAP应用密钥 |
HAP-Sign | string | 是 | HAP签名 |
Body 参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
name | string | 是 | 业务规则名称 |
ruleType | string | 是 | 业务规则类型:交互、验证、锁定或样式 可选值: "interaction""validation""lock""style" |
enabled | boolean | 否 | 是否启用规则,默认启用;覆盖更新时省略也使用默认值 |
conditions | object | 是 | 规则触发条件,不允许空条件组;最多支持 group → group → condition,同组 children 类型必须一致。锁定规则仅支持单个条件或单层组包裹一个条件,条件字段限单选、多选或检查项 |
conditions.type | string | 是 | 条件组 可选值: "group" |
conditions.field | string | 是 | 条件字段 ID 或别名 |
conditions.operator | string | 是 | 条件运算符,例如 eq、ne、gt;可用运算符取决于字段类型 |
conditions.value | object | 否 | 固定比较值或动态来源;具体类型与必填性取决于运算符和字段类型 |
conditions.value.sourceType | string | 是 | 比较值来源类型 可选值: "field" |
conditions.value.sourceField | object | 是 | — |
conditions.value.sourceField.sourceType | string | 是 | 来源字段类型 可选值: "currentFormField" |
conditions.value.sourceField.field | string | 是 | 来源字段 ID 或别名 |
conditions.logic | string | 是 | 条件组逻辑 可选值: "AND""OR" |
conditions.children | any[] | 是 | 同组必须全部为原子条件或全部为条件组 |
conditions.children.type | string | 是 | 条件组 可选值: "group" |
conditions.children.field | string | 是 | 条件字段 ID 或别名 |
conditions.children.operator | string | 是 | 条件运算符,例如 eq、ne、gt;可用运算符取决于字段类型 |
conditions.children.value | object | 否 | 固定比较值或动态来源;具体类型与必填性取决于运算符和字段类型 |
conditions.children.value.sourceType | string | 是 | 比较值来源类型 可选值: "field" |
conditions.children.value.sourceField | object | 是 | — |
conditions.children.value.sourceField.sourceType | string | 是 | 来源字段类型 可选值: "currentFormField" |
conditions.children.value.sourceField.field | string | 是 | 来源字段 ID 或别名 |
conditions.children.logic | string | 是 | 条件组逻辑 可选值: "AND""OR" |
conditions.children.children | object[] | 是 | 同组必须全部为原子条件或全部为条件组 |
conditions.children.children.type | string | 是 | 原子条件 可选值: "condition" |
conditions.children.children.field | string | 是 | 条件字段 ID 或别名 |
conditions.children.children.operator | string | 是 | 条件运算符,例如 eq、ne、gt;可用运算符取决于字段类型 |
conditions.children.children.value | object | 否 | 固定比较值或动态来源;具体类型与必填性取决于运算符和字段类型 |
conditions.children.children.value.sourceType | string | 是 | 比较值来源类型 可选值: "field" |
conditions.children.children.value.sourceField | object | 是 | — |
conditions.children.children.value.sourceField.sourceType | string | 是 | 来源字段类型 可选值: "currentFormField" |
conditions.children.children.value.sourceField.field | string | 是 | 来源字段 ID 或别名 |
actions | object[] | 否 | interaction 规则必填且至少包含一个动作 |
actions.actionType | string | 是 | 动作类型;readonlyAllFields 不传 fields 或 assignments;setFieldValue 使用 assignments,其他动作使用 fields 可选值: "show""hide""editable""readonly""required""readonlyAllFields""setFieldValue" |
actions.fields | any[] | 否 | 动作作用字段列表 |
actions.fields.field | string | 是 | 字段 ID 或别名;复合字段时为子表或关联记录的主字段 |
actions.fields.includeMainField | boolean | 否 | 是否同时对复合字段本身执行动作;传 childFields 时必填 |
actions.fields.childFields | string[] | 否 | 子表或关联记录的子字段 ID 或别名列表 |
actions.fields.permissions | object | 否 | 可编辑动作的复合字段操作权限 |
actions.fields.permissions.enableCustomPermissions | boolean | 否 | 是否启用自定义操作权限 |
actions.fields.permissions.allowSelectExistingRecords | boolean | 否 | 关联记录是否允许选择已有记录 |
actions.fields.permissions.allowUnlinkRecords | boolean | 否 | 关联记录是否允许取消关联 |
actions.fields.permissions.allowAddRows | boolean | 否 | 子表是否允许新增明细 |
actions.fields.permissions.allowEditRows | boolean | 否 | 子表是否允许编辑已有明细 |
actions.fields.permissions.allowDeleteRows | boolean | 否 | 子表是否允许删除已有明细 |
actions.assignments | object[] | 否 | 设置字段值的赋值列表,setFieldValue 至少需要一项 |
actions.assignments.field | object | 是 | 字段目标;请求支持字段 ID/别名字符串或对象,响应统一为对象 |
actions.assignments.field.field | string | 是 | 字段 ID 或别名;复合字段时为子表或关联记录的主字段 |
actions.assignments.field.includeMainField | boolean | 否 | 是否同时对复合字段本身执行动作;传 childFields 时必填 |
actions.assignments.field.childFields | string[] | 否 | 子表或关联记录的子字段 ID 或别名列表 |
actions.assignments.field.permissions | object | 否 | 可编辑动作的复合字段操作权限 |
actions.assignments.field.permissions.enableCustomPermissions | boolean | 否 | 是否启用自定义操作权限 |
actions.assignments.field.permissions.allowSelectExistingRecords | boolean | 否 | 关联记录是否允许选择已有记录 |
actions.assignments.field.permissions.allowUnlinkRecords | boolean | 否 | 关联记录是否允许取消关联 |
actions.assignments.field.permissions.allowAddRows | boolean | 否 | 子表是否允许新增明细 |
actions.assignments.field.permissions.allowEditRows | boolean | 否 | 子表是否允许编辑已有明细 |
actions.assignments.field.permissions.allowDeleteRows | boolean | 否 | 子表是否允许删除已有明细 |
actions.assignments.value | object | 是 | — |
actions.assignments.value.sourceType | string | 是 | 值来源:固定值、清空或字段 可选值: "static""empty""field" |
actions.assignments.value.staticValue | any | 否 | sourceType=static 时的固定值,类型取决于目标字段 |
actions.assignments.value.sourceField | object | 否 | sourceType=field 时的来源配置 |
actions.assignments.value.sourceField.sourceType | string | 是 | 来源字段类型 可选值: "currentFormField" |
actions.assignments.value.sourceField.field | string | 是 | 来源字段 ID 或别名 |
actions.assignments.value.sourceField.rcid | string | 否 | 当前表关联字段 ID 或别名;传入后 field 指向关联表字段,省略则读取当前表 |
validation | object | 否 | validation 规则必填 |
validation.message | string | 是 | 验证提示内容,必填且不能为空 |
validation.fields | any[] | 否 | 提示关联字段,可省略 |
validation.fields.field | string | 是 | 字段 ID 或别名;复合字段时为子表或关联记录的主字段 |
validation.fields.includeMainField | boolean | 否 | 是否同时对复合字段本身执行动作;传 childFields 时必填 |
validation.fields.childFields | string[] | 否 | 子表或关联记录的子字段 ID 或别名列表 |
validation.fields.permissions | object | 否 | 可编辑动作的复合字段操作权限 |
validation.fields.permissions.enableCustomPermissions | boolean | 否 | 是否启用自定义操作权限 |
validation.fields.permissions.allowSelectExistingRecords | boolean | 否 | 关联记录是否允许选择已有记录 |
validation.fields.permissions.allowUnlinkRecords | boolean | 否 | 关联记录是否允许取消关联 |
validation.fields.permissions.allowAddRows | boolean | 否 | 子表是否允许新增明细 |
validation.fields.permissions.allowEditRows | boolean | 否 | 子表是否允许编辑已有明细 |
validation.fields.permissions.allowDeleteRows | boolean | 否 | 子表是否允许删除已有明细 |
validation.errorAction | string | 是 | 必填;阻止提交或允许忽略后提交 可选值: "blockSubmit""ignoreAndSubmit" |
validation.promptOnFieldInput | boolean | 否 | 是否在字段输入时实时提示 |
validation.validateOnServerSave | boolean | 否 | 是否在服务器保存时再次校验;ignoreAndSubmit 时必须为 false |
lock | object | 否 | lock 规则必填;每张工作表只能配置一条锁定规则 |
lock.message | string | 否 | 记录锁定说明,可省略 |
style | object | 否 | style 规则必填;fields 非空,titleStyle 与 valueStyle 至少提供一个 |
style.fields | any[] | 是 | 应用样式的字段列表 |
style.fields.field | string | 是 | 字段 ID 或别名;复合字段时为子表或关联记录的主字段 |
style.fields.includeMainField | boolean | 否 | 是否同时对复合字段本身执行动作;传 childFields 时必填 |
style.fields.childFields | string[] | 否 | 子表或关联记录的子字段 ID 或别名列表 |
style.fields.permissions | object | 否 | 可编辑动作的复合字段操作权限 |
style.fields.permissions.enableCustomPermissions | boolean | 否 | 是否启用自定义操作权限 |
style.fields.permissions.allowSelectExistingRecords | boolean | 否 | 关联记录是否允许选择已有记录 |
style.fields.permissions.allowUnlinkRecords | boolean | 否 | 关联记录是否允许取消关联 |
style.fields.permissions.allowAddRows | boolean | 否 | 子表是否允许新增明细 |
style.fields.permissions.allowEditRows | boolean | 否 | 子表是否允许编辑已有明细 |
style.fields.permissions.allowDeleteRows | boolean | 否 | 子表是否允许删除已有明细 |
style.titleStyle | object | 否 | 字段标题样式 |
style.titleStyle.color | string | 否 | 颜色值,服务端按原值传递 |
style.titleStyle.fontSize | string | 否 | 字号倍率:1、1.2、1.4、1.6、1.8;兼容 1.0 |
style.titleStyle.bold | boolean | 否 | 是否加粗 |
style.titleStyle.italic | boolean | 否 | 是否斜体 |
style.titleStyle.underline | boolean | 否 | 是否添加下划线 |
style.titleStyle.strikethrough | boolean | 否 | 是否添加删除线 |
style.valueStyle | object | 否 | 字段值样式;子表和关联记录仅支持 titleStyle |
style.valueStyle.color | string | 否 | 颜色值,服务端按原值传递 |
style.valueStyle.fontSize | string | 否 | 字号倍率:1、1.2、1.4、1.6、1.8;兼容 1.0 |
style.valueStyle.bold | boolean | 否 | 是否加粗 |
style.valueStyle.italic | boolean | 否 | 是否斜体 |
style.valueStyle.underline | boolean | 否 | 是否添加下划线 |
style.valueStyle.strikethrough | boolean | 否 | 是否添加删除线 |
响应参数
200Successful response| 名称 | 类型 | 描述 |
|---|---|---|
success | boolean | 请求是否成功 |
error_code | integer | 错误码,成功为 1 |
error_msg | string | 错误描述,成功时为空字符串 |
data | object | — |
data.ruleId | string | 业务规则 ID |
curl -X POST "https://example.com/v3/app/worksheets/worksheet_id/business-rules/rule_id" \ -H "HAP-Appkey: {{HAP-Appkey}}" \ -H "HAP-Sign: {{HAP-Sign}}" \ -H "Content-Type: application/json" \ -d '{ "name": "订单金额等于 1 时显示字段", "ruleType": "interaction", "enabled": true, "conditions": { "type": "condition", "field": "string", "operator": "eq", "value": 1 }, "actions": [ { "actionType": "show", "fields": [ { "field": "string", "includeMainField": true } ] }, { "actionType": "editable", "fields": [ { "field": "string", "includeMainField": true, "childFields": [ "string" ], "permissions": { "enableCustomPermissions": true, "allowSelectExistingRecords": false, "allowUnlinkRecords": false, "allowAddRows": false, "allowEditRows": false, "allowDeleteRows": false } } ] }, { "actionType": "setFieldValue", "assignments": [ { "field": { "field": "string", "includeMainField": true }, "value": { "sourceType": "static", "staticValue": "string" } }, { "field": { "field": "string", "includeMainField": true }, "value": { "sourceType": "field", "sourceField": { "sourceType": "currentFormField", "field": "string", "rcid": "string" } } } ] } ] }'{ "success": true, "error_code": 1, "error_msg": "", "data": { "ruleId": "string" }}