O Magento 2 possui sistemas ou abstrações para gerenciar o estado entre o back-end e o armazenamento local no front-end?
Estou trabalhando na portabilidade de um recurso para restaurar o carrinho abandonado de um usuário por meio de um URL de redirecionamento. De forma simplificada, um URL como
http://magento.example.com/restore/the/cart?identifier=sdkfjh48v237g5
carregará uma cotação no carrinho do usuário atual com base em um quote_id codificado no identificador.
No Magento 1, isso era relativamente simples - você só precisava atualizar as informações da sessão do Checkout de um usuário com o ID da cotação correto. No entanto, o Magento 2 aumenta as rugas do armazenamento local .
Os aplicativos javascript front-end do Magento 2 parecem armazenar informações em cache nos bancos de dados de armazenamento local do navegador. Isso inclui informações para a construção do minicarrinho. O que isso significa é que, mesmo que um programador de usuário final (eu) consiga alterar a ID da sessão da sessão no back-end, o minicarro ainda exibirá os dados antigos do carrinho.
Este é apenas um exemplo de um problema que decorre de não conhecer (ou ter?) Uma única API para gerenciar o estado do aplicativo no back-end e no front-end. Para o meu problema específico, meu ponto de extremidade processou uma página HTML que inclui algum javascript. Ele limpa manualmente o armazenamento local e depois redireciona o usuário para outra página - mas isso parece um hack total.
Existe uma API no Magento 2 para gerenciar dados entre o front-end e o back-end?
Existe uma maneira padrão de sinalizar todo o sistema que, durante o processamento de back-end, você fez algo que torna necessário invalidar o cache de armazenamento local de front-end?
Existe uma técnica para injetar um novo módulo RequireJS na página que é executada automaticamente e pode manipular o armazenamento local antes que o restante do (s) aplicativo (s) javascript os acesse?