人脸对外接口

该部分描述SID应向应用提供的标准接口,以便外部应用调用,每个API需要携带认证参数,在请求头中,token获取token获取。标准接口如下:

1:1 认证

1:N 认证

增量同步照片

增量同步特征值

通过用户id和照片类型查询照片

检查照片质量

通过用户id list查询用户照片

上传照片

根据生物id获取用户信息(1.9 版本)

通过账号和照片类型查询单个用户照片特征值(1.9 版本)

一、1:1 认证接口(特征值或照片)

应用上传一张照片或特征值与 SID中保存的底库照片或特征值进行比对。

请求⽅式: POST(HTTPS或HTTP

请求地址: http://self.xxx.example.com/faceid/public/auth/compare/userId

请求类型: application/json;charset=utf-8

认证参数: Authorization: Bearer {token}

注:https方式类似。

请求参数:

使用特征值比对:

// 使用特征值比对参数如下:
{
    "featureB":"xTKzP.....ACAPw==",
    "userId" : "testface"
}

// 使用照片比对参数如下:
{
    "imageB":{
        "image":"/9j/4AAQSkZJRgAB......OMCuquxOVH//2Q==",
        "ext":"jpg"
    },
    "userId" : "testface"
}

参数说明:

参数 类型 是否必须 说明
userId String 用户的账号
featureB String 如传输imageB则不用传输此参数 照片的特征值
imageB 对象 如传输featureB则不用传输此参数 照片对象
image String 照片的base64
ext String 照片后缀

返回结果:

{
    "code": 200,
    "message": "OK",
    "data": {
        "userId": "testface",
        "image": "/group1/M00/00/09/rBEITl-XwYCAD1-MAAHfytyTzvE998.jpg",
        "score": 0.9973,
        "appScore": 0.63,
        "hasPass": true,
        "hasPermission": null
    }
}

参数说明:

参数 类型 说明
code int 返回状态code
message String 返回状态消息
data 自定义对象 返回值的自定义对象
userId String 用户账号
image String 照片对应的存储路径
score Double 相似值
appScore Double 厂商相似值标准
hasPass Boolean 照片是否通过

二、1:N 认证接口(特征值或照片)

应用上传一张照片或特征值,并在 SID中保存的底库照片或特征值进行比对,获取相似度最高的人的信息。

请求⽅式: POST(HTTPS或HTTP

请求地址: http://self.xxx.example.com/faceid/public/auth/search

请求类型: application/json;charset=utf-8

认证参数: Authorization: Bearer {token}

注:https方式类似。

请求参数:

{
    "feature":"xTKzP.....ACAPw==",//(与file二选一)
    "file":{ //(与feature二选一)
        "image":"/9j/4AAQSkZJRgAB......OMCuquxOVH//2Q==",
        "ext":"jpg"
    }
}

参数说明:

参数 类型 是否必须 说明
feature String 如传输file则不用传输此参数 照片的特征值
file 自定义对象 如传输feature则不用传输此参数 照片对象
image String 照片的base64
ext String 照片后缀

返回结果:

{
    "code": 200,
    "message": "OK",
    "data": {
        "userId": "testface",
        "image": "/group1/M00/00/09/rBEITl-XwYCAD1-MAAHfytyTzvE998.jpg",
        "score": 0.9973,
        "appScore": 0.63,
        "hasPass": true,
        "manyIds": [{
            "userId":"testface",
            "identityCode":"01"
        }],

    }
}

参数说明:

参数 类型 说明
code int 返回状态code
message String 返回状态消息
data 自定义对象 返回值的自定义对象
userId String 用户账号
image String 照片对应的存储路径
score Double 相似值
appScore Double 厂商相似值标准
hasPass Boolean 照片是否通过
manyIds 自定义对象 用户的所有身份信息
—userId String 所有身份信息的用户账号
—identityCode String 所有身份信息的身份code

三、增量同步照片接口(有水印或不加水印)

应用根据时间戳增量同步照片接口。

需要配置一下配置权限:应用->应用管理->应用配置修改页->人脸服务配置->比对生物数据类型(选择照片)

请求⽅式: POST(HTTPS或HTTP

请求地址: http://self.xxx.example.com/faceid/public/face/findIncreaseUserFaceImage

请求类型: application/json;charset=utf-8

认证参数: Authorization: Bearer {token}

注:https方式类似。

请求参数:

{
    "currentPage": 1,
    "timeStamp": 2,
    "pageSize": 10,
    "types": [
        "100"
    ]
}

参数说明:

参数 类型 是否必须 说明
currentPage int 分页页码
pageSize int 分页每页大小
timeStamp long 应用上次同步照片的时间。SID从该时间戳以后开始同步照片
types List 照片类型code

返回结果:

{
    "code": 200,
    "message": "OK",
    "data": {
        "pageSize": 10,
        "pageNum": 1,
        "totalAmount": 3,
        "results": [
            {
                "userId": "james",
                "faceId": "5f70993cecf37300063840c2",
                "imageUrl": "/group1/M00/00/05/rBEITl9wmT2AGYY7AADBdIqeHWk671.jpg",
                "timeStamp": 1603768753929,
                "face": [
                    {
                        "type": "100",
                        "image": "/9j/4AAQS......RghD83GR//Z",
                        "fileName": "rBEITl9wmT2AGYY7AADBdIqeHWk671.jpg",
                        "updateTime": 1601214816398,
                        "clientIsAuthorization":true
                    }
                ],
                "deleted": false,
                "clientIsAuthorization":true
            },
            {
                "userId": "5f86c39d9d72dd0006678544",
                "faceId": "5f86c3dfebd1ae000631fa04",
                "imageUrl": "/group1/M00/00/07/rBEITl-Gw-CALhSGAAFlVfs2oiA611.jpg",
                "timeStamp": 1603768052435,
                "face": [
                    {
                        "type": "100",
                        "image": "/9j/4AAQSkZJRgAB......OMCuquxOVH//2Q==",
                        "fileName": "rBEITl-Gw-CALhSGAAFlVfs2oiA611.jpg",
                        "updateTime": 1607937942726,
                        "clientIsAuthorization":true
                    }
                ],
                "deleted": true,
                "clientIsAuthorization":true
            }
        ]
    }
}

参数说明:

参数 类型 说明
code int 返回状态code
message String 返回状态消息
data 自定义对象 返回值的自定义对象
pageSize int 分页每页长度
pageNum int 分页页码
totalAmount int 需要同步照片的人员总数
results.userId String 账号
results.faceId String 用户id
results.imageUrl String 回显照片的存储路径
results.timeStamp long 照片变动时间戳(毫秒)
results.deleted boolean 照片是否被删除。 true=删除,false=新增或修改
results.clientIsAuthorization boolean 客户端是否授权应用使用人脸照片,true为授权使用,false为拒绝使用,如果为false,则imageUrl字段为空
results.face.type String 照片类型code
results.face.image String 照片base64
results.face.fileName String 照片名称
results.face.updateTime long 照片上传时间
results.face.clientIsAuthorization boolean 客户端是否授权应用使用人脸照片,true为授权使用,false为拒绝使用,如果为false,则image、fileName字段为空

注:照片类型code: 底库照片=100 (支持字符串 01),生活照=201,职业照=202。

四、增量同步特征值接口

应用根据时间戳增量同步特征值接口。

需要配置一下配置权限:应用->应用管理->应用配置修改页->人脸服务配置->比对生物数据类型(选择特征值)

请求⽅式: POST(HTTPS或HTTP

请求地址: http://self.xxx.example.com/faceid/public/face/findIncreaseUserFace

请求类型: application/json;charset=utf-8

认证参数: Authorization: Bearer {token}

注:https方式类似。

请求参数:

{
    "currentPage":1,
    "pageSize":100,
    "timeStamp":0
}

参数说明:

参数 类型 是否必须 说明
currentPage int 分页页码
pageSize int 分页每页大小
timeStamp long 应用上次同步照片的时间。SID从该时间戳以后开始同步照片

返回结果:

{
    "code": 200,
    "message": "OK",
    "data": {
        "pageSize": 100,
        "pageNum": 1,
        "totalAmount": 1,
        "orders": null,
        "results": [
            {
                "userId": "testface",
                "imageUrl": "/group1/M00/00/09/rBEITl-XkxaAIRZjAAFRPYtJz1g042.jpg",
                "timeStamp": 1603769154390,
                "images": [
                    {
                        "feature": "1utfPYb5ur2ADCg97r......ACAPw==",
                        "type": "100",
                        "totalSource": 0.68,
                        "updateTime": 1603769129918,
                        "clientIsAuthorization":true
                    }
                ],
                "deleted": false,
                "clientIsAuthorization":true
            }
        ]
    }
}

参数说明:

参数 类型 说明
code int 返回状态code
message String 返回状态消息
data 自定义对象 返回值的自定义对象
pageSize int 分页每页长度
pageNum int 分页页码
totalAmount int 照片总数
results.userId String 账号
results.imageUrl String 回显照片的存储路径
results.timeStamp long 特征值变动时间戳(毫秒)
results.deleted boolean 照片是否被删除。true=删除,false=新增或修改
results.clientIsAuthorization boolean 客户端是否授权应用使用人脸照片,true为授权使用,false为拒绝使用,如果为false,则imageUrl字段为空
results.images List<自定义对象> 照片信息。无值时返回null
results.images.type String 照片类型code
results.images.feature String 照片特征值
results.images.updateTime long 照片特征值更新时间
results.images.totalSource Double 照片总分
results.images.clientIsAuthorization boolean 客户端是否授权应用使用人脸照片,true为授权使用,false为拒绝使用,如果为false,则feature、totalSource

注:照片类型code: 底库照片=100,生活照=201,职业照=202。

五、通过用户id和照片类型查询照片

1、返回照片路径

通过用户id和照片类型查询照片返回照片路径。

请求⽅式: POST(HTTPS或HTTP

请求地址: http://self.xxx.example.com/faceid/public/face/searchFaceByUserIdAndType

请求类型: application/json;charset=utf-8

认证参数: Authorization: Bearer {token}

注:https方式类似。

请求参数:

{
    "userId" : "testface",
    "type":100
}

参数说明:

参数 类型 是否必须 说明
userId String 账号
type int 照片分类code,100:正面照, 201:生活照, 202:职业照, 300:学信网照片

返回结果:

{
    "code": 200,
    "message": "OK",
    "data": {
        "userId": "testface",
        "path": "/group1/M00/00/09/rBEITl-XwYCAD1-MAAHfytyTzvE998.jpg",
        "updatedTime": 1687155232327,
        "clientIsAuthorization":true
    }
}

参数说明:

参数 类型 说明
code int 返回状态code
message String 返回状态消息
data 自定义对象 返回值的自定义对象
userId String 账号
path String 照片在存储上的路径
updatedTime Long 更新日期时间戳
clientIsAuthorization boolean 客户端是否授权应用使用人脸照片,true为授权使用,false为拒绝使用,如果为false,则path字段为空

注:照片类型code: 底库照片=100,生活照=201,职业照=202。

2、返回照片base64

通过用户id和照片类型查询照片返回照片的base64。

请求⽅式: POST(HTTPS或HTTP

请求地址: http://{server}/faceid/public/face/searchFaceByUserIdAndTypeImage

请求类型: application/json;charset=utf-8

认证参数: Authorization: Bearer {token}

注:https方式类似。

请求参数:

{
    "userId" : "testface",
    "type":100
}

参数说明:

参数 类型 是否必须 说明
userId String 账号
type String 照片分类code

返回结果:

{
    "code": 200,
    "message": "OK",
    "data": {
        "userId": "testface",
        "path": "/group1/M00/00/09/rBEITl-XwYCAD1-MAAHfytyTzvE998.jpg",
        "image": "/9j/4AAQ.....YbGf/Z",
        "updatedTime": 1687155232327,
        "clientIsAuthorization":true
    }
}

参数说明:

参数 类型 说明
code int 返回状态code
message String 返回状态消息
data 自定义对象 返回值的自定义对象
userId String 账号
path String 照片在存储上的路径
image String 照片base64
updatedTime Long 更新日期时间戳
clientIsAuthorization boolean 客户端是否授权应用使用人脸照片,true为授权使用,false为拒绝使用,如果为false,则path、image字段为空

注:照片类型code: 底库照片=100,生活照=201,职业照=202。

六、检查照片质量

检查照片质量。

请求⽅式: POST(HTTPS或HTTP

请求地址: http://self.xxx.example.com/faceid/public/face/quality

请求类型: application/json;charset=utf-8

认证参数: Authorization: Bearer {token}

注:https方式类似。

请求参数:

{
    "file" : {
        "image":"/9j/4AAQ......EQBERAf/Z",
        "ext":"jpg"
    }
}

参数说明:

参数 类型 是否必须 说明
file.image String 照片base64
file.ext String 照片后缀

返回结果:

{
    "code": 200,
    "message": "OK",
    "data": {
        "qualityScores": "0.7168,0.5429,0.0000,0.0002,0.9148,0.5352,0.0008,0.9664,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,-1.3611,4.4754,-2.4668,137.0000,327.0000,284.0000,284.0000,1.0000,0.9830,0.8736,0.0000,0.0000,0.0000,0.0000,4c0c864175cc13c0526e021f798fa3cf",
        "scores": [
            0.63,
            0.51,
            0.0
        ],
        "scoresInfo": [
            {
                "position": 1,
                "explain": "总分"
            },
            {
                "position": 2,
                "explain": "光照分"
            },
            {
                "position": 3,
                "explain": "口罩分"
            }
        ],
        "manufactureName": "云从",
        "isQualified": true,
        "unqualifiedReason": ""
    }
}

参数说明:

参数 类型 说明
code int 返回状态code
message String 返回状态消息
data 自定义对象 返回值的自定义对象
qualityScores String 照片质量分
scores List 照片质量分合格标准
scoresInfo List<自定义对象> 表明每个位置的质量分含义
manufactureName String 厂商名称
isQualified boolean 照片是否符合标准
unqualifiedReason String 不符合标准的原因

注:qualityScores 字符串中的各类分数是根据 “,”(逗号)隔开的。计算总分是否合格的方法如下:

根据 scoresInfo获取总分的位置(position)为 1。然后在质量分(qualityScores)中获取第一位分数为 0.7168,在 合格标准中(scores) 获取总分标准为 0.63。因为 0.7168 > 0.63, 所以质量合格。

七、通过用户id list查询用户照片

通过用户id list查询用户照片。当用户(userIds) 长度超过10个时,取前10个用户的账号返回

请求⽅式: POST(HTTPS或HTTP

请求地址: http://self.xxx.example.com/faceid/public/face/findAllImageBase64ByUserIds

请求类型: application/json;charset=utf-8

认证参数: Authorization: Bearer {token}

注:https方式类似。

请求参数:

{
    "userIds": ["testface"],
    "types": ["100"]
}

参数说明:

参数 类型 是否必须 说明
userIds List 账号
types List 照片分类code, 100:正面照, 201:生活照, 202:职业照, 300:学信网照片

返回结果:

{
    "code": 200,
    "message": "OK",
    "data": [
        {
            "userId": "testface",
            "imageUrl": "/group1/M00/00/09/rBEITl-XwYCAD1-MAAHfytyTzvE998.jpg",
            "clientIsAuthorization":true,
            "userFaceFileDtos": [
                {
                    "type": "100",
                    "image": "/9j/4AAYXk...../2OEQdm5gYbGf/Z",
                    "fileName": "rBEITl-XwYCAD1-MAAHfytyTzvE998.jpg",
                    "timeStamp": 0,
                    "clientIsAuthorization":true
                }
            ]     
        }
    ]
}

参数说明:

参数 类型 说明
code int 返回状态code
message String 返回状态消息
data 自定义对象 返回值的自定义对象
userId String 账号
imageUrl String 回显照片的存储路径
clientIsAuthorization boolean 客户端是否授权应用使用人脸照片,true为授权使用,false为拒绝使用,如果为false,则imageUrl字段为空
userFaceFileDtos.type String 照片类型
userFaceFileDtos.timeStamp long 照片变动时间戳(毫秒)
userFaceFileDtos.image String 照片base64
userFaceFileDtos.clientIsAuthorization boolean 客户端是否授权应用使用人脸照片,true为授权使用,false为拒绝使用,如果为false,则image、fileName字段为空

注:照片类型code: 底库照片=100,生活照=201,职业照=202。

八、上传照片(通过类型+用户id)

上传照片(通过类型+用户id)。

请求⽅式: POST(HTTPS或HTTP

请求地址: http://self.xxx.example.com/faceid/public/face/image

请求类型: application/json;charset=utf-8

认证参数: Authorization: Bearer {token}

注:https方式类似。

请求参数:

{
    "ext":"jpg",
    "type":100,
    "userId":"2009082",
    "image":"/9j/4AAQS....Gf/Z"
}

参数说明:

参数 类型 是否必须 说明
userId String 账号
type int 照片分类code,100:正面照, 201:生活照, 202:职业照, 300:学信网照片
ext String 照片后缀
image String 照片base64编码

返回结果:

{
    "code": 200,
    "message": "OK",
    "data": {
        "userId": "2009082",
        "path": "/group1/M00/00/18/rBEITl-iGcOAd-uEAAHfytyTzvE908.jpg"
    }
}

参数说明:

参数 类型 说明
code int 返回状态code
message String 返回状态消息
data 自定义对象 返回值的自定义对象
userId String 账号
path String 上传照片的存储路径

注:照片类型code: 底库照片=100,生活照=201,职业照=202。

九、根据生物id获取用户信息(1.9 版本)

请求地址: http://self.xxx.example.com/faceid/public/face/getUserByBiologyId/{userBiologyId}

请求方式: GET

请求类型: application/json;charset=utf-8

认证参数: Authorization: Bearer {token}

功能说明: 更新远程接口用户,具体根据业务定义标准接口

返回参数:

请求参数支持标准定义,可以根据实际需要自由选取和自定义参数名字。

参数 类型 必须 说明
xm string true 姓名
idcard string true 身份证件号
sfzjlxm string true 身份证件类型,1 居民身份证 、15 港澳居民来往内地通行证、16 港澳居民居住证、17 台湾居民居住证、8 台湾居民来往内地通行证、A 护照
identityInfo array true 身份信息
└─GH string true 工号
└─SFLBDM string true 身份类别代码
└─SFYXQQS string true 身份有效期(起始)
└─SFYXQJZ string true 身份有效期(截至)
└─GLRYZT string true 管理人员状态 01 待报备、02 在职、03 延聘、04 待岗、05 长病假、06 因公出国、07 停薪留职、08 离职、09 辞职、10 开除、11 退休 、12 离休
└─FWRYZT string true 服务人员状态 01 待报备、02 在职、03 延聘、04 待岗、05 长病假、06 因公出国、07 停薪留职、08 离职、09 辞职、10 开除、11 退休 、12 离休
└─FKZT string true 访客状态
└─LSRYZT string true 临时人员状态
└─SZDWGWMC array true 所在单位
└──code string true 编号
└──name string true 名称

请求实例:

http://self.xxx.example.com/faceid/public/face/getUserByBiologyId/61397e1c3404670006021472

响应实例: http state code 200为正常

{
    "code": 200,
    "message": "OK",
    "data": {
        "xm":"汪淼",
        "idcard":"4123559412341234",
        "sfzjlxm":"1",
        "identityInfo":[
            {
                "GH": "YG0001",
                "SFLBDM": "02",
                "LSRYZT": "04",
                "SFYXQQS": 1633000343948,
                "SFYXQJZ": 1633086745915,
                "FWRYZT": null,
                "GLRYZT": null,
                "FKZT": null,
                "SZDWGWMC": [
                    {
                    "code": "01",
                    "name": "管理部"
                    }
                ]
            },
            {
                "GH":"0120212035",
                "SFLBDM":"01",
                "LSRYZT": null,
                "SFYXQQS": 1633000343948,
                "SFYXQJZ": 1633086745915,
                "FWRYZT": null,
                "GLRYZT": null,
                "FKZT": null,
                "SZDWGWMC": [
                    {
                    "code": "01",
                    "name": "管理部"
                    }
                ]
            },
        ],

    }
}

十、通过账号和照片类型查询单个用户照片特征值(1.9 版本)

照片类型code: 正面照片=100 请求地址: http://self.xxx.example.com/faceid/public/face/getFeatureByUserId

请求方式: POST

请求类型: application/json;charset=utf-8

认证参数: Authorization: Bearer {token}

注:https方式类似。

请求参数:

{
    "userId" : "testface",
    "type":100
}

参数说明:

参数 类型 是否必须 说明
userId String 账号
type int 照片分类code

返回结果:

{
    "code": 200,
    "message": "OK",
    "data": [
        {
            "userId": "testface",
            "feature": "DwmPv5KhiL/w9P4+C4mSPzI8AL9sNls/nlGOv6aji7",
            "userBiologyId":"6386c7a979edc100015fda9c",
            "clientIsAuthorization":true

        }
    ]
}

如果特征值数据为空则返回
{
    "code": 204,
    "message": "No Content",
    "data": null
}

参数说明:

参数 类型 说明
code int 返回状态code
message String 返回状态消息
data 自定义对象 返回值的自定义对象
userId String 账号
feature String 照片特征值
userBiologyId String 用户生物id
clientIsAuthorization boolean 客户端是否授权应用使用人脸照片,true为授权使用,false为拒绝使用,如果为false,则feature字段为空

接口调用失败请查看开发指南-Token与Api调用失败须知

©2020 锐捷网络股份有限公司 all right reserved,powered by Gitbook该文章修订时间: 2025-02-18 14:26:08

results matching ""

    No results matching ""