edit

用户通知

Note

该接口为用户API(地址为user-openapi.hekr.me)

查询用户通知

Tip

用户调用该接口会将通知标记为已读,如果拉取消息却不想设置为已读,则使用参数 markRead=false ,具体参数如下:

GET /api/v1/notification?type=WARNING HTTP/1.1
Accept-Language: zh-CN
Authorization: Bearer {JWT_TOKEN}
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8

{
  "content": [
    {
      "id": "591c4bdae4b0b5834f1675ea",
      "isRead": true,
      "reportTime": 1495026650733,
      "subject": "subject",
      "content": "foo",
      "sender": {
        "type": "device",
        "ppk": {
          "pid": "01240737641",
          "mid": "IyFauxgNdjFs"
        },
        "devTid": "01_0d1c17d1007d16cdb7c4160d41e04",
        "subDevTid": null
      },
      "data": {
        "cmdId": 1,
        "light": 2
      }
    }
  ],
  "last": false,
  "totalPages": 38,
  "totalElements": 38,
  "sort": [
    {
      "direction": "DESC",
      "property": "reportTime",
      "ignoreCase": false,
      "nullHandling": "NATIVE",
      "ascending": false
    }
  ],
  "first": true,
  "numberOfElements": 1,
  "size": 1,
  "number": 0
}

请求参数

参数 类型 是否必须 默认 含义
type String false 通知类型(String), 可取值 [WARNING, INFO ]
devTid String false 设备devTid(deprecated,请使用设备唯一的ctrlKey)
ctrlKey String false 设备ctrlKey(设备唯一ID) 如果指定该参数,没有指定 type,返回默认级别为 WARNING的消息
subDevTid String false 子设备ID
startTime String false 查询起始时间 yyyy-MM-ddTHH:mm:ss.SSSZ 例如 2001-07-04T12:08:56.235-0700
endTime String false 查询结束时间 yyyy-MM-ddTHH:mm:ss.SSSZ 例如 2001-07-04T12:08:56.235-0700
page Integer false 0 第几页(从0开始)
size Integer false 20 每页多少条记录
markRead Boolean false true 是否将拉取到的消息标记为已读
sort String false reportTime,DESC 排序方法,例如sort=foo 按foo升序,sort=foo,DESC 按foo倒序

请求头

参数 类型 是否必须 默认 含义
Accept-Language String false en 客户端Langulage-Tag,例如zh-CN、en-US

返回体

参数 含义
isRead 是否已读,调用该查询接口后将会标记告警为已读
reportTime 告警上报(产生)UNIX 毫秒时间戳
subject 通知标题
content 通知内容
data 额外数据(厂家自定义上报数据)
sender.type 消息来源类型,设备告警(查询时指定type=WARNING) 只可能是Device
sender.devTid 设备devTid
sender.subDevTid 子设备subDevTid
sender.ppk.pid 设备所属厂家的pid
sender.ppk.mid 设备所属产品的mid

删除用户通知

DELETE /api/v1/notification/{ids} HTTP/1.1
Authorization: Bearer {JWT_TOKEN}
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8

请求参数

参数 类型 是否必须 默认 含义
ids String true 需要删除的通知id,指定多个时以","分隔

删除用户通知2

删除某个设备的所有消息可以调用DELETE /api/v1/notification?ctrlKey={ctrlKey} ctrlKey 是设备唯一ID, 网关子设备设备可以调用DELETE /api/v1/notification?ctrlKey={ctrlKey}&subDevTid={subDevTid}

DELETE /api/v1/notification HTTP/1.1
Authorization: Bearer {JWT_TOKEN}
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8

请求参数

参数 类型 是否必须 默认 含义
type String false 通知类型(String), 可取值 [ WARNING, INFO ]
devTid String false 设备devTid(deprecated, 请使用设备唯一的ctrlKey)
ctrlKey String false 设备ctrlKey(设备唯一ID)
subDevTid String false 子设备ID

标记消息为已读

PATCH /api/v1/notification/{ids} HTTP/1.1
Authorization: Bearer {JWT_TOKEN}
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8

请求参数

参数 类型 是否必须 默认 含义
ids String true 需要标记为已读通知的id,指定多个时以","分隔