Giới thiệu
Module eKYC là một service của Fcloud được phát triển bởi Ftech. Module cho phép xác minh danh tính của khách hàng thông qua việc ứng dụng công nghệ điện tử. Để tích hợp và sử dụng dịch vụ này phải sử dụng SDK của Fcloud. Và sau đây là hướng dân tích hợp SDK.
Xác thực
Để gọi được các API chúng ta sẽ phải init SDK tham số truyền vào là ClientID và SecretKey được lấy khi bạn tạo Application trên CMS dành cho đối tác theo hướng dẫn sau:
- Đăng nhập CMS Partner với username/password được cung cấp (https://fcloud-partner-cms.ftech.ai)
- Mua gói dịch vụ
- Tạo App
Server Integrator
Sau khi tích hợp SDK, service Fcloud hỗ trợ callback server-server giúp hỗ trợ việc lấy thông tin request nhanh và chính xác nhất.
Web SDK
Android SDK
Install SDK Android
Setup gradle maven
- With Gradle v1.x - v5.x
Mở thư mục
build.grade
và thêmmaven
dòng
allprojects {
repositories {
google()
mavenCentral()
maven { url 'https://jitpack.io' } <- // add this line
}
}
- With Gradle v6.x+
Mở thư mục
setting.gradle
và thêmmaven
dòng
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
repositories {
google()
mavenCentral()
maven { url 'https://jitpack.io' } <- // add this line
}
}
Open file app/build.grade
then add sdk
dependencies {
...
implementation "com.github.ftechmobile:feykc-android:1.0.1"
}
Init in file Application
override fun onCreate() {
super.onCreate()
...
FTechEkycManager.init(this)
}
SDK Android Integration
Init
Tham số | Kiểu | Mô tả |
---|---|---|
appId | String | Application id |
secretKey | String | IOE secret key |
- Khi khởi tạo thành công , SDK sẽ trả ra trạng thái trong
onSuccess()
callback - Khi khởi tạo thất bại sẽ callback tại
onFail()
FTechEkycManager.registerEkyc(appId, licenseKey, new IFTechEkycCallback<Boolean>() {
@Override
public void onSuccess(Boolean info) {
}
@Override
public void onFail(APIException error) {
}
@Override
public void onCancel() {
}
});
Register callback
Gọi các hàm trong vòng đời hoạt động
@Override
protected void onResume() {
super.onResume();
FTechEkycManager.notifyActive(this);
}
@Override
protected void onPause() {
super.onPause();
FTechEkycManager.notifyInactive(this);
}
SDK Android Feature
Create transaction
- Dùng để tạo transaction cho Ekyc execution session
- Khi tạo transaction thành công, SDK trả ra dữ liệu transaction ở
onSuccess()
callback - Khi tạo transaction thất bại callback
onFail()
sẽ được gọi
FTechEkycManager.createTransaction(new IFTechEkycCallback<TransactionData>() {
@Override
public void onSuccess(TransactionData info) {
}
@Override
public void onFail(APIException error) {
}
@Override
public void onCancel() {
}
});
Get process transaction
- Sử dụng để lấy Ekyc process của transaction
- Khi lấy process thành công, SDK trả ra dữ liệu process ở
onSuccess()
callback - Khi lấy process thất bại callback
onFail()
sẽ được gọi
Tham số | Kiểu | Mô tả |
---|---|---|
transactionId | String | Transaction id |
FTechEkycManager.getProcessTransaction(transactionId, new IFTechEkycCallback<TransactionProcessData>() {
@Override
public void onSuccess(TransactionProcessData info) {
}
@Override
public void onFail(APIException error) {
}
@Override
public void onCancel() {
}
});
Upload Photo (Normal detection)
- Sử dụng để tải lên ảnh thẻ, mặt
- Khi tải ảnh thành công, SDK trả ra dữ liệu ở
onSuccess()
callback - Khi tải ảnh thất bại callback
onFail()
sẽ được gọi
Tham số | Kiểu | Mô tả |
---|---|---|
pathImage | String | Đường dẫn thư mục ảnh ở máy |
captureType | CAPTURE_TYPE | CAPTURE_TYPE.FRONT, CAPTURE_TYPE.BACK, CAPTURE_TYPE.FACE |
FTechEkycManager.uploadPhoto(pathImage, captureType, new IFTechEkycCallback<CaptureData>() {
@Override
public void onSuccess(CaptureData info) {
}
@Override
public void onFail(APIException error) {
}
@Override
public void onCancel() {
}
});
Face Matching
- Sử dụng để lấy thông tin ORC scan information
- Khi lấy thông tin ảnh bằng OCR thành công, SDK trả ra dữ liệu ở
onSuccess()
callback - Khi lấy thông tin ảnh thất bại callback
onFail()
sẽ được gọi
FTechEkycManager.faceMatching(new IFTechEkycCallback<FaceMatchingData>() {
@Override
public void onSuccess(FaceMatchingData info) {
}
@Override
public void onFail(APIException error) {
}
@Override
public void onCancel() {
}
})
FaceMatchingData
Tham số | Kiểu | Mô tả |
---|---|---|
sessionId | String | Session id |
cardInfo | CardInfo | Thông tin thẻ |
CardInfo
Tham số | Kiểu | Mô tả |
---|---|---|
id | String | id thẻ |
birthDay | String | Ngày sinh |
birthPlace | String | Nơi sinh |
cardType | String | Loại thẻ |
gender | String | Giới tính |
issueDate | String | Ngày cấp |
issuePlace | String | Nơi cấp |
name | String | Tên đầy đủ |
nationality | String | Quốc tịch |
originLocation | String | origin location |
passportNo | String | passport no |
recentLocation | String | recent location |
validDate | String | Ngày hết hạn |
feature | String | Đặc điểm |
nation | String | Quốc gia |
mrz | String | mrz |
Liveness detection
Sử dụng bitmap ảnh để kiểm tra vị trí khuôn mặt
- Để bật tắt tính năng, sử dụng:
FTechEkycManager.setEnableLiveness(true);
FTechEkycManager.detectFacePose(bitmap, FACE_POSE.UP, new IFTechEkycCallback<Boolean>() {
@Override
public void onSuccess(Boolean info) {
}
@Override
public void onFail(APIException error) {
}
@Override
public void onCancel() {
}
});
Submit info
Sử dụng để gửi thông tin và kết thúc phiên ekyc
- Khi gửi thông tin thành công, SDK trả ra trạng thái ở
onSuccess()
callback - Khi gửi thông tin thất bại, callback
onFail()
sẽ được gọi
FTechEkycManager.submitInfo(submitInfoRequest, new IFTechEkycCallback<Boolean>() {
@Override
public void onSuccess(Boolean info) {
}
@Override
public void onFail(APIException error) {
}
@Override
public void onCancel() {
}
});
NewSubmitInfoRequest
Tham số | Kiểu | Mô tả |
---|---|---|
cardInfoSubmit | CardInfoSubmit | Thông tin thẻ |
preProcessId | String | Session id |
CardInfoSubmit
Tham số | Kiểu | Mô tả |
---|---|---|
id | String | id thẻ |
birthDay | String | Ngày sinh |
birthPlace | String | Nơi sinh |
cardType | String | Loại thẻ |
gender | String | Giới tính |
issueDate | String | Ngày cấp |
issuePlace | String | Nơi cấp |
name | String | Tên đầy đủ |
nationality | String | Quốc tịch |
originLocation | String | origin location |
passportNo | String | passport no |
recentLocation | String | recent location |
validDate | String | Ngày hết hạn |
feature | String | Đặc điểm |
nation | String | Quốc gia |
mrz | String | mrz |
IOS SDK
Install SDK IOS
Add package
https://github.com/FTechMobile/fekyc
SDK IOS Integration
Register callback
FEKYCApp.instance().delegate = self
And implement FEKYCDelegate
Init
Param | Type | Description |
---|---|---|
appId | String | Ekyc app id |
licenseKey | String | Ekyc license key |
- Sau khi đăng kí thành công, SDK sẽ trả kết quả trạng thái ở
registerEkycSuccess()
callback - Khi đăng kí thất bại sẽ gọi callback
ekycFailure()
swift FEKYCApp.instance().registerEkyc(licenseKey, appID)
SDK IOS Feature
Enable Liveness version
FEKYCApp.setEnableLiveness()
Use full stream sdk
FEKYCApp.instance().start()
Note: Nếu bạn không muốn sử dụng đủ luồng, SDK sẽ cung cấp các tính năng sau
Create transaction
- Dùng để tạo transaction cho Ekyc execution session
- Khi tạo transaction thành công, SDK trả ra dữ liệu transaction ở
creatTransactionSuccess()
callback - Khi tạo transaction thất bại callback
ekycFailure()
sẽ được gọi
FEKYCApp.instance().createTransaction()
Get process transaction
- Sử dụng để lấy Ekyc process của transaction
Tham số | Kiểu | Mô tả |
---|---|---|
transactionId | String | Transaction id |
FEKYCApp.instance().getProcessTransaction(transactionId)
Upload Photo
- Sử dụng để tải lên ảnh thẻ, mặt
Param | Type | Description |
---|---|---|
pathImage | String | Đường dẫn trong máy hiện tại |
step | FEKYCStep | Bước xác thực |
- Khi ảnh được tải lên thành công, SDK sẽ trả ra dữ liệu trong
uploadPhotoSuccess()
callback - Khi ảnh được tải lên thất bại, callback
ekycFailure()
sẽ được gọiswift FEKYCApp.instance().uploadPhoto(step: FEKYCStep, imageFile: imageFile)
Face Matching
- Sử dụng để lấy thông tin ORC scan information và kiểm tra độ khớp giữa mặt và thông tin giấy tờ
- Khi face matching thành công, SDK sẽ trả ra dữ liệu trong
faceMatchingSuccess()
callbackswift FEKYCApp.instance().faceMatching()
FaceMatchingData
Tham số | Kiểu | Mô tả |
---|---|---|
sessionId | String | Session id |
cardInfo | CardInfo | Thông tin thẻ |
CardInfo
Tham số | Kiểu | Mô tả |
---|---|---|
id | String | id thẻ |
birthDay | String | Ngày sinh |
birthPlace | String | Nơi sinh |
cardType | String | Loại thẻ |
gender | String | Giới tính |
issueDate | String | Ngày cấp |
issuePlace | String | Nơi cấp |
name | String | Tên đầy đủ |
nationality | String | Quốc tịch |
originLocation | String | origin location |
passportNo | String | passport no |
recentLocation | String | recent location |
validDate | String | Ngày hết hạn |
feature | String | Đặc điểm |
nation | String | Quốc gia |
mrz | String | mrz |
Submit info
- Sử dụng để gửi thông tin và kết thúc phiên ekyc
- Sau khi gửi thành công, SDK sẽ trả trạng thái ở
didEkycSuccess()
callback
FEKYCApp.instance().submitInfo(info: FaceMatchingData)