接口说明
api 数据接口说明
当前站点使用程序小店账号体系。用户先到 `shop.sanrenjz.com` 登录并购买 Python 会员或全站 SVIP,再到本项目创建 API Key 并通过 Python 调用数据接口。
1. 登录与会员
- 网页登录入口:`/login/`
- 程序登录接口:`POST /api/auth/shop-login/`
- 会员购买页:`https://shop.sanrenjz.com/python`
- 只有有效 Python 会员或全站 SVIP 才可以创建 API Key 和调用 `/api/data/...`
api 数据 购买提示:在程序小店页面顶部,点击“搜索”右侧的“类型分类”,选择“python”,随便打开一个商品;在商品右侧栏里选择“Python 会员”或“全站 SVIP”即可开通。
2. 获取数据目录
GET /api/datatypes/
GET /api/tables/<data_type>/
GET /api/table/<table_id>/rows/
3. 创建 API Key
POST /api/keys/
Content-Type: application/json
{
"data_type": "python_strategy"
}
网页端也可以在个人中心直接选择数据类型创建。
4. 调用数据接口
GET /api/data/<api_key>/
GET /api/data/<data_type>/<api_key>/?table=<table_name>
- 当一个 `data_type` 下有多张表时,必须传 `table` 查询参数指定表名
- 只有该类型下仅有一张表时,才可以省略 `table`
5. Python 调用示例
import requests
base_url = "https://api.sanrenjz.com"
data_type = "可转债策略"
table_name = "pure_low_bond_top_5"
api_key = "你的_api_key"
resp = requests.get(
f"{base_url}/api/data/{data_type}/{api_key}/",
params={"table": table_name},
timeout=30,
)
resp.raise_for_status()
payload = resp.json()
print("table:", payload["table"])
for row in payload["data"]:
print(row)
先查表名再取数
import requests
base_url = "https://api.sanrenjz.com"
data_type = "可转债策略"
resp = requests.get(f"{base_url}/api/tables/{data_type}/", timeout=30)
resp.raise_for_status()
for item in resp.json()["items"]:
print(item["name"], item.get("description", ""))
获取目录示例
import requests
resp = requests.get("https://api.sanrenjz.com/api/datatypes/", timeout=30)
resp.raise_for_status()
print(resp.json())
使用流程
用户使用流程
- 到 `https://shop.sanrenjz.com` 注册并登录
- 购买 Python 会员或全站 SVIP
- 回到当前站点登录并同步会员状态
- 创建绑定到目标数据类型的 API Key
- 先确认目标表名,再调用 `/api/data/<data_type>/<api_key>/?table=<table_name>`
权限说明
权限边界
- 普通用户只有调用权限,没有上传权限
- 数据由管理员提前维护并上传
- API Key 用于读取管理员已准备好的数据表
样例数据
当前样例数据
数据类型:可转债数据
数据表:可转债基础数据