📋 Sobre o Projeto
Precisamos de um desenvolvedor para criar uma aplicação demonstrativa que integre a API de biometria facial LenzId (Auth Face API) via RapidAPI.
Link:
https://rapidapi.com/lenzid-lenzid-default/api/auth-face-biometric-authentication-api
O objetivo é implementar um fluxo simples e funcional de cadastro e verificação biométrica, onde a aplicação decide automaticamente qual ação executar baseado no status do usuário.
🎯 Objetivo Principal
Criar uma aplicação local que:
Permita ao usuário informar apenas um identificador (external_user_id)
Verifique automaticamente se ele já está cadastrado
Direcione para cadastro biométrico ou verificação facial
Exiba o resultado final da operação
🛠️ Tecnologias Aceitas
Você pode escolher entre:
-
Node.js
- Python
- PHP
- C# (.NET Core)
- Java (Spring Boot ou similar)
A aplicação deve rodar localmente (localhost).
🔄 Fluxo Funcional Esperado
Etapa 1: Entrada do Usuário
Usuário informa seu external_user_id (ex: "João")
Etapa 2: Verificação Automática de Status
Endpoint:
POST /wp-json/biometry/v1/users/get
Cenário A — Usuário NÃO cadastrado (404)
{
"success": false,
"error": "external_user_not_found"
}
➡️ Aplicação inicia cadastro biométrico:
POST /wp-json/biometry/v1/enroll
Cenário B — Usuário JÁ cadastrado (200)
{
"success": true,
"user": {
"external_user_id": "João",
"status": "enrolled"
}
}
➡️ Aplicação inicia verificação facial:
POST /wp-json/biometry/v1/verify
Etapa 3: Redirecionamento para Captura Biométrica
Tanto enroll quanto verify seguem o mesmo padrão.
Antes de iniciar qualquer fluxo, a aplicação deve gerar um UUID novo, que será usado como client_state.
Requisição:
{
"external_user_id": "João",
"redirect_url": "http://localhost:3000/final",
"client_state": "uuid-gerado-pela-aplicacao"
}
Resposta da API:
{
"success": true,
"client_state": "ee94ab30-ed1b-4905-be83-5cfc6c43ae99",
"biometry_url": "
https://auth.lenzid.com/?t=..."
}
✅ A aplicação deve redirecionar automaticamente o usuário para a biometry_url
Importante:
O client_state deve ser um UUID novo a cada fluxo iniciado
Esse UUID será reutilizado para consultar o resultado final
Etapa 4: Retorno Automático
Após o processo biométrico, o usuário retorna automaticamente para:
http://localhost:3000/final?client_state=SEU_UUID_AQUI
Etapa 5: Consulta do Resultado Final
Endpoint:
POST /wp-json/biometry/v1/result
Use o client_state recebido na URL para consultar o resultado.
Exibição final esperada:
✅ Verify aprovado → “Cliente legítimo”
❌ Verify falhou → “Verificação falhou”
⚠️ Conflito no enroll → “Já existe um usuário cadastrado com este rosto”
✅ Requisitos Técnicos Obrigatórios
Endpoints:
users/get — verificar se usuário existe
enroll — cadastro biométrico
verify — verificação facial
result — resultado final
Tratamento de Conflito (Enroll)
Quando o rosto já pertence a outro usuário:
{
"success": true,
"flow": "enroll",
"status": "fail",
"reason": "conflict",
"external_user_id": "user1234",
"score": 0.882876
}
➡️ Exibir mensagem apropriada ao usuário.
Segurança
Uso obrigatório de variáveis de ambiente (.env)
Chave do RapidAPI não pode ser versionada
.env deve estar no .gitignore
📦 Entregáveis
Repositório público no GitHub contendo:
1. Código completo e funcional
Aplicação rodando localmente
Fluxo completo enroll → result e verify → result
2.
README.md detalhado com
Explicação do fluxo implementado
Endpoints utilizados
Como rodar localmente
Configuração do .env
Como obter chave no RapidAPI
Frase obrigatória:
“Powered by LenzId (Auth Face API) – via RapidAPI”
3. Arquivo .env.example
Com variáveis necessárias (sem valores reais)
❌ O que NÃO é necessário
Interface visual elaborada
Deploy online
Produção
Manutenção após entrega
Testes automatizados (opcional)
👨💻 Perfil Desejado
Experiência com integração de APIs REST
Conhecimento de autenticação via headers/tokens
Familiaridade com
Node.js, Python, PHP, Java ou C#
Documentação clara
Boas práticas de segurança
Diferenciais:
Experiência com RapidAPI
Projetos similares de biometria/autenticação
Prazo de Entrega: Não estabelecido