com.aiwiown.face.domain.LiteTokenModel Maven / Gradle / Ivy
package com.aiwiown.face.domain;
import com.aiwiown.face.ApiObject;
import com.aiwiown.face.internal.mapping.ApiField;
import java.io.File;
/**
*
* Lite-GetToken
*
* LiteToken
* Date: 2020/4/23 0023
* Time: 14:01
*
* @author [email protected]
*/
public class LiteTokenModel extends ApiObject {
private static final long serialVersionUID = -7410079771391271494L;
/**
* 用户完成或取消验证后网页跳转的目标URL。(回调方法为Post)
*/
@ApiField("return_url")
private String returnUrl;
/**
* 用户完成验证、取消验证、或验证超时后,由FaceID服务器请求客户服务器的URL。(推荐为HTTPS页面,如果为HTTP则用户需要通过签名自行校验数据可信性,回调方法为Post)
*
* 注:出于安全性考虑,FaceID服务对服务器端回调端口有白名单要求,支持的端口有:443,5000,16003,8883,8028
*/
@ApiField("notify_url")
private String notifyUrl;
/**
* “默认为空”。客户业务流水号,建议设置为您的业务相关的流水串号并且唯一,会在return时原封不动的返回给您的服务器,以帮助您确认对应业务的归属。此字段不超过128字节。
*/
@ApiField("biz_no")
private String bizNo;
/**
* 在调用notify_url和return_url时会返回的额外数据,用户可以用此接口来传递一些额外信息,以帮助您调试和信息传递。此字段不超过4096字节。
*/
@ApiField("biz_extra_data")
private String bizExtraData;
/**
* 验证网页展示用的标题文字。此字段不超过32字节,但考虑到显示效果,建议控制在10个中文字符以内。
*
* 此参数默认为空,此时系统将采用默认的标题。
*
* 请注意,如果您设置了scene_id参数、或者在控制台里设置了默认的场景,它对应的场景配置将覆盖您此处的设定。
*/
@ApiField("web_title")
private String webTitle;
/**
* 在控制台配置的对应使用场景的scene_id,用以自定义验证流程中的视觉元素。
*
* 如果不传此参数,则选择在控制台中设置的默认scene;
*
* 如果控制台中没有设定任何scene,则采用系统默认方案;
*
* 如果传入了不存在的scene_id,调用将失败且返回错误码400(BAD_ARGUMENTS)。
*/
@ApiField("scene_id")
private String sceneId;
/**
* 刷脸活体验证流程的选择。目前仅取以下值:
*
* "video":通过自拍有声视频方式进行活体验证
* "selfie":通过两张自拍方式进行活体验证
* 本参数默认值为“video”。
*/
@ApiField("procedure_type")
private String procedureType;
/**
* 本参数可选,通过一系列配置项来调节活体检测的严格度。目前可用的选项有:
* “none”:表示没有特别的选项,此为默认值。
* "selfie_no_metadata_check":(仅precedure_type == “selfie”时有效)表示不限定照片格式为JPG、也不校验照片的元信息,此设置会降低安全性。
* "video_strict":(仅precedure_type == “video”时有效)表示针对上传的视频进行相对严格的活体检测,此设置会提高安全性,但在一定程度上影响通过率。
* 注意:设置其他值,均会返回400(BAD_ARGUMENTS)。
*/
@ApiField("liveness_preferences")
private String livenessPreferences;
/**
* 确定本次比对为“KYC验证”或“人脸比对”。取值只为“1”或“0”,取其他值返回错误码400(BAD_ARGUMENTS)。
* “1”表示KYC验证,表示最终的用户自拍照片将于参考照片比对。
* “0”表示人脸比对,FaceID将使用用户自己提供的照片(参数image_ref[x])作为比对人脸照。
*
* 请注意:
*
* 本参数影响验证流程中是否存在身份证拍摄环节:如果为“1”,则可选择包含身份证拍摄;如果为“0”,验证流程中将没有身份证拍摄。
* 本参数取什么值将决定下面“二选一”参数组使用哪一组参数。
*/
@ApiField("comparison_type")
private String comparisonType;
/**
* 传递参数“0”,“1”,“2”,“3”或“4”,表示获取用户身份证信息的方法。传递其他值调用将识别,返回错误码400(BAD_ARGUMENTS)。
*
* 0:不拍摄身份证,而是通过 idcard_name / idcard_number 参数传入;
*
* 1:仅拍摄身份证人像面,可获取人像面所有信息;
*
* 2:拍摄身份证人像面和身份证国徽面,可获取身份证所有信息;
*
* 3:不拍摄身份证,但会要求用户在界面上输入身份证号和姓名;
*
* 4:拍摄身份证人像面或用户输入身份证号和姓名,用户可在界面上自行选择身份证录入方法。注意:该参数只有在控制台中选择使用“浅色主题”时才生效,若未应用浅色主题而传入4,则返回错误码400(BAD_ARGUMENTS)。
*/
@ApiField("idcard_mode")
private String idcardMode;
/**
* 选择用户不可编辑的字段。当选择拍摄身份证来获取上面的文字信息时,会由于OCR算法的问题导致文字识别不准确(如:生僻字、形近字),通过该参数可以限制用户对识别得到的结果进行编辑。(如:身份证号的识别都是准确的,可以限制用户不能编辑此字段)。
*
* 目前可以选为不可修改的字段有 姓名(idcard_name),身份证号(idcard_number),身份证有效期(idcard_valid_date),签发机关(idcard_issued_by)。传递参数时用逗号隔开,可以同时设置多个参数。例子:idcard_uneditable_field=idcard_number,idcard_valid_date 表示身份证号和过期时间都不可编辑,如果尝试编辑则会提示需要重新拍摄。传入其他值或格式不对,本次调用将失败,返回错误码400(BAD_ARGUMENTS)。
*
* 本参数默认值为空,表示所有字段都可以编辑。
*
* 请注意,如果您设置了scene_id参数、或者在控制台里设置了默认的场景,它对应的场景配置里将覆盖您此处的设定。
*/
@ApiField("idcard_uneditable_field")
private String idcardUneditableField;
/**
* idcard_name, 需要KYC验证对象的姓名,使用UTF-8编码;
*
* idcard_mode = 0 时,这两个参数必须传;在其他情况下可以不传,即使传递了也不会使用。
*/
@ApiField("idcard_name")
private String idcardName;
/**
* idcard_number, 需要KYC验证对象的身份证号,也就是一个18位长度的字符串。
*/
@ApiField("idcard_number")
private String idcardNumber;
/**
* 多张由您自己提供的参照人脸照片。x表示此参数可重复多次,其中1 <= x <= 2,即表示可以传最多二张参照人脸照片(参数分别为image_ref1, image_ref2)。
*
* 如果在image_ref1、image_ref2中的任一张图片里没有找到人脸,将返回错误码400(NO_FACE_FOUND);
*
* 如果这些图片中任一张中有多张脸,将返回错误码400(MULTIPLE_FACES)。
*/
@ApiField(value = "image_ref1", isFile = true)
private File imageRef1;
/**
* 多张由您自己提供的参照人脸照片。x表示此参数可重复多次,其中1 <= x <= 2,即表示可以传最多二张参照人脸照片(参数分别为image_ref1, image_ref2)。
*
* 如果在image_ref1、image_ref2中的任一张图片里没有找到人脸,将返回错误码400(NO_FACE_FOUND);
*
* 如果这些图片中任一张中有多张脸,将返回错误码400(MULTIPLE_FACES)。
*/
@ApiField(value = "image_ref2", isFile = true)
private File imageRef2;
/**
* 如果用户不使用参考数据进行比对,则上传此字段,用于标志本次识别对应的用户的唯一ID,要求不长于128字节。建议您对来自同一用户的比对请求使用同样的ID,这非常有利于您反查验证结果以及获得更好的监控报表体验
*/
@ApiField("uuid")
private String uuid;
/**
* 决定对于image_ref[x]参数对应的图片,当检测不出人脸时,是否旋转90度、180度、270度后再检测人脸。本参数取值只能是 “1” 或 "0" ;
*
* 1:默认值,要旋转检测
* 0:不旋转
* 其他值:返回错误码400(BAD_ARGUMENTS)
*
* 注意:设置此参数为1可能会轻微增加误检人脸的概率,如果您明确您的业务场景里不存在非正向的人脸图片、或概率极低,建议勿设置此参数。
*/
@ApiField("multi_oriented_detection")
private String multiOrientedDetection;
/**
* 决定在活体检测结果中,是否进行云端假脸攻击判断,默认值为1。
*
* 1:在活体检测结果中,不进行云端假脸攻击判断(合成脸、面具攻击、屏幕翻拍),但返回假脸攻击具体分数。您可以根据自身业务需要,结合云端假脸攻击具体分数设计后续流程。
* 0:在活体检测结果中,判断云端假脸攻击情况。
* 注:活体检测结果,请参见“Lite-GetResult”返回值的“liveness_result”段落。
*/
@ApiField("fmp_mode")
private String fmpMode;
public String getReturnUrl() {
return returnUrl;
}
public void setReturnUrl(String returnUrl) {
this.returnUrl = returnUrl;
}
public String getNotifyUrl() {
return notifyUrl;
}
public void setNotifyUrl(String notifyUrl) {
this.notifyUrl = notifyUrl;
}
public String getBizNo() {
return bizNo;
}
public void setBizNo(String bizNo) {
this.bizNo = bizNo;
}
public String getBizExtraData() {
return bizExtraData;
}
public void setBizExtraData(String bizExtraData) {
this.bizExtraData = bizExtraData;
}
public String getWebTitle() {
return webTitle;
}
public void setWebTitle(String webTitle) {
this.webTitle = webTitle;
}
public String getSceneId() {
return sceneId;
}
public void setSceneId(String sceneId) {
this.sceneId = sceneId;
}
public String getProcedureType() {
return procedureType;
}
public void setProcedureType(String procedureType) {
this.procedureType = procedureType;
}
public String getLivenessPreferences() {
return livenessPreferences;
}
public void setLivenessPreferences(String livenessPreferences) {
this.livenessPreferences = livenessPreferences;
}
public String getComparisonType() {
return comparisonType;
}
public void setComparisonType(String comparisonType) {
this.comparisonType = comparisonType;
}
public String getIdcardMode() {
return idcardMode;
}
public void setIdcardMode(String idcardMode) {
this.idcardMode = idcardMode;
}
public String getIdcardUneditableField() {
return idcardUneditableField;
}
public void setIdcardUneditableField(String idcardUneditableField) {
this.idcardUneditableField = idcardUneditableField;
}
public String getIdcardName() {
return idcardName;
}
public void setIdcardName(String idcardName) {
this.idcardName = idcardName;
}
public String getIdcardNumber() {
return idcardNumber;
}
public void setIdcardNumber(String idcardNumber) {
this.idcardNumber = idcardNumber;
}
public File getImageRef1() {
return imageRef1;
}
public void setImageRef1(File imageRef1) {
this.imageRef1 = imageRef1;
}
public File getImageRef2() {
return imageRef2;
}
public void setImageRef2(File imageRef2) {
this.imageRef2 = imageRef2;
}
public String getUuid() {
return uuid;
}
public void setUuid(String uuid) {
this.uuid = uuid;
}
public String getMultiOrientedDetection() {
return multiOrientedDetection;
}
public void setMultiOrientedDetection(String multiOrientedDetection) {
this.multiOrientedDetection = multiOrientedDetection;
}
public String getFmpMode() {
return fmpMode;
}
public void setFmpMode(String fmpMode) {
this.fmpMode = fmpMode;
}
}