Guia de Integração V10

Esta documentação auxilia equipes técnicas na integração com o FaceTec V10, detalhando o fluxo do Liveness 3D baseado em requestBlob e responseBlob, além de apresentar endpoints, payloads, respostas da API e requisitos de autenticação. O Liveness 3D da FaceTec realiza a validação de vivacidade facial em tempo real, garantindo que o usuário seja uma pessoa real e prevenindo fraudes com fotos, vídeos ou máscaras.

Visão Geral

A versão 10 do SDK FaceTec utiliza um fluxo cíclico baseado em requestBlob e responseBlob, onde o SDK controla toda a execução do Liveness 3D.


Como Funciona

O processo segue um ciclo controlado pelo SDK:

  1. O SDK gera um requestBlob
  2. A aplicação envia esse dado para o Server FaceTec
  3. O Server FaceTec retorna o responseBlobpara a aplicação
  4. A aplicação repassa o retorno ao SDK
  5. O SDK decide se continua ou finaliza

Esse ciclo se repete até o resultado final.

⚠️

Observação!

Em um fluxo bem-sucedido, normalmente ocorrem cerca de 3 requisições. No entanto, a quantidade de chamadas é totalmente controlada pelo SDK.

O SDK é o único responsável por controlar o fluxo.
A aplicação e o backend não possuem controle sobre a quantidade de chamadas.


Fluxo do Processo


Endpoint

POST https://hml.certiface.com.br/facecaptcha/service/captcha/3d/process-request
HeadersDescrição
Content-Typeapplication/json

Payload da Requisição

O payload é sempre o mesmo em todas as chamadas:

{
  "appkey": "string",
  "requestBlob": "string",
  "userAgent": "string"
}
CampoDescrição
appkeyChave de autenticação da aplicação
requestBlobGerado pelo SDK FaceTec (contém dados da sessão)
userAgentIdentificador do navegador/dispositivo

Primeira Chamada

Responsável por iniciar o processo.

Endpoint

POST https://hml.certiface.com.br/facecaptcha/service/captcha/3d/process-request
HeadersDescrição
Content-Typeapplication/json

Response:

{
  "responseBlob": "string",
  "didError": false
}

Segunda Chamada

Processamento intermediário e geração do launchId.

Endpoint

POST https://hml.certiface.com.br/facecaptcha/service/captcha/3d/process-request
HeadersDescrição
Content-Typeapplication/json

Response:

{
  "responseBlob": "string",
  "launchId": "uuid",
  "didError": false
}

Terceira Chamada (Resultado Final)

Equivalente ao retorno final do Liveness 3D tradicional.

Endpoint

POST https://hml.certiface.com.br/facecaptcha/service/captcha/3d/process-request
HeadersDescrição
Content-Typeapplication/json

Response:

{
  "valid": true,
  "codID": 200.0,
  "hash": "string",
  "protocol": "string",
  "retry": false,
  "responseBlob": "string",
  "launchId": "uuid"
}
❗️

Importante!

Campos importantes:

CampoDescrição
validIndica se o liveness foi aprovado
codIDCódigo de status
hashIdentificador da validação
protocolNúmero do protocolo gerado
retryIndica se precisa refazer
launchIdID da sessão

Regras do fluxo

  • O fluxo só é considerado válido quando o retorno final possuir valid = true.
  • Chamadas de retentativas não impactam o backend.
  • O launchId é retornado pelo serviço e reutilizado ao longo da sessão.
  • O responseBlob deve ser utilizado pelo SDK FaceTec para continuidade do fluxo.

Fluxo de Retentativa

Em caso de falha, o SDK reinicia o processo chamando novamente o endpoint.

O retorno será equivalente ao da segunda chamada, contendo um responseBlob e o mesmo launchId.


Considerações Técnicas

  • ❌ Não gera validação de liveness;
  • ❌ Não gera protocolo;
  • ❌ Não persiste registro;
  • ✅ Apenas reinicia tentativa no SDK.

❗️

É bom saber!

O backend não deve interpretar ou modificar o responseBlob.
Toda a orquestração do fluxo é responsabilidade exclusiva do SDK FaceTec.