# 说明
该接口由永顺智平台请求第三方开发者在由你控后台创建开放应用设置的通知地址,会同步推送入住通知,欢迎入住,退房重置等消息,所以第三方开发者应当做好响应的接口及处理
# 请求地址
由第三方开发者在由你控后台创建开放应用设置
# 统一请求参数
字段名称 | 字段说明 | 类型 | 必传 | 备注 |
---|---|---|---|---|
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"
}
]
}
}
← 临时密码授权