Estou fazendo uma integração de carrinho abandonado entre VTEX e RD Station e me deparei com um problema.
Não estou encontrando uma variável dentro da entidade de dados que me forneça o total de itens do carrinho do cliente (dado indispensável para fazer a requisição POST na API do RD Station).
Alguém já passou por algo parecido e pode me ajudar?
Eu acredito que pelo MasterData direto você não vai conseguir. Vai ser necessário criar um novo campo só para salvar essa info.
Você já tentou usar o OrderForm para capturar essas informações, já que quando o cliente leva o produto para o carrinho há um somatório de itens que ele adiciona no CART.
Creio que a partir de lá você consegue capturar o dado e enviar pro MasterData e só depois você trabalhar com esta variável a partir desta informação VTEX ORDERFORM GITHUB
@estevao_santos Acabei de criar o novo campo aqui no MasterData e encontrei onde no OrderForm capturar o total de itens do carrinho.
Só não sei ao certo onde eu faço essa atribuição, acredito que seja no checkout. Tentei fazer pelo console na página de checkout do meu perfil de teste no site (pois no momento o checkout no painel está em manutenção), mas recebi um erro 403 e a response: "Cannot write in private fields".
Tenho mais uma dúvida:
O token da integração dura somente 24h. Teria alguma forma de fazer o refresh_token pelo MasterData e armazenar esse novo token temporariamente entre requisições do trigger? Não quero deixar guardado para não comprometer a segurança.
Fala @HiranOliveira apenas confirmando, você obtém estes dados no Checkout mesmo.
Portanto, pela lógica, você faria um GET no Orderform para capturar o dado que precisa e depois faria um POST lá no MasterData, salvando essa informação no novo campo que você criou.
Importante: antes de você usar o método, verifica se o campo novo está público lá dentro da Entidade de dados, porque se não estiver, vai apresentar este erro ai que você está vendo.
Sobre a questão do refresh do token, você precisaria criar um middleware para isso, pois você encapsularia apenas o token dentro da aplicação para não ficar no front. Se você tiver conhecimento de backend, você mesmo pode fazer esse tipo de app. Caso contrário, sugiro procurar alguém do seu time que tenha familiaridade com essa parte para que a aplicação esteja dentro das melhores práticas, ok?