my-ekyc

1.2.0 • Public • Published

my-ekyc

Create new module

For create new module follow: https://github.com/brodybits/create-react-native-module

Getting started

$ npm install my-ekyc --save

Mostly automatic installation

$ react-native link my-ekyc

Manual installation

iOS (Pending...)

  1. In XCode, in the project navigator, right click LibrariesAdd Files to [your project's name]
  2. Go to node_modulesmy-ekyc and add MyEkyc.xcodeproj
  3. In XCode, in the project navigator, select your project. Add libMyEkyc.a to your project's Build PhasesLink Binary With Libraries
  4. Run your project (Cmd+R)<

Android

  1. Open up android/app/src/main/java/[...]/MainActivity.java
  • Add import com.reactlibrary.MyEkycPackage; to the imports at the top of the file
  • Add new MyEkycPackage() to the list returned by the getPackages() method
  1. Append the following lines to android/settings.gradle:
    include ':my-ekyc'
    project(':my-ekyc').projectDir = new File(rootProject.projectDir, 	'../node_modules/my-ekyc/android')
    
  2. Insert the following lines inside the dependencies block in android/app/build.gradle:
      compile project(':my-ekyc')
    

Usage

import {
  Ekyc,
  CameraType,
  DocumentIdType,
  DocumentType,
  Language,
  VersionSDK,
} from 'my-ekyc';

Set up

Android permission

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

Set up in file app/build.gradle

android {
...
aaptOptions {
    noCompress "tflite"
    noCompress "lite"
    }
}

Function

  1. register

    componentDidMount() {
    Ekyc.register(accessToken, tokenId, tokenKey, (code, msg) => {
        console.log('register: code: ' + code + ', msg: ' + msg);
        });
        ...
    }
    Key Kiểu dữ liệu
    accessToken String
    tokenId String
    tokenKey String
  2. orcFull

    Ekyc.orcFull(parameters, (code, msg) => {
        console.log('orcFull: code: ' + code + ', msg: ' + msg);
    });

    Parameter:

    const myObj = {
      DOCUMENT_TYPE: DocumentType.IDENTITY_CARD,
      SELECT_DOCUMENT: false,
      VERSION_SDK: VersionSDK.STANDARD,
      SHOW_RESULT: true,
      SHOW_DIALOG_SUPPORT: true,
      CAMERA_FOR_PORTRAIT: CameraType.FRONT,
      SHOW_SWITCH: false,
      CALL_ADD_FACE: false,
      LIVENESS_ADVANCED: false,
      CHECK_MASKED_FACE: false,
      CHECK_LIVENESS_CARD: false,
      LANGUAGE: Language.VIETNAMESE,
      CHALLENGE_CODE: 'challengeCode',
    };
    
    const parameters = JSON.stringify(myObj);
  3. ocrFront

    Ekyc.ocrFront(parameters, (code, msg) => {
        console.log('ocrFront: code: ' + code + ', msg: ' + msg);
    });

    Parameter:

    const myObj = {
      DOCUMENT_TYPE: DocumentType.IDENTITY_CARD,
      SELECT_DOCUMENT: false,
      SHOW_DIALOG_SUPPORT: true,
      CHECK_LIVENESS_CARD: false,
      LANGUAGE: Language.VIETNAMESE,
      CHALLENGE_CODE: 'challengeCode',
    };
    
    const parameters = JSON.stringify(myObj);
  4. ocrFrontAndBack

    Ekyc.ocrFrontAndBack(parameters, (code, msg) => {
        console.log('ocrFrontAndBack: code: ' + code + ', msg: ' + msg);
    });

    Parameter:

    const myObj = {
      DOCUMENT_TYPE: DocumentType.IDENTITY_CARD,
      SELECT_DOCUMENT: false,
      SHOW_RESULT: true,
      SHOW_DIALOG_SUPPORT: true,
      CHECK_LIVENESS_CARD: false,
      LANGUAGE: Language.VIETNAMESE,
      CHALLENGE_CODE: 'challengeCode',
    };
    
    const parameters = JSON.stringify(myObj);
  5. ocrSelfieCompareFace

    Ekyc.ocrSelfieCompareFace(parameters, (code, msg) => {
        console.log('ocrSelfieCompareFace: code: ' + code + ', msg: ' + msg);
    });

    Parameter:

    import {IDENTITY_CARD} from 'my-ekyc/src/CustomerInfo.js';
    ...
    const myObj = {
      DOCUMENT_TYPE: DocumentType.IDENTITY_CARD,
      VERSION_SDK: VersionSDK.STANDARD,
      SHOW_DIALOG_SUPPORT: true,
      CAMERA_FOR_PORTRAIT: CameraType.FRONT,
      SHOW_SWITCH: false,
      COMPARE_FLOW: true,
      CALL_ADD_FACE: true,
      LIVENESS_ADVANCED: true,
      CHECK_MASKED_FACE: true,
      HASH_IMAGE_COMPARE: 'HASH_IMAGE_COMPARE',
      CUSTOMER_INFO: new IDENTITY_CARD({
        card_id: 'card_id',
        full_name: 'full_name',
        dob: 'dob',
        gender: 'gender',
        address: 'address',
        home_town: 'home_town',
        nationality: 'nationality',
      }),
      LANGUAGE: Language.VIETNAMESE,
      CHALLENGE_CODE: 'challengeCode',
      UNIT_ADD_FACE: 'unitAddFace',
    };
    
    const parameters = JSON.stringify(myObj);
  6. ocrSelfieVerifyFace

    Ekyc.ocrSelfieVerifyFace(parameters, (code, msg) => {
        console.log('ocrSelfieVerifyFace: code: ' + code + ', msg: ' + msg);
    });

    Parameter:

    const myObj = {
      VERSION_SDK: VersionSDK.STANDARD,
      SHOW_DIALOG_SUPPORT: true,
      CAMERA_FOR_PORTRAIT: CameraType.FRONT,
      SHOW_SWITCH: false,
      VERIFY_FACE_FLOW: true,
      VERIFY_ID: 'verifyId',
      ID_TYPE: DocumentIdType.IDENTITY_CARD,
      LIVENESS_ADVANCED: true,
      CHECK_MASKED_FACE: true,
      LANGUAGE: Language.VIETNAMESE,
      CHALLENGE_CODE: 'challengeCode',
    };
    
    const parameters = JSON.stringify(myObj);

Receive result

    componentDidMount() {
    ...
    const eventEmitter = new NativeEventEmitter(NativeModules.Ekyc);
    this.eventListener = eventEmitter.addListener('EkycResult', event => {
        console.log(event);
        });
    }

Parameter attributes

Key Kiểu dữ liệu Nhiệm vụ
DOCUMENT_TYPE DocumentType Loại giấy tờ bóc tách. Giá trị mặc định là CMT/CCCD : DocumentType.IDENTITY_CARD
SELECT_DOCUMENT Boolean Có hiển thị màn hình chọn loại giấy tờ hay không. Giá trị mặc định là false.
VERSION_SDK VersionSDK Phiên bản SDK mong muốn sử dụng. Giá trị mặc định là phiên bản tiêu chuẩn : VersionSDK.STANDARD
CAMERA_FOR_PORTRAIT CameraType Loại camera trước hoặc sau ở màn hình chụp chân dung. Giá trị mặc định là camera trước : CameraType.FRONT
SHOW_RESULT Boolean Có hiển thị màn hình thông tin cá nhân hay không. Mặc định là false.
SHOW_SWITCH Boolean Có hiển thị nút xoay camera khi chụp chân dung không. Mặc định là false.
SHOW_DIALOG_SUPPORT Boolean Có hiển thị hướng dẫn sử dụng SDK hay không. Mặc định là true.
HIDE_TRADE_MARK Boolean Tắt hiển thị logo trademark. Mặc định là false.
LANGUAGE Language Ngôn ngữ muốn thể hiện ở các dialog hướng dẫn. Mặc định làLanguage.VIETNAMESE
LIVENESS_STANDARD Boolean Có kiểm tra xác thực người thật giả ở bản tiêu chuẩn hay không. Mặc định là false.
LIVENESS_ADVANCED Boolean Có kiểm tra xác thực người thật giả ở bản nâng cao hay không. Mặc định là false.
CHECK_MASKED_FACE Boolean Có kiểm tra che mặt hay không. Mặc định là false.
CHECK_LIVENESS_CARD Boolean Có kiểm tra xác thực giấy tờ thật hay không thật hay không. Mặc định là false.
VALIDATE_POSTCODE Boolean Có kiểm tra mã vùng ID trên giấy tờ hay không. Kiểm tra mã ID có bị giả mạo hay không. Áp dụng với (CMT/CCCD) Mặc định là false.
GET_POST_CODE ArrayList Có lấy kết quả mã vùng từ thông tin bóc tách địa chỉ trên giấy tờ hay không. Nếu truyền vào rỗng hoặc không truyền vào thì mặc định là không lấy.
CALL_ADD_FACE Boolean Có thực hiện thêm thông tin cá nhân vào CSDL hay không. Mặc định là false
VERIFY_ID String Dữ liệu truyền vào để xác minh thông tin. Số CMT với loại giấy tờ CMT (tương tự với các loại giấy tờ khác)
ID_TYPE DocumentIdType Loại giấy tờ muốn xác minh thông tin. DocumentIdType.IDENTITY_CARD
CHALLENGE_CODE String Chữ ký số truyền vào đảm bảo thông tin gửi đi và kết quả trả về không bị sửa đổi.
USE_DIFFERENT_SERVER Boolean Có sử dụng server của khách hàng hay không. Mặc định là false
URL_UPLOAD_IMAGE String Đường dẫn của khách hàng truyền vào để upload ảnh
URL_OCR String Đường dẫn của khách hàng truyền vào bóc tách thông tin.
URL_COMPARE String Đường dẫn của khách hàng truyền vào so sánh khuôn mặt và mặt trên giấy tờ.
URL_LIVENESS String Đường dẫn của khách hàng truyền vào xác minh có phải người thật hay không
URL_CHECK_MASKED_FACE String Đường dẫn của khách hàng truyền vào kiểm tra khách hàng có che mặt hay không
URL_MAPPING_ADDRESS String Đường dẫn của khách hàng truyền vào bóc tách thông tin địa chỉ tương ứng với mã quận huyện tỉnh.
URL_OCR_FRONT String Đường dẫn của khách hàng truyền vào bóc tách thông tin mặt trước giấy tờ.
URL_VERIFY_FACE String Đường dẫn khách hàng truyền vào để xác minh thông tin đã đăng ký trước đó.
URL_ADD_FACE String Đường dẫn khách hàng truyền vào để thực hiện đăng ký thông tin.
CUSTOMER_INFO Object IDENTITY_CARD/ PASSPORT/ MILITARY_CARD/ DRIVER_LICENSE
HASH_IMAGE_COMPARE String Mã hash mặt trước của giấy tờ truyền vào để thực hiện so sánh khuôn mặt.
ADD_FACE_TITLE String Thông tin bổ sung theo từng khách hàng. VD: VIP
UNIT_ADD_FACE String Thông tin định danh tên theo từng khách hàng.
CHANGE_THEME Boolean Có thực hiện thay đổi giao diện SDK hay không. Mặc định là false
LOGO String Tên logo của khách hàng truyền vào. Logo đặt trong thư mục asset của app.
HEIGHT_LOGO int Chiều cao của logo truyền vào.
WIDTH_LOGO int Chiều rộng của logo truyền vào.
CHANGE_COLOR int Mã màu thay đổi màu sắc của button trong SDK
CHANGE_COLOR_HELP int Mã màu thay đổi màu sắc của hướng dẫn trong SDK
CHANGE_TEXT_COLOR int Mã màu thay đổi màu sắc của text trong SDK
COMPARE_FLOW Boolean Có thực hiện so sánh khuôn mặt hay không.
CALL_ADD_FACE Boolean Có thực hiện đăng ký khuôn mặt hay không. Mặc đinh là false.
VERIFY_FACE_FLOW Boolean Có thực hiện xác minh khuôn mặt hay không.

Object

  1. IDENTITY_CARD(card_id, full_name, dob, gender, address, nationality, hometown)
  2. PASSPORT(card_id, passpord_id, full_name, dob, gender, nationality, hometown)
  3. MILITARY_CARD(military_id, full_name, dob, gender, nationality, hometown)
  4. DRIVER_LICENSE(driver_license_id, full_name, dob, gender, nationality, hometown)

Constant paramters

  1. DocumentType
    • IDENTITY_CARD
    • PASSPORT
    • MILITARY_CARD
    • DRIVER_LICENSE
  2. VersionSDK
    • STANDARD
    • ADVANCED
  3. CameraType
    • FRONT
    • BACK
  4. Language
    • VIETNAMESE
    • ENGLISH
  5. DocumentIdType
    • IDENTITY_CARD
    • PASSPORT
    • DRIVER_LICENSE
    • MILITARY_CARD
    • POLICE_CARD

Readme

Keywords

Package Sidebar

Install

npm i my-ekyc

Weekly Downloads

1

Version

1.2.0

License

MIT

Unpacked Size

14.4 MB

Total Files

18

Last publish

Collaborators

  • okumurarin96