跳到主要内容

startDeviceScan 函数

调用

要使用设备扫描模块,需要调用 startDeviceScan 函数,它接受以下位置参数

await startDeviceScan(
token,
document_number,
session_id,
event_id,
event_type,
environment
);
参数类型作用必填
tokenstring通过服务器到服务器请求向设备扫描 API 获取的临时认证 token。必须使用与本函数相同的 session_id 生成。是。
document_numberstring用户的证件号(CPF/CNPJ,不含点、横线和斜杠)。是。
session_idstring标识所采集数据来源会话的密钥。必须使用小写字母发送。是。
event_idstring所上报事件的标识符。是。
event_typestring定义所上报事件类型的枚举(例如 'onboarding')。请注意将非常相似的事件使用相同的枚举上报,以便在这些数据之上构建智能分析。是。
environmentCAAS_ENVIRONMENT用于将运行环境设置为 SANDBOXPRODUCTION 的枚举。是。
注意

参数顺序很重要。请注意在函数签名中,session_id 位于 event_idevent_type 之前,尽管原生模块内部接收这些值的顺序有所不同。

CAAS_ENVIRONMENT

enum CAAS_ENVIRONMENT {
PRODUCTION = 'production',
SANDBOX = 'sandbox',
}

返回值

该函数返回一个 Promise,成功时解析为表示采集成功的字符串。

成功

Success collecting device scan data

错误

采集失败时,Promise 会被 reject:

There was an error collecting DeviceScan data

当原生模块未正确链接时,调用会抛出:

The package '@qitech/react-native-device-scan' doesn't seem to be linked. Make sure:

- You have run 'pod install'
- You rebuilt the app after installing the package
- You are not using Expo managed workflow

示例

try {
const result = await startDeviceScan(
token,
'<CPF_NUMBER>',
'<SESSION_ID>',
'1',
'onboarding',
CAAS_ENVIRONMENT.SANDBOX
);

console.log(result); // "Success collecting device scan data"
} catch (error) {
console.log('Error executing device scan: ' + error);
}

使用完整包

如果您的应用使用 @qitech/react-native-caasstartDeviceScan 函数的签名和行为完全相同——只需修改 import 路径:

import { CAAS_ENVIRONMENT, startDeviceScan } from '@qitech/react-native-caas';