A função startDeviceScan
Chamada
Para utilizar o módulo de Device Scan, é necessário realizar a chamada da função startDeviceScan, que possui os seguintes parâmetros posicionais:
await startDeviceScan(
token,
document_number,
session_id,
event_id,
event_type,
environment
);
| Parâmetro | Tipo | Função | Obrigatório |
|---|---|---|---|
| token | string | Token de autenticação temporário obtido por meio de requisição server-to-server à API de Device Scan. Deve ser gerado com o mesmo session_id passado a esta função. | Sim. |
| document_number | string | O número do documento do usuário (CPF/CNPJ sem pontos, traços e barra). | Sim. |
| session_id | string | Chave que identifica a sessão da qual os dados coletados são provenientes. Deve ser enviada em letras minúsculas. | Sim. |
| event_id | string | Um identificador do evento sendo reportado. | Sim. |
| event_type | string | Um enumerador que define o tipo de evento sendo reportado (ex.: 'onboarding'). É pedido cuidado para que eventos muito similares sejam reportados com o mesmo enumerador, a fim de que inteligência possa ser construída sobre esses dados. | Sim. |
| environment | CAAS_ENVIRONMENT | Enumerador utilizado para configurar o ambiente de execução para SANDBOX ou PRODUCTION. | Sim. |
Atenção
A ordem dos parâmetros importa. Note que session_id vem antes de event_id e event_type na assinatura da função, mesmo que internamente o módulo nativo receba os valores em outra ordem.
CAAS_ENVIRONMENT
enum CAAS_ENVIRONMENT {
PRODUCTION = 'production',
SANDBOX = 'sandbox',
}
Retorno
A função retorna uma Promise resolvida com uma string indicando o sucesso da coleta.
Sucesso
Success collecting device scan data
Erro
A Promise é rejeitada quando a coleta falha:
There was an error collecting DeviceScan data
Quando o módulo nativo não está corretamente vinculado, a chamada lança:
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
Exemplo
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);
}
Utilizando o pacote completo
Se o seu aplicativo utiliza o @qitech/react-native-caas, a função startDeviceScan tem exatamente a mesma assinatura e o mesmo comportamento — apenas o caminho do import muda:
import { CAAS_ENVIRONMENT, startDeviceScan } from '@qitech/react-native-caas';