Recebendo notificações quando há um pedido no e-commerce

Olá pessoal, tudo bem com vocês?

Hoje iremos realizar ações quando há a entrada de um novo pedido em nosso e-commerce. Através do N8N, iremos receber uma notificação quando um novo pedido entrar na plataforma e receberemos informações do mesmo.

Com isso, poderemos notificar via e-mail a equipe responsável pelo preparo e logística, executar uma validação se há produtos com estoque baixo após a baixa do pedido e também notificar um canal no Discord que será restrito para um grupo de pessoas


Tópicos:

  • Recebendo novos produtos na plataforma
  • Montando a mensagem a ser enviada
  • Notificando via e-mail utilizando o Gmail
  • Chamando subfluxo que realiza a verificação do estoque
  • Notificação via Discord

Recebendo novos produtos na plataforma

No n8n, um Webhook é um gatilho que permite que o sistema receba dados de outras aplicações em tempo real.

Quando um evento específico ocorre em uma aplicação externa, ela envia uma solicitação HTTP para o webhook no n8n, que então pode processar esses dados e executar fluxos de trabalho automatizados.

Como criar um Webhook no n8n:

  • Acesse o n8n: Entre na sua instância do n8n.
  • Crie um novo fluxo de trabalho: Clique em “New Workflow” para iniciar um novo fluxo.
  • Adicione um nó de Webhook: No editor de fluxo de trabalho, adicione um nó de “Webhook”.
  • Configure o Webhook:
  • Escolha o método HTTP (geralmente “POST”).
  • Defina o caminho do webhook (por exemplo, /novo-pedido).
  • Salve e ative o fluxo de trabalho: Após configurar o webhook, salve o fluxo de trabalho e ative-o para que ele comece a escutar as solicitações.

No WooCommerce, um webhook é uma maneira de notificar sistemas externos sobre eventos que ocorrem na loja, como a criação de um novo pedido. Quando o evento ocorre, o WooCommerce envia uma solicitação HTTP para a URL especificada no webhook.

Como criar um Webhook no WooCommerce para um novo pedido:

  • Acesse o WooCommerce: Entre no painel de administração do WordPress.
  • Vá para Configurações de Webhooks:
  • No menu do WooCommerce, vá para “Configurações” e depois para a aba “Avançado”.
  • Clique em “Webhooks”.
  • Adicione um novo Webhook:
  • Clique em “Adicionar webhook”.
  • Dê um nome ao webhook (por exemplo, “Novo Pedido”).
  • Defina o status como “Ativo”.
  • Escolha o evento “Pedido criado”.
  • Selecione o formato de entrega (geralmente “JSON”).
  • Insira a URL do webhook do n8n que você configurou anteriormente.
  • Salve o Webhook: Clique em “Salvar webhook” para ativar a integração.

Integração entre WooCommerce e n8n

Com o webhook configurado no WooCommerce para o evento de “Pedido criado” e o webhook no n8n pronto para receber dados, os dois sistemas agora estão integrados.

Quando um novo pedido é criado no WooCommerce, ele enviará uma solicitação para o webhook do n8n, que poderá processar os dados e executar ações automatizadas, como enviar notificações, atualizar bancos de dados, ou qualquer outra tarefa configurada no fluxo de trabalho do n8n.

Dessa forma, o WooCommerce e o n8n “conversam” automaticamente, permitindo automações eficientes e em tempo real.


Montando a mensagem a ser enviada

No N8N, ao configurar um fluxo de trabalho, você tem a opção de usar o recurso “Edit Fields” para personalizar as mensagens ou dados que deseja enviar para o usuário ou outro sistema.

Este recurso é especialmente útil quando você deseja manipular ou formatar dados recebidos de um nó anterior, como um webhook.

Como usar o “Edit Fields” no n8n:

  • Acesse o nó desejado: Após receber dados de um webhook ou outro nó, clique no nó onde você deseja editar os campos.
  • Abra o “Edit Fields”: Dentro do nó, procure pela opção “Edit Fields” ou similar, onde você pode personalizar os dados.
  • Arraste variáveis: Você verá uma lista de variáveis disponíveis que foram recebidas do nó anterior. Você pode arrastar essas variáveis para os campos de entrada para construir a mensagem ou dados que deseja enviar.
  • Personalize a mensagem: No caso de um pedido criado no WooCommerce, você pode arrastar e soltar variáveis como:
    • Valor do pedido: Para informar o total do pedido.
    • Itens do pedido: Para listar os produtos comprados.
    • Informações do cliente: Como nome e email.
    • Endereço de entrega: Para especificar onde o pedido deve ser entregue.

Exemplo de uso:

Se você está configurando um nó para enviar uma notificação por email ou mensagem, pode usar o “Edit Fields” para criar um texto personalizado que inclua detalhes do pedido. Por exemplo:

  • “Olá, [Nome do Cliente], seu pedido de [Itens do Pedido] no valor de [Valor do Pedido] foi recebido e será enviado para [Endereço de Entrega].”

Esse recurso torna o n8n extremamente flexível e poderoso, permitindo que você crie automações personalizadas e adaptadas às suas necessidades específicas, garantindo que as informações corretas sejam enviadas de forma clara e eficiente.


Notificando via e-mail utilizando o Gmail

Podemos enviar a mensagem que criamos via e-mail, utilizando o componente do Gmail.
Ele nos permitirá através de conectado com uma conta Google (se você não tem uma conta google configurada em seu N8N, veja o post a seguir)

Aqui está um guia passo a passo sobre como configurar o componente do Gmail:

  • Adicione o nó “Gmail”:
    • No editor de fluxo de trabalho, adicione um nó “Gmail”.
    • Selecione a operação “Send Email” para enviar um e-mail.
  • Configure a autenticação do Gmail:
    • Você precisará configurar a autenticação OAuth2 para o Gmail. Isso envolve criar credenciais na Google Cloud Console e configurar o acesso no n8n.
    • No n8n, vá para “Credentials” e adicione novas credenciais para o Gmail, usando as informações obtidas do Google Cloud Console.
  • Configure o e-mail:
    • Para: Insira o endereço de e-mail do destinatário. Você pode usar variáveis do nó anterior, como o e-mail do cliente.
    • Assunto: Defina o assunto do e-mail. Pode ser algo como “Confirmação de Pedido”.
    • Corpo do e-mail: Use a mensagem que criamos na etapa anterior.


Observação: Em options do componente gmail é possível tirar a mensagem de que o e-mail foi enviado via n8n


Chamando subfluxo que realiza a verificação do estoque

No n8n, um subfluxo é um fluxo de trabalho que pode ser chamado a partir de outro fluxo de trabalho principal.
Isso permite a reutilização de lógica comum e a organização de processos complexos em partes menores e mais gerenciáveis.

Usar subfluxos é uma maneira eficiente de modularizar suas automações, facilitando a manutenção e a escalabilidade.
Além de tornar o seu fluxo mais ‘simples’ de ser entendido, uma vez que uma parte dele será ‘separada e isolada’.

Possibilidades e Vantagens dos Subfluxos:

  1. Reutilização de Lógica: Se você tem uma lógica que precisa ser usada em vários fluxos de trabalho, como verificar o estoque, calcular impostos, ou enviar notificações, você pode criar um subfluxo para essa lógica e chamá-lo sempre que necessário.
  2. Organização e Clareza: Dividir um fluxo de trabalho complexo em subfluxos menores torna o processo mais fácil de entender e gerenciar. Isso ajuda a manter o fluxo de trabalho principal limpo e focado em sua lógica principal.
  3. Facilidade de Manutenção: Quando a lógica de um subfluxo precisa ser alterada, você só precisa atualizar o subfluxo em um único lugar, e todas as chamadas para ele serão automaticamente atualizadas.

Em nosso fluxo iremos chamar um subfluxo que criamos em uma postagem anterior, um fluxo que realiza a verificação do estoque.

Como usar Subfluxos no n8n:

  1. Crie um Subfluxo: Primeiro, crie um novo fluxo de trabalho que servirá como subfluxo. Configure a lógica que você deseja reutilizar, como a verificação de estoque.
  2. Adicione um nó “Execute Workflow”: No fluxo de trabalho principal, adicione um nó “Execute Workflow”. Este nó permite que você chame outro fluxo de trabalho como um subfluxo.
  3. Configure o nó “Execute Workflow”:
  • Selecione o fluxo de trabalho que você criou como subfluxo.
  • Passe quaisquer dados de entrada necessários para o subfluxo.
  • Defina como os dados de saída do subfluxo devem ser retornados ao fluxo de trabalho principal.
  1. Integre o Subfluxo: Use os dados retornados pelo subfluxo no fluxo de trabalho principal para continuar o processo, como decidir se um pedido pode ser processado com base na disponibilidade de estoque.

Notificação via Discord

Do mesmo modo, é possível realizar um envio para um canal no Discord utilizando também o subfluxo.
Veja que isso abre possibilidade de simplificação de ações, você pode ter uma galeria de subfluxos que realizam ações bastante requisitadas (envio de e-mail), e pode acioná-lo quando desejar em seu fluxo.
Poupando trabalho e tempo, tornando o desenvolvimento mais simples e eficaz.


Fluxo para Download

Disponibilizamos abaixo o fluxo N8N para download, ele pode ser facilmente importado na sua aplicação.
Basta entrar em um novo fluxo do N8N selecionar “…”, escolher “Importar de arquivo” e selecionar o arquivo que você baixou.
Lembre-se de inserir as credenciais corretamente para que o fluxo funcione conforme esperado.