接入说明
面向固件与联调同学的公开接口摘要。完整设计见仓库 docs;此处给出可直接复制的端点与 curl。
公网端点
测试环境公网地址须带端口 :3016。本机 uvicorn 为 127.0.0.1:3015,由 nginx 反代。
http://47.115.167.217:3016
GET …/api/v1/health
POST …/api/v1/ingest
鉴权
设备侧
出厂写入 device_token。上报与申请认领票据时使用:
Authorization: Bearer <device_token> Content-Type: application/json
用户侧
网页/小程序登录后得到用户 Token。认领、列表、报告使用:
Authorization: Bearer <user_token>
当前测试环境为微信登录桩(任意 code);正式 AppID 就绪后切换真登录。
curl 示例
加载中…
信封 jcy.envelope.v1
Body 为 JSON 信封:含 device_id、product_family、record_id、data_origin、payload、payload_digest 等字段。服务端做规范序列化与摘要校验;同 record 重复上报幂等,冲突返回 409。
控制台「模拟仪器走 Wi‑Fi 上传」会在服务端生成合法仿真信封并走同一条 /api/v1/ingest 路径。
JCY8800 屏端建模码是另一条路径:https://jcytest.com/s8800?d= 由小程序解码后 POST /api/v1/soh/samples。二维码不含时间(面板时间位保留并忽略);小程序提交手机扫码时间,服务端另记收到时间。v1 记录以设备 MAC 加 RAM 序号区分;v2 记录带出厂序号,样本按序号索引,没有序号时才退回 MAC。扫码后小程序显示序号。品牌+型号满 5 条后,管理员 POST /api/v1/soh/groups/{brand}/{model}/fit,仪器用设备令牌 GET /api/v1/device/soh-models/{brand}/{model} 下载未验证的线性容量模型。布局见 docs/qr_record_v1.md 与 docs/qr_record_v2.md。
出厂工具在写入 device_token 之外,用管理员钥领取铭牌序号。同一 MAC 重复调用返回原序号,不另占号。维修和售后备注往同一台设备上追加。
curl -s -X POST "$BASE/api/v1/admin/jcy8800/serials" \
-H "X-Admin-Key: $ADMIN_KEY" -H "Content-Type: application/json" \
-d '{"mac":"A1:B2:C3:D4:E5:F6"}'
# {"serial":"JCY8800-YYMM-NNNN","mac":"A1B2C3D4E5F6","produced_on":"YYYY-MM-DD",...}