提供一组消息记录的操作服务接口,客户端应用通过本组服务接口可以实现对推送到用户客户端的消息记录的查询、统计和删除等操作。

消息接收 消息查询、删除、更新 消息接收设置

绑定push通道

定义描述

path 版本 描述 是否需要用户身份的鉴权
/uc/bindPushChannel 1.0.2 绑定push通道 是,客户端SDK需启用身份的鉴权,进行身份认证

请求参数

参数 类型 必填 描述
deviceId String push通道的deviceId(消息推送SDK初始化时,根据utdid生成)
deviceType String 设备类型:iOS或Android

返回参数

无业务返回参数

示例

  • 请求示例
    {
        "request": {
            "iotToken": "109049c80xxxxxxxx6f62e29a3ba",
            "apiVer": "1.0.2"
        },
        "id": 1508212818676,
        "params": {
            "deviceId":"xxxx",
            "deviceType":"iOS"
        },
        "version": "1.0"
    }           
  • 正常返回示例
    {
        "code": 200,
        "id":"bb179e80-39fd-xxxx-xxxx-48ca87a3f5c5"
    }         
  • 异常返回示例
    {{
     "code":2062,
     "id":"4fa207ca-fffd-xxxx-xxxx-e6f7ca6c99c3",
     "localizedMsg":"请求错误",
     "message":"identityId not exist"
    }

解绑push通道

定义描述

path 版本 描述 是否需要用户身份的鉴权
/uc/unbindPushChannel 1.0.2 绑定push通道 是,客户端SDK需启用身份的鉴权,进行身份认证

请求参数

参数 类型 必填 描述
deviceId String push通道的deviceId

返回参数

无业务返回参数

示例

  • 请求示例
    {
        "request": {
            "iotToken": "109049c80xxxxxxxx5f6f62e29a3ba",
            "apiVer": "1.0.2"
        },
        "id": 1508212818676,
        "params": {
            "deviceId":"xxxx"
        },
        "version": "1.0"
    }
    					
  • 正常返回示例
    {
        "code": 200,
        "id":"bb179e80-39fd-xxxx-xxxx-48ca87a3f5c5"
    }
  • 异常返回示例
    {
     "code":2062,
     "id":"4fa207ca-fffd-xxxx-xxxx-e6f7ca6c99c3",
     "localizedMsg":"请求错误",
     "message":"identityId not exist"
    }
    					

统计用户的消息记录数量

定义描述

path 版本 描述 是否需要用户身份的鉴权
/message/center/record/messagetype/count 1.0.6 统计当前用户的消息记录数量 是,客户端SDK需启用身份的鉴权,进行身份认证

请求参数

字段名 子键 类型 是否必填 备注
requestDTO JSON
startCreateTime Date N 查询开始时间
endCreateTime Date N 查询结束时间
messageType String N 消息类型分为设备(device)、通知(announcement)、分享(share),如果三个类型都不指定(该参数为空),则查询返回所有的数据
type String Y
  • MESSAGE:透传消息
  • NOTICE:通知消息
maxId Long N 查询条件:id <maxId
minId Long N 查询条件:id >minId
isRead Integer N 0: 未读 1:已读
eventId String N 告警事件ID(由拉取设备对应的告警配置列表接口可以获得)
iotId String N 设备ID
说明 MESSAGE类型的消息只可以通过接口查询到;而NOTICE类型的消息,除了可以提供接口查询,还会主动通过手机的推送通道Push给用户(前提是用户App中使用了飞燕提供的消息推送的SDK)。

返回参数

字段名 类型 描述
share Integer 分享消息数量
device Integer 设备消息数
announcement Integer 通知消息数

示例

  • 请求示例
    {
        "id": "1509086454180",
        "version": "1.0",
        "request": {
            "apiVer": "1.0.1",
            "iotToken": "token"
        },
        "params": {
            "requestDTO": {
                "type": "NOTICE"
            }
        }
    }
    					
  • 正常返回示例
    {
        "code": 200,
        "data": {
            "share": 6,
            "device": 0,
            "announcement": 0
        },
        "message": "success"
    }
    					

查询用户的消息记录

定义描述

path 版本 描述 是否需要用户身份的鉴权
/message/center/record/query 1.0.6 查询当前用户的消息记录 是,客户端SDK需启用身份的鉴权,进行身份认证

请求参数

字段名 子键 类型 是否必填 备注
requestDTO JSON
startCreateTime Long N 查询的开始时间,单位毫秒
endCreateTime Date N 查询的结束时间,单位毫秒
messageType String N 消息类型分为设备(device)、通知(announcement)、分享(share),如果三个类型都不指定(该参数为空),则查询返回所有的数据
type String Y
  • MESSAGE:透传消息
  • NOTICE:通知消息
maxId Long N 查询条件:id <maxId
minId Long N 查询条件:id >minId
pageNo Integer Y 分页页数,从1开始
pageSize Integer Y 分页大小,最大100
isRead Integer N 0:未读; 1:已读
sortType Integer N null or 0: gmtCreate倒排 1: gmtCreate正排
iotId String N 设备id:从 1.0.6起开放

返回参数

子键 二级子键 三级子键 四级子键 类型 描述
JSON
count Long 总数
data JSON List
id Long 消息id
gmtCreate Long 创建时间
gmtModified Date 修改时间
appKey Long
title String
body String
messageType String 消息类型:设备、共享、通知
isRead Integer 阅读状态, 0:未读; 1:已读
extData JSON 附加信息
device JSON 设备信息
iotId String 设备id
productKey String 产品key
productName String 产品名称
icon String 图标
nickName String 昵称

示例

  • 请求示例
    {
        "id": "1509086454180",
        "version": "1.0",
        "request": {
            "apiVer": "1.0.1",
            "iotToken": "token"
        },
        "params": {
            "requestDTO": {
                "type": "NOTICE",
                "pageNo": 1,
                "pageSize": 20
            }
        }
    }
    					
  • 正常返回示例
    {
        "code": 200,
        "data": {
            "count": 102,
            "data": [{
                "appKey": 1234567,
                "body": "温度高",
                "extData": {
                    "device": {
                        "categoryId": 100,
                        "iotId": "iotId1",
                        "productKey": "p1",
                        "productName": "1"
                    }
                },
                "gmtCreate": 1525351832000,
                "gmtModified": 1525351851000,
                "id": 1000000000000200439,
                "isRead": 1,
                "messageId": "-1",
                "messageType": "device",
                "title": "测试",
                "type": "NOTICE"
            }]
        },
        "message": "success"
    }
    					

逻辑删除用户的消息记录

定义描述

path 版本 描述 是否需要用户身份的鉴权
/message/center/record/delete 1.0.6 逻辑删除当前用户的消息记录 是,客户端SDK需启用身份的鉴权,进行身份认证

请求参数

字段名 子键 类型 是否必填 备注
requestDTO JSON
type String Y
  • MESSAGE:透传消息
  • NOTICE:通知消息
messageType String N 消息类型:设备、共享、通知
id Long N 消息记录id
maxId Long N 删除条件:id < maxId
minId Long N 删除条件:id > minId
说明 messageType、id、maxId、minId四个参数不能同时为空(即至少要配置其中一个)。

返回参数

无业务返回参数

示例

  • 请求示例
    {
        "id": "1509086454180",
        "version": "1.0",
        "request": {
            "apiVer": "1.0.1",
            "iotToken": "token"
        },
        "params": {
            "requestDTO": {
                "type": "NOTICE"
            }
        }
    }
  • 正常返回示例
    {
        "code": 200,
        "data": 10,
        "message": "success"
    }

物理删除用户的消息记录

定义描述

path 版本 描述 是否需要用户的身份鉴权
/message/center/record/delete/physical 1.0.6 物理删除当前用户的消息记录 是,客户端SDK需启用身份的鉴权,进行身份认证

请求参数

字段名 子键 类型 是否必填 备注
requestDTO JSON
type String Y
  • MESSAGE:透传消息
  • NOTICE:通知消息
messageType String N 消息类型:设备、共享、通知
id Long N 消息记录id
maxId Long N 删除条件: id < maxId
minId Long N 删除条件:id > minId

返回参数

字段名 类型 描述
data Integer 删除的记录数量

示例

  • 请求示例
    {
        "id": "1509086454180",
        "version": "1.0",
        "request": {
            "apiVer": "1.0.1",
            "iotToken": "token"
        },
        "params": {
            "requestDTO": {
                "type": "NOTICE"
            }
        }
    }
  • 正常返回示例
    {
        "code": 200,
        "data": 10,
        "message": "success"
    }

更新用户的消息记录

定义描述

path 版本 描述 是否需要用户身份的鉴权
/message/center/record/modify 1.0.6 更新当前用户的消息记录 目前仅支持更新只读状态 是,客户端SDK需启用身份的鉴权,进行身份认证

请求参数

字段名 子键 类型 是否必填 备注
requestDTO JSON
id Long N 消息记录id
type String Y
  • MESSAGE:透传消息
  • NOTICE:通知消息
messageType String N
maxId Long N 查询条件:id <maxId
minId Long N 查询条件:id >minId
i​sRead I​nteger N​ 需要​更新的阅读状态, 0​:未读; 1:已读

返回参数

无业务返回参数

示例

  • 请求示例
    {
        "id": "1509086454180",
        "version": "1.0",
        "request": {
            "apiVer": "1.0.1",
            "iotToken": "token"
        },
        "params": {
            "requestDTO": {
                "type": "NOTICE"
            }
        }
    }
  • 正常返回示例
    {
        "code": 200,
        "data": 5,
        "message": "success"
    }

设备所有者设置共享设备的告警提醒配置

定义描述

path 版本 描述 是否需要用户身份的鉴权
/message/center/device/notice/sharing/config/set 1.0.0 设备所有者设置共享设备的告警提醒配置 是,客户端SDK需启用身份的鉴权,进行身份认证

请求参数

参数 类型 必填 描述
iotId String 设备ID
targetId String 被分享者身份ID
eventId String 告警事件ID
noticeEnabled Boolean 消息推送提醒开关, true:开启; false:关闭

返回参数

无业务返回参数

示例

  • 请求示例
    {
      "id": "1509086454180",
      "version": "1.0",
      "request": {
        "apiVer": "1.0.0",
        "iotToken": "token"
      },
      "params": {
        "iotId" : "ChFrkX2CEx6DO88EHXNH0010803d10",
        "targetId":"******************************",
        "eventId" : "18012",
        "noticeEnabled" : false
      }
    }
  • 正常返回示例
    {
        "code": 200,
        "message": "success",
        "data": null
    }

拉取指定用户的共享设备的告警消息开关配置

定义描述

path 版本 描述 是否需要用户身份的鉴权
/message/center/device/notice/sharing/config/list 1.0.0 拉取指定设备对应的告警提醒配置列表(只有配置为进行App应用推送的告警信息才会被获取到,同时只有设备所有者才能使用这个接口) 是,客户端SDK需启用身份的鉴权,进行身份认证

请求参数

参数 类型 必填 描述
iotId String 设备ID
identityId String 被分享者的统一身份ID

返回参数

参数 类型 必有 描述
alarmNotices List 告警提醒配置列表
表 1. 参数alarmNotices列表结构
参数 类型 必填 描述
eventId String 告警事件ID
eventName String 告警事件名称
noticeEnabled Boolean 消息推送提醒开关

true:开启

false: 关闭

如果用户之前从未配置过告警提醒配置,则默认返回true

示例

  • 请求示例
    {
        "id": "1509086454180",
        "version": "1.0",
        "request": {
            "apiVer": "1.0.0",
          "iotToken": "token"
        },
        "params": {
            "iotId" : "ChFrkX2CEx6DO88EHXNH0010803d10",
          "identityId": "******************************"
        }
    }
    					
  • 正常返回示例
    {
        "code": 200,
        "message": "",
        "data": [
           {
               "eventId" : "18012",
               "eventName": "开门提醒",
               "noticeEnabled" : true
           },
           {
               "eventId" : "18013",
               "eventName": "劫持报警",
               "noticeEnabled" : false
           }
        ]
    }

拉取设备对应的告警配置列表

定义描述

path 版本 描述 是否需要用户身份的鉴权
/message/center/device/notice/list 1.0.5 拉取指定设备对应的告警提醒配置列表(只有配置为进行app应用推送的告警信息才会被获取到) 是,客户端SDK需启用身份的鉴权,进行身份认证

请求参数

参数 类型 必填 描述
iotId String 设备ID

返回参数

参数 类型 必有 描述
alarmNotices List 告警提醒配置列表

alarmNotices

参数 类型 必填 描述
eventId String 告警事件ID
eventName String 告警事件名称
noticeEnabled Boolean 消息推送提醒开关

true:开启

false: 关闭

如果用户之前从未配置过告警提醒配置,则默认返回true

示例

  • 请求示例
    {
        "id": "1509086454180",
        "version": "1.0",
        "request": {
            "apiVer": "1.0.5",
          "iotToken": "token"
        },
        "params": {
            "iotId" : "ChFrkX2CExxxxxxxxH0010803d10"
        }
    }  
  • 正常返回示例
    {
        "code": 200,
        "message": "",
        "data": [
           {
               "eventId" : "18012",
               "eventName": "开门提醒",
               "noticeEnabled" : true
           },
           {
               "eventId" : "18013",
               "eventName": "劫持报警",
               "noticeEnabled" : false
           }
        ]
    }

设置设备告警提醒配置

定义描述

path 版本 描述 是否需要用户身份的鉴权
/message/center/device/notice/set 1.0.5 配置指定设备的某个告警提醒的开关;无论当前登录用户是设备管理员还是非管理员,该接口仅对用户自身生效 是,客户端SDK需启用身份的鉴权,进行身份认证

请求参数

参数 类型 必填 描述
iotId String 设备ID
eventId String 告警事件ID
noticeEnabled Boolean 消息推送提醒开关

true:开启

false: 关闭

如果用户之前从未配置过告警提醒配置,则默认返回true

返回参数

无业务返回参数

示例

  • 请求示例
    {
        "id": "1509086454180",
        "version": "1.0",
        "request": {
            "apiVer": "1.0.5",
          "iotToken": "token"
        },
        "params": {
            "iotId" : "ChFrkX2Cxxxxxxxx10803d10",
            "eventId" : "18012",
            "noticeEnabled" : false
        }
    }
  • 正常返回示例
    {
        "code": 200,
        "message": "success",
        "data": null
    }

设置设备全量告警的提醒配置

定义描述

path 版本 描述 是否需要用户身份的鉴权
/message/center/device/global/notice/set 1.0.5 设置指定设备上的所有告警提醒条目的状态; 例如,一个设备上共有10条告警提醒,如果调用本接口传入true/false,则所有的10条告警提醒都会被设置为true/false 另外,该全量设置不会覆盖到未来新增的告警配置,即假如在此处设置了false后,如果产品所有者在后台又新增了一条告警,则对应的提醒配置默认仍为true; 是,客户端SDK需启用身份的鉴权,进行身份认证

请求参数

参数 类型 必填 描述
iotId String 设备ID
noticeEnabled Boolean 消息推送提醒开关

true:开启

false: 关闭

如果用户之前从未配置过告警提醒配置,则默认返回true

返回参数

无业务返回参数

示例

  • 请求示例
    {
        "id": "1509086454180",
        "version": "1.0",
        "request": {
            "apiVer": "1.0.5",
          "iotToken": "token"
        },
        "params": {
            "iotId" : "ChFrkX2CxxxxxxxxH0010803d10",
            "noticeEnabled" : false
        }
    }          
  • 正常返回示例
    {
        "code": 200,
        "message": "success",
        "data": null
    }