Enviar e-mail quando o cliente comprar produto específico

Preciso enviar um email específico para caso o cliente compre um produto específico. Alguém pode me ajudar? Já criei o template, só não sei como criar a regra de envio.

Acho que não tem um jeito simples de fazer o que você quer. Pensando rápido, eu acho que seria preciso criar um middleware que:

  • Consome o feed de pedidos para ver se o produto específico foi comprado

  • Se o produto foi comprado, puxa os dados do cliente em questão

  • Envia o e-mail transacional certo pelo message center

Para a parte do feed de pedidos, você pode se basear nesse exemplo. Para a parte do e-mail transacional, você pode se basear nesse exemplo.

Mas não é algo trivial de se fazer, exige desenvolvimento dentro do VTEX IO. Pelo menos é o que eu acho, dada a minha experiência.

1 Like

Olá George muito obrigado pelo seu retorno. Eu não sou tão experiente em VTEX, pensei em algo que verificasse o id SKU do produto para enviar o e-mail. Vou verificar o material que compartilhou =)

1 Like

Pois é, o problema mesmo é que (até onde sei) não existe nada pronto que acompanhe pedidos, cheque o ID do SKU e envie e-mail… Por isso a sugestão.

Por curiosidade… Qual o objetivo de negócio relacionado a essa implementação? O que vocês estão tentando alcançar com isso?

Os clientes que comprarem os produtos X, Y e Z receberão por e-mail um texto e um link para acessar um conteúdo exclusivo da marca fabricante dos produtos. É válido apenas para esses 3 produtos.

E esse conteúdo seria compartilhado com qual objetivo? Vai ajudar o cliente a usar o produto? Vai trazer algum benefício?

É um módulo de um curso =)

olá, Leonardo, tudo bem? estamos revendo os tópicos mais relevantes/visitados da nossa comunidade e por isso, reabrimos sua pergunta, assim caso outros usuários tenham a mesma dúvida, é possível consultar a nossa resposta oficial!

Abaixo, elencamos algumas sugestões para o cenário compartilhado:

1- Colocar o sku como variável usando “id” como atributo

Para configurar os seus templates, a Central de mensagem utiliza a liguagem HandleBars , que é muito simples e possui apenas alguns comandos, simplificando sua implementação e ampliando sua customização.
Na edição do email, é possível utilizar diversas variáveis disponibilizadas pelo sistema. A utilização dessas variáveis no layout do email tem a seguinte sintaxe do handlebars: *classe.atributo* são obtidos do JSON.

Importante : Os atributos são os mesmos para todas as lojas VTEX, contudo cada loja pode estar configurada de forma diferente. Importante customizar seu template usando as informações fornecidas para o Json da sua loja.
JSON Data

"_accountInfo": {   "HostName": "lojavirtual" }

HTML do template => lojavirtual


Para o exemplo acima, uma loja seller pode possuir um hostname diferente de uma loja marketplace. Sempre leve em conta as suas configurações!

Funções

O uso das funções segue esta sintaxe:
JSON Data

"items": [ {   "name": "Produto A",   "sellingPrice": 20000,   "priceValidUntil": "2050-05-30T21:00:00Z",   "deliveryTime": "8bd" }, {  "name": "Produto B",   "sellingPrice": 3000,   "priceValidUntil": "2050-09-23T11:00:00Z",   "deliveryTime": "10d" } ]
  • formatCurrency: Formata um valor para moeda

Resultado: R$ 200,00

  • formatUSDCurrency: Formata um valor para o padrão decimal americano

Resultado: $ 200.00

  • formatCurrencyWithoutDecimals: Formata um valor para moeda sem os decimais

Resultado: R$ 200

  • multiplyCurrency: Formata um valor para moeda e o multiplica por um valor Esta função tem a seguinte sintaxe:

Resultado: R$ 800,00

  • formatDate: Formata a data para padrão (dd/mm/yyyy)

Resultado: 30/05/2050

  • formatDateTime: Formata a data para padrão (dd/mm/yyyy hh:mm:ss)

Resultado: 30/05/2050 21:00:00

  • formatDateUtc: Formata a data para padrão (dd/mm/yyyy hh:mm:ss) e converte para o UTC local

Resultado: 30/05/2050 18:00:00 (-3h, por exemplo)

  • replace: Tem a função de substituir um determinado valor por outro Esta função tem a seguinte sintaxe:

Resultado: 8 dias úteis

Exemplos

{{#each items}} {{name}} Entrega{{#each ../shippingData.logisticsInfo}} {{#eq itemId ../id}} {{#each slas}} {{#eq ../selectedSla id}} {{#if deliveryWindow}} agendada entre{{formatDateTime deliveryWindow.startDateUtc}} e {{formatDateTime deliveryWindow.endDateUtc}} {{else}} em até{{#hasSubStr shippingEstimate 'bd'}} {{replace shippingEstimate 'bd' ' dias úteis.'}} {{else}} {{replace shippingEstimate 'd' ' dias.'}} {{/hasSubStr}} {{/if}} {{/eq}} {{/each}} {{/eq}} {{/each}} {{quantity}}x R$ {{formatCurrency sellingPrice}} {{/each}}

Resultado:

O site dos handlebars: https://handlebarsjs.com/guide/builtin-helpers.html#i

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.