Persistência de dados
🔍 Preview
A Persistência de dados é o mecanismo que garante que informações do cliente (como login, carrinho e preferências) continuem disponíveis ao navegar entre as aplicações:
- Store Theme
- Checkout
- Área Restrita
- Adicionar produtos no Store Theme
- Finalizar a compra no Checkout
- Acompanhar pedidos na Área Restrita
- É armazenado automaticamente pelo backend no navegador do cliente (via cookie)
- É enviado em todas as requisições da API Pública
- Permite que o backend identifique o contexto da navegação
- Carrinho ativo
- Estado de login do cliente
- Preferências e contexto da navegação
- Exibe produtos, vitrines e banners
- Gerencia o carrinho
- Pode iniciar o login do cliente
- Consome o carrinho existente
- Recupera dados do cliente
- Mantém continuidade da compra
- Acessa dados do cliente autenticado
- Exibe pedidos, endereços e informações pessoais
- Depende da persistência iniciada anteriormente
- Qualquer requisição do front-end para a API Pública inicia esse processo
- O back-end verifica se existe um token na requisição e se ele é válido
- Caso o token não exista ou seja inválido, um novo token é gerado e armazenado automaticamente no navegador
- Esse token passa a ser enviado automaticamente nas próximas requisições via header
- A API Pública identifica o cliente com base nesse token
- Os dados (carrinho, login, contexto) são mantidos e atualizados de forma consistente
- Identificador do cliente
- Carrinho atual (produtos, cupons, promoções)
- Estado de login
- Persistência é voltada para experiência do cliente
- Autenticação é voltada para segurança e integrações
- Sempre propague o token entre as aplicações
- Utilize o mesmo nome de cookie em todos os contextos
- Evite criar tokens paralelos
- Utilize a API Pública como fonte única da verdade
- Sempre que possível, utilize o public-sdk (já gerencia isso automaticamente)
Tecnicamente, essa persistência é baseada em um token público de autorização, utilizado nas requisições da API Pública.
Sem esse mecanismo, cada aplicação funcionaria de forma isolada — quebrando a experiência de compra.
✅ Por que a persistência é tão importante?
Na Uappi, a jornada do cliente não acontece em um único projeto.
Um mesmo cliente pode:
Para que isso funcione de forma fluida, os dados precisam persistir entre essas aplicações.
Sem persistência válida, o carrinho, o login e os dados do cliente não se refletem corretamente entre as aplicações.
🧠 O que é Persistência de Dados na Uappi?
Na Uappi, persistência de dados é o mecanismo que mantém o estado do cliente entre as aplicações frontend.
Esse mecanismo é baseado em um:
token público de autorização
Esse token:
🔑 O papel do token
Esse token não é um token de autenticação sensível.
Ele é um token de nível público, responsável por manter o contexto da experiência do cliente.
Através dele, o backend consegue recuperar:
Com o uso do public-sdk em todas as camadas esse token é compartilhado automaticamente entre Store Theme, Checkout e Área Restrita, garantindo continuidade mesmo ao trocar de aplicação.
🧩 Onde a persistência é utilizada
A persistência é compartilhada entre três aplicações frontend:
🛍️ Store Theme
🧾 Checkout
👤 Área Restrita
🔗 Como a persistência funciona
O fluxo acontece da seguinte forma:
Não importa onde o fluxo começou — o estado será reconhecido em qualquer aplicação.
📦 Quais dados são persistidos
A persistência pode incluir:
Dados sensíveis do lojista não fazem parte desse token
Esses dados são tratados via API Privada
♻️ Persistência ≠ Autenticação
É importante diferenciar:
| Conceito | Responsabilidade |
|---|---|
| Persistência de dados | Manter estado do cliente entre aplicações |
| Autenticação | Controle de acesso a dados sensíveis e privados |
🛠️ Boas práticas
🏁 Próximo passo
Agora que você entende como funciona a persistência de dados e o papel do token público, escolha o caminho que faz mais sentido:
🎨 Front-end (Store Theme, Checkout, Área Restrita)
Store Theme: estrutura da loja e experiência do cliente Checkout: fluxo de compra Área Restrita: experiência pós-compra
🔐 Integrações e backend
Se você precisa acessar dados sensíveis ou criar integrações: