yitai json rpc 文件

perfychi發表於2013-02-22

益泰安防遠端呼叫接⼝文件
Contents
1 概述 1
  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 伺服器地址
 
1 概述
  1.1 接⼝描述
    益泰安防系統提供JSON格式的遠端呼叫接⼝(RPC),符合JSON-RPC 1.0
規範,包括 請求、應答和通知三種型別。
  1.1.1 請求
    請求由客戶端傳送至伺服器端,包括如下三個屬性:
        method 遠端呼叫函式名,字串型別
        params 呼叫引數,陣列型別
        id     請求id,可以為任意型別,用來和伺服器應答匹配
  1.1.2 應答
    應答由伺服器端返回給客戶端,同樣包括三個屬性:
        result 伺服器端應答內容,如果出錯則為空值
        error  伺服器端的錯誤訊息,如果有 result 返回,則為空
        id     與請求id匹配的值
  1.1.3 通知
    通知是⼀種無需應答的特殊請求:
        id 空值
  1.2 HTTP請求
    請求訊息需要用POST方式提交,Content-Type型別為 application/json
  1.3 示例
    下邊是⼀段JSON-RPC的訊息示例:
        --&gt {"method":"login","params":["test","098f6bcd4621d373cade4e832627b4f6"],"id":1}
                --&gt {"method":"getDeviceList","params":null,"id":2}
       

2 接⼝定義
  2.1 使用者接⼝
    2.1.1 使用者登入驗證
        方法名
        login
        引數列表
                引數名稱 說明
                imei     手機碼
        返回值
                返回值 說明
                使用者ID 驗證使用者名稱、密碼成功
                false  驗證失敗
        示例
        --&gt {"method":"login","params":["098f6bcd4621d37"],"id":1}
       
        使用者註冊
        方法名
        reg
        引數列表
                引數名稱 說明
                username 使用者名稱
                password md5加密過的新密碼,空值表示不修改
                email    新郵箱,空值表示不修改
                phone    新手機號,空值表示不修改
                address  新住址,空值表示不修改
                imei     手機碼
        返回值
                返回值 說明
                true   驗證使用者名稱、密碼成功
                false  驗證失敗
        示例
        --&gt {"method":"login","params":["username","password","email","phone","address","imei"],"id":1}
       
    2.1.2 獲取使用者資訊
        方法名
        getUserProfile
        引數列表
                引數名稱 說明
                imei     手機碼
        返回值
                {
                "username": 登入名,
                "realname": 真實姓名,
                "email":    電子郵箱,
                "phone":    手機號,
                "address":  使用者住址,
                "location": 使用者所在地區
                }
        示例
        --&gt {"method":"getUserProfile","params":[],"id":2}
                        "email":"abc@abc.com","phone":"13800138000",
                "address":"undefined address","location":"Beijing"},
                "error":null}
    2.1.3 設定使用者資訊
        方法名
        setUserProfile
        引數列表
                引數名稱 說明
                password md5加密過的新密碼,空值表示不修改
                email    新郵箱,空值表示不修改
                phone    新手機號,空值表示不修改
                address  新住址,空值表示不修改
                imei     手機碼
       返回值
                返回值 說明
                true   設定成功
                false  設定失敗
        示例
        --&gt {"method":"setUserProfile","params":[null,"a@b.com",
                "13800111000","my address"],"id":3}
       
  2.2 裝置接⼝
    2.2.1 獲取裝置列表
        方法名
        getDeviceList
        引數引數
                引數名稱 說明
                imei     手機碼
        返回值
                [
                {"device": 裝置編號, "address": 裝置地址},
                {"device": 裝置編號, "address": 裝置地址},
                ...
                ]
        示例
        --&gt {"method":"getDeviceList","params":[],"id":4}
                        "error":null}
    2.2.2 獲取裝置狀態
        方法名
        getDeviceStatus
        引數列表
                引數名稱 說明
                device   裝置編號
                imei     手機碼
        返回值
                返回最近的20次狀態值, up_time 為 Unix Timestamp
                ]
                {"status": 狀態, "up_time": 狀態變更時間},
                {"status": 狀態, "up_time": 狀態變更時間},
                ...
                [
        示例
        --&gt {"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     手機碼
        返回值
  陣列 三個元素 分別是上面三個介面的返回值
    2.2.3 佈防撤防裝置
        方法名
        setDeviceDefence
        引數列表
                引數名稱 說明
                device   裝置編號
                defend   是否佈防: true 表示佈防, false 表示撤防
                imei     手機碼
        返回值
                返回值 說明
                true   操作成功
                false  操作失敗
        示例
        --&gt {"method":"setDeviceDefence","params":[1008000,true],"id":6}
       
    2.2.3 獲取裝置佈防撤防狀態
 方法名
 getDeviceDefendStatus
 引數列表
  引數名稱 說明
  device 裝置編號
                imei     手機碼
 返回值
  返回裝置佈防撤防狀態,有三種狀態:
  返回值 說明
  -1     裝置離線
  0      撤防狀態
  1      佈防狀態
 示例
 --&gt {"method":"getDeviceDefendStatus","params":[1008000],"id":15}
 
    2.2.4 獲取繫結的手機號
        方法名
        getBindPhones
        引數列表
                引數名稱 說明
                device   裝置編號
                imei     手機碼
        返回值
        [
        {"phone": 手機號, "alarm-types": 報警型別},
        {"phone": 手機號, "alarm-types": 報警型別},
        ...
        ]
        報警型別是個字串,型別中間使用逗號分割,型別包括如下內容:
                型別名  說明
                urgency 緊急報警
                door    門磁報警
                infra   紅外報警
                window  窗磁報警
                help    緊急求助
                smoke   煙感報警
                gas     煤氣報警
                glass   玻璃震動報警
                water   水浸報警
                defen   佈防撤防
        示例
        --&gt {"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),會返回錯誤。
    – 當繫結的手機號為新號碼的時候,會增加一條記錄。
    – 當繫結的手機號已經存在,會修改相應的報警型別。
  示例
  --&gt {"method":"setBindPhone","params":[1008000,"15511281102",{"urgency":1,"help":0}],"id":17}
  
    2.2.6 刪除繫結的手機號
 方法名
 delBindPhone
 引數列表
  引數名稱 說明
  device   裝置號
  phone    手機號
                imei     手機碼
 返回值
  返回值 說明
  true   刪除成功
  false  刪除失敗
 示例
 --&gt {"method":"delBindPhone","params":[1008000,"15511281102"],"id":18}
 

    2.2.8 獲取裝置地址
 方法名
 getDeviceAddress
 引數列表
  引數名稱 說明
  device 裝置號
 返回值
  返回裝置地址,如果返回 false 表示查詢地址失敗
 示例
 --&gt {"method":"getDeviceAddress","params":[1008000], "id":19}
 
    2.2.9 設定裝置地址
 方法名
 setDeviceAddress
 引數列表
  引數名稱 說明
  device 裝置號
  address 地址
 返回值
  返回值 說明
  true 設定地址成功
  false 設定地址失敗 示例
 --&gt {"method":"setDeviceAddress","params":[1008000,"New Address"],"id":29}
 
  2.2.10 獲取裝置告警資訊
 方法名
 getDeviceRecentAlarm
 引數列表
  引數名稱 說明
  device 裝置號
  count  告警資訊條數
 返回值
  返回裝置最近 count 個告警資訊標識,有如下狀態:
  狀態標識 說明
  urgency 緊急告警
  help 緊急求助
  door 門磁告警
  window 窗磁告警
  infra 紅外告警
  water 水浸告警
  smoke 煙感告警
  gas 瓦斯煤氣告警
  glass 玻璃震動告警
 --&gt {”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 客戶端撤防
 --&gt {”method”:”getDeviceRecentDefend”,”params”:[1008000, 2],”id”:23}
 
  2.2.12  獲取主機執行狀態
 方法名
 getDeviceRecentOnline
 引數列表
  引數名稱 說明
  device 裝置號
  count  主機狀態查詢條數
 返回值
  返回裝置最近 count 個主機狀態的變更訊息,有如下狀態標識:
  控制資訊標識 說明
  offline 裝置離線
  reset 裝置重啟
  heart 心跳
 --&gt {”method”:”getDeviceRecentOnline”,”params”:[1008000, 2],”id”:24}
 
  2.3 視訊接⼝
    2.3.1 獲取攝像頭地址
        方法名
        getVideoUri
        引數列表
                引數名稱 說明
                imei     手機碼
        返回值
                攝像頭連結地址
        示例
    2.3.1 獲取視訊地址
 方法名
 getVideos
 引數列表
  引數名稱 說明
  devid    裝置ID
  count    返回數量
  imei     手機碼
 返回值
  返回值 說明
  [{mp4_count:1,3gp_count:1,pic_count:3,url:"http://www.server.com/path/path/videoid2"},
  {mp4_count:1,3gp_count:1,pic_count:3,url:"http://www.server.com/path/path/videoid1"}]
  mp4_count    MP4 檔案的數量
  3gp_count    3GP 檔案的數量
  pic_count    圖片檔案的數量 JPG
  url          檔案的URL , 不帶副檔名
  完整的URL
 示例
 --&gt {"method":"getVideos","params":["123","1"],"id":1}
 http://www.server.com/path/path/videoid"}],"error":null,"id":1}
    2.3.2 獲取視訊地址 (2010-12-21 add)
 方法名
 getVideos2
 引數列表
  引數名稱 說明
  devid    裝置ID
  createtime    記錄時間(long)
  imei     手機碼
 返回值
  返回值 說明
  [{mp4_count:1,3gp_count:1,pic_count:3,url:"http://www.server.com/path/path/videoid2"}]
  mp4_count    MP4 檔案的數量
  3gp_count    3GP 檔案的數量
  pic_count    圖片檔案的數量 JPG
  url          檔案的URL , 不帶副檔名
  完整的URL
 示例
 --&gt {"method":"getVideos","params":["123","1"],"id":1}
 http://www.server.com/path/path/videoid"}],"error":null,"id":1}
  2.4 其他
    2.4.1 獲取警報訊息
        方法名
        checkAlarmMessage
        引數列表
                引數名稱 說明
                imei     手機碼
        返回值
                報警訊息
        示例
 

3 其他
  3.1 伺服器地址
        http://video.ehomeonline.com.cn:8000/mobileapi/jsonrpc
 
 

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27042095/viewspace-754603/,如需轉載,請註明出處,否則將追究法律責任。

下一篇: expdp 匯出指令碼
yitai json rpc 文件
請登入後發表評論 登入
全部評論

相關文章