人脸比对

人脸对比服务api文档

环境域名

  • 生产环境:https://apigate.glodon.com/sabiofaceapi

接口鉴权

AECore 鉴权,所有接口的 HTTP Header 增加 token 请求头。

::: tip 注意
先采取固定 token 的方式便于集成联调,token 固定为 cn-24b92d2f-66cc-45d2-8e8b-e08916bca2d62
例如 addHeader(“authorization”, “Bearer cn-24b92d2f-66cc-45d2-8e8b-e08916bca2d62”)
具体token鉴权规则请参考AECore token 鉴权规则
:::

创建分组

功能描述

  • 创建人脸库分组,分组名称不能重复添加。
    请求的uri

  • /api/v1/face-set

请求的方式

  • POST
  • application/json

请求param参数:

名称 类型 是否必选 示例值 描述
setId String bumen 人脸库分组名称。支持小写字母、数字和下划线的组合,长度为2~64。

请求参数示例:

    {
    	"setId":"test"
	}

返回的数据:

{
    "code": 200,
    "message": "成功",
    "data": {
        "setId": "test"
    }
}

删除分组

功能描述

  • 删除人脸库分组,连带人脸信息也会被删除。

请求的uri

  • /api/v1/face-set/:setId

请求的方式

  • DELETE

请求param参数:

返回的数据:

{
    "code": 200,
    "message": "成功",
    "data":{
        "setId": "test"
    }
}

人员人脸注册

功能描述

  • 注册人脸。

请求的uri

  • /api/v1/face

请求的方式

  • POST
  • application/json

请求param参数:

名称 类型 是否必选 示例值 描述
setId String bumen 人脸库分组名称。支持小写字母、数字和下划线的组合,长度为2~64。
entityId String u1 实体ID,用来标识用户的唯一性,如用户ID、员工ID等。每个用户下面会包含多张人脸图片。支持大小写字母、数字、下划线、减号的组合,长度为2~64。
imageUrl String http://xxx.com/xx.jpg 注册人脸照片网络路径,与 base64Content 不能同时为空,优先使用 imageUrl 字段。
base64Content String base64编码的人脸照片内容,与 imageUrl不能同时为空,优先使用 imageUrl 字段。
extraData String {“roles”: [“a”]} 自定义json信息

请求参数示例:

{
    "entityId": "duangduang",
    "setId": "test",
    "imageUrl": "https://sjzn-cv-data/face-test.jpg",
    "base64Content": ""
}

返回的数据:

{
    "code": 200,
    "message": "成功",
    "data": {
        "entityId": "duangduang",
        "faceId": "813d11e5-6d1a-4f90-a697-7b885d709a62"
    }
}

人脸底图比对

功能描述

  • 对比人脸。

请求的uri

  • /api/v1/face/compare

请求的方式

  • POST
  • application/json

请求param参数:

名称 类型 是否必选 示例值 描述
setId String bumen 人脸库分组名称。支持小写字母、数字和下划线的组合,长度为2~64。
entityId String u1 实体ID,用来标识用户的唯一性,如用户ID、员工ID等。每个用户下面会包含多张人脸图片。支持大小写字母、数字、下划线、减号的组合,长度为2~64。
imageUrl String http://xxx.com/xx.jpg 注册人脸照片网络路径,与 base64Content 不能同时为空,优先使用 imageUrl 字段。
base64Content String base64编码的人脸照片内容,与 imageUrl不能同时为空,优先使用 imageUrl 字段。

请求参数示例:

{
    "entityId":"duangduang",
    "setId":"itservice",
    "imageUrl":"",
    "base64Content":"/9j/2wCEAAEBAQEBAQIBAQIDAgIBaAP/2Q=="
}

返回的数据:

{
    "code": 200,
    "message": "成功",
    "data": {
        "confidence": 0.74563435,
        "extraData": null,
        "faceId": "095be609-9ca6-4a02-b9e9-d11acddfd603",
        "faceUrl": "https://sjzn-cv-data/face-test.jpg"
    }
}

修改人脸归属分组

功能描述

  • 修改人脸归属到哪个人脸库分组(从分组n移动到分组m)

请求的uri

  • /api/v1/face/move

请求的方式

  • PUT
  • application/json

请求param参数:

名称 类型 是否必选 示例值 描述
setId String bumen 人脸库分组名称。支持小写字母、数字和下划线的组合,长度为2~64。
entityId String u1 实体ID,用来标识用户的唯一性,如用户ID、员工ID等。每个用户下面会包含多张人脸图片。支持大小写字母、数字、下划线、减号的组合,长度为2~64。
faceId String lkjfiwejld 人脸ID,如果传递该参数则修改指定的人脸数据,如果不传那么对实体下的所有人脸进行操作。

请求参数示例:

{
    "entityId":"duangduang",
    "setId":"itservice2",
    "faceId":"c999faba-6204-4e0c-9c4a-ac2ad19c28da"
}

返回的数据:

{
    "code": 200,
    "message": "成功",
    "data": {}
}

删除人脸

功能描述

  • 删除人脸,当不传faceId时表示删除人员所有人脸。

请求的uri

  • /api/v1/face/:faceId?entityId=:entityId
  • /api/v1/face?entityId=:entityId

请求的方式

  • DELETE

请求param参数:

名称 类型 是否必选 示例值 描述
setId String bumen 人脸库分组名称。支持小写字母、数字和下划线的组合,长度为2~64。
faceId String lkjfiwejld 人脸ID,如果传递该参数则修改指定的人脸数据,如果不传那么对实体下的所有人脸进行操作。

返回的数据:

{
    "code": 200,
    "message": "成功",
    "data":{
        "faceId": "face_0001"
    }
}

删除实体

功能描述

  • 删除实体(含人脸)。

请求的uri

  • /api/v1/entity/:entityId

请求的方式

  • DELETE

请求param参数:

返回的数据:

{
    "code": 200,
    "message": "成功",
    "data":{
        "entityId": "person_0001"
    }
}

实体关联人脸信息查询

功能描述

  • 查询entityId下注册的所有人脸信息 。

请求的uri

  • /api/v1/entity/:entityId/face

请求的方式

  • GET
  • application/x-www-form-urlencoded

请求param参数:

名称 类型 是否必选 示例值 描述
entityId String kesq 实体ID,用来标识用户的唯一性,如用户ID、员工ID等。每个用户下面会包含多张人脸图片。支持大小写字母、数字、下划线、减号的组合,长度为2~64。

返回的数据:

{
    "code": 200,
    "message": "成功",
    "data": {
        "entity_id": "ec60a464-3b36-481c-9868-fe2003dd1681",
        "face_data": [
            {
                "create_time": 1602657508103,
                "face_id": "178f5346-6566-4bf9-b167-14c670c7c44a",
                "set_id": "itservice"
            },...
        ]
    }
}

查询所有实体

功能描述

  • 查询当前账号下的所有实体 。

请求的uri

  • /api/v1/entity

请求的方式

  • GET
  • application/x-www-form-urlencoded

请求param参数:

返回的数据:

{
    "code": 200,
    "message": "成功",
    "data": {
        "entityIds": [
            "1dad00e2-ece2-4320-bc3c-1aaeb5b7076b",
            "ec60a464-3b36-481c-9868-fe2003dd1681"
        ]
    }
}

查询所有分组id

功能描述

  • 查询当前账号下的所有分组id列表 。

请求的uri

  • /api/v1/face-set

请求的方式

  • GET
  • application/x-www-form-urlencoded

请求param参数:

返回的数据:

{
    "code": 200,
    "message": "成功",
    "data": {
        "setIds": [
            "liuzhen",
            "test001"
        ]
    }
}

返回值代码

功能描述

  • 人脸服务返回的错误代码表 。
HTTP Status code message data 描述
401 401 未授权 相应的错误提示 客户端未授权
400 400 参数错误 相应的错误提示 客户端访问参数错误
500 500 系统错误 相应的错误提 客户端访问系统错误
200 200 正常 相应结果 正常处理

前置准备

1.创建应用

登录AECORE,并创建应用,创建应用后即可获取appkey、appsecret,这是调用服务的秘钥请妥善管理。

::: tip 注意

创建应用前请先注册并登录AECORE。
任何个人和企业可以在AECORE注册成为开发者,如果之前有广联达账号,可以直接登录。公司内部员工请统一使用公司邮箱注册

:::

● 创建应用

● 填写应用信息

应用名称:应用中文名称,可修改;

应用标识:应用的英文名称,唯一且创建后不可变更。

点击“确定”按钮,创建应用,进行应用信息页面,如下图所示

2.开通订阅本服务

应用创建后选择并开通本服务,申请应用scope