Métodos do SDK
Esta seção fornece documentação detalhada para cada método do SDK. Role para baixo para saber mais sobre como usar cada método, incluindo seus parâmetros, exemplos de uso e observações importantes.
initialize
O initialize o método é usado para inicializar o SDK. Este método configura variáveis internas e baixa os recursos necessários para o SDK funcionar.
Importante
O processo de inicialização pode levar alguns segundos. Recomenda-se chamar esta função o mais cedo possível no seu fluxo para garantir uma experiência de usuário fluida.
Tratando erros de inicialização
Erros que podem ocorrer durante a initialize() método:
CafSdkInitError
Ocorreu um erro durante a inicialização do SDK.
CafSdkUnauthorizedError
Acesso não autorizado ao SDK. Verifique se o token fornecido é válido e não expirou.
Exemplo
capture
O capture o método é usado para carregar o SDK na tela e realizar a captura do documento. Ele inicializa o fluxo de vídeo (solicitando permissões, se necessário) e o carrega no contêiner.
Para mais informações sobre os parâmetros de entrada e os resultados de saída, consulte as listas abaixo:
Entrada
O capture método recebe um parâmetro:
Este parâmetro é um objeto que contém as opções de captura. A tabela a seguir lista as opções de captura disponíveis:
Parâmetro
Tipo
Obrigatório?
Valor padrão
expectedDocument
Tipo e lado do documento que se espera que o SDK detecte. Se o valor for "any" então qualquer tipo de documento será aceito.
"rg_front" | "rg_back" | "rg_full" | "cnh_front" | "cnh_back" | "cnh_full" | "crlv" | "rne_front" | "rne_back" | "passport" | "ctps_front" | "ctps_back" | "any"
Sim.
-
mode
O modo de captura. Pode ser "automatic", "manual" ou "upload".
Se a opção enableFramingAnalyzer foi definida manualmente como false, o modo de captura será forçado para manual independentemente do valor passado neste parâmetro.
"automatic" | "manual" | "upload"
Sim.
-
automaticCaptureMaxDuration
A duração máxima em segundos para a captura automática. Se a duração for excedida, a captura manual será acionada.
number
Não.
60
uploadFileType
O tipo de arquivo a ser enviado. O valor pode ser "IMAGE", "PDF" ou undefined. Se o valor for undefined, tanto imagens quanto arquivos PDF poderão ser enviados.
"IMAGE" | "PDF" | undefined
Não.
Ambos "IMAGE" e "PDF".
personID
O ID da pessoa (usado para fins de rastreamento).
string
Não.
undefined
forceEndWhenInvalid
Determina se a captura deve ser encerrada à força quando for inválida.
boolean
Não.
false
Saída
O capture() método retorna um string JWT assinada (signedResponse) do backend. Esse JWT codifica todos os metadados da captura e pode ser verificado no lado do servidor. Para acessar os detalhes da captura no lado do cliente, decodifique o payload do JWT.
Campos do payload do JWT
O payload do JWT decodificado contém os seguintes campos:
captures
Array<object>
Lista dos lados do documento capturados. Contém uma entrada para capturas de lado único ou de documento completo.
captures[0].scannedLabel
string
O rótulo do modelo de documento detectado, combinando tipo e lado. Valores possíveis: "rg_front", "rg_back", "rg_full", "rg_new_front", "rg_new_back", "rg_new_full", "cnh_front", "cnh_back", "cnh_full", "new_cnh_front", "new_cnh_back", "new_cnh_full", "crlv", "new_crlv", "rne_front", "rne_back", "rnm_front", "rnm_back", "passport_full", "ctps_front", "ctps_back", "cin_front", "cin_back", "cin_full", "generic".
captures[0].imageUrl
string
URL pré-assinada para a imagem capturada armazenada no S3. Essa URL é temporária e expira após algumas horas.
documentType
string
O tipo de documento detectado em letras maiúsculas. Valores possíveis: "CNH", "NEW_CNH", "RG", "RG_NOVO", "CRLV", "NEW_CRLV", "RNE", "RNM", "PASSPORT", "CTPS", "CIN", "OUTROS".
trackingId
string
O identificador de rastreamento da sessão de captura. Pode estar vazio, se não se aplicar.
iat
number
Carimbo de data e hora "issued at" do JWT (época Unix em segundos). Indica quando o token foi gerado.
Exemplo de payload do JWT
(por exemplo, frente da CNH):
O signedResponse O JWT deve ser enviado ao seu backend para validação no lado do servidor. A decodificação no lado do cliente é destinada apenas para fins de exibição ou registro — não dependa disso para decisões de segurança.
Tratando erros de captura
CafSdkCaptureError
Ocorreu um erro durante o processo de captura.
CafSdkCanceledError
Execução do SDK cancelada pelo usuário.
CafInvalidOptionsError
As opções de captura do SDK são inválidas. Revise as opções fornecidas ao SDK.
CafSdkBlockedError
A captura do SDK foi bloqueada.
CafUnsupportedError
A captura do SDK não é compatível com o tipo de documento específico.
CafCameraPermissionError
Erro ao obter permissão da câmera.
CafCameraPermissionDeniedError
Permissão da câmera negada pelo usuário.
CafCameraUnsupportedError
A câmera não é compatível com o navegador/dispositivo.
Exemplo
close
O close o método é usado para remover o SDK da tela, removendo seus elementos visuais do DOM.
Tratando erros de fechamento
CafSdkCloseError
Ocorreu um erro ao fechar o SDK.
Exemplo
dispose
O dispose o método é usado para desinicializar o SDK. Ele interrompe o fluxo de vídeo e limpa as variáveis internas do SDK.
Tratando erros de desinstalação
CafSdkDisposeError
Ocorreu um erro ao descartar o SDK.
Exemplo
isSupported
O isSupported o método verifica se o navegador é compatível com o SDK.
Exemplo
getIsInitialized
O getIsInitialized o método verifica se o SDK está inicializado.
Exemplo
loadAiModel
Se a opção enableFramingAnalyzer foi definida manualmente como false, este método não terá efeito quando for chamado.
O loadAiModel método é opcional, mas pode melhorar significativamente o desempenho de carregamento do SDK. Para obter os melhores resultados, recomendamos invocá-lo o mais cedo possível no seu fluxo de trabalho, idealmente antes de chegar à tela de carregamento do SDK. No entanto, se isso não for viável ou não estiver alinhado com os requisitos específicos da sua integração, o initialize método lidará automaticamente com todas as tarefas de inicialização necessárias para garantir que o SDK opere corretamente.
Tratando erros de carregamento do modelo de IA
CafLoadAIModelError
Ocorreu um erro ao carregar o modelo de IA.
Exemplo
Atualizado

