Pular para o conteúdo

Fluxos

Este documento descreve o fluxo de instalação de templates. O objetivo é suportar instalação com ou sem plano/cupom, usando o caminho: Auth → Profile → Checkout → Success.

StepDescriçãoRota
template_viewVisualização do template/t/{slug}
auth_pendingAutenticação/t/{slug}/install/
profile_pendingCompletar perfil + aceitar compartilhamento/t/{slug}/install/profile
checkout_pendingCheckout/t/{slug}/install/checkout
successSucesso/t/{subscriptionId}/install/success
Estado AtualEventoPróximo EstadoObservação
template_viewinstall_clickauth_pendingInício do funil
auth_pendingauth_successprofile_pendingUsuário sem perfil completo
auth_pendingauth_successcheckout_pendingUsuário com perfil completo
auth_pendingauth_errorauth_pendingExibe erro e permite retry
profile_pendingprofile_submitcheckout_pendingDados válidos + consentimento
checkout_pendingpayment_successsuccessAssinatura criada
checkout_pendingpayment_errorcheckout_pendingExibe erro e permite retry
  • Se o usuário já estiver autenticado e com perfil completo, pode ir direto para checkout_pending.
  • Se não houver plano/cupom, o checkout pode ser apresentado como R$ 0 ou com plano nulo (de acordo com o backend).
  • O subscriptionId é usado apenas na rota de sucesso.
  • O consentimento de compartilhamento é obrigatório para avançar do perfil para o checkout.
interface InstallationState {
sessionId: string | null;
currentStep:
| "template_view"
| "auth_pending"
| "profile_pending"
| "checkout_pending"
| "success";
completedSteps: Array<
| "template_view"
| "auth_pending"
| "profile_pending"
| "checkout_pending"
| "success"
>;
templateId?: string;
templateSlug?: string;
planId?: string | null;
couponId?: string | null;
consent?: boolean;
}

Os eventos estão em Tracking. Eventos adicionais podem ser criados para insights mais detalhados, mas não devem ser usados para controle de fluxo.