Mirobody 不托管设备 OAuth —— 没有 Terra 式的 connect 组件。Mirobody 负责托管、标准化并把数据供给 AI;采集数据(设备 OAuth、App 侧获取)在你那一侧。
配方
用 POST /v1/data 写入
每次请求最多 500 条,
retention 必填 —— 与任何其它结构化写入同一契约。1. 写入前先聚合
POST /v1/data 是记录存储,不是原始样本收集器。一行应当是一条有意义的读数:
- 日累计(步数、卡路里、距离)—— 每天一条记录。
- 连续序列(每隔几分钟采样的心率、SpO₂)—— 先聚合成日级值(如静息/日均心率);需要 min/max 就作为独立指标各写一条。
- Episode 型(睡眠、运动)—— 每个 episode 一条记录,用
time+end_time携带时段(见下)。
2. 批量写入日级记录
source 是自由文本,读回时会带上,用它标记厂商来源。
user 字段是租户隔离键。 后端把 (你的账户, user) 映射为内部的数据主体(Subject);你传入的每个 user 彼此完全隔离。为每个终端用户传入其稳定 id,数据就绝不会串。省略时回落到你账户的默认 Subject。Subject 对 Mirobody 消费端 App 和其他开发者均不可见。3. Episode:用 end_time 携带时段
睡眠和运动不是时间点读数 —— 它们跨越一个时段。起点放 time,终点放可选的 end_time(均为 ISO 时间戳):
GET /v1/data 每行都会把 end_time 返回来(时间点读数为 null),你的应用可以按时段渲染这个 episode。
4. 标准化自动发生
每次写入都走与手动录入、文件上传相同的标准化管线:指标名称确定性解析到 LOINC,值归一到 UCUM 单位,每条记录都有 FHIR 镜像。用GET /v1/data 读回干净的序列 —— 智能体回答时读的也是同一份。
Mirobody 刻意不做什么
托管设备 OAuth。连接设备 —— 厂商授权页、token 刷新、webhook 管道 —— 留在你的产品里;每家厂商的流程都不一样,它属于你的 UX。而数据进来之后的一切 —— 存储、标准化、留存、删除、AI —— 是 Mirobody 的职责。下一步
数据
POST / GET / DELETE /v1/data 的完整契约。
标准化
每次写入都发生的 LOINC / UCUM / FHIR。