A função initialize()
Para iniciar a Web OCR SDK, após ter instanciado a classe WebOCR, chame a função initialize() passando uma lista de documentos permitidos como parâmetro.
Abaixo temos o detalhamento de cada um dos possíveis tipos de documento:
| Nome | Tipo | Descrição |
|---|---|---|
| cnh | String | Captura de CNH física (fechada), em duas etapas, FRENTE e VERSO |
| rg | String | Captura de RG físico (fechado), em duas etapas, FRENTE e VERSO |
| cin_digital | String | Envio da CIN digital (pdf) emitida por um aplicativo oficial |
| rg_digital | String | Envio do RG digital (pdf) emitido por um aplicativo oficial |
| rne | String | Captura do RNE físico, em duas etapas, FRENTE e VERSO |
| crnm | String | Captura da CRNM física, em duas etapas, FRENTE e VERSO |
| others | String | Deve ser usado para permitir o envio de outros documentos além dos listados acima |
Adicionar o tipo others nos templates permitidos faz com que todo documento enviado seja aceito. Assim, mesmo documentos não oficiais serão aceitos.
Exemplo de Implementação
Um exemplo de implementação da Web OCR SDK pode ser visto abaixo:
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Web OCR</title>
<script src="https://ocr.caas.qitech.app/4-0-0/ocr.js"></script>
</head>
<body>
<div class="demo-app-container">
<button onclick="initOCR(['rg', 'cnh', 'rg_digital'])">
Iniciar coleta do documento
</button>
</div>
</body>
<script>
var webOCR = new QiTechWebOCR.WebOCR(
"<WEB_TOKEN>",
"<SESSION_ID>"
)
.setThemeConfiguration({
"companyLogo": "https://my_company/logo.png",
"primaryColor": "#FF9900",
"fontFamily": "Verdana"
})
.setShowInstructionScreen(true)
.setShowSuccessScreen(true)
.setShowAllowedTemplatesScreen(true)
.setSandboxEnvironment()
.build()
function initOCR(allowed_templates) {
webOCR.initialize(allowed_templates)
.then((ocr_results) => {
console.log(ocr_results)
})
.catch((error) => {
console.log(error)
})
}
</script>
</html>
No exemplo acima, a instância da classe WebOCR é criada com os parâmetros obrigatórios e opcionais. Com o SDK instanciado, a função initOCR() inicializa o fluxo de captura e, ao final, registra em log o array de resultados retornados ou o erro, caso ocorra.
Tratamento do Retorno
O método initialize() retorna uma Promise:
-
Sucesso: A Promise é resolvida com um array de objetos, onde cada objeto representa um documento capturado. Consulte a página Coletando os Retornos para detalhes sobre o formato.
-
Erro: A Promise é rejeitada. Você pode capturar esses erros utilizando o método
.catch().