yitai json rpc 文件
益泰安防遠端呼叫接⼝文件
Contents
1 概述 1
1.1 接⼝描述
1.1.1 請求
1.1.2 應答
1.1.3 通知
1.2 HTTP請求
1.3 示例
1.1 接⼝描述
1.1.1 請求
1.1.2 應答
1.1.3 通知
1.2 HTTP請求
1.3 示例
2 接⼝定義 2
2.1 使用者接⼝
2.1.1 使用者登入驗證
2.1.2 獲取使用者資訊
2.1.3 設定使用者資訊
2.2 裝置接⼝
2.2.1 獲取裝置列表
2.2.2 獲取裝置狀態
2.2.3 佈防撤防裝置
2.2.4 獲取繫結的手機號
2.3 影片接⼝
2.3.1 獲取攝像頭地址
2.4 其他
2.4.1 獲取警報訊息
3 其他
3.1 伺服器地址
2.1 使用者接⼝
2.1.1 使用者登入驗證
2.1.2 獲取使用者資訊
2.1.3 設定使用者資訊
2.2 裝置接⼝
2.2.1 獲取裝置列表
2.2.2 獲取裝置狀態
2.2.3 佈防撤防裝置
2.2.4 獲取繫結的手機號
2.3 影片接⼝
2.3.1 獲取攝像頭地址
2.4 其他
2.4.1 獲取警報訊息
3 其他
3.1 伺服器地址
1 概述
1.1 接⼝描述
益泰安防系統提供JSON格式的遠端呼叫接⼝(RPC),符合JSON-RPC 1.0
規範,包括 請求、應答和通知三種型別。
益泰安防系統提供JSON格式的遠端呼叫接⼝(RPC),符合JSON-RPC 1.0
規範,包括 請求、應答和通知三種型別。
1.1.1 請求
請求由客戶端傳送至伺服器端,包括如下三個屬性:
method 遠端呼叫函式名,字串型別
params 呼叫引數,陣列型別
id 請求id,可以為任意型別,用來和伺服器應答匹配
請求由客戶端傳送至伺服器端,包括如下三個屬性:
method 遠端呼叫函式名,字串型別
params 呼叫引數,陣列型別
id 請求id,可以為任意型別,用來和伺服器應答匹配
1.1.2 應答
應答由伺服器端返回給客戶端,同樣包括三個屬性:
result 伺服器端應答內容,如果出錯則為空值
error 伺服器端的錯誤訊息,如果有 result 返回,則為空
id 與請求id匹配的值
應答由伺服器端返回給客戶端,同樣包括三個屬性:
result 伺服器端應答內容,如果出錯則為空值
error 伺服器端的錯誤訊息,如果有 result 返回,則為空
id 與請求id匹配的值
1.1.3 通知
通知是⼀種無需應答的特殊請求:
id 空值
1.2 HTTP請求
請求訊息需要用POST方式提交,Content-Type型別為 application/json
通知是⼀種無需應答的特殊請求:
id 空值
1.2 HTTP請求
請求訊息需要用POST方式提交,Content-Type型別為 application/json
1.3 示例
下邊是⼀段JSON-RPC的訊息示例:
--> {"method":"login","params":["test","098f6bcd4621d373cade4e832627b4f6"],"id":1}
--> {"method":"getDeviceList","params":null,"id":2}
2 接⼝定義
2.1 使用者接⼝
2.1.1 使用者登入驗證
方法名
login
引數列表
引數名稱 說明
imei 手機碼
返回值
返回值 說明
使用者ID 驗證使用者名稱、密碼成功
false 驗證失敗
下邊是⼀段JSON-RPC的訊息示例:
--> {"method":"login","params":["test","098f6bcd4621d373cade4e832627b4f6"],"id":1}
--> {"method":"getDeviceList","params":null,"id":2}
2 接⼝定義
2.1 使用者接⼝
2.1.1 使用者登入驗證
方法名
login
引數列表
引數名稱 說明
imei 手機碼
返回值
返回值 說明
使用者ID 驗證使用者名稱、密碼成功
false 驗證失敗
示例
--> {"method":"login","params":["098f6bcd4621d37"],"id":1}
--> {"method":"login","params":["098f6bcd4621d37"],"id":1}
使用者註冊
方法名
reg
引數列表
引數名稱 說明
username 使用者名稱
password md5加密過的新密碼,空值表示不修改
email 新郵箱,空值表示不修改
phone 新手機號,空值表示不修改
address 新住址,空值表示不修改
imei 手機碼
返回值
返回值 說明
true 驗證使用者名稱、密碼成功
false 驗證失敗
方法名
reg
引數列表
引數名稱 說明
username 使用者名稱
password md5加密過的新密碼,空值表示不修改
email 新郵箱,空值表示不修改
phone 新手機號,空值表示不修改
address 新住址,空值表示不修改
imei 手機碼
返回值
返回值 說明
true 驗證使用者名稱、密碼成功
false 驗證失敗
示例
--> {"method":"login","params":["username","password","email","phone","address","imei"],"id":1}
--> {"method":"login","params":["username","password","email","phone","address","imei"],"id":1}
2.1.2 獲取使用者資訊
方法名
getUserProfile
引數列表
引數名稱 說明
imei 手機碼
返回值
{
"username": 登入名,
"realname": 真實姓名,
"email": 電子郵箱,
"phone": 手機號,
"address": 使用者住址,
"location": 使用者所在地區
}
示例
--> {"method":"getUserProfile","params":[],"id":2}
"email":"",
"address":"undefined address","location":"Beijing"},
"error":null}
方法名
getUserProfile
引數列表
引數名稱 說明
imei 手機碼
返回值
{
"username": 登入名,
"realname": 真實姓名,
"email": 電子郵箱,
"phone": 手機號,
"address": 使用者住址,
"location": 使用者所在地區
}
示例
--> {"method":"getUserProfile","params":[],"id":2}
"email":"",
"address":"undefined address","location":"Beijing"},
"error":null}
2.1.3 設定使用者資訊
方法名
setUserProfile
引數列表
引數名稱 說明
password md5加密過的新密碼,空值表示不修改
email 新郵箱,空值表示不修改
phone 新手機號,空值表示不修改
address 新住址,空值表示不修改
imei 手機碼
返回值
返回值 說明
true 設定成功
false 設定失敗
示例
--> {"method":"setUserProfile","params":[null,"",
"13800111000","my address"],"id":3}
方法名
setUserProfile
引數列表
引數名稱 說明
password md5加密過的新密碼,空值表示不修改
email 新郵箱,空值表示不修改
phone 新手機號,空值表示不修改
address 新住址,空值表示不修改
imei 手機碼
返回值
返回值 說明
true 設定成功
false 設定失敗
示例
--> {"method":"setUserProfile","params":[null,"",
"13800111000","my address"],"id":3}
2.2 裝置接⼝
2.2.1 獲取裝置列表
方法名
getDeviceList
引數引數
引數名稱 說明
imei 手機碼
返回值
[
{"device": 裝置編號, "address": 裝置地址},
{"device": 裝置編號, "address": 裝置地址},
...
]
示例
--> {"method":"getDeviceList","params":[],"id":4}
"error":null}
2.2.1 獲取裝置列表
方法名
getDeviceList
引數引數
引數名稱 說明
imei 手機碼
返回值
[
{"device": 裝置編號, "address": 裝置地址},
{"device": 裝置編號, "address": 裝置地址},
...
]
示例
--> {"method":"getDeviceList","params":[],"id":4}
"error":null}
2.2.2 獲取裝置狀態
方法名
getDeviceStatus
引數列表
引數名稱 說明
device 裝置編號
imei 手機碼
返回值
返回最近的20次狀態值, up_time 為 Unix Timestamp
]
{"status": 狀態, "up_time": 狀態變更時間},
{"status": 狀態, "up_time": 狀態變更時間},
...
[
示例
--> {"method":"getDeviceStatus","params":[1008000],"id":5}
"up_time":"1286752447"},{"status":"\u5e03\u9632\u72b6\u6001",
"up_time":"1286761969"}],"error":null}
方法名
getDeviceStatus
引數列表
引數名稱 說明
device 裝置編號
imei 手機碼
返回值
返回最近的20次狀態值, up_time 為 Unix Timestamp
]
{"status": 狀態, "up_time": 狀態變更時間},
{"status": 狀態, "up_time": 狀態變更時間},
...
[
示例
--> {"method":"getDeviceStatus","params":[1008000],"id":5}
"up_time":"1286752447"},{"status":"\u5e03\u9632\u72b6\u6001",
"up_time":"1286761969"}],"error":null}
2.2.2 獲取使用者資訊,裝置列表,裝置狀態
方法名
getInfoEx
引數列表
引數名稱 說明
device 裝置編號
imei 手機碼
返回值
陣列 三個元素 分別是上面三個介面的返回值
方法名
getInfoEx
引數列表
引數名稱 說明
device 裝置編號
imei 手機碼
返回值
陣列 三個元素 分別是上面三個介面的返回值
2.2.3 佈防撤防裝置
方法名
setDeviceDefence
引數列表
引數名稱 說明
device 裝置編號
defend 是否佈防: true 表示佈防, false 表示撤防
imei 手機碼
返回值
返回值 說明
true 操作成功
false 操作失敗
示例
--> {"method":"setDeviceDefence","params":[1008000,true],"id":6}
方法名
setDeviceDefence
引數列表
引數名稱 說明
device 裝置編號
defend 是否佈防: true 表示佈防, false 表示撤防
imei 手機碼
返回值
返回值 說明
true 操作成功
false 操作失敗
示例
--> {"method":"setDeviceDefence","params":[1008000,true],"id":6}
2.2.3 獲取裝置佈防撤防狀態
方法名
getDeviceDefendStatus
引數列表
引數名稱 說明
device 裝置編號
imei 手機碼
返回值
返回裝置佈防撤防狀態,有三種狀態:
返回值 說明
-1 裝置離線
0 撤防狀態
1 佈防狀態
示例
--> {"method":"getDeviceDefendStatus","params":[1008000],"id":15}
方法名
getDeviceDefendStatus
引數列表
引數名稱 說明
device 裝置編號
imei 手機碼
返回值
返回裝置佈防撤防狀態,有三種狀態:
返回值 說明
-1 裝置離線
0 撤防狀態
1 佈防狀態
示例
--> {"method":"getDeviceDefendStatus","params":[1008000],"id":15}
2.2.4 獲取繫結的手機號
方法名
getBindPhones
引數列表
引數名稱 說明
device 裝置編號
imei 手機碼
返回值
[
{"phone": 手機號, "alarm-types": 報警型別},
{"phone": 手機號, "alarm-types": 報警型別},
...
]
方法名
getBindPhones
引數列表
引數名稱 說明
device 裝置編號
imei 手機碼
返回值
[
{"phone": 手機號, "alarm-types": 報警型別},
{"phone": 手機號, "alarm-types": 報警型別},
...
]
報警型別是個字串,型別中間使用逗號分割,型別包括如下內容:
型別名 說明
urgency 緊急報警
door 門磁報警
infra 紅外報警
window 窗磁報警
help 緊急求助
smoke 煙感報警
gas 煤氣報警
glass 玻璃震動報警
water 水浸報警
defen 佈防撤防
示例
--> {"method":"getBindPhones","params":[11508],"id":7}
"urgency,door,defen"}],"error":null}
型別名 說明
urgency 緊急報警
door 門磁報警
infra 紅外報警
window 窗磁報警
help 緊急求助
smoke 煙感報警
gas 煤氣報警
glass 玻璃震動報警
water 水浸報警
defen 佈防撤防
示例
--> {"method":"getBindPhones","params":[11508],"id":7}
"urgency,door,defen"}],"error":null}
2.2.5 繫結手機號到裝置
方法名
setBindPhone
引數列表
引數名稱 說明
device 裝置編號
phone 手機號
alarm-types 報警型別,由關聯陣列表示
報警型別是一個關聯陣列,其中關鍵字是型別名,值是0/1,表示設
置或取消該類 型的報警。報警型別說明如下:
型別名 說明
urgency 緊急報警
door 門磁報警
infra 紅外報警
window 窗磁報警
help 緊急求助
smoke 煙感報警
gas 煤氣報警
glass 玻璃震動報警
water 水浸報警
defen 佈防撤防
imei 手機碼
返回值
返回值 說明
true 繫結成功
false 繫結失敗
– 當繫結的手機號超過預設最大值(預設為10),會返回錯誤。
– 當繫結的手機號為新號碼的時候,會增加一條記錄。
– 當繫結的手機號已經存在,會修改相應的報警型別。
示例
--> {"method":"setBindPhone","params":[1008000,"15511281102",{"urgency":1,"help":0}],"id":17}
方法名
setBindPhone
引數列表
引數名稱 說明
device 裝置編號
phone 手機號
alarm-types 報警型別,由關聯陣列表示
報警型別是一個關聯陣列,其中關鍵字是型別名,值是0/1,表示設
置或取消該類 型的報警。報警型別說明如下:
型別名 說明
urgency 緊急報警
door 門磁報警
infra 紅外報警
window 窗磁報警
help 緊急求助
smoke 煙感報警
gas 煤氣報警
glass 玻璃震動報警
water 水浸報警
defen 佈防撤防
imei 手機碼
返回值
返回值 說明
true 繫結成功
false 繫結失敗
– 當繫結的手機號超過預設最大值(預設為10),會返回錯誤。
– 當繫結的手機號為新號碼的時候,會增加一條記錄。
– 當繫結的手機號已經存在,會修改相應的報警型別。
示例
--> {"method":"setBindPhone","params":[1008000,"15511281102",{"urgency":1,"help":0}],"id":17}
2.2.6 刪除繫結的手機號
方法名
delBindPhone
引數列表
引數名稱 說明
device 裝置號
phone 手機號
imei 手機碼
返回值
返回值 說明
true 刪除成功
false 刪除失敗
示例
--> {"method":"delBindPhone","params":[1008000,"15511281102"],"id":18}
2.2.8 獲取裝置地址
方法名
getDeviceAddress
引數列表
引數名稱 說明
device 裝置號
返回值
返回裝置地址,如果返回 false 表示查詢地址失敗
示例
--> {"method":"getDeviceAddress","params":[1008000], "id":19}
方法名
delBindPhone
引數列表
引數名稱 說明
device 裝置號
phone 手機號
imei 手機碼
返回值
返回值 說明
true 刪除成功
false 刪除失敗
示例
--> {"method":"delBindPhone","params":[1008000,"15511281102"],"id":18}
2.2.8 獲取裝置地址
方法名
getDeviceAddress
引數列表
引數名稱 說明
device 裝置號
返回值
返回裝置地址,如果返回 false 表示查詢地址失敗
示例
--> {"method":"getDeviceAddress","params":[1008000], "id":19}
2.2.9 設定裝置地址
方法名
setDeviceAddress
引數列表
引數名稱 說明
device 裝置號
address 地址
返回值
返回值 說明
true 設定地址成功
false 設定地址失敗 示例
--> {"method":"setDeviceAddress","params":[1008000,"New Address"],"id":29}
方法名
setDeviceAddress
引數列表
引數名稱 說明
device 裝置號
address 地址
返回值
返回值 說明
true 設定地址成功
false 設定地址失敗 示例
--> {"method":"setDeviceAddress","params":[1008000,"New Address"],"id":29}
2.2.10 獲取裝置告警資訊
方法名
getDeviceRecentAlarm
引數列表
引數名稱 說明
device 裝置號
count 告警資訊條數
返回值
返回裝置最近 count 個告警資訊標識,有如下狀態:
狀態標識 說明
urgency 緊急告警
help 緊急求助
door 門磁告警
window 窗磁告警
infra 紅外告警
water 水浸告警
smoke 煙感告警
gas 瓦斯煤氣告警
glass 玻璃震動告警
方法名
getDeviceRecentAlarm
引數列表
引數名稱 說明
device 裝置號
count 告警資訊條數
返回值
返回裝置最近 count 個告警資訊標識,有如下狀態:
狀態標識 說明
urgency 緊急告警
help 緊急求助
door 門磁告警
window 窗磁告警
infra 紅外告警
water 水浸告警
smoke 煙感告警
gas 瓦斯煤氣告警
glass 玻璃震動告警
--> {”method”:”getDeviceRecentAlarm”,”params”:[1008000, 2],”id”:22}
2.2.11 獲取裝置控制資訊
方法名
getDeviceRecentDefend
引數列表
引數名稱 說明
device 裝置號
count 控制資訊條數
返回值
返回裝置最近 count 個控制資訊標識,有如下控制標識:
控制資訊標識 說明
button-defend 遙控器佈防
button-undefend 遙控器撤防
web-defend 網頁佈防
web-undefend 網頁撤防
sms-defend 簡訊佈防
sms-undefend 簡訊撤防
app-defend 客戶端佈防
app-undefend 客戶端撤防
方法名
getDeviceRecentDefend
引數列表
引數名稱 說明
device 裝置號
count 控制資訊條數
返回值
返回裝置最近 count 個控制資訊標識,有如下控制標識:
控制資訊標識 說明
button-defend 遙控器佈防
button-undefend 遙控器撤防
web-defend 網頁佈防
web-undefend 網頁撤防
sms-defend 簡訊佈防
sms-undefend 簡訊撤防
app-defend 客戶端佈防
app-undefend 客戶端撤防
--> {”method”:”getDeviceRecentDefend”,”params”:[1008000, 2],”id”:23}
2.2.12 獲取主機執行狀態
方法名
getDeviceRecentOnline
引數列表
引數名稱 說明
device 裝置號
count 主機狀態查詢條數
返回值
返回裝置最近 count 個主機狀態的變更訊息,有如下狀態標識:
控制資訊標識 說明
offline 裝置離線
reset 裝置重啟
heart 心跳
方法名
getDeviceRecentOnline
引數列表
引數名稱 說明
device 裝置號
count 主機狀態查詢條數
返回值
返回裝置最近 count 個主機狀態的變更訊息,有如下狀態標識:
控制資訊標識 說明
offline 裝置離線
reset 裝置重啟
heart 心跳
--> {”method”:”getDeviceRecentOnline”,”params”:[1008000, 2],”id”:24}
2.3 影片接⼝
2.3.1 獲取攝像頭地址
方法名
getVideoUri
引數列表
引數名稱 說明
imei 手機碼
返回值
攝像頭連結地址
示例
2.3.1 獲取攝像頭地址
方法名
getVideoUri
引數列表
引數名稱 說明
imei 手機碼
返回值
攝像頭連結地址
示例
2.3.1 獲取影片地址
方法名
getVideos
方法名
getVideos
引數列表
引數名稱 說明
devid 裝置ID
count 返回數量
imei 手機碼
返回值
返回值 說明
[{mp4_count:1,3gp_count:1,pic_count:3,url:""},
{mp4_count:1,3gp_count:1,pic_count:3,url:""}]
引數名稱 說明
devid 裝置ID
count 返回數量
imei 手機碼
返回值
返回值 說明
[{mp4_count:1,3gp_count:1,pic_count:3,url:""},
{mp4_count:1,3gp_count:1,pic_count:3,url:""}]
mp4_count MP4 檔案的數量
3gp_count 3GP 檔案的數量
pic_count 圖片檔案的數量 JPG
3gp_count 3GP 檔案的數量
pic_count 圖片檔案的數量 JPG
url 檔案的URL , 不帶副檔名
完整的URL
一個檔案
多個檔案
多個檔案
示例
--> {"method":"getVideos","params":["123","1"],"id":1}
--> {"method":"getVideos","params":["123","1"],"id":1}
2.3.2 獲取影片地址 (2010-12-21 add)
方法名
getVideos2
方法名
getVideos2
引數列表
引數名稱 說明
devid 裝置ID
createtime 記錄時間(long)
imei 手機碼
返回值
返回值 說明
[{mp4_count:1,3gp_count:1,pic_count:3,url:""}]
引數名稱 說明
devid 裝置ID
createtime 記錄時間(long)
imei 手機碼
返回值
返回值 說明
[{mp4_count:1,3gp_count:1,pic_count:3,url:""}]
mp4_count MP4 檔案的數量
3gp_count 3GP 檔案的數量
pic_count 圖片檔案的數量 JPG
3gp_count 3GP 檔案的數量
pic_count 圖片檔案的數量 JPG
url 檔案的URL , 不帶副檔名
完整的URL
一個檔案
示例
--> {"method":"getVideos","params":["123","1"],"id":1}
3 其他
3.1 伺服器地址
--> {"method":"getVideos","params":["123","1"],"id":1}
2.4 其他
2.4.1 獲取警報訊息
方法名
checkAlarmMessage
引數列表
引數名稱 說明
imei 手機碼
返回值
報警訊息
示例
2.4.1 獲取警報訊息
方法名
checkAlarmMessage
引數列表
引數名稱 說明
imei 手機碼
返回值
報警訊息
示例
3 其他
3.1 伺服器地址
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27042095/viewspace-754603/,如需轉載,請註明出處,否則將追究法律責任。
上一篇:
shell 生成日期列表
下一篇:
expdp 匯出指令碼
請登入後發表評論
登入
全部評論
最新文章
- 限制 ssh 從某些 IP 登入( authorized_keys )
- 用dpkg命令製作deb包方法總結
- cygwin 多使用者 /bin/bash: Operation not permitted
- 侏羅紀世界 1080 BT
- SQL Server 2008“阻止儲存要求重新建立表的更改
- ORA-02396: 超出最大空閒時間, 請重新連線
- 用來察看系統資料庫的getent命令
- Oracle_11g_R2_RAC叢集系統在_Solaris10_x86_64_上的安裝.pdf
- Solaris11.1 Oracle11.2.0.4部署手冊
- oracle下資料的排序分組row_number() over()--分析函式,可用於去重
相關文章
- Hyperf 框架建立 JSON-rpc 服務框架JSONRPC
- JSON Editor 中文文件JSON
- php 透過 JSON RPC 與 golang 通訊PHPJSONRPCGolang
- JSON-RPC-Java 和DWR比較(轉)JSONRPCJava
- JSON API for WP 文件翻譯JSONAPI
- 文件模型(JSON)使用介紹模型JSON
- (譯) JSON-RPC 2.0 規範(中文版)JSONRPC
- 常用JSON格式的開源文件JSON
- 基於 Twirp RPC 的簡易 JSON Api Gateway 實現RPCJSONAPIGateway
- 如何使用密碼保護以太坊JSON-RPC的API?密碼JSONRPCAPI
- PHP 如何通過 JSON-RPC 呼叫實現以太坊互動PHPJSONRPC
- PHP 如何透過 JSON-RPC 呼叫實現以太坊互動PHPJSONRPC
- 使用json通過telegraf生成metrics(摘自telegraf github文件)JSONGithub
- RPCRPC
- [RPC]RPC
- 使用 Dojo 工具包和 JSON-RPC 構建企業 SOA Ajax 客戶端JSONRPC客戶端
- Go RpcGoRPC
- PoS RPCRPC
- 生成 rpcRPC
- 什麼樣的RPC才是好用的RPCRPC
- .NET輕量級RPC框架:Rabbit.RpcRPC框架
- Java XML和JSON:Java SE的文件處理,第1部分JavaXMLJSON
- Java XML和JSON:Java SE的文件處理 第2部分JavaXMLJSON
- golang RPC 應用(1) :net/rpc的應用GolangRPC
- 螞蟻 RPC 框架 SOFA-RPC 初體驗RPC框架
- 【clickhouse專欄】對標mongodb儲存類JSON資料文件統計分析MongoDBJSON
- RPC的概述RPC
- RPC詳解RPC
- RPC簡述RPC
- Rpc Call ProxyRPC
- mq和rpcMQRPC
- rpc協議RPC協議
- RPC介紹RPC
- websocket與RPCWebRPC
- go語言實現自己的RPC:go rpc codecGoRPC
- Spark RPC框架原始碼分析(二)RPC執行時序SparkRPC框架原始碼
- 螞蟻金服RPC框架SOFA-RPC初體驗RPC框架
- 螞蟻金服RPC框架SOFA-RPC - 初體驗RPC框架