身份证实名校验认证

身份证二要素实名认证,通过身份证与姓名验证是否相符,并同时返回用户性别、生日、身份证注册地。后台系统有多个冗余渠道,系统根据监控自动切换渠道,以保证最大冗余,提高成功率。

使用期限

价格

1
购买人数:27
交付方式:API交付

规格与周期

1.00元/3次”,“一年

交付方式:API交付

联系电话

服务保障

服务商严选入驻
便捷支付 对公转账
5天无理由退款
自主开票 轻松报账

身份证实名校验认证

操作系统:https://service-ig2xnu0f-1255468759.ap-shanghai.apigateway.myqcloud.com/release/idcard

请求方式:GET

返回类型:JSON

API调用: API调用说明(secret_id & secret_key)

去调试

请求参数(Headers)

名称
类型
是否必须
描述
暂无数据

请求参数(Qurey)

名称
类型
是否必须
描述
idcard
string
身份证号,测试时注意不要填错,填错一样扣减使用次数
name
string
姓名,测试时注意不要填错,填错一样扣减使用次数

请求参数(Body)

名称
类型
是否必须
描述
暂无数据

请求示例

import urllib2, ssl, datetime, hmac, base64, hashlib

host = 'service-ig2xnu0f-1255468759.ap-shanghai.apigateway.myqcloud.com'
url = 'https://service-ig2xnu0f-1255468759.ap-shanghai.apigateway.myqcloud.com/release'
path = '/idcard'
querys = ''
querys += 'idcard=&name='
source = 'source'
method ='GET'
GMT_FORMAT = '%a, %d %b %Y %H:%M:%S GMT'

#云市场分配的密钥Id
SecretId='xxx'
#云市场分配的密钥Key
SecretKey='xxx'
dateTime = datetime.datetime.utcnow().strftime(GMT_FORMAT)
auth = "hmac id=\"" + SecretId + "\", algorithm=\"hmac-sha1\", headers=\"date source\", signature=\""
signStr = "date: " + dateTime + "\n" + "source: " + source
sign = hmac.new(SecretKey, signStr, hashlib.sha1).digest()
sign = base64.b64encode(sign)
sign = auth + sign + "\""

bodys = {}
url = url + path + '?' + querys
request = urllib2.Request(url)

request.add_header('Authorization', sign)
request.add_header('Host', host)
request.add_header('Source', 'source')
request.add_header('Date', dateTime)
request.add_header('X-Requested-With', 'XMLHttpRequest')
ctx = ssl.create_default_context()
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE
response = urllib2.urlopen(request, context=ctx)
content = response.read()
if (content):
	print(content)
curl -v -X GET https://service-ig2xnu0f-1255468759.ap-shanghai.apigateway.myqcloud.com/release/idcard ?idcard=&name=-H 'Host:service-ig2xnu0f-1255468759.ap-shanghai.apigateway.myqcloud.com' -H 'Source:source' -H 'Date:Mon, 19 Mar 2018 12:08:40 GMT' -H 'Authorization:hmac id = "AKIDi6qE41WgJ9w8h4h9zq68Vq24d1beIuN0qIwU", algorithm = "hmac-sha1", headers = "date source", signature = yMCxXNytW5nvVGNZ8aBtRxmiLJ4=' -H 'X-Requested-With:XMLHttpRequest' 
//请用云市场分配给您的密钥计算签名并放入请求头,Date为当前的GMT时间
<?php
$host = 'service-ig2xnu0f-1255468759.ap-shanghai.apigateway.myqcloud.com';
$url = 'https://service-ig2xnu0f-1255468759.ap-shanghai.apigateway.myqcloud.com/release';
$path = '/idcard';
$method = 'GET';
$source = 'source';

#云市场分配的密钥Id
$SecretId = 'xxx';
#云市场分配的密钥Key
$SecretKey = 'xxx';
$dateTime = gmdate('D, d M Y H:i:s T');
$auth = 'hmac id="' . $SecretId . '", algorithm="hmac-sha1", headers="date source", signature="';
$signStr = 'date: ' . $dateTime . "\n" . 'source: ' . $source;
$sign = base64_encode(hash_hmac('sha1', $signStr, $SecretKey, true));
$sign = $auth . $sign . '"';

$querys = "idcard=&name=";
$url = $url . $path . "?" . $querys;

$headers = array(
    "Host: $host",
    'Accept: text/html, */*; q=0.01',
    "Source: $source",
    "Date: $dateTime",
    "Authorization: $sign",
    'X-Requested-With: XMLHttpRequest',
    'Accept-Encoding: gzip, deflate, sdch'
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
$data = curl_exec($ch);
if (curl_errno($ch)) {
    echo "Error: " . curl_error($ch);
} else {
    // Show me the result
    var_dump($data);
    curl_close($ch);
}
using System.IO;
using System.Text;
using System.Net;
using System.Net.Security;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;
using System;

public class CsharpTest
{
    public static String HMACSHA1Text(String EncryptText, String EncryptKey)
    {
            HMACSHA1 hmacsha1 = new HMACSHA1();
            hmacsha1.Key = System.Text.Encoding.UTF8.GetBytes(EncryptKey);

            byte[] dataBuffer = System.Text.Encoding.UTF8.GetBytes(EncryptText);
            byte[] hashBytes = hmacsha1.ComputeHash(dataBuffer);
            return Convert.ToBase64String(hashBytes);
    }

    public static void Main(String[] args)
    {
        String url = "https://service-ig2xnu0f-1255468759.ap-shanghai.apigateway.myqcloud.com/release";
        String host = "service-ig2xnu0f-1255468759.ap-shanghai.apigateway.myqcloud.com";
        String path = "/idcard";
        String method = "GET";
        String querys = "idcard=&name=";
        String source = "source";

        //云市场分配的密钥Id
        String  secretId = "xxx";
        //云市场分配的密钥Key
        String  secretKey = "xxx";

        String dt = DateTime.UtcNow.GetDateTimeFormats('r')[0]; //Mon, 19 Mar 2018 12:00:44 GMT
        url = url + path + "?" + querys;

        String signStr = "x-date: " + dt + "\n" + "source: " + source;
        String sign = HMACSHA1Text(signStr, secretKey);

        String auth = "hmac id=\"" + secretId + "\", algorithm=\"hmac-sha1\", headers=\"x-date source\", signature=\"";
        auth = auth + sign + "\"";
        Console.WriteLine(auth + "\n");

        HttpWebRequest httpRequest = null;
        HttpWebResponse httpResponse = null;

        if (url.Contains("https://"))
        {
            ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
            httpRequest = (HttpWebRequest)WebRequest.CreateDefault(new Uri(url));
        }
        else
        {
            httpRequest = (HttpWebRequest)WebRequest.Create(url);
        }

        httpRequest.Method = method;
        httpRequest.Headers.Add("Authorization", auth);
        httpRequest.Headers.Add("Source", source);
        httpRequest.Headers.Add("X-date", dt);

        try
        {
            httpResponse = (HttpWebResponse)httpRequest.GetResponse();
        }
        catch (WebException ex)
        {
            httpResponse = (HttpWebResponse)ex.Response;
        }

        Console.WriteLine(httpResponse.StatusCode);
        Console.WriteLine(httpResponse.Headers);
        Stream st = httpResponse.GetResponseStream();
        StreamReader reader = new StreamReader(st, Encoding.GetEncoding("utf-8"));
        Console.WriteLine(reader.ReadToEnd());
        Console.WriteLine("\n");

    }

    public static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
    {
        return true;
    }
}
package main

import (
	"time"
	"fmt"
	"crypto/hmac"
	"crypto/sha1"
	"io"
	"io/ioutil"
	"encoding/base64"
	"net/http"
)


func calcAuthorization(source string, secretId string, secretKey string) (sign string, dateTime string, err error) {
	timeLocation, _ := time.LoadLocation("Etc/GMT")
	dateTime = time.Now().In(timeLocation).Format("Mon, 02 Jan 2006 15:04:05 GMT")
	sign = fmt.Sprintf("x-date: %s\nsource: %s", dateTime, source)
	fmt.Println(sign)

	//hmac-sha1
	h := hmac.New(sha1.New, []byte(secretKey))
	io.WriteString(h, sign)
	sign = fmt.Sprintf("%x", h.Sum(nil))
	sign = string(h.Sum(nil))
	fmt.Println("sign:", fmt.Sprintf("%s", h.Sum(nil)))

	//base64
	sign = base64.StdEncoding.EncodeToString([]byte(sign))
	fmt.Println("sign:", sign)

	auth := fmt.Sprintf("hmac id=\"%s\", algorithm=\"hmac-sha1\", headers=\"x-date source\", signature=\"%s\"",
		secretId, sign)
	fmt.Println("auth:", auth)

	return auth, dateTime, nil
}

func main () {

    //云市场分配的密钥Id
	SecretId := "xxx"
    //云市场分配的密钥Key
	SecretKey := "xxx"
	source := "source"

	sign, dateTime, err := calcAuthorization(source, SecretId, SecretKey)
	if err != nil {
		fmt.Println(err)
		return
	}

	defaultDomain := "service-ig2xnu0f-1255468759.ap-shanghai.apigateway.myqcloud.com"
    path := "/idcard"
    query := "idcard=&name="
    url := "https://service-ig2xnu0f-1255468759.ap-shanghai.apigateway.myqcloud.com/release"
	reqUrl := url + path + "?" + query
	client := &http.Client{
		Timeout: 7 * time.Second,//set timeout
	}

	req, err := http.NewRequest("GET", reqUrl, nil) //set body
	if err != nil {
		fmt.Println(err)
		return
	}

	req.Header.Set("Accept", "*/*")
	req.Header.Set("Accept-Charset", "utf-8;")
	req.Header.Set("Host", defaultDomain)
	req.Header.Set("Source", source)
	req.Header.Set("X-Date", dateTime)
	req.Header.Set("Authorization", sign)

	resp, err := client.Do(req)
	if err != nil {
		fmt.Println(err)
		return
	}
	defer resp.Body.Close()

	fmt.Println("status code:", resp.StatusCode)

	//get resp header
	var headerMsg string
	for key, _ := range resp.Header {
		headerMsg += fmt.Sprintf("\n%s:%s", key, resp.Header.Get(key))
	}
	fmt.Println(headerMsg)

	body, err := ioutil.ReadAll(resp.Body)
	if err != nil {
		fmt.Println(err)
		return
	}

	fmt.Println(string(body))
}
import java.io.*;
import java.io.UnsupportedEncodingException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import java.text.SimpleDateFormat;
import java.util.*;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.URL;
import java.net.URLConnection;
import java.net.HttpURLConnection;
import sun.misc.BASE64Encoder;

class test
{
    public static String sign(String secret, String timeStr)
        throws NoSuchAlgorithmException, UnsupportedEncodingException, InvalidKeyException {
        //get signStr
        String signStr = "date: " + timeStr + "\n" + "source: " + "source";
        //get sig
        String sig = null;
        Mac mac1 = Mac.getInstance("HmacSHA1");
        byte[] hash;
        SecretKeySpec secretKey = new SecretKeySpec(secret.getBytes("UTF-8"), mac1.getAlgorithm());
        mac1.init(secretKey);
        hash = mac1.doFinal(signStr.getBytes("UTF-8"));
        sig = new BASE64Encoder().encode(hash);
        System.out.println("signValue--->" + sig);
        return sig;
    }

    public static void main(String[] args) {
        String result = "";
        BufferedReader in = null;

        //get current GMT time
        Calendar cd = Calendar.getInstance();
        SimpleDateFormat sdf = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss 'GMT'", Locale.US);
        sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
        String timeStr = sdf.format(cd.getTime());

        String host = "service-ig2xnu0f-1255468759.ap-shanghai.apigateway.myqcloud.com";
        String path = "/idcard";
        String query = "idcard=&name=";
        String url = "https://service-ig2xnu0f-1255468759.ap-shanghai.apigateway.myqcloud.com/release";
        url = url + path + "?" + query;
        String source = "source";


        //云市场分配的密钥Id
        String secretId = "xxx";
        //云市场分配的密钥Key
        String secretKey = "xxx";

        try {
            String urlNameString = url;
            URL realUrl = new URL(urlNameString);
            // 打开和URL之间的连接
            URLConnection connection = realUrl.openConnection();
            HttpURLConnection httpUrlCon = (HttpURLConnection)connection;
            // 设置通用的请求属性
            httpUrlCon.setRequestProperty("Host", host);
            httpUrlCon.setRequestProperty("Accept", "text/html, */*; q=0.01");
            httpUrlCon.setRequestProperty("Source", source );
            httpUrlCon.setRequestProperty("Date", timeStr);
            String sig = sign(secretKey,timeStr);
            String authen = "hmac id=\"" + secretId + "\", algorithm=\"hmac-sha1\", headers=\"date source\", signature=\"" + sig + "\"";
            System.out.println("authen --->" + authen);
            httpUrlCon.setRequestProperty("Authorization", authen);
            httpUrlCon.setRequestProperty("X-Requested-With", "XMLHttpRequest");
            httpUrlCon.setRequestProperty("Accept-Encoding", "gzip, deflate, sdch");
            // 建立实际的连接
            httpUrlCon.connect();
            // 获取所有响应头字段
            Map<String, List<String>> map = httpUrlCon.getHeaderFields();
            // 遍历所有的响应头字段
            for (String key : map.keySet()) {
                System.out.println(key + "--->" + map.get(key));
            }
            // 定义 BufferedReader输入流来读取URL的响应
            in = new BufferedReader(new InputStreamReader(
            httpUrlCon.getInputStream()));
            String line;
            while ((line = in.readLine()) != null) {
                result += line;
            }

            System.out.println(result);

        } catch (Exception e) {
            System.out.println("发送GET请求出现异常!" + e);
            e.printStackTrace();
        }
        // 使用finally块来关闭输入流
        finally {
            try {
                if (in != null) {
                    in.close();
                }
            } catch (Exception e2) {
                e2.printStackTrace();
            }
        }
    }
}
/**
 * npm install crypto-js axios
 */
var CryptoJS = require("crypto-js");
var axios = require('axios');

var nowDate = new Date();
var dateTime = nowDate.toGMTString();

var host = "service-ig2xnu0f-1255468759.ap-shanghai.apigateway.myqcloud.com";
var path = "/idcard";
var query = "idcard=&name=";
var url = "https://service-ig2xnu0f-1255468759.ap-shanghai.apigateway.myqcloud.com/release";
url = url + path + "?" + query;
var source = "source";

//云市场分配的密钥Id
var secretId = "xxx";
//云市场分配的密钥Key
var secretKey = "xxx";

var auth = "hmac id=\"" + secretId + "\", algorithm=\"hmac-sha1\", headers=\"x-date source\", signature=\"";
var signStr = "x-date: " + dateTime + "\n" + "source: " + source;
var sign = CryptoJS.HmacSHA1(signStr, secretKey)
console.log(sign.toString())
sign = CryptoJS.enc.Base64.stringify(sign)
sign = auth + sign + "\""
console.log(sign)

var instance = axios.create({
    baseURL: url,
    timeout: 5000,
    headers: {
        "Source": source,
        "X-date": dateTime,
        "Authorization": sign
    },
    withCredentials: true
});


instance.get()
    .then(function (response) {
        console.log(response);
    })
    .catch(function (error) {
        console.log(error);
    });

正常返回示例

{
	"showapi_res_code": 0,
	"showapi_res_error": "",
	"showapi_res_body": {
		"code": "0",
		"msg": "匹配",
		"address": "湖南省湘西土家族苗族自治州泸溪县",
		"birthday": "1991-06-10",
		"sex": "M",
		"error": "",
		"ret_code": "0"
	}
}
               

失败返回示例

{
  "showapi_res_code": -1,
  "showapi_res_error": "失败信息",
  "showapi_res_body": {}
}

返回码定义

返回码
返回信息
描述
无参数

商品参数

购买后调试:否

商品详情

1ad8bae693b0d70d62da0ae5a9cdb695.jpg
    身份证二要素实名认证,通过身份证与姓名验证是否相符,并同时返回用户性别、生日、身份证注册地。后台系统有多个冗余渠道,系统根据监控自动切换渠道,以保证最大冗余,提高成功率。
8a4c00fea719a92039ca1bef4dc6df8d.jpg
输入参数:
6346bd78e0b4f5bdc449d42e3f912f5e.png
返回参数:
249b0d545ac111732583535091429835.png

使用实例:
dfa88392a72fa2409d1bd611b569326d.png

0054c827554d4d9cb31d708e7fa1e4b6.jpg

常见问题:


  1.接口怎么对接腾讯云API?

       答:登录腾讯云、根据用量和需求购买相应接口的套餐、获取腾讯云的 secret_id 和 secret_key、开发人员根据“请求示例”调试接口,调试请参考:https://cloud.tencent.com/document/product/628/11782  ,最后上线生产环境。



   2.售后与服务时间是怎样的?

       答:售后时间:9:00-17:00,技术服务时间:全天24小时,节假日不休。售后、技术服务电话:400-9988-033    客服QQ: 2802673087    


联系电话

4009988033

联系客服
请提前登录QQ,以获得更好体验

秀派技术客服

服务时间

9:00-18:00

联系邮箱

2802673087@qq.com

1
立即购买
联系方式

联系电话

4009988033

服务时间

9:00-18:00

联系邮箱

2802673087@qq.com
必须同意使用协议才可购买