跳到主要内容

v1 API 获取表单字段规则

API 使用者,可以通过本接口,获取表单的字段显示规则(条件显示逻辑)

功能免费版专业版/专业增强版企业基础版企业协作版企业高级版
获取表单字段规则✔️✔️✔️✔️✔️

认证方式

V1 Bearer 认证方式

headers 设置

需要在请求中设置如下 headers

  • Content-Type: application/json
  • Accept: application/json
  • Authorization: Bearer YOUR_ACCESS_TOKEN

接口说明

  • 字段规则用于「当某个触发字段的值满足条件时,显示指定的目标字段」或「终止填写」。
  • 每条规则都带一个 0 起的 index编辑表单field_rules.update / field_rules.remove 就是按这个 index 定位规则的,所以要改某条规则前,先用本接口把当前的 index 读出来。
  • 规则的顺序即 index 的顺序;删除一条规则后,其余规则会重新编号,因此每次改动前都应重新读取。
  • 表单没有任何字段规则时返回 {"count": 0, "data": []}

接口描述

Request

GET https://jinshuju.net/api/v1/forms/FORM_TOKEN/field_rules
参数名称是否必须类型说明
FORM_TOKENString表单 Token(URL 路径参数)

Response

{
"count": 2,
"data": [
{
"index": 0,
"targets": ["field_4"],
"targets_display_mode": "show",
"operator": "or",
"conditions": [
{ "trigger": "field_3", "comparator": "equal", "value": ["SOLH"] }
]
},
{
"index": 1,
"targets": ["DYNAMIC_TARGETS"],
"targets_display_mode": "abort",
"operator": "or",
"conditions": [
{ "trigger": "field_3", "comparator": "equal", "value": ["KEFD"] }
]
}
]
}
参数名称是否必须类型说明
countNumber本次返回的规则数量
dataArray规则数组
data[].indexNumber规则的 0 起序号;编辑表单按此值定位要更新/删除的规则
data[].targetsArray(String)条件满足时显示的字段 api_code 列表。targets_display_modeabort 时该字段返回固定占位值 ["DYNAMIC_TARGETS"](终止填写不需要目标字段)
data[].targets_display_modeStringshow = 条件满足时显示 targets 中的字段;abort = 条件满足时终止填写(隐藏后续所有字段)
data[].operatorString多个条件之间的关系:and = 全部满足;or = 任一满足
data[].conditionsArray触发条件数组
data[].conditions[].triggerString触发字段的 api_code
data[].conditions[].comparatorString比较符,取值取决于触发字段类型,见下表
data[].conditions[].valueArray | String | Number比较值;形态取决于 comparator,见下表

比较符与触发字段类型的对应关系:

comparator适用触发字段类型value 形态说明
equal单选/多选/下拉/多级下拉/排序/预约/表单关联Array(String)选中项包含所给选项中的任一个(包含任一)
none_in同上Array(String)选中项不包含所给选项中的任何一个
between评分题 / NPSArray(Number),两个元素数值落在 [min, max] 区间内
like单行文本/多行文本/邮箱/手机号/座机/链接/身份证String文本包含该子串
not_like同上String文本不包含该子串

状态码

状态码说明
200获取成功
401未认证
402当前套餐不支持 V1 API
404表单不存在或无权访问

示例代码

HTTP

GET https://jinshuju.net/api/v1/forms/$FORM_TOKEN/field_rules

Content-Type: application/json
Accept: application/json
Authorization: Bearer YOUR_ACCESS_TOKEN

Python

import requests

access_token = 'YOUR_ACCESS_TOKEN'
form_token = 'YOUR_FORM_TOKEN'

response = requests.get(
f'https://jinshuju.net/api/v1/forms/{form_token}/field_rules',
headers={'Authorization': f'Bearer {access_token}'}
)

print(response.text)