For the complete documentation index, see llms.txt. This page is also available as Markdown.

DocumentDetector (Descontinuado)

Importando SDK

Para usar o DocumentDetector, você pode importar remotamente o .js arquivo ou baixá-lo localmente.

Remotamente

Inclua o .js arquivo diretamente da CDN:

<script
  src="https://repo.combateafraude.com/javascript/release/document-detector/<VERSION>.umd.js"
  type="text/javascript"
></script>

Você pode obter a classe do SDK usando o seguinte código:

const { DocumentDetectorSdk } = window["@combateafraude/document-detector"];

Localmente

Baixe o .js arquivo e importe-o como um módulo ES6:

import { DocumentDetectorSdk } from "../assets/js/document-detector-<VERSION>.js";

Construção

No construtor, o SDK recebe um único parâmetro com as configurações:

Parâmetros suportados

Parâmetro

Obrigatório?

Token de autenticação para consumir o SDK.

Sim.

language

Idioma padrão das mensagens, valores válidos: en_US, en_BR, es_MX.

Não. O padrão é pt_BR

analyticsSettings

Objetos de configuração de análise.

Não.

analyticsSettings.disableAnalytics

Parâmetro responsável por habilitar ou desabilitar a análise.

Não.

analyticsSettings.trackingId

ID único no qual vamos salvar as informações desta execução do SDK.

Não.

analyticsSettings.trackingInfo

Aceitamos um objeto de informações.

Não.

environmentSettings.disableDesktopExecution

Indica se a execução em desktops deve ser bloqueada.

Não. O padrão é false

capturerSettings.disableAdvancedCapturing

Indica se a captura avançada deve ser desativada*.

Não. O padrão é false

appearenceSettings.captureButtonIcon

A personalização do ícone de captura aceita valores como URL de imagem ou SVGs em base64.

Não

appearenceSettings.captureIconSize

Personalização do tamanho do ícone para o campo captureButtonIcon.

Não

appearenceSettings.captureButtonColor

Personalização da cor padrão do botão de captura de imagem.

Não

appearenceSettings.switchButtonIcon

A personalização do ícone de troca de câmera aceita valores como URL de imagem ou SVGs em base64.

Não

appearenceSettings.switchIconSize

Personalização do tamanho do ícone para o campo switchButtonIcon.

Não

appearenceSettings.switchIconColor

Personalização da cor do ícone padrão de troca de câmera.

Não

appearenceSettings.fontFamily

Altera a fonte de todos os elementos contidos no SDK.

Não. O padrão é herdado da página

textSettings.messages.processMessage

Personalização da mensagem de processamento da imagem.

Não. O padrão é "Processando sua foto, aguarde um momento"

textSettings.messages.wrongDocumentMessage

Personalização da mensagem de documento inválido.

Não. O padrão é "Este não é o documento esperado"

textSettings.messages.bothWrongSideMessage

Personalização da mensagem de lado incorreto, selecionando a frente ou o verso e capturando ambos os lados.

Não. O padrão é "Por favor, realize a captura com o documento fechado e com o lado correto para a câmera"

textSettings.messages.wrongSideMessage

Personalização da mensagem de lado incorreto.

Não. O padrão é "Este não é o lado esperado para este documento"

textSettings.messages.lowQualityMessage

Personalização da mensagem de retorno da API para baixa qualidade de imagem.

Não. O padrão é "A qualidade da captura não ficou legal. Certifique-se que está em um ambiente iluminado e tente novamente"

textSettings.messages.captureFailedMessage

Personalização da mensagem de falha na captura.

Não. O padrão é "Ops! Tivemos um problema ao processar sua imagem."

* A captura avançada consiste em usar APIs mais complexas e não tão estáveis nos navegadores que oferecem suporte a elas (por exemplo, ImageCapture)

Exemplo

CaptureStage

CaptureStage permite ao cliente configurar os estágios. Para isso, oferecemos o CaptureStage objeto, no qual você pode definir os seguintes parâmetros:

Parâmetro

mode

Modo de captura desejado. Pode ser usado manual, automático ou envio. Na captura manual, um botão será habilitado para o usuário fazer a captura; no envio, a funcionalidade de envio de documentos será exibida em vez da captura.

tentativas

O número de tentativas do estágio atual. Se for o único estágio, o valor 0 deve ser passado.

duração

Tempo de duração do estágio atual. Se houver mais de um estágio definido, é possível definir o tempo total de cada estágio e, quando o tempo total for atingido, o estágio avançará para o próximo. Defina como 0 se você não quiser definir um tempo para o estágio.

Exemplo de CaptureStage

Inicialização

initialize(): Promise<void>

O SDK possui um método separado de inicialização, para permitir maior controle sobre quando ela ocorre.

Durante essa inicialização, o SDK inicializará suas variáveis internas e baixará os recursos necessários para executar.

[!] Você deve chamar este método antes de usar outros métodos do SDK.

[!] A inicialização do SDK pode levar alguns segundos. Recomendamos que você chame essa função o mais cedo possível no seu fluxo para que a abertura do SDK seja tranquila para o usuário.

Exemplo

Utilização

Abertura e captura de documentos

capture(container: HTMLElement, stages, {type: SupportedDocumentType, side: DocumentSide, totalAttempts?: Number}): Promise<Result>

O método usado para carregar o SDK na tela e realizar a captura do documento.

Ele inicializará o stream (solicitando permissões, se necessário) e o carregará no contêiner.

Parâmetros

Parâmetro

Tipo

Valores válidos

tipo

Tipo de documento a ser capturado.

string

any¹, rg, cnh, crlv, rne, passaporte, ctps, outro²

lado⁶

Tipo de documento a ser capturado.

string

frente, verso, both⁴, not_applicable

¹ O tipo any não possui as validações de qualidade e tipo de documento, aceitando assim qualquer lado ou documento - recomendado para documentos não suportados, como a carteira da OAB.

² O tipo outro corresponde a outros documentos (não incluindo os já especificados), como carteiras de vacinação etc.

³ Se não for especificado, é usado um valor padrão de 30 segundos

⁴ O lado both corresponde ao documento exibindo os dois lados na mesma foto (ex.: CNH aberta)

⁵ O lado parâmetro depende do tipo de documento informado em tipo. Veja a tabela abaixo.

Exemplo

Lados aceitos para cada tipo de documento

Tipo de documento

Lados aceitos

rg

frente, verso, ambos

cnh

frente, verso, ambos

rne

frente, verso

rnm

frente, verso

crlv

not_applicable

ctps

frente, verso

passport

ambos

any

not_applicable

outro

frente, verso, ambos

Retornar

O retorno consiste em um objeto com os seguintes campos:

Campo

Tipo

Descrição

imageUrl

string

Link temporário para a imagem, gerado pela nossa API

imageKey

string

Chave temporária para a imagem

blob

Blob

Blob da imagem capturada

documentType

SupportedDocumentType

Tipo de documento capturado

documentSide

DocumentSide

Lado do documento capturado

Exemplo

Fechar o SDK

close(): Promise<void>

O método usado para remover o SDK da tela, removendo os elementos visuais do SDK do DOM.

Removerá os elementos visuais do SDK do DOM.

Desinicializar o SDK

dispose(): Promise<void>

Método usado para remover o SDK da tela.

Desinicializará o vídeo stream e limpará as variáveis internas do SDK

Exemplo completo

Em breve.

Atualizado