灵析健康开放平台文档
    开放平台相关接口
    • 开放平台相关接口
    • 用户授权对接文档
    • 回调接口说明文档
    • 睡眠数据统计示例demo
    • 获取企业token
      POST
    • 设置回调地址
      POST
    • 查询用户信息
      GET
    • 查询历史数据
      GET
    • 取消用户授权
      DELETE
    • 查询用户授权状态
      GET

    回调接口说明文档

    一、接口说明#

    设备数据将通过 HTTP POST 回调方式推送至贵方服务器。

    请求方式#

    Content-Type#

    回调地址示例#


    二、请求参数#

    接口参数分为:
    Query 参数(URL参数)
    Body 参数(JSON数据)

    1. Query 参数#

    示例:
    参数名类型必填描述
    signaturestring是请求签名
    timestampstring是当前时间戳(秒)
    noncestring是随机字符串

    2. Body 参数#

    Body 使用 JSON 格式。
    {
      "eventId": "2044324722045329409",
      "eventType": "hr_event",
      "userId": 10001,
      "timestamp": 1746777600,
      "eventData": {
        "value": 72,
        "good_posture": true
      }
    }

    三、签名校验#

    服务端收到请求后,需要进行签名校验。

    签名生成规则#

    1.
    将以下参数放入 Map:
    nonce
    timestamp
    signSecret
    2.
    按参数名排序(字典序)
    3.
    拼接成 URL 参数形式(去掉&和=):
    noncexxxsignSecretxxxtimestampxxx
    4.
    使用 MD5 加密,生成 signature
    示例:
    将生成结果与请求中的 signature 对比。
    若不一致,则认为请求非法。

    四、Java 接收示例#


    五、返回值说明#

    成功#

    HTTP Status:
    Response Body:
    ok

    失败#

    返回非 200 状态码即可。
    示例:
    系统会认为本次推送失败。

    六、数据结构#


    1. 血压数据(bp_event)#

    {
      "eventId": "2044324722045329409",
      "eventType": "bp_event",
      "userId": 10001,
      "deviceType": 1,
      "timestamp": 1746777600,
      "eventData": {
        "sbp": 120,
        "dbp": 80,
        "hr": 72,
        "good_posture": true,
        "data_type": 1
      }
    }
    字段类型描述
    eventIdstring事件ID(每次回调唯一)
    eventTypestring固定为 bp_event
    userIdlong用户ID
    timestampinteger秒级时间戳
    deviceTypeinteger设备类型:1-血压手表 2-智能戒指
    eventData.sbpinteger收缩压
    eventData.dbpinteger舒张压
    eventData.hrinteger心率
    eventData.good_posturebool是否标准姿势测量
    eventData.data_typeinteger数据类型

    2. 心率数据(hr_event)#

    {
      "eventId": "2044324722045329409",
      "eventType": "hr_event",
      "userId": 10001,
      "timestamp": 1746777600,
      "deviceType": 1,
      "eventData": {
        "value": 72,
        "good_posture": true
      }
    }
    字段类型描述
    eventIdstring事件ID(每次回调唯一)
    eventTypestring固定为 hr_event
    userIdlong用户ID
    timestampinteger秒级时间戳
    deviceTypeinteger设备类型:1-血压手表 2-智能戒指
    eventData.valueinteger心率(bpm)
    eventData.good_posturebool是否标准姿势测量

    3. 血氧数据(bo_event)#

    {
      "eventId": "2044324722045329409",
      "eventType": "bo_event",
      "userId": 10001,
      "deviceType": 1,
      "timestamp": 1746777600,
      "eventData": {
        "value": 98
      }
    }
    字段类型描述
    eventIdstring事件ID(每次回调唯一)
    eventTypestring固定为 bo_event
    userIdlong用户ID
    timestampinteger秒级时间戳
    deviceTypeinteger设备类型:1-血压手表 2-智能戒指
    eventData.valueinteger血氧值(0-100)

    4. 计步数据(step_event)#

    {
      "eventId": "2044324722045329409",
      "eventType": "step_event",
      "userId": 10001,
      "deviceType": 1,
      "timestamp": 1746777600,
      "eventData": {
        "value": 8560
      }
    }
    字段类型描述
    eventIdstring事件ID(每次回调唯一)
    eventTypestring固定为 step_event
    userIdlong用户ID
    timestampinteger秒级时间戳
    deviceTypeinteger设备类型:1-血压手表 2-智能戒指
    eventData.valueinteger当天累计步数

    5. 睡眠数据(sleep_event)#

    {
      "eventId": "2044324722045329409",
      "eventType": "sleep_event",
      "userId": 10001,
      "timestamp": 1746777600,
      "deviceType": 1,
      "eventData": {
        "startTime": 1746774600,
        "sleep_detail": "1,1,2,2,3,3,7,7,6,5,4,3,2,1,1,2,3,4,5,6,7,7,6,5,4,3,2,1,1,2,3,4,5,6,7,7,6,5,4,3,2,1,1,2,3,4,5,6,7,7"
      }
    }
    字段类型描述
    eventIdstring事件ID(每次回调唯一)
    eventTypestring固定为 sleep_event
    userIdlong用户ID
    timestampinteger秒级时间戳
    deviceTypeinteger设备类型:1-血压手表 2-智能戒指
    eventData.startTimeinteger本组睡眠开始时间
    eventData.sleep_detailstring睡眠详情字符串

    sleep_detail 说明#

    每次推送 50 分钟数据
    字符串由逗号分隔
    每个数字代表 1 分钟
    睡眠状态定义:
    值状态
    0-1清醒
    2-6浅睡
    7深睡

    6. 用户更新数据(user_update_event)#

    {  
      "eventId": "2044324722045329409",
      "eventType": "user_update_event",
      "userId": 10001,
      "timestamp": 1746777600,
      "eventData": {
        "nickName": "Tom",
        "birthday": "1995-08-15",
        "gender": 1,
        "height": 175.5,
        "weight": 68.2
      }
    }
    字段类型描述
    eventIdstring事件ID(固定为用户ID)
    eventTypestring固定为 user_update_event
    userIdlong用户ID
    timestampinteger更新时间
    eventData.nickNamestring用户昵称
    eventData.birthdaystring出生日期
    eventData.genderinteger性别(0=男,1=女,2=未知)
    eventData.heightfloat身高
    eventData.weightfloat体重

    7. 心电数据(ecg_event)#

    {
      "eventId": "2044324722045329409",
      "eventType": "ecg_event",
      "userId": 10001,
      "eventTime": 1746777600,
      "deviceType": 2,
      "eventData": {
        "bpm": 72,
        "sbp": 120,
        "dbp": 80,
        "hrv": 45,
        "is_atrial_fibrillation": false,
        "qrs_type": 1,
        "load_index": 1.2,
        "hrv_index": 0.8,
        "stress_index": 0.6,
        "body_index": 0.7,
        "neural_index": 0.5,
        "ecg_voltages": [0.512, 0.518, 0.521]
      }
    }
    字段类型描述
    eventIdstring事件ID
    eventTypestring固定为 ecg_event
    userIdlong用户ID
    eventTimeinteger测量时间,Unix 秒级时间戳
    deviceTypeinteger设备类型,戒指固定为 2
    eventData.bpminteger心率(次/分)
    eventData.sbpinteger收缩压(mmHg)
    eventData.dbpinteger舒张压(mmHg)
    eventData.hrvintegerHRV
    eventData.is_atrial_fibrillationboolean是否房颤
    eventData.qrs_typeinteger心电结果类型,见下表
    eventData.load_indexfloat负荷指数
    eventData.hrv_indexfloatHRV 指数
    eventData.stress_indexfloat压力指数
    eventData.body_indexfloat身体指数
    eventData.neural_indexfloat交感神经与副交感神经活跃指数
    eventData.ecg_voltagesarray[float]心电波形电压数组

    qrs_type 枚举#

    值含义
    1窦性心律正常心电图
    2心室扑动
    3交界性早搏
    4交界性逸搏
    5室性早搏
    6室性逸搏
    7左束支传导阻滞
    8右束支传导阻滞
    9房性早搏
    10房性逸搏
    14异常心电图(波形不正常)

    8. 血糖数据(glucose_event)#

    {
      "eventId": "2044324722045329409",
      "eventType": "glucose_event",
      "userId": 10001,
      "eventTime": 1746777600,
      "deviceType": 2,
      "eventData": {
        "value": 5.6
      }
    }
    字段类型描述
    eventIdstring事件ID
    eventTypestring固定为 glucose_event
    userIdlong用户ID
    eventTimeinteger测量时间,Unix 秒级时间戳
    deviceTypeinteger设备类型,戒指固定为 2
    eventData.valuefloat血糖值(mmol/L)

    9. 体温事件 (temp_event)#

    {
      "eventId": 11111111111111,
      "eventType": "temp_event",
      "userId": 10001,
      "eventTime": 1746777600,
      "deviceType": 2,
      "eventData": {
        "value": 36.5
      }
    }
    字段类型描述
    eventIdstring事件ID
    eventTypestring固定为 temp_event
    userIdstring用户ID
    eventTimeinteger测量时间,Unix 秒级时间戳
    deviceTypeinteger设备类型,戒指固定为 2
    eventData.valuefloat体温值,单位 ℃

    10.用户授权事件#

    {
      "eventId": 111111111111111111,
      "eventType": "user_auth_event",
      "userId": 10001,
      "thirdBizId":"aaaaaaaaaa",
      "eventTime": 1746777600,
      "eventData": {
          "auth_status": true,
          "auth_message":"授权成功"
      }
    }
    字段类型描述
    eventIdstring事件ID
    eventTypestring固定为 user_auth_event
    userIdstring用户ID
    thirdBizIdstring第三方业务ID
    eventTimeinteger事件时间,Unix 秒级时间戳
    eventData.auth_statusboolean授权状态:true-授权成功,false-取消授权
    eventData.auth_messagestring授权结果描述

    七、完整请求示例#

    {
      "eventId": "2044324722045329409",
      "eventType": "hr_event",
      "userId": 10001,
      "timestamp": 1746777600,
      "eventData": {
        "value": 72,
        "good_posture": true
      }
    }
    修改于 2026-07-16 03:50:38
    上一页
    用户授权对接文档
    下一页
    睡眠数据统计示例demo
    Built with