Use Cases
Casos de Uso — Adoções
Introdução
Este documento detalha os principais casos de uso do sistema de adoções, cobrindo fluxos de usuário final, gestão administrativa e integrações financeiras.
UC-301: Adoção Gratuita via QR Code (Novo Usuário)
- Descrição: Um visitante escaneia o QR Code de um asset habilitado para adoção gratuita e completa o fluxo sem ter conta no sistema.
- Atores: Visitante.
- Pré-condições: Asset com
adoption_enabledativo e preço configurado como zero ou nulo. - Passos:
- Escanear QR Code com link assinado (HMAC).
- Inserir email no wizard.
- Preencher dados de perfil.
- Finalizar adoção.
- Resultado Esperado: Conta latente criada via
auth.admin.createUser(), adoção registrada na tabelaadoptionscom statusactive. - Pós-condições: Visitante recebe tela de celebração com confetes.
UC-302: Adoção Gratuita via QR Code (Usuário Existente)
- Descrição: Um usuário já autenticado escaneia o QR Code e completa a adoção.
- Atores: Usuário autenticado.
- Pré-condições: Sessão ativa no navegador.
- Passos: Identificar email já logado, pular etapas de perfil se já preenchidas, confirmar adoção.
- Resultado Esperado: Adoção vinculada ao
user_idexistente. - Pós-condições: Adoção visível no perfil do usuário.
UC-303: Adoção Paga via QR Code → Stripe Checkout
- Descrição: Usuário escolhe um asset com preço definido e realiza pagamento anual.
- Atores: Adotante.
- Pré-condições: Asset com
adoption_price_cents> 0. - Passos: Completar wizard inicial, ser redirecionado para Stripe Checkout, realizar pagamento.
- Resultado Esperado: Criação de checkout session com
metadata.source='adoption'. - Pós-condições: Aguardar webhook para ativar adoção.
UC-304: Renovação Anual Automática (Webhook)
- Descrição: Stripe processa a renovação da assinatura anual e notifica o sistema.
- Atores: Stripe (Sistema).
- Pré-condições: Adoção paga ativa com subscrição recorrente.
- Passos: Stripe envia
invoice.paid, webhook processa o evento, atualizarenewed_ateexpires_at. - Resultado Esperado: Registro de adoção atualizado com nova data de expiração.
- Pós-condições: Adoção permanece
active.
UC-305: Cancelamento de Adoção
- Descrição: Usuário ou gestor cancela a assinatura/adoção.
- Atores: Adotante ou Gestor.
- Pré-condições: Adoção ativa.
- Passos: Cancelar via Stripe ou painel administrativo, webhook processa
customer.subscription.deleted. - Resultado Esperado: Status da adoção alterado para
cancelled. - Pós-condições: Benefícios de adoção removidos após data de expiração.
UC-306: Gestor Visualiza Adoções
- Descrição: O gestor do projeto acessa a lista de todos os adotantes.
- Atores: Gestor de Projeto.
- Pré-condições: Permissões administrativas no projeto.
- Passos: Acessar
/account/projects/[id]/adoptions/. - Resultado Esperado: Visualização da tabela com 6 colunas incluindo nome, asset, status e valor.
- Pós-condições: Possibilidade de exportar dados para relatórios.
UC-307: Feature Flag Desabilitada no Projeto
- Descrição: Tentativa de acesso a adoções em um projeto onde a flag está desativada.
- Atores: Visitante.
- Pré-condições:
adoption_enabled=falseno nível de projeto. - Passos: Tentar acessar URL de adoção.
- Resultado Esperado: Redirecionamento para 404 ou mensagem de funcionalidade indisponível.
- Pós-condições: Nenhuma adoção permitida.
UC-308: Override de Flag no Asset
- Descrição: Desabilitar adoção em um asset específico, mesmo com projeto habilitado.
- Atores: Gestor.
- Pré-condições: Configurar
adoption_enabledcomofalsediretamente no asset. - Passos: Tentar escanear QR Code do asset específico.
- Resultado Esperado: Bloqueio do fluxo de adoção apenas para este asset.
- Pós-condições: Outros assets do projeto continuam permitindo adoções.
UC-309: Hash HMAC Inválida (Tentativa Não Autorizada)
- Descrição: Usuário tenta acessar a página de adoção alterando manualmente a URL ou hash.
- Atores: Atacante ou Erro de link.
- Pré-condições: URL com hash alterado.
- Passos: Acessar
/adopt/[assetId]/[invalidHash]. - Resultado Esperado: RPC
validate_adoption_hashretornafalse, acesso negado. - Pós-condições: Nenhuma informação sensível exposta.
UC-310: Adoção Rápida em Evento/Feira
- Descrição: Fluxo otimizado para adoções massivas durante eventos presenciais.
- Atores: Público de evento.
- Pré-condições: QR Codes impressos e expostos.
- Passos: Escaneamento rápido, preenchimento de email e nome apenas, confirmação instantânea.
- Resultado Esperado: Registro rápido sem necessidade de download de app ou login complexo.
- Pós-condições: Alta taxa de conversão de visitantes presenciais.