同步文件指导

更新时间:

本文档介绍云端向门禁设备同步的文件。

同步权限 syncPermissions

二维码和刷卡门禁通过物模型服务向设备端发送二维码和卡号数据。

服务名

  • syncPermissions:同步权限

请求参数

  • permissionUrl:String(2048)

响应参数(无)

文件通过URL的形式下发给设备端的LinkKitSDK,由设备端对接LinkKitSDK的物模型回调函数处理下发数据。

二维码文件格式说明:

  • qrCodePermissionList:要下发的二维码权限列表。

    • type:变更类型,1-增,2-删,3-改

    • qrCode:二维码

    • startTime:二维码生效时间

    • endTime:二维码失效时间

    • maxScanTimes:最大扫码次数

    • maxScanScope:最大刷码次数作用范围,SHARE – 同一网关下共享; DEVICE – 设备

二维码文件格式示例:

{
    "qrCodePermissionList":[
        {
            "type":1,
            "qrCode":"ALIF24DD9END8CD3",
            "startTime":"1568270392000",
            "endTime":"1599892792000",
            "maxScanTimes":600,
            "maxScanScope":"SHARE"
        },
        {
            "type":2,
            "qrCode":"ALIF24DD9END8CD3"
        },
        {
            "type":3,
            "qrCode":"ALIF24DD9END8CD3",
            "startTime":"1568270392000",
            "endTime":"1599892792000",
            "maxScanTimes":600,
            "maxScanScope":"SHARE"
        }
    ]
}

发卡文件格式说明:

  • tradCardPermissionList:要下发的卡权限列表。

    • type:变更类型,1-增,2-删,3-改

    • cardId:卡号

    • endTime:卡号失效时间

    • userId:用户id

发卡文件格式示例:

{
  "tradCardPermissionList": [
    {
      "cardId": "card001",
      "endTime": "1618625794000",
      "type": 3,
      "userId": "50a0alc68805f48a59b6879e837e684f67171474"
    }
  ]
}

下发人脸图 syncFacePictures

人脸门禁1.0物模型的同步人脸库图片服务(SyncFacePictures)的下发参数(FacePicURL)

服务名

  • SyncFacePictures:人脸特征下发

请求参数

  • FacePicURL: String(2048)

响应参数

  • SyncPicStatus:

    • 0 - 成功

    • 1 - 布控中

    • 2 - 下载文件失败

    • 3 - 解析文件失败

文件通过URL的形式下发给人脸SDK,解析后调用SDK开放的回调函数通知设备处理。

【说明】

  • groupId:人脸分组ID,一个分组Link Face支持5W人脸,目前地产线使用门禁机子设备的iotid作为分组ID。

  • addFaceInfos:要增加的用户信息列表

    • faceId:要增加的人脸信息唯一标识符(由云端生成)

    • userName:用户姓名

    • index:增加用户信息列表中的索引(一般从0开始,依次累加)

  • deleteFaceInfos:要删除的用户信息列表

    • faceId:要删除的人脸信息唯一标识符

  • isCleanAll:标识是否删除设备内的groupId指定的分组内所有人脸信息的(false - 否,true - 是)

  • isCleanAllGroup:标识是否删除设备内全部人脸信息的标识(false - 否,true - 是)

{
  "groupId": "egqQkuFBPgh8pltWiw1S000100",
  "addFaceInfos": [
    {
      "faceId": "552f3570-4717-4a39-910b-d72542552d89",
      "faceMd5": "36c36fa96920e45ca5f00334675484bc",
      "faceUrl": "",
      "userInfo": "{\"userName\": \"Xiao Wang\", \"expire\": \"2020-12-31 23:59:59\", \"policy\": \"DENY\", \"userExtInfo\": \"BLACKLIST\"}",
      "index": 0,
      "clientTag": ""
    }
  ],
  "deleteFaceInfos": [
    {
      "faceId": "xxxx"
    },
    {
      "faceId": "yyyy"
    }
  ],
  "isCleanAll": false,
  "isCleanAllGroup": false
}

同步人脸特征 syncFaceFeatures

人脸特征下发是通过单独的物模型服务提供的,形式和参数与同步人脸图非常类似。

服务名

  • SyncFaceFeatures:人脸特征下发

请求参数

  • FacePicFeaturesURL: String(2048)

响应参数

  • SyncPicStatus:

    • 0 - 成功

    • 1 - 布控中

    • 2 - 下载文件失败

    • 3 - 解析文件失败

下面是FacePicFeaturesURL的格式定义(对比人脸图下发增加了features字段,其它相同)。features字段是一个泛化的特征字段,不是狭义的特征向量,而是从原人脸图中解析出来的所有数据,如特征向量、缩略图等。

{
  "groupId": "egqQkuFBPgh8pltWiw1S000100",
  "addFaceInfos": [
    {
      "faceId": "552f3570-4717-4a39-910b-d72542552d89",
      "faceMd5": "36c36fa96920e45ca5f00334675484bc",
      "faceUrl": "",
      "features": ["xxxx","xxxx"]
      "userInfo": "{\"userName\": \"Xiao Wang\", \"expire\": \"2020-12-31 23:59:59\", \"policy\": \"DENY\", \"userExtInfo\": \"BLACKLIST\"}",
      "index": 0,
      "clientTag": ""
    }
  ],
  "deleteFaceInfos": [
    {
      "faceId": "xxxx"
    },
    {
      "faceId": "yyyy"
    }
  ],
  "isCleanAll": false,
  "isCleanAllGroup": false
}

上报已下发权限

云端通过此服务查询设备上的全量权限。一般情况下由SDK响应。

服务名

  • QueryAddedUserInfo 查询布控成功的人脸图

请求参数

  • GroupID: String(64) 人脸库组ID

响应参数

  • StoreID: String(2048) 人脸布控文件storeID

  • Type: Integer 类型

    • 0 - StoreID

    • 1 - FileName

    • 2 - URL

  • SyncPicStatus: Integer 查询添加用户信息的布控状态

    • 0 - 成功

    • 1 - 布控中

下面是StoreID指向的文件说明:

  • groupId:人脸分组ID;

  • currentFaceInfos:当前所有人脸信息列表

  • failedFaceInfos:最新一次人脸库同步中失败的人脸信息列表

注意:此数组中每个元素的内容和同步人脸库文件中addFaceInfos数组中的内容一致。

{
  "groupId": "egqQkuFBPgh8pltWiw1S000100",
  "currentFaceInfos": [
    {
      "faceId": "552f3570-4717-4a39-910b-d72542550001",
      "userInfo": "{\"userName\": \"Zhang San\", \"expire\": \"2020-12-31 23:59:59\"}",
      "faceMd5": "f6da8b54a927f32378792179193f2133",
      "index": 0,
      "clientTag": "Demo"
    },
    {
      "faceId": "552f3570-4717-4a39-910b-d72542550002",
      "userInfo": "{\"userName\": \"Li si\", \"expire\": \"2019-12-31 23:59:59\"}",
      "faceMd5": "36c36fa96920e45ca5f00334675484bc",
      "index": 2,
      "clientTag": "Demo"
    }
  ],
  "failedFaceInfos": [
    {
      "faceId": "552f3570-4717-4a39-910b-d72542552d89",
      "faceMd5": "36c36fa96920e45ca5f00334675484bc",
      "faceUrl": "",
      "userInfo": "{\"userName\": \"Xiao Wang\", \"expire\": \"2020-12-31 23:59:59\", \"policy\": \"DENY\", \"userExtInfo\": \"BLACKLIST\"}",
      "index": 0,
      "clientTag": ""
    }
  ]
}