跳到主要内容

v1 API 获取单个对外查询

API 使用者,可以通过本接口,获取一个对外查询页面的完整配置

功能免费版专业版/专业增强版企业基础版企业协作版企业高级版
对外查询❌✔️✔️✔️✔️

认证方式​

V1 Bearer 认证方式

headers 设置​

需要在请求中设置如下 headers

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

接口说明​

  • 只能获取自己创建的对外查询;别人创建的查询返回 404。
  • search_field_rules 和 display_field_rules 在编辑对外查询时是 REPLACE 语义,所以改之前先用本接口把完整列表读出来再合并。
  • messages 是已存下来的文案,未设置的 key 在公开页上会回落到产品默认值;default_messages 是回落之后的实际生效文案。编辑时要基于 messages 合并,不要基于 default_messages,否则会把默认值固化进记录里。

接口描述​

Request​

GET https://jinshuju.net/api/v1/opensearch/queries/QUERY_TOKEN
参数名称是否必须类型说明
QUERY_TOKEN是String对外查询 Token(URL 路径参数)

Response​

{
"token": "o5qeEX",
"url": "https://demo.jinshuju.net/os/o5qeEX",
"name": "成绩查询",
"enabled": true,
"form_token": "wX7pQ2",
"created_at": "2026-09-07T16:11:37.532+08:00",
"description": null,
"status": "active",
"search_field_rules": [
{
"operand": "and",
"search_field_settings": [
{
"field_api_code": "field_2",
"field_label": "手机号",
"fuzzy": false,
"sms_verification": false
}
]
}
],
"display_field_rules": [
{
"field_api_code": "field_1",
"field_label": null,
"editable": false,
"protected": true,
"highlight": null
}
],
"messages": { "has_result": "查到了", "no_result": "没查到" },
"default_messages": { "has_result": "查到了", "no_result": "没查到" },
"search_button": {},
"allow_to_export_results": false,
"updated_at": "2026-09-07T16:11:56.412+08:00",
"searches_count": 128,
"views_count": 356
}
参数名称是否必须类型说明
token是String对外查询 Token
url是String公开查询页地址
name是String查询页标题
enabled是Bool是否启用
form_token否String数据来源表单 Token;来源表单已删除时为 null
description否String查询页描述文案
status是String查询页可用状态:active = 正常;entries_count_limited = 表单数据量超出套餐的对外查询上限,访问者会看到不可用提示;form_not_found = 来源表单已删除。与 enabled 无关,停用的查询 status 仍可能是 active
search_field_rules是Array查询条件组,通常只有一组
search_field_rules[].operand是String组内多个查询字段的关系:and = 全部匹配;or = 任一匹配
search_field_rules[].search_field_settings是Array访问者需要填写的查询字段
search_field_rules[].search_field_settings[].field_api_code是String查询字段的 api_code
search_field_rules[].search_field_settings[].field_label否String展示给访问者的自定义标签;未设置为 null
search_field_rules[].search_field_settings[].fuzzy是Booltrue = 包含匹配;false = 精确匹配
search_field_rules[].search_field_settings[].sms_verification是Bool查询前是否要求短信验证(仅手机号字段生效)
display_field_rules是Array命中数据展示的字段,按展示顺序
display_field_rules[].field_api_code是String展示字段的 api_code
display_field_rules[].field_label否String自定义标签;未设置为 null
display_field_rules[].editable是Bool是否允许访问者在结果页编辑该字段值
display_field_rules[].protected是Bool是否对值做隐私脱敏(如 张*三)
display_field_rules[].highlight否Object高亮设置;未设置为 null
display_field_rules[].highlight.color否String高亮颜色(CSS 颜色值)
display_field_rules[].highlight.position否Number多个高亮字段间的排序,越小越靠前
messages是Object已存下来的结果文案;未设置的 key 不出现
default_messages是Object回落默认值之后的实际生效文案
search_button是Object查询按钮外观,包含 text / color;未设置时为 {}
allow_to_export_results是Bool是否允许访问者导出查询结果
created_at是DateTime创建时间
updated_at是DateTime最后更新时间
searches_count是Number累计查询次数
views_count是Number累计访问次数

状态码​

状态码说明
200获取成功
401未认证
402当前套餐不支持 V1 API
404对外查询不存在,或不是当前调用方创建的

示例代码​

HTTP​

GET https://jinshuju.net/api/v1/opensearch/queries/$QUERY_TOKEN

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

Python​

import requests

access_token = 'YOUR_ACCESS_TOKEN'
query_token = 'YOUR_QUERY_TOKEN'

response = requests.get(
f'https://jinshuju.net/api/v1/opensearch/queries/{query_token}',
headers={'Authorization': f'Bearer {access_token}'}
)

print(response.text)