# 说明

该接口由永顺智平台请求第三方开发者在由你控后台创建开放应用设置的通知地址,会同步推送入住通知,欢迎入住,退房重置等消息,所以第三方开发者应当做好响应的接口及处理

# 请求地址

由第三方开发者在由你控后台创建开放应用设置

# 统一请求参数

字段名称 字段说明 类型 必传 备注
header 系统级参数 Object Y 格式如下
header.authType 目前仅支持MD5 String Y 固定值 MD5
header.appId 创建应用后生成appId String Y -
header.version 版本 String Y 默认1.0
header.requestTime 请求时间戳 String Y 精确到毫秒
header.roomNo 房间号 String Y -
header.token token String Y token为appId、requestTime、requestId、roomNo四个字段通过‘|’连接后,追加appSecret,然后Md5得到(注意secret前面也有“|”)。
例如:abc123|1506588294932|304a1c510f9e4683a43be5f2a7cfeb52|1001|123456
计算md5值:bd8224167872ee06751826367e735206
payload 应用级参数 Object Y 具体请参考接口详情
payload.type 请求类型 String Y 固定填写"NOTIFY"
payload.name 通知类型 String Y 参考值:
1.CHECKIN 入住通知
2.CHECKIN_UPDATE 入住修改通知
3.WELCOME 欢迎入住通知
4.RESET 退房重置

示例

{
  "header": { ... },
  "payload": {
      "type": "NOTIFY",
      "name": "CHECKIN",
      "checkIns": [
        { 
          "guestName": "张三", 
          "phoneCode": "86", 
          "mobile": "18603046467", 
          "roomNo": "1001", 
          "checkInTime": 186574165152, 
          "checkOutTime": 186574195152
        }
      ]
   }
}

# 统一请求响应

在接收到请求且正确处理后,需要第三方开发者一致响应字符串 “OK” 给永顺智开放平台
目前暂未开通重试功能,未来可能根据响应结果做请求重试。

# 入住通知

当前台开卡完成后,发送入住通知

具体上报参数如下:

字段名称 字段说明 类型 必传 备注
payload.name 通知类型 String Y CHECKIN_入住,CHECKIN_UPDATE_修改
payload.checkIns 入住信息 Arrar Y -
checkIns[-].gender 性别 String Y 0=男,1=女,为空=未知
checkIns[-].guestName 客人姓名 String Y -
checkIns[-].phoneCode 手机区号 String Y -
checkIns[-].mobile 手机号 String Y -
checkIns[-].roomNo 房间号 String Y -
checkIns[-].checkInTime 入住时间 毫秒 String Y 时间 毫秒
checkIns[-].checkOutTime 预计退房时间 毫秒 boolean Y -

示例

{
  "header": { ... },
  "payload": {
      "type": "NOTIFY",
      "name": "CHECKIN",
      "checkIns": [
        { 
          "guestName": "张三", 
          "phoneCode": "86", 
          "mobile": "18603046467", 
          "gender": "0",
          "roomNo": "1001", 
          "checkInTime": 186574165152, 
          "checkOutTime": 186574195152
        }
      ]
   }
}

# 退房通知

当前台退房完成后,发送退房通知

具体上报参数如下:

字段名称 字段说明 类型 必传 备注
payload.name 通知类型 String Y reset=重置

示例

{
  "header": { ... }, 
  "payload": {
	"type": "NOTIFY",
	"name": "RESET"
  }
}

# 欢迎入住

当住客打开房门,插卡取电,触发入住模式后,将推送欢迎入住通知

具体上报参数如下:

字段名称 字段说明 类型 必传 备注
payload.name 通知类型 String Y welcome=欢迎入住,reset=重置

示例

{
  "header": { ... }, 
  "payload": {
    "type": "NOTIFY",
    "name": "WELCOME"
  }
}


# 设备更新通知

当由你控设备更新时,会发送此通知,开发者需要按照文档对应处理设备

具体上报参数如下:

字段名称 字段说明 类型 必传 备注
payload.name 通知类型 String Y DEVICE_CHANGE=全量更新,需要开发者重新调用获取设备列表
DEVICE_ADD=新增设备,开发者根据持接口返回的内容新增一个设备
DEVICE_DEL=删除设备,开发者根据返回的内容删除一个设备
payload.devices 设备列表 String N 新增或删除时,请参考此参数
devices[-].id 设备id String Y -
devices[-].name 设备名称 String N -
devices[-].code 设备名称 String N -
devices[-].status 设备当前状态 Object N 格式以状态名称为key,状态值为value组成的object对象,可参考示例

示例

{
  "header": { ... }, 
  "payload": {
    "type": "NOTIFY",
    "name": "DEVICE_CHANGE",
    "devices": [
        {
          "id": "234253safda23424", 
          "name": "空调", 
          "code": "1_001_", 
          "status": {
            "openFlag": 1
          }
        }, 
        {
          "id": "234253safda23424", 
          "name": "灯光", 
          "code": "1_008_1", 
          "status": {
            "openFlag": 1
          }
        }
     ]
  }
}

# 情景模式更新通知

当由你控情景模式更新时,会发送此通知,开发者需要按照文档对应处理情景模式

具体上报参数如下:

字段名称 字段说明 类型 必传 备注
payload.name 通知类型 String Y SCENE_ADD=新增情景模式,开发者根据返回的内容增加情景模式
SCENE_DEL=删除情景模式,开发者根据返回的内容删除一个情景模式
payload.devices 情景模式列表 String N 新增或删除时,请参考此参数
devices[-].id 情景模式id String Y -
devices[-].name 情景模式名称 String N -

示例

{
  "header": { ... }, 
  "payload": {
    "type": "NOTIFY",
    "name": "SCENE_ADD",
    "devices": [
        {
            "name": "入住模式",
            "id": "xxx",
            "roomNo": "101"
        },
        {
            "name": "入住模式",
            "id": "xxx",
            "roomNo": "104"
        },
        {
            "name": "离店模式",
            "id": "xxx",
            "roomNo": "104"
        }
    ]
  }
}

# 设备状态更新通知

当由你控设备更新时,会发送此通知,开发者需要按照文档对应处理设备

具体上报参数如下:

字段名称 字段说明 类型 必传 备注
payload.name 通知类型 String Y STATUS_UPDATE=全量更新,需要开发者重新调用获取设备列表
payload.devices 设备列表 String Y -
devices[-].id 设备id String Y -
devices[-].status 设备当前状态 Object N 格式以状态名称为key,状态值为value组成的object对象,可参考示例

示例

{
  "header": { ... }, 
  "payload": {
    "type": "NOTIFY",
    "name": "STATUS_UPDATE",
    "devices": [
        {
          "id": "234253safda23424", 
          "status": {
            "openFlag": 1
          }
        }, 
        {
          "id": "234253safda23424", 
          "status": {
            "openFlag": 1
          }
        }
     ]
  }
}

# 安防警报触发通知

当安防警报被触发时,会推送此通知

具体上报参数如下:

字段名称 字段说明 类型 必传 备注
payload.name 通知类型 String Y 固定值"ALERT"
payload.devices 安防设备列表 String Y -
devices[-].id 安防设备id String Y -
devices[-].deviceType 安防设备类型 String Y -
devices[-].type 安防警报类型 String Y TRIGGER=触发器
devices[-].value 安防警报值 String Y ON=上电/触发
OFF=断电

示例

{
  "header": { ... }, 
  "payload": {
    "type": "NOTIFY",
    "name": "ALERT",
    "devices": [
        {
            "id": "234253safda23424",
            "deviceType": "alarm_trigger",
            "type": "TRIGGER",
            "value": "ON"
        }
    ]
  }
}
最后一次更新时间: 7/14/2022, 2:01:29 PM