Master Data - Dados específicos para um usuário

Preciso gravar e depois recuperar alguns dados extras do usuário, e para isso criei uma nova entidade.

Minhas dúvida é: Há alguma maneira de trabalhar com esses dados sem informar o ID/Email na API? O Master Data consegue relacionar os dados ao usuário logado?

Não tem relação alguma você adicionar dados no MASTER DATA com o usuário estar logado ou não, afinal você pode criar uma entidade para uma função sem ter relação alguma dados do usuário.

Resumindo, se você quer relacionar, sempre vai precisar informar o email, não há como ser automático.

@Nathan Prestes entendi!

Há como proteger os dados? Por exemplo, estou com o usuário A logado, mas faço uma consulta pelos dados com o email do usuário B.

Que dados e o que você está construindo Luis? Me dê mais informações, que é possível é, mas depende da arquitetura que você planejou.

De qualquer forma existe o artigo:

https://help.vtex.com/tutorial/criando-entidade-de-dados?locale=pt

Nele está explicando os campos que você pode criar e as configurações de cada campo(se é possível apenas inserir dados, consultar, filtrar, etc..)

@Nathan Prestes​ Estou testando uma Wishlist customizada na loja, então criei uma entidade Wishlist, com os campos produto_id e o user_id, veja as imagens abaixo.Captura de Tela 2019-04-17 às 11.52.06

Captura de Tela 2019-04-17 às 11.53.45

Mas dessa forma, se eu souber o id de outro usuário, estando logado com meu usuário, conseguiria acessar os dados de outro, pois a procura por documentos está sendo baseada no user_id. Ainda não testei acessar os dados de outro user_id, mas teoricamente, seria possível, correto? Há como bloquear isso?

Em tese poderia, porém você pode bloquear fazendo um middleware onde você envia uma informação e ele retornaria apenas os produtos, mas até que ponto vale isso?

Sinceramente, não vejo nenhum problema se um usuário ver os produtos favoritos de outro usuário.

É, imaginei que não seria possível diretamente via VTEX.

Concordo que os produtos favoritos não seria um problema​, mas é algo que me incomoda caso precise armazenar dados sensitivos.

Obrigado @Nathan Prestes​ . Esclareceu minhas dúvidas.

Para dados sensíveis, aconselho a criar um middleware.

Veja no seu print que existe os campos:

  • PUBLICO PARA LEITURA: Campo responsável por consultar o MD e conseguir ler esse campo
  • PUBLICO PARA ESCRITA: Para conseguir gravar dados neste campo
  • PUBLICO PARA FILTRAR: Para utilizar a api do MD + filtros neste campo

Que bom que consegui esclarecer.