Documentação
Componentes
Dois componentes cobrem os três fluxos de verificação. Ambos aceitam as mesmas props de callback e tela de resultado.
LivenessCheck
Prova de vida isolada. O usuário passa pelo detector de liveness e o SDK retorna se a captura foi aprovada. O JSON de onResult inclui selfieBase64 (frame capturado no navegador, anexado no frontend).
"use client";
import { LivenessCheck } from "techface-sdk";
<LivenessCheck
onResult={(result) => console.log(result)}
onError={(error) => console.error(error.code, error.message)}
/>FaceMatchCheck
Comparação facial com ou sem liveness. Exige uma imagem de referência via URL pública ou base64.
Com prova de vida (padrão)
<FaceMatchCheck
liveness
referenceImage={{ url: "https://exemplo.com/foto-documento.jpg" }}
onResult={(result) => console.log(result.approved)}
onError={(error) => console.error(error.message)}
/>Sem prova de vida — selfie + comparação
<FaceMatchCheck
liveness={false}
referenceImage={{ base64: "<conteudo-base64-da-foto>" }}
onResult={(result) => console.log(result.faceMatch?.similarity)}
/>Nos três fluxos,
selfieBase64 pode aparecer no onResult. Nos fluxos com liveness, a imagem é capturada e anexada no frontend — a API não devolve a foto. No fluxo facematch (sem liveness), a selfie também é enviada à API para comparação, mas o campo no JSON continua vindo do cliente. Veja Resultado e erros.Props compartilhadas
Aplicam-se a LivenessCheck e FaceMatchCheck:
| Prop | Tipo | Descrição |
|---|---|---|
onResult | (result) => void | Callback com o resultado consolidado em JSON. |
onError | (error) => void | Erros com code e message em pt-BR. |
showResultScreen | boolean | Exibe a tela de resultado do SDK. Padrão: true. |
Props do FaceMatchCheck
| Prop | Tipo | Descrição |
|---|---|---|
referenceImage | { url } | { base64 } | Obrigatória. Foto de referência (documento, cadastro anterior, etc.). |
liveness | boolean | Ativa prova de vida antes da comparação. Padrão: true. |
Exemplo completo
VerificacaoIdentidade.tsx
"use client";
import "techface-sdk/styles.css";
import {
Techface,
FaceMatchCheck,
type VerificationResult,
type TechfaceError,
} from "techface-sdk";
Techface.configure({ apiKey: process.env.NEXT_PUBLIC_TECHFACE_API_KEY! });
function handleResult(result: VerificationResult) {
if (result.approved) {
// prossiga no fluxo do seu produto
}
// result.selfieBase64 — JPEG base64 capturado no frontend
if (result.selfieBase64) {
// persistir ou enviar ao seu backend
}
}
function handleError(error: TechfaceError) {
console.error(error.code, error.message);
}
export function VerificacaoIdentidade() {
return (
<FaceMatchCheck
liveness
referenceImage={{ url: "https://exemplo.com/documento.jpg" }}
onResult={handleResult}
onError={handleError}
showResultScreen
/>
);
}