别墅门口机企业版Web Api - housekeeper-software/tech GitHub Wiki

概述

总计分为三类接口

GET: /api/doGet
POST: /api/doPost
POST: /api/doCommand

doGet

获取网络信息(doGet?type=net)

{
  "dns": [
    "8.8.8.8",
    "114.114.114.114"
  ],
  "net": {
    "gateway": "192.168.180.1",
    "ip": "192.168.180.71",
    "mask": "255.255.255.0",
    "method": "manual"
  }
}

获取时区信息 (doGet?type=timezone)

{
  "ntp": {
    "autoDst": 0,
    "autoMode": 1,
    "refreshTime": 86400,
    "server": "cn.pool.ntp.org",
    "timeZone": "(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi",
    "timeZoneFile": "",
    "timeZoneFileDst": "posix/Asia/Calcutta"
  }
}

获取日志 (doGet?type=log)

{
  "log": [
    {
      "data": "{\"no\":\"000001C-01Z-001B-001U-001F-0101N\",\"params\":{\"id\":\"zxm\",\"name\":\"zxm\",\"profile\":\"member\"},\"snapshot\":\"6023a1b2-9ad2-4c54-afd5-b1102f8a96c7.jpeg\",\"way\":1}",
      "snapshot": "6023a1b2-9ad2-4c54-afd5-b1102f8a96c7.jpeg",
      "time": "2024-06-28T00:13:37.526Z",
      "type": "unlock"
    }
  ]
}

获取系统信息(doGet?type=sysinfo)

{
  "appVersion": "1.0.0.73366",
  "faceEngine": 2,
  "firmwareVersion": "20240318163024",
  "ip": "192.168.180.71",
  "macAddr": "00:24:05:24:09:38",
  "model": "HK-TC400",
  "nfc": true,
  "osName": "Linux",
  "osVersion": "4.19.111",
  "sn": "NJ0FQ10008"
}

获取系统状态 (doGet?type=status)

{
  "mqtt": 0,
  "sip": {
    "p2p": 2,
    "server": 3,
    "telephone": 1
  }
}

获取本机各项配置(doGet?type=config)

获取Basic信息 (doGet?type=config&name=basic)

{
  "server": {
    "host": "10.10.6.188",
    "port": 18888,
    "tls": false,
    "publicKey": "xxx",
    "secret": "123456",
    "enable": false
  },
  "deviceId": "05T-000001C-01Z-001B-001U-001F-01E"
}

获取 sip配置 (doGet?type=config&name=sip&route=telephone)

如果 route=“”,则返回全部信息

{
    "id": "telephone",
    "enable": true,
    "server": {
        "dialPrefix": "1112",
        "enableRegistration": true,
        "expires": 300,
        "port": 0,
        "proxy": "x.x.x.x:18888",
        "realm": "",
        "stun": "",
        "transport": "tcp"
    },
    "account": {
        "displayName": "",
        "password": "xx",
        "userId": "xxx",
        "userName": "xxx"
    }
}

获取房号表 (doGet?type=config&name=table)

{
  "table": [
    {
      "alias": "05T-000001C-01Z-001B-001U-001F-01E",
      "deviceId": "05T-000001C-01Z-001B-001U-001F-01E",
      "ip": "192.168.180.71",
      "userId": "cwj-0007"
    },
    {
      "alias": "01T-000001C-01Z-001B-001U-001F-0101N-02E",
      "deviceId": "01T-000001C-01Z-001B-001U-001F-0101N-02E",
      "ip": "192.168.180.166",
      "userId": "cwj-0005"
    },
    {
      "alias": "01T-000001C-01Z-001B-001U-001F-0101N-01E",
      "deviceId": "01T-000001C-01Z-001B-001U-001F-0101N-01E",
      "ip": "192.168.180.188",
      "userId": "cwj-0001"
    }
  ]
}

获取 mqtt设置 (doGet?type=config&name=mqtt)

  "mqtt":{
         "host":"127.0.0.1",
         "port":8883,
         "tls":true,
         "userName":"xyz",
         "password":"abc",
         "heartbeat":20
      }

获取 通话设置 (doGet?type=config&name=call)

{
   "timeLimits":{
      "maxRingTime":30,
      "maxConnectTime":120,
      "maxMonitorTime":120
   }
}

获取全局设置 (doGet?type=config&name=config)

{
   "unlock":{
      "dtmf":"#,*",
      "message":"open door,unlock"
   },
   "password":{
      "adminPassword":"654321",
      "sharedPwd":"",
      "holdPwd":""
   },
   "common":{
      "closeDoorDelay":10,
      "screenOffDelay":60
   }
}

获取通用配置 (doGet?type=config&name=common)

获取数据集索引(doGet?type=dataIndex)

[
  "data#card#000001C-01Z-001B-001U",
  "data#face#000001C-01Z-001B-001U",
  "data#password#000001C-01Z-001B-001U",
  "data#telephone#000001C-01Z-001B-001U"
]

获取数据集(doGet?type=data&name=data#card#000001C-01Z-001B-001U)

doPost

设置网络信息 (doPost?type=net)

设置时区 (doPost?type=timezone)

设置配置 (doPost?type=config&name=xxxx)

设置数据 (doPost?type=data&name=xxx&catalog=xxx)

设置单个数据 (doPost?type=dataItem&name=xxx&catalog=xxx)

设置单个房号(doPost?type=device)

{
    "deviceId": "01T-000001C-01Z-001B-001U-001F-0101N-01E",
    "userId": "cwj-0001",
    "ip": "192.168.180.188",
    "alias": "01T-000001C-01Z-001B-001U-001F-0101N-01E"
}

删除数据或者配置(doPost?type=delete&profile=config/data&name=xxx&catalog=xxx)

doCommand

重启设备 (doCommand?type=reboot)

重置设备 (doCommand?type=reset)

采集卡片 (doCommand?type=gatherCard&timeout=xxx秒)

采集人脸 (doCommand?type=faceFeature)

request:
{
    "image": "data:image/jpeg;base64,/9j/2wCEAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopG"
}
response:
{
    "feature": "TUZYMQABAQAAAAAAAAAAABGargYAAAAA6RS64diHymETg3QvTWjYNPeBNDa/p8bxGmJhl5EiM8Mp5kikPQm8dAUSiab+HPoW9PKvs65gUf3oX8IOmQaawqNsf2oF9H6/rwCb325D2+64VIyob1WMx4FYjofQwO5T4ybt31h9kU662Xoq3oK9T2fP9Fb7CRBB8X6GDqXaJF6I+xtT9/IjbJ5C/cPRfQTimshzTBy0Fiu59Nj8ZR9GjfWyMNtYM2+XCn8lGxIls62nBQvoh5pGXrEN3jF/4MfMysQR2FrOTVbXO/NMjEYMwSXjTjb5G/uNER/lqmiVuC3mX8kRk3aXkz2zV+vF6aktwAuCeTRL6YFLaL+h+ktxZA==",
    "result": 0
}

清理日志 (doCommand?type=clearLog)

音量测试 (doCommand?type=volumeTest&vol=(0-100))