日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

SDK調用接入

重要

本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業務造成影響,請務必仔細閱讀。

當您使用SDK進行開發時,無需拼接HTTPS請求或實現簽名算法,開發更方便。因此建議您通過SDK方式在服務端集成金融級實人認證。本文為您介紹金融級實人認證服務端需要集成的接口,以及多語言(Java、Python、PHP、C#、Golang、Node.js)的SDK調用示例。

調用說明

  • 全局接入地址:saf.cn-shanghai.aliyuncs.com

  • 請求方法:POST

  • 傳輸協議:HTTPS

  • QPS限量:API獨享QPS限量,詳情請參見服務端接口QPS限量說明

發起認證請求

請求參數

method字段傳入init值表示調用發起認證請求接口

發起認證請求時,傳入以下參數:

名稱

類型

是否必選

描述

示例值

method

String

發起認證請求的操作。

取值:init

init

sceneId

String

認證場景ID,該ID在控制臺創建認證場景后自動生成。關于如何創建認證場景,請參見添加認證場景

10000*****

outerOrderNo

String

客戶服務端自定義的業務唯一標識,用于后續定位排查問題時使用。值最長為32位長度的字母和數字組合,請確保唯一。

e0c34a77f5ac40a5aa5e6ed20c********

bizCode

String

認證場景碼和商戶發起認證的接入端有關:

  • 當商戶在iOS或安卓平臺發起認證時,認證場景碼為FACE_SDK

  • 當商戶在小程序中H5頁面中發起認證時,認證場景碼為FACE

FACE

identityType

String

身份信息的參數類型,必須傳入CERT_INFO。

CERT_INFO

certType

String

用戶證件類型。支持的證件類型,請參見方案概述

不同證件類型,取值均為IDENTITY_CARD

IDENTITY_CARD

certNo

String

用戶身份證件號碼。

330103xxxxxxxxxxxx

certName

String

用戶姓名。

張三

returnUrl

String

商戶業務頁面回調的目標地址。

  • 如您不需要回調商戶業務頁面,您可以在此處傳入空字符串。

  • 當您采用端外喚起支付寶H5方式,且希望您的用戶喚起支付寶完成認證后,能夠跳回您的應用頁面,您需要在此參數下傳入您應用的Scheme。更多內容,請參見端外喚起支付寶H5頁面

https://www.aliyun.com

callbackUrl

String

認證結果的回調通知地址,必須以HTTPS開頭。平臺完成認證后會回調該地址,并自動添加certifyIdpassed

https://www.aliyun.com

callbackToken

String

安全Token,由您自行生成,用于防重復、防篡改校驗。如果設置了該值會在回調地址顯示CallbackToken字段。

NMjvQanQgplBSaEI0sL********

encryptType

String

加密類型。為空表示不加密。

如開啟加密傳輸,需傳入加密算法。目前僅支持SM2國密算法。

如需傳入加密算法,需對certNamecertNo進行加密,并傳入加密后的密文。有關參數加密的更多信息,請參見參數加密說明

說明

目前僅Java語言提供有關開啟加密傳輸的示例代碼。更多信息,請參見SDK調用示例

SM2

響應參數

名稱

類型

描述

示例值

RequestId

String

請求ID。

130A2C10-B9EE-4D84-88E3-5384FF039795

Message

String

請求消息的響應信息。

OK

certifyId

String

認證ID,刷臉認證的唯一標識。

警告

CertifyId字段為計費統計字段,為了方便后續核對賬單,請您在本地留存該字段信息。

初始化接口返回的認證CertifyId在30分鐘有效僅能認證提交一次,請您在有效期內應用,避免重復使用。

7eff3ad26a9c7b68c511b9f35eb1****

certifyUrl

String

認證流程入口Url。

重要

初始化接口返回的認證CertifyUrl在30分鐘有效僅認證僅能提交一次,請您在有效期內使用,避免重復使用。

https://picker.antcloudauth.aliyuncs.com/gateway.do?...

Code

String

返回碼。200表示返回成功,其他返回碼均為失敗。

200

查詢認證結果

method參數的值需設定為query,表示調用查詢認證結果。

查詢認證結果時,傳入以下參數:

請求參數

名稱

類型

是否必選

描述

示例值

method

String

查詢認證結果的操作。

取值:query

query

certifyId

String

認證ID,需與發起認證請求時返回的certifyId保持一致。

7eff3ad26a9c7b68c511b9f35eb1****

sceneId

String

認證場景ID,需與發起認證請求時的sceneId保持一致。

100000*****

encToken

String

公鑰加密后的AES 256密鑰(Base64編碼),用于獲取加密圖片。僅面向持牌金融客戶KYC留存的認證圖片。如何使用RSA公鑰加密AES密鑰,請參見支付寶小程序或H5方案密鑰加密說明

l1tmZUQKdclKdGHzy2hljqltxPYPRo42JjRL04JVHxh9wWP19xHZpVvlKy9lxXRXCiWTKfJAaDfw4pKlZfetvZHdVdjroiXaLt7jx68rpp24wCeWo8wgjMF1lBwJmYZGcTrCVJ+Tonn7CHN7ur11Pn9d4IdkbTi5rBoOx8JITTn6krEH6ssZ5Cj3xFJ4/3PyvloU8UX+FQIPpskYR36jHcqs+Nt4EeTK/wWsAQItl6RfI9FN+8UJ42RVNt/IWHuk3U9aQNxzt7Z+7hbvqpBf/uKp4sgP6fbyYhZ+2tM+KXF1ODOYGenQ65wliaS/C1fTqjUJYcONMEW61Te/de4r4A==

響應參數

名稱

類型

是否必選

描述

示例值

passed

String

是否通過認證。取值:

  • T:認證通過。

  • F:未通過認證。

T

identityInfo

String

預留字段,默認返回為空。

materialInfo

String

預留字段,默認返回為空。

SDK調用示例

Java

說明

如需Java SDK源碼,請訪問aliyun-openapijava-sdk頁面下載。

  1. 在pom.xml中添加如下依賴,即可在Maven工程中使用SDK。

    <dependency>
        <groupId>com.aliyun</groupId>
        <artifactId>aliyun-java-sdk-saf</artifactId>
        <version>3.0.2</version>
    </dependency>
    <dependency>
        <groupId>com.aliyun</groupId>
        <artifactId>credentials-java</artifactId>
        <version>LATEST</version>
    </dependency>

    推薦Maven依賴仲裁:

    <dependency>
        <groupId>com.aliyun</groupId>
        <artifactId>aliyun-java-sdk-core</artifactId>
        <optional>true</optional>
        <version>4.6.4</version>
    </dependency>
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>2.0.47</version>
    </dependency>
    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.10.1</version>
    </dependency>
    <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>tea</artifactId>
            <version>LATEST</version>
    </dependency>
    說明
  2. 示例代碼如下:

    import java.io.IOException;
    import java.util.HashMap;
    import java.util.Map;
    import com.alibaba.fastjson.JSON;
    import com.aliyuncs.CommonRequest;
    import com.aliyuncs.CommonResponse;
    import com.aliyuncs.DefaultAcsClient;
    import com.aliyuncs.IAcsClient;
    import com.aliyuncs.exceptions.ClientException;
    import com.aliyuncs.exceptions.ServerException;
    import com.aliyuncs.http.FormatType;
    import com.aliyuncs.http.MethodType;
    import com.aliyuncs.http.ProtocolType;
    import com.aliyuncs.profile.DefaultProfile;
    
    public class FaceVerifyTest {
        public static void main(String[] args) throws IOException {
    
            // 阿里云賬號AccessKey擁有所有API的訪問權限,建議您使用RAM用戶進行API訪問或日常運維。
            // 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
            // 本示例通過阿里云Credentials工具從環境變量中讀取AccessKey,來實現API訪問的身份驗證。
            com.aliyun.credentials.Client credentialClient = new com.aliyun.credentials.Client();
            String accesssKeyId = credentialClient.getCredential().getAccessKeyId();
            String accessKeySecret = credentialClient.getCredential().getAccessKeySecret();
    
            DefaultProfile profile = DefaultProfile.getProfile("cn-shanghai",accesssKeyId,accessKeySecret);
            IAcsClient client = new DefaultAcsClient(profile);
    
            CommonRequest request = new CommonRequest();
            request.setSysMethod(MethodType.POST);
    
            request.setSysDomain("saf.cn-shanghai.aliyuncs.com");
            request.setSysVersion("2017-03-31");
            request.setSysAction("ExecuteRequest");
            request.setSysProtocol(ProtocolType.HTTPS);
            request.setHttpContentType(FormatType.FORM);
    
            // 業務詳細參數。
            Map<String, Object> serviceParams = new HashMap<String, Object>();
    
            // 發起認證請求。
            serviceParams.put("method",  "init");
            serviceParams.put("sceneId",  "100001***");
            // outerOrderNo參數要求每次都唯一,建議使用UUID工具每次生成。
            serviceParams.put("outerOrderNo",  UUID.randomUUID().toString().replaceAll("-",""));
    
            // 當用戶在iOS或安卓平臺發起認證時,認證場景碼是FACE_SDK;在小程序中,認證場景碼則為FACE。
            serviceParams.put("bizCode", "FACE");
            serviceParams.put("identityType", "CERT_INFO");
            serviceParams.put("certType", "IDENTITY_CARD");
            serviceParams.put("certNo", "142702******");
            serviceParams.put("certName", "張三");
            // 認證后回調的頁面地址。
            serviceParams.put("returnUrl", "");
            //serviceParams.put("callbackUrl", "https://www.aliyundoc.com");
            //serviceParams.put("callbackToken", "NMjvQanQgplBSaEI0sL86WnQplB");
    
            /*
            // 如需開啟個人信息加密傳輸。
            serviceParams.put("encryptType",  "SM2");
            serviceParams.put("certNo", "BMjsstxK3S4b1YH*****Pet8ECObfxmLN92SLsNg==");
            serviceParams.put("certName", "BCRD/7ZkNy7Q*****M1BMBezZe8GaYHrLwyJv558w==");
            */
    
            // 查詢認證結果。
            //serviceParams.put("method",  "query");
            //serviceParams.put("certifyId", "7eace0bcc45a07940d0c50cb69***");
            //serviceParams.put("sceneId", "100001***");
    
            request.putBodyParameter("ServiceParameters", JSON.toJSONString(serviceParams));
            // 固定值,Service = fin_face_verify。
            request.putBodyParameter("Service", "fin_face_verify");
    
            try {
                CommonResponse response = client.getCommonResponse(request);
                System.out.println(response.getData());
            } catch (ServerException e) {
                e.printStackTrace();
            } catch (ClientException e) {
                e.printStackTrace();
            }
        }
    }

Python

  1. 安裝SDK核心庫。

    • 如果您使用的是Python 2.x,執行以下命令,安裝阿里云SDK核心庫。

      pip install aliyun-python-sdk-core
    • 如果您使用的是Python 3.x,執行以下命令,安裝阿里云SDK核心庫。

      pip install aliyun-python-sdk-core-v3
  2. 安裝云產品SAF SDK。

    pip install aliyun-python-sdk-saf
  3. 安裝Credentials工具。Credentials工具配置方法,請參見身份驗證配置

    pip install alibabacloud_credentials==0.3.2
  4. 示例代碼如下:

    from aliyunsdkcore import client
    from aliyunsdksaf.request.v20170331 import ExecuteRequestRequest
    from alibabacloud_credentials.client import Client as CredClient
    
    # 阿里云賬號AccessKey擁有所有API的訪問權限,建議您使用RAM用戶進行API訪問或日常運維。
    # 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
    # 本示例通過阿里云Credentials工具從環境變量中讀取AccessKey,來實現API訪問的身份驗證。
    cred = CredClient()
    accessKey = cred.get_access_key_id()
    accessKeySecret = cred.get_access_key_secret()
    
    clt = client.AcsClient(accessKey, accessKeySecret, 'cn-shanghai')
    
    # 設置參數。
    request = ExecuteRequestRequest.ExecuteRequestRequest()
    request.set_accept_format('json')
    # 產品Service請參考[公共參數]文檔中的Service字段描述。
    request.add_query_param('Service', '購買的產品Service')
    request.add_query_param('ServiceParameters', '入參JSON字符串')
    
    # 發起請求。
    response = clt.do_action_with_exception(request)
    print(response)
    
說明

Python SDK的環境準備、安裝和使用,請參見阿里云SDK開發指南

PHP

  1. 安裝依賴。

    • 安裝 SDK 核心庫 Core ,如果已在系統上全局安裝 Composer,請直接在項目目錄中運行以下內容來安裝 Alibaba Cloud SDK for PHP 作為依賴項:

      復制composer require alibabacloud/client

      一些用戶可能由于網絡問題無法安裝,可以通過以下命令切換為阿里云 Composer 全量鏡像。

      復制composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
    • 安裝云產品SAF SDK。

      composer require alibabacloud/saf
  2. 示例代碼如下:

    <?php
    require __DIR__ . '/vendor/autoload.php';
    use AlibabaCloud\Client\AlibabaCloud;
    use AlibabaCloud\Client\Exception\ClientException;
    use AlibabaCloud\Client\Exception\ServerException;
    use AlibabaCloud\Credentials\Credential;
    
    // 設置一個全局客戶端。
    // 阿里云賬號AccessKey擁有所有API的訪問權限,建議您使用RAM用戶進行API訪問或日常運維。
    // 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
    // 本示例通過阿里云Credentials工具從環境變量中讀取AccessKey,來實現API訪問的身份驗證。
    
    $credential = new Credential([]);
    $credential->getAccessKeyId() = accessKey ;
    $credential->getAccessKeySecret() = accessKeySecret;
    
    AlibabaCloud::accessKeyClient(accessKey, accessKeySecret)
                ->regionId('cn-shanghai')
                ->asDefaultClient();
    
    // 下述參數依照實際使用的接口做調整,本演示僅針對認證初始化接口。
    $serviceParams = array(
        "method"=>       "init",
        "sceneId"=>      "1000000006",
        "outerOrderNo"=> "e0c34a77f5ac40a5aa5e6ed20c353903",
        "bizCode"=>      "FACE",
        "identityType"=> "CERT_INFO",
        "certType"=>     "IDENTITY_CARD",
        "certNo"=>       "330103xxxxxxxxxxxx",
        "certName"=>     "張三",
        "returnUrl"=>    "https://www.aliyun.com",
        "callbackUrl"=>  "https://www.aliyun.com",
        "callbackToken"=>"NMjvQanQgplBSaEI0sL86WnQplB"
       );
    
    
    try {
        // 下述參數無需調整。
        $result = AlibabaCloud::rpcRequest() 
                               ->product('saf') 
                               ->scheme('https')
                               ->version('2017-03-31')
                               ->action('ExecuteRequest') 
                               ->method('POST')
                               ->host('saf.cn-shanghai.aliyuncs.com')
                               ->options([
                                             'query' => [
                                                 'Service' => 'fin_face_verify',
                                                 'ServiceParameters' => json_encode($serviceParams)
                                             ],
                                         ])
                               ->request();
    
        echo($result);
    } catch (ClientException $exception) {
        echo $exception->getMessage() . PHP_EOL;
    } catch (ServerException $exception) {
        echo $exception->getMessage() . PHP_EOL;
        echo $exception->getErrorCode() . PHP_EOL;
        echo $exception->getRequestId() . PHP_EOL;
        echo $exception->getErrorMessage() . PHP_EOL;
    }
    
    ?>
說明

C#

  1. 引入SDK依賴。

    dotnet add package aliyun-net-sdk-saf --version 3.0.1
    dotnet add package Aliyun.Credentials
  2. 代碼示例如下:

    using System.Text.Json;
    using Aliyun.Acs.Core;
    using Aliyun.Acs.Core.Exceptions;
    using Aliyun.Acs.Core.Profile;
    using Aliyun.Credentials.Models;
    
    class FaceVerifyTest
    {
        static void Main(string[] args)
        {
          
            // 阿里云賬號AccessKey擁有所有API的訪問權限,建議您使用RAM用戶進行API訪問或日常運維。
            // 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
            // 本示例通過阿里云Credentials工具從環境變量中讀取AccessKey,來實現API訪問的身份驗證。
            Credential=new Aliyun.Credentials.Client(null)
            string accessKeyId = credentialClient.GetAccessKeyId();
            string accessKeySecret = credentialClient.GetAccessKeySecret();
       
            IClientProfile profile = DefaultProfile.GetProfile(
                "cn-shanghai",
                accessKeyId,
                accessKeySecret);
            DefaultAcsClient client = new DefaultAcsClient(profile);
            try
            {
                // 構造請求
                CommonRequest request = new CommonRequest();
                request.Protocol = Aliyun.Acs.Core.Http.ProtocolType.HTTPS;
                request.Domain = "saf.cn-shanghai.aliyuncs.com";
                request.Version = "2017-03-31";
                request.Action = "ExecuteRequest";
    
                //固定值,Service = fin_face_verify。
                request.AddQueryParameters("Service", "fin_face_verify");
    
                Dictionary<string, string> ServiceParameters = new Dictionary<string, string>();
                ServiceParameters.Add("method", "init");
                ServiceParameters.Add("sceneId", "100000000");
                ServiceParameters.Add("outerOrderNo", "e0c34a77f5ac40a5aa5e6ed20c353888");
                ServiceParameters.Add("bizCode", "FACE");
                ServiceParameters.Add("identityType", "CERT_INFO");
                ServiceParameters.Add("certType", "IDENTITY_CARD");
                ServiceParameters.Add("certNo", "330103xxxxxxxxxxxx");
                ServiceParameters.Add("certName", "張三");
                ServiceParameters.Add("returnUrl", "https://www.aliyun.com");
                ServiceParameters.Add("callbackUrl", "https://www.aliyun.com");
                ServiceParameters.Add("callbackToken", "NMjvQanQgplBSaEI0sL86WnQplB");
                /**
                 * 查詢認證結果。
                 * map.Add("method", "query");
                 * map.Add("certifyId", "7eff3ad26a9c7b68c511b9f35eb1a354");
                 * map.Add("sceneId", "100000000");
                 */
                request.AddQueryParameters("ServiceParameters", JsonSerializer.Serialize(ServiceParameters));
                // 發起請求,并得到Response
                CommonResponse response = client.GetCommonResponse(request);
                System.Console.WriteLine(response.Data);
            }
            catch (ServerException ex)
            {
                System.Console.WriteLine(ex.ToString());
            }
            catch (ClientException ex)
            {
                System.Console.WriteLine(ex.ToString());
            }
        }
    }
說明

Golang

  1. 安裝依賴。

    • 安裝 SDK 核心庫 Core ,使用pip安裝包依賴:

      pip install aliyun-python-sdk-core
    • 安裝云產品SAF SDK。

      pip install aliyun-python-sdk-saf==undefined
  2. 示例代碼:

    package main
    
    import (
        "encoding/json"
        "fmt"
    
        "github.com/aliyun/alibaba-cloud-sdk-go/sdk"
        "github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
        "github.com/aliyun/credentials-go/credentials"
    )
    
    // ResponseContent返回體。
    type ResponseContent struct {
        Data      map[string]string `json:"data"`
        RequestID string            `json:"requestId"`
        Code      string            `json:"code"`
        Message   string            `json:"message"`
    }
    // 阿里云賬號AccessKey擁有所有API的訪問權限,建議您使用RAM用戶進行API訪問或日常運維。
    // 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
    // 本示例通過阿里云Credentials工具從環境變量中讀取AccessKey,來實現API訪問的身份驗證。
    func main() {
        credential, _err := credentials.NewCredential(nil)
        if _err != nil {
        panic(_err)
      }
      accessKeyId, err := akCredential.GetAccessKeyId()
      accessKeySecret, err := akCredential.GetAccessKeySecret()
        client, err := sdk.NewClientWithAccessKey(
            "cn-shanghai", accessKeyId, accessKeySecret)
        request := requests.NewCommonRequest()
        // 下述參數無需調整。
        request.Domain = "saf.cn-shanghai.aliyuncs.com"
        request.Version = "2017-03-31"
        request.ApiName = "ExecuteRequest"
        request.Scheme = "https"
        request.QueryParams["Service"] = "fin_face_verify"
    
        // 下述參數依照實際使用的接口做調整,本演示僅針對認證初始化接口。
        serviceParam := map[string]string{
            "method":       "init",
            "sceneId":      "1000000006",
            "outerOrderNo": "e0c34a77f5ac40a5aa5e6ed20c353900",
            "bizCode":      "FACE",
            "identityType": "CERT_INFO",
            "certType":     "IDENTITY_CARD",
            "certNo":       "330103xxxxxxxxxxxx",
            "certName":     "張三",
            "returnUrl":    "https://www.aliyun.com",
            "callbackUrl":  "https://www.aliyun.com",
            "callbackToken":"NMjvQanQgplBSaEI0sL86WnQplB"
        }
    
        serviceParamByte, err := json.Marshal(serviceParam)
        if err != nil {
            panic(err)
        }
        request.QueryParams["ServiceParameters"] = string(serviceParamByte)
    
        response, err := client.ProcessCommonRequest(request)
        if err != nil {
            panic(err)
        }
        respContent := ResponseContent{}
        err = json.Unmarshal(response.GetHttpContentBytes(), &respContent)
        fmt.Printf("response data is %#v\n", respContent.Data)
        fmt.Println("end")
    }
說明

Node.js

  1. 執行以下命令安裝@alicloud/pop-core模塊。

    $ npm install @alicloud/pop-core --save

    命令中的--save會將模塊寫入應用的package.json文件中,作為依賴模塊。

  2. Node.js 代碼示例:

    const Core = require('@alicloud/pop-core');
    const { default: Credential } = require('@alicloud/credentials');
    
    // 阿里云賬號AccessKey擁有所有API的訪問權限,建議您使用RAM用戶進行API訪問或日常運維。
    // 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
    // 本示例通過阿里云Credentials工具從環境變量中讀取AccessKey,來實現API訪問的身份驗證。
    const cred = new Credential;
    var client = new Core({
      credential: cred,
      endpoint: 'https://saf.cn-shanghai.aliyuncs.com',
      apiVersion: '2017-03-31'
    });
    
    // 下述參數依照實際使用的接口做調整,本演示僅針對認證初始化接口。
    var serviceParams = {
        "method":       "init",
        "sceneId":      "1000000006",
        "outerOrderNo": "e0c34a77f5ac40a5aa5e6ed20c353901",
        "bizCode":      "FACE",
        "identityType": "CERT_INFO",
        "certType":     "IDENTITY_CARD",
        "certNo":       "330103xxxxxxxxxxxx",
        "certName":     "張三",
        "returnUrl":    "https://www.aliyun.com",
        "callbackUrl":  "https://www.aliyun.com",
        "callbackToken":"NMjvQanQgplBSaEI0sL86WnQplB"
    }
    
    var params = {
      "RegionId": "cn-shanghai",
      "Service": "fin_face_verify",
      "ServiceParameters": JSON.stringify(serviceParams)
    }
    
    var requestOption = {
      method: 'POST'
    };
    
    client.request('ExecuteRequest', params, requestOption).then((result) => {
      console.log(JSON.stringify(result));
    }, (ex) => {
      console.log(ex);
    })
說明