{
  "info": {
    "name": "蜂巢采集 · 上报接口",
    "description": "采集盒主动 POST 标准记录给「上游数据需求方」(HIS/院内系统)。投递 at-least-once，按 id 幂等去重；仅 2xx=已持久化。\n\n导入后改集合变量 baseUrl 为你的上报地址、deviceId/token 为实际值即可发样例请求联调。\n示例地址 https://eye.example.com 为占位。\n\n可导入 Postman 或 Apifox(均支持 Collection v2.1)。",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "variable": [
    { "key": "baseUrl", "value": "https://eye.example.com", "type": "string" },
    { "key": "deviceId", "value": "BSLRS23220260379", "type": "string" },
    { "key": "token", "value": "", "type": "string" }
  ],
  "item": [
    {
      "name": "上报标准记录 (批量信封)",
      "request": {
        "method": "POST",
        "header": [
          { "key": "Content-Type", "value": "application/json" },
          { "key": "X-Device-Id", "value": "{{deviceId}}", "description": "采集盒/设备唯一号，必填" },
          { "key": "X-Token", "value": "{{token}}", "description": "预共享令牌，可选(启用后校验)" }
        ],
        "url": {
          "raw": "{{baseUrl}}/api/hd/ingest",
          "host": [ "{{baseUrl}}" ],
          "path": [ "api", "hd", "ingest" ]
        },
        "body": {
          "mode": "raw",
          "options": { "raw": { "language": "json" } },
          "raw": "{\n  \"ver\": \"1.0\",\n  \"dev\": \"BSLRS23220260379\",\n  \"batch\": [\n    {\n      \"ver\": \"1.0\",\n      \"type\": \"treat\",\n      \"id\": \"BSLRS23220260379-1781515321-0\",\n      \"dev\": \"BSLRS23220260379\",\n      \"brand\": \"fresenius\",\n      \"model\": \"4008A\",\n      \"port\": \"ttyUSB0\",\n      \"ts\": \"2026-06-15T13:21:05+08:00\",\n      \"data\": {\n        \"qb\": 250, \"vp\": 120, \"ap\": -150, \"tmp\": 140,\n        \"uf\": 1200, \"ufr\": 800, \"cond\": 14.0, \"temp_d\": 36.5,\n        \"mode\": \"HD\"\n      }\n    }\n  ]\n}"
        },
        "description": "一次携带 1~N 条标准记录。接收方按 id 幂等 upsert，全部落库成功(含幂等命中)才返回 200。"
      },
      "response": [
        {
          "name": "200 已持久化",
          "originalRequest": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "X-Device-Id", "value": "{{deviceId}}" }
            ],
            "url": { "raw": "{{baseUrl}}/api/hd/ingest", "host": [ "{{baseUrl}}" ], "path": [ "api", "hd", "ingest" ] }
          },
          "status": "OK",
          "code": 200,
          "header": [ { "key": "Content-Type", "value": "application/json" } ],
          "body": "{ \"code\": 0, \"msg\": \"ok\" }"
        }
      ]
    }
  ]
}
