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

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

绑定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 查询开始时间
endCreateTime Date 查询结束时间
messageType String 消息类型,取值为device表示设备;announcement表示通知;share表示分享。如果该参数为空,则查询所有类型的数据
type String 推送类型
  • NOTICE:弹窗通知消息,推荐
  • MESSAGE:非弹窗类型消息,如透传消息
maxId Long 查询条件:id <maxId
minId Long 查询条件:id >minId
isRead Integer 0: 未读 1:已读
eventId String 告警事件ID(由拉取设备对应的告警配置列表接口可以获得)
iotId String 设备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/query/push/message 1.0.0 调用该接口查询用户的消息推送记录。 是,客户端SDK需启用身份的鉴权,进行身份认证
说明 该接口为查询用户消息记录的新接口,已兼容历史接口/message/center/push/record/query/message/center/record/query的业务逻辑,并提升了性能,推荐您使用新接口。如果您需要继续使用历史接口,请参见历史文档

请求参数

参数 类型 必填 描述
nextToken Integer 推送记录查询的偏移量,最小值为0。
maxResults Integer 每次查询的条数,最大值为100。
type String 推送类型,可取值:NOTICE表示弹窗通知;MESSAGE表示消息。
startCreateTime Long 查询推送消息的起始时间,时间戳(毫秒)。
endCreateTime Long 查询推送消息的结束时间,时间戳(毫秒)。
sortType Integer 查询结果排序类型,0表示按照消息创建时间倒序显示;1表示按照消息创建时间正序显示。
messageType String 消息类型,可取值:share表示设备分享;device表示设备告警;announcement表示公告。
iotIds JSONArray 设备ID的列表。
id Long 主键ID,每条消息对应唯一的主键ID。
isRead Integer 消息状态,0表示查询未读消息;null表示查询所有消息。

返回参数

参数 子参数 二级子参数 类型 描述
nextToken Integer 返回本次请求读取到的推送记录偏移量,最小值为0。
nextToken Integer

本次返回的最大记录条数。

data JSON

返回的业务参数。

id Long

主键ID,每条消息对应唯一主键ID。

keyId String

主键的string格式。

gmtCreate Long

消息创建的时间。

gmtModified Long

消息记录的修改时间。

messageId String

消息ID,由消息通道返回的ID。

type String

推送类型,可取值:NOTICE表示弹窗通知;MESSAGE表示消息。

deviceType String

设备类型,可取值:iOS、Android、ALL。

target String

推送目标,可取值:ACCOUNT表示用户;DEVICE表示设备。

targetValue String

推送目标对应的ID。

title String

返回消息的标题。

body String

返回消息的内容。

isRead Integer 消息状态,0表示查询未读消息;null表示查询所有消息。
messageType String

消息类型,可取值:share表示设备分享;device表示设备告警;announcement表示公告。

tag Integer

返回消息的标签。

eventId String

触发消息的事件ID。

iotId String

设备ID,生活物联网平台为设备颁发的ID,设备的唯一标识符。

gatewayId String

网关设备ID。

extData JSON

扩展参数,由业务自定义的内容。

iotId String

设备ID。

productKey String

产品的Key,设备证书信息之一。创建产品时,生活物联网平台为该产品颁发的全局唯一标识。

productName String

产品名称

categoryId Long

产品分类ID。

icon String

消息对应的图标地址。

nickName String

设备的昵称或别名。

extParam String

其他自定义扩展参数。

示例

  • 请求示例
    {
        "id": "1509086454120", 
        "version": "1.0", 
        "request": {
            "apiVer": "1.0.0", 
            "iotToken": "token"
        }, 
        "params": {
            "type": "NOTICE", 
            "nextToken": 0, 
            "maxResults": 20
            "startCreateTime":1591268727000,
            "endCreateTime":1591269731000,
            "messageType":"device" 
        }
    }
  • 正常返回示例
    {
        "code":200,
        "data":{
            "data":[
                {
                    "body":"我的摄像头检测到有人活动",
                    "deviceType":"ALL",
                    "eventId":"28086",
                    "extData":{
                        "categoryId":148,
                        "extParam":"{"eventId":"141c816","alarmType":8}",
                        "icon":"http://iotx-paas-admin.oss-cn-shanghai.aliyuncs.com/15xxx73.png",
                        "iotId":"jJGMtgUxxxxxxgp000100",
                        "nickName":"我的摄像头",
                        "productKey":"a1zxxxxquML",
                        "productName":"CAMERA_xxxxx00"
                    },
                    "gmtCreate":1591268727000,
                    "gmtModified":1591270183000,
                    "id":1000000930,
                    "iotId":"jJGMtgUxxxxxxgp000100",
                    "isRead":0,
                    "keyId":"1000000930",
                    "messageId":"-1",
                    "messageType":"device",
                    "tag":0,
                    "target":"ACCOUNT",
                    "targetValue":"503dopcccc7xxxxf812e6304e73759",
                    "title":"有人活动",
                    "type":"NOTICE"
                }
            ],
            "maxResults":1,
            "nextToken":0
        },
        "message":"success"
    }

删除用户的消息记录

定义描述

path 版本 描述 是否需要用户身份的鉴权
/message/center/record/delete 1.0.6 删除用户的消息记录 是,客户端SDK需启用身份的鉴权,进行身份认证
说明 本接口已兼容历史接口/message/center/record/delete/physical的业务逻辑,推荐您使用本接口。如果您需要继续使用历史接口,请参见历史文档

请求参数

字段名 子键 类型 是否必填 备注
requestDTO JSON
type String 推送类型
  • NOTICE:弹窗通知消息,推荐
  • MESSAGE:非弹窗类型消息,如透传消息
messageType String 消息类型,取值为device表示设备;announcement表示通知;share表示分享。如果该参数为空,则查询所有类型的数据
id Long 消息记录id
maxId Long 删除条件:id < maxId
minId Long 删除条件: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/modify 1.0.6 更新当前用户的消息记录,目前仅支持更新只读状态 是,客户端SDK需启用身份的鉴权,进行身份认证

请求参数

字段名 子键 类型 是否必填 备注
requestDTO JSON
id Long 消息记录id
type String 推送类型
  • NOTICE:弹窗通知消息,推荐
  • MESSAGE:非弹窗类型消息,如透传消息
messageType String 消息类型,取值为device表示设备;announcement表示通知;share表示分享。如果该参数为空,则查询所有类型的数据
maxId Long 查询条件:id <maxId
minId Long 查询条件:id >minId
i​sRead I​nteger 需要​更新的阅读状态, 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" : "ChFrkX2xxxx0803d10",
        "targetId":"xxxx",
        "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" : "ChFrkX2xxxx010803d10",
          "identityId": "xxxx"
        }
    }
    					
  • 正常返回示例
    {
        "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.7 设置指定设备上的所有告警提醒条目的状态。 例如,一个设备上共有10条告警提醒,调用本接口传入true或false,则所有的10条告警提醒都会被设置为true或false。

该设置不包括以后新增的告警,即在此处设置了false后,又新增了一条告警,则对应的提醒默认仍为true

是,客户端SDK需启用身份的鉴权,进行身份认证

请求参数

参数 类型 必填 描述
iotId String 设备ID
noticeMode String 消息推送提醒模式

NONE:关闭

MESSAGE: 仅能查询消息,不会推送消息弹窗

MESSAGE_AND_NOTICE: 既能查询消息, 也会推送消息弹窗

如果用户之前从未配置过告警提醒配置,则默认为 MESSAGE_AND_NOTICE

返回参数

无业务返回参数

示例

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

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

定义描述

path 版本 描述 是否需要用户身份的鉴权
/message/center/device/global/notice/get 1.0.7 获取设备告警全局提醒配置 是,客户端SDK需启用身份的鉴权,进行身份认证

请求参数

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

返回参数

参数 类型 必有 描述
data String 消息推送提醒模式

NONE:关闭

MESSAGE: 仅能查询消息,不会推送消息弹窗

MESSAGE_AND_NOTICE: 既能查询消息, 也会推送消息弹窗

如果用户之前从未配置过告警提醒配置,则默认为 MESSAGE_AND_NOTICE

示例

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

设置用户维度的设备告警提醒配置

定义描述

path 版本 描述 是否需要用户身份的鉴权
/living/message/device/notice/user/config/set 1.0.0 设置用户维度的设备告警提醒配置。设置后将对用户下所有设备的告警提醒生效。 是,客户端SDK需启用身份的鉴权,进行身份认证

请求参数

参数 类型 必填 描述
noticeMode String 消息推送提醒模式

NONE:关闭

MESSAGE: 仅能查询消息,不会推送消息弹窗

MESSAGE_AND_NOTICE: 既能查询消息, 也会推送消息弹窗

如果用户之前从未配置过告警提醒配置,则默认为 MESSAGE_AND_NOTICE

返回参数

无业务返回参数

示例

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

获取用户维度的设备告警的提醒配置

定义描述

path 版本 描述 是否需要用户身份的鉴权
/living/message/device/notice/user/config/get 1.0.0 获取用户维度的设备告警提醒配置 是,客户端SDK需启用身份的鉴权,进行身份认证

请求参数

无业务请求参数

返回参数

参数 类型 必有 描述
data String 消息推送提醒模式

NONE:关闭

MESSAGE: 仅能查询消息,不会推送消息弹窗

MESSAGE_AND_NOTICE: 既能查询消息, 也会推送消息弹窗

如果用户之前从未配置过告警提醒配置,则默认为 MESSAGE_AND_NOTICE

示例

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

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

定义描述

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

请求参数

参数 类型 必填 描述
targetIdentityId String 被分享者的统一身份ID
iotId String 设备ID
noticeMode String 消息推送提醒模式

NONE:关闭

MESSAGE: 仅能查询消息,不会推送消息弹窗

MESSAGE_AND_NOTICE: 既能查询消息, 也会推送消息弹窗

如果用户之前从未配置过告警提醒配置,则默认为 MESSAGE_AND_NOTICE

返回参数

无业务返回参数

示例

  • 请求示例
    {
        "id": "1509086454180",
        "version": "1.0",
        "request": {
            "apiVer": "1.0.5",
          "iotToken": "token"
        },
        "params": {
            "targetIdentityId": "xxx",
            "iotId" : "ChFrkX2Cxxxxxxxx03d10",
            "noticeMode" : "MESSAGE_AND_NOTICE"
        }
    }          
  • 正常返回示例
    {
        "code": 200,
        "message": "success",
        "data": null
    }

获取共享设备全量告警的提醒配置

定义描述

path 版本 描述 是否需要用户身份的鉴权
/living/device/global/notice/sharing/config/get 1.0.0 获取共享设备告警全局提醒配置 是,客户端SDK需启用身份的鉴权,进行身份认证

请求参数

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

返回参数

参数 类型 必有 描述
data String 消息推送提醒模式

NONE:关闭

MESSAGE: 仅能查询消息,不会推送消息弹窗

MESSAGE_AND_NOTICE: 既能查询消息, 也会推送消息弹窗

如果用户之前从未配置过告警提醒配置,则默认为 MESSAGE_AND_NOTICE

示例

  • 请求示例
    {
        "id": "1509086454180",
        "version": "1.0",
        "request": {
            "apiVer": "1.0.5",
          "iotToken": "token"
        },
        "params": {
            "targetIdentityId": "xxx",
            "iotId" : "ChFrkX2Cxxxxxxxx03d10"
        }
    }          
  • 正常返回示例
    {
        "code": 200,
        "message": "success",
        "data": "MESSAGE_AND_NOTICE"
    }