产品文档

实名认证服务

2024-05-16 02:38:46

personalAuth

描述

个人实名认证接口:包括身份信息认证-二要素核验、身份信息认证-人像核验、手机号信息认证-运营商二、三要素核验(简版)、银行卡认证-三、四要素核验(简版)

请求方式

POST

请求地址

https://cloudauth.jdcloud-api.com/v1/personal

请求参数

名称 类型 是否必需 默认值 描述
personalSpec PersonalSpec True

PersonalSpec

名称 类型 是否必需 默认值 描述
checkType Integer True 认证方式(0 银行卡四要素,1 银行卡三要素,2 姓名身份证二要素,3 人像三要素,4 手机号三要素, 25 手机号二要素)
0 提交姓名、身份证号、银行卡号、手机号,与其在银行开户时预留的信息进行比对,核验真实性
1 提交姓名、身份证号、银行卡号,与其在银行开户时预留的信息进行比对,核验真实性
2 提交姓名、身份证号,与其公安身份证信息进行比对,核验真实性
3 提交姓名、身份证号、人像图片,与其公安身份证信息进行比对,核验真实性
4 提交姓名、身份证号、手机号,与其在运营商开户时预留的信息进行比对,核验真实性
personalUser PersonalUser True 个人认证要素信息

PersonalUser

名称 类型 是否必需 默认值 描述
name String True 姓名
idCard String True 身份证号码
bankcard String False 银行卡号(银行卡三要素、四要素时必传)
mobile String False 手机号(手机号三要素、银行卡四要素时必传)
imgBase64 String False 人像图片(人像三要素时必传)

返回参数——成功

名称 类型 描述
result Result
requestId String 请求ID

Result

名称 类型 描述
authInfo AuthInfo

AuthInfo

名称 类型 描述
success Boolean 认证结果true 成功, false 失败(建议使用该字段作为认证结果判断)
hasException Boolean 是否有异常 true 有异常, false 无异常
code String 认证结果状态码
message String 1. 认证结果信息 2. 查询结果信息 3. 状态码信息
detail String 1. 认证结果信息 2. 查询结果信息(建议该字段作为日志保存打印即可)3. 计费标识(chargeFlag为1计费,chargeFlag为0不计费)

返回示例

{
    "requestId":"cn15p6o8w2p897ouctr7uqnrccpwsth4",
    "result":{
        "success":true,
        "hasException":false,
        "code":"ok",
        "message":"ok",
        "detail":"{\"chargeFlag\":\"1\",\"message\":\"认证通过\",\"orderNumber\":\"cn15p6o8w2p897ouctr7uqnrccpwsth4\"}"
    }
}

返回参数——失败

名称 类型 描述
error ServiceError
requestId String 请求ID

ServiceError

名称 类型 描述
code Integer 错误码
message String 错误描述
status String 状态码

返回示例

{
    "requestId":"cn17cooihc3mrhk8dkv6uh4s204srnp2",
    "error":{
        "code":3024,
        "message":"Authentication Failed: 识别失败",
        "status":""
    }
}

返回码

返回码 描述
200 OK
403 FAIL

示例代码

Java demo

public void test(){
        //1. 设置accessKey和secretKey
        String accessKeyId = "XXXXXXXXXXXXXXXXXX";
        String secretAccessKey = "XXXXXXXXXXXXXXXXXX";
        String gwApi = "cloudauth.cn-north-1.jdcloud-api.com";

        CredentialsProvider credentialsProvider = new StaticCredentialsProvider(accessKeyId, secretAccessKey);

        //2. 创建vmClient(注意:只在初始化时创建client 响应时间会更快,不需要每次请求都创建)
        CloudauthClient client = CloudauthClient.builder()
                .credentialsProvider(credentialsProvider)
                .environment(new Environment.Builder().endpoint(gwApi).build())
                .httpRequestConfig(new HttpRequestConfig.Builder()
                        .socketTimeout(20000)
                        .maxConnPerRoute(200)
                        .maxTotal(1000)
                        .validateAfterInactivity(2)
                        .connectionTimeout(20000)
                        .build())
                .build();
        client.getHttpConnectionParams().setParameter("http.socket.keepalive",true);

        // 3.创建请求
        /**
         * set 认证方式(0 银行卡四要素,1 银行卡三要素,2 姓名身份证二要素,3 人像三要素,4 手机号三要素)
         *      0 提交姓名、身份证号、银行卡号、手机号,与在银行开户时预留的信息比对
         *      1 提交姓名、身份证号、银行卡号,与在银行开户时预留的信息比对
         *      2 提交姓名、身份证号,与公安身份证信息比对
         *      3 提交姓名、身份证号、人像图片,与在运营商开户留的信息比对
         *      4 提交姓名、身份证号、手机号,与在运营商开户留的信息比对
         */
        // 个人信息
        PersonalUser user = new PersonalUser();
        user.setName(""); // 姓名
        user.setIdCard(""); // 身份证号码
        user.setBankcard(""); // 银行卡号(需要时再传)
        user.setMobile(""); //手机号(需要时再传)
        try{
            byte[] bytes = FileUtils.readFileToByteArray(new File("D:\\image.png"));
            user.setImgBase64(DatatypeConverter.printBase64Binary(bytes));  //人像图片大小5-150k(需要时再传)
        } catch (Exception e){
            System.out.println("base64 error");
        }

        PersonalSpec spec = new PersonalSpec();
        spec.setCheckType(2); // 认证类型
        spec.setPersonalUser(user);

        PersonalAuthRequest request = new PersonalAuthRequest();
        request.setPersonalSpec(spec);

        // 4.发送请求,返回结果
        PersonalAuthResponse response = client.personalAuth(request);

        //5. 处理响应
        System.out.println(new Gson().toJson(response));

    }

Golang demo

import (
	"fmt"
	"time"

	core "git.jd.com/jcloud-api-gateway/jcloud-sdk-go/core"
	cloudauth "git.jd.com/jcloud-api-gateway/jcloud-sdk-go/services/cloudauth/apis"
	client "git.jd.com/jcloud-api-gateway/jcloud-sdk-go/services/cloudauth/client"
	//models "git.jd.com/jcloud-api-gateway/jcloud-sdk-go/services/cloudauth/models"
)

func IntHelper(x int) *int {
	return &x
}

func StrHelper(x string) *string {
	return &x
}

func BoolHelper(x bool) *bool {
	return &x
}

func main() {
	accessKey := "XXXXXXXXXXXXXXXXXXXXXXXXXXXX"
	secretKey := "XXXXXXXXXXXXXXXXXXXXXXXXXXXX"
	credentials := core.NewCredentials(accessKey, secretKey)

	config := core.NewConfig()
	config.SetEndpoint("10.0.0.1:8000")
	config.SetScheme("http")
	config.SetTimeout(20 * time.Second)

	client := client.NewCloudauthClient(credentials)
	client.SetConfig(config)
// PersonalAuth 个人实名认证
	{
		user := PersonalUser{
			Name:     "京东云",
			IdCard:   "10234518981234",
			Bankcard: "6289873647576518651",
			Mobile:   "13333333333",
		}
		personalSpec := models.PersonalSpec{
			CheckType:    0,
			PersonalUser: user,
		}
		req := cloudauth.NewPersonalAuthRequest(personalSpec)
		if resp, err := client.PersonalAuth(req); err != nil {
			fmt.Println("error : ", err)
		} else {
			fmt.Println("resp : ", resp)
		}
	}
}
文档反馈

开始与售前顾问沟通

可直接拨打电话 400-098-8505转1

我们的产品专家为您找到最合适的产品/解决⽅案

在线咨询 5*8⼩时

1v1线上咨询获取售前专业咨询

点击咨询
企微服务助手

专业产品顾问,随时随地沟通