Pular para o conteúdo principal

Coletando os Retornos

Atenção

A Promise de startOcr resolve com uma string JSON, tanto no Android quanto no iOS. É necessário chamar JSON.parse() antes de acessar os campos. O tipo declarado no TypeScript é OCR_RETURN_VALUES | string.

Estrutura do retorno

type OCR_RETURN_VALUES = {
DocumentRecognitionResponse: {
ocr_key?: string;
ocr_front_key?: string;
ocr_back_key?: string;
document_type: string;
}[];
};
AtributoTipoDescrição
ocr_keystringChave de identificação da imagem, presente em documentos de captura única (cnh_full, cnh_digital, proof_of_address, rg_cin_digital). Pode ser utilizada em qualquer outro serviço do sistema QI Tech.
ocr_front_keystringChave de identificação da imagem da frente, presente em documentos de captura dupla (cnh, rg, rne, crnm).
ocr_back_keystringChave de identificação da imagem do verso, presente em documentos de captura dupla (cnh, rg, rne, crnm).
document_typestringIdentifica a qual documento aquela chave se refere (ex.: "cnh", "rg", "proof_of_address").
Importante

Armazene as chaves retornadas — elas são o identificador da imagem nos demais produtos do sistema QI Tech, como a API de Onboarding.

Documento de captura única

{
"DocumentRecognitionResponse": [
{ "ocr_key": "5d0f0e1c-8f9e-4b6c-9c3d-2f8a1b4e7c10", "document_type": "cnh_full" }
]
}

Documento de captura dupla

{
"DocumentRecognitionResponse": [
{ "ocr_front_key": "5d0f0e1c-8f9e-4b6c-9c3d-2f8a1b4e7c10", "document_type": "cnh" },
{ "ocr_back_key": "a1b2c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d", "document_type": "cnh" }
]
}

Exemplo de leitura do retorno

startOcr(CAAS_ENVIRONMENT.SANDBOX, mobileToken, CAAS_DOCUMENT_TYPE.CNH)
.then((response) => {
const { DocumentRecognitionResponse } = JSON.parse(response as string);

if (DocumentRecognitionResponse.length === 1) {
const { ocr_key, document_type } = DocumentRecognitionResponse[0];
console.log('Ocr key: ' + ocr_key + ' document type: ' + document_type);
} else if (DocumentRecognitionResponse.length === 2) {
const { ocr_front_key } = DocumentRecognitionResponse[0];
const { ocr_back_key } = DocumentRecognitionResponse[1];
console.log('Ocr front key: ' + ocr_front_key + ' / Ocr back key: ' + ocr_back_key);
}
})
.catch((error) => {
console.log('Error executing Ocr. Error: ' + error);
});

Tratamento de erros

A Promise é rejeitada quando o usuário interrompe o fluxo ou quando o SDK nativo encontra um erro.

SituaçãoMensagem
Usuário cancelou o fluxoUser canceled OCR
Erro no SDK nativo de iOSError executing OCR: <detalhe>
Módulo nativo não vinculadoThe package 'react-native-qi-tech-module' doesn't seem to be linked...
Atenção

Se você receber o erro de linking, verifique se executou pod install no iOS, se reconstruiu o aplicativo após a instalação do pacote e se não está no Expo managed workflow sem prebuild.