Utilizando eventos como gatilhos
Utilizando eventos como gatilhos
Introdução
Com o cliente de analytics implementado, nós queremos utilizar os eventos como gatilhos para os requests. Isso significa que, para cada evento escutado, queremos fazer um request para a app de analytics, de forma que, a cada X segundos, tenhamos novos dados em Live Products.
Eventos
No VTEX IO, eventos são usualmente utilizados como gatilhos para outras ações, como enviar emails para o cliente final. Para implementar isto, é necessário configurar nossa app do cliente e o handler de eventos.
Usando eventos como gatilhos para fazer um request
-
Com o cliente de analytics implementado, precisamos apenas utilizá-lo no handler de eventos. Primeiro, no arquivo
node/event/liveUsersUpdate.ts
, importe o cliente que implementamos no passo anterior:import { Clients } from '../clients/index'
-
Agora, precisamos utilizar o
EventContext
que foi configurado previamente. Importe-o atualizando o método. É possível fazer como abaixo://node/event/liveUsersUpdate.ts import { Clients } from './../clients/index' +import { EventContext } from '@vtex/api' +export async function updateLiveUsers(ctx: EventContext<Clients>) { ... }
Nota: você também pode declarar globalmente seu contexto de evento, através do arquivo
/node/index.ts
. Se você fizer desta forma, não é necessário importá-lo em cada arquivo que você precise utilizá-lo. -
Agora, para utilizar o cliente de analytics, faça o seguinte:
//node/event/liveUsersUpdate.ts export async function updateLiveUsers(ctx: EventContext<Clients>) { + const liveUsersProducts = await ctx.clients.analytics.getLiveUsers() + console.log('LIVE USERS: ', liveUsersProducts) + return true }
-
Finalmente, rode o comando
vtex link
e, para cada evento disparado, você deve ver os dados pegos do analytics. O resultado é similar ao da imagem abaixo:
Está com dúvidas?
Veja o gabarito para esta etapa ou acompanhe nosso [office hours] no canal VTEX Developers(https://www.youtube.com/c/VTEXDevelopers)
Ajude-nos a fazer este conteúdo melhor!
Os cursos do VTEX IO são de código aberto. Se você perceber algum problema, pode abrir um pull request!
Faça uma contribuiçãoUpdated 10 months ago