Notificando estoque baixo na plataforma WooCommerce

Olá pessoal, tudo bem com vocês?
Hoje veremos como notificar quando um produto está com estoque baixo. Nessa postagem iremos verificar como fazer isso na plataforma Woocommerce.
Vamos analisar quando o estoque estiver baixo e realizar uma notificação via Telegram.


https://youtu.be/fYETBwmcd-A


Tópicos:

  • Agendando uma execução diária
  • Definindo variáveis
  • Chamada na plataforma WooCommerce
  • Autenticação no WooCommerce
  • Montando a notificação
  • Realizando a notificação
  • – Fluxo para Download

Agendando uma execução diária

O primeiro ponto é garantir que o nosso fluxo seja executado de tempos em tempos.
No caso de exemplo, queremos verificar quais produtos estão com o estoque baixo já no período da manhã, para que as equipes responsáveis possam agir com essa informação.

Para realizar isso iremos utilizar o CRON do N8N, essa funcionalidade permite agendar a execução de fluxo em intervalos regulares. Com ele, você pode definir a frequência com que deseja que um fluxo seja executado, garantindo que suas automações ocorram de forma consistente e no momento certo.

Você pode configurá-lo para diferentes execuções como:

  • Diariamente: Execute o fluxo todos os dias em um horário específico, por exemplo, às 8:00 da manhã.
  • Semanalmente: Agende o fluxo para ser executado em um dia específico da semana, como todas as segundas-feiras às 10:00.
  • Mensalmente: Configure para que o fluxo seja executado em um dia específico do mês, como no dia 1º de cada mês às 12:00.
  • A cada hora: Execute o fluxo a cada hora, por exemplo, às 0 minutos de cada hora.
  • A cada minuto: Para tarefas que precisam ser executadas com mais frequência, você pode configurar para que o fluxo seja executado a cada minuto.

Definindo variáveis

Agora vamos usar o componente de variáveis para concentrar algumas informações que estarão ao longo do fluxo, são elas: O caminho onde está o Woocommerce e o valor do estoque mínimo.

Essa técnica é útil quando você tem dados que podem mudar ao longo do tempo ou que são usados em múltiplos lugares dentro do fluxo, assim quando uma mudança ocorrer você terá que alterar em apenas um local. Irá evitar que alguma parte do fluxo fique ‘desatualizada’.

Por exemplo, ao integrar o n8n com o WooCommerce, você pode definir variáveis para armazenar o URL da sua loja WooCommerce e o nível de estoque mínimo que você deseja monitorar.


Chamada na plataforma WooCommerce

Para integrar o n8n com o WooCommerce e extrair informações sobre produtos, faremos uma requisição à API do WooCommerce.
Esta requisição será do tipo GET e utilizará o endpoint /wc/v3/products, ela já está configurado no fluxo disponível para download.
O objetivo é obter uma lista de produtos cujo estoque está abaixo de um determinado limite.

Passos para a Requisição:

  1. Configuração do Endpoint: Utilizaremos a variável que armazena o URL da sua loja WooCommerce.
  2. Chamada à API: A requisição será feita ao endpoint /wc/v3/products. Este endpoint é utilizado para acessar informações sobre os produtos na sua loja WooCommerce.
  3. Filtro de Estoque: Nos parâmetros da requisição, adicionaremos um filtro para trazer apenas os produtos cujo estoque está abaixo do limite definido. Utilizaremos o parâmetro stock_quantity_lt, que significa “stock quantity less than” (quantidade de estoque menor que). Este parâmetro será configurado para o valor da variável que armazena o nível de estoque mínimo.

Exemplo de Requisição:

GET {URL_DA_LOJA}/wc/v3/products?stock_quantity_lt={ESTOQUE_MINIMO}
  • {URL_DA_LOJA}: Será substituído pela variável que contém o URL da sua loja WooCommerce.
  • {ESTOQUE_MINIMO}: Será substituído pela variável que contém o nível de estoque mínimo.

Autenticação no WooCommerce

Para autenticar no WooCommerce e realizar a requisição à API, utilizaremos o método de autenticação básica. Este método requer um nome de usuário e uma senha de aplicação, que podem ser gerados e encontrados no painel do WordPress.

Passos para Configurar a Autenticação Básica:

  • Acessar o Painel do WordPress:
  • Faça login no painel de administração do seu site WordPress.
  • Navegar até Usuários:
  • No menu lateral, vá até “Usuários” e clique em “Perfil”.
  • Acessar a seção “Senhas da aplicação”:
  • Dê um nome e crie uma nova senha da aplicação, utilize-a no N8N

Utilização na Requisição:

  • Nome de Usuário: Utilize o “usuario”.
  • Senha: Utilize a “senha” gerada.

Ao configurar a autenticação básica com essas credenciais, você estará apto a realizar chamadas seguras à API do WooCommerce, garantindo que apenas usuários autorizados possam acessar e manipular os dados da sua loja.


Montando a notificação

No n8n, o recurso “Edit Fields” permite que você personalize e monte mensagens de notificação de forma dinâmica, utilizando dados obtidos de requisições anteriores.
Isso é especialmente útil para criar notificações detalhadas e informativas sobre o status dos produtos em sua loja WooCommerce.

Como Montar a Mensagem de Notificação:

  • Utilizar o “Edit Fields”:
  • Adicione o componente “Edit Fields” para personalizar a mensagem que será enviada.
  • Inserir Dados da Requisição:
  • Dentro do “Edit Fields”, você pode puxar informações diretamente da resposta da requisição anterior. Para isso, utilize a funcionalidade de expressão do n8n para acessar os dados desejados.
  • Adicionar Informações do Produto:
  • Nome do Produto: Utilize a expressão para inserir o nome do produto na mensagem. Por exemplo, ${$json["name"]} se o campo “name” contiver o nome do produto.
  • Estoque Atual: Insira o estoque atual do produto utilizando a expressão correspondente, como ${$json["stock_quantity"]}.

Exemplo de Mensagem de Notificação:

Atenção: O produto "${$json["name"]}" está com o estoque baixo.
Estoque atual: ${$json["stock_quantity"]}.

Ao utilizar o “Edit Fields” no n8n, você pode criar notificações que são não apenas informativas, mas também adaptáveis às necessidades específicas do seu negócio.

Realizando a notificação

Com a mensagem de notificação gerada no n8n, você tem a flexibilidade de enviá-la através de várias plataformas de comunicação, como e-mail, Slack, ou qualquer outra que atenda às suas necessidades.
No exemplo a seguir, vamos enviar a notificação para o Telegram, que pode ser direcionada a um usuário específico ou a um grupo de conversa com sua equipe.

Enviando a Notificação para o Telegram:
Configurar o Nó do Telegram:

  • Adicione um nó do Telegram ao seu fluxo no n8n. Este nó permitirá que você envie mensagens diretamente para o Telegram.
    Autenticação no Telegram:
  • Configure a autenticação do Telegram utilizando o token do bot que você criou. Este token é necessário para que o n8n possa enviar mensagens através do bot.
    Definir o Destinatário:
  • Usuário Específico: Insira o ID do chat do usuário para enviar a mensagem diretamente para ele.
  • Grupo de Conversa: Insira o ID do chat do grupo para enviar a mensagem para toda a equipe. Certifique-se de que o bot tenha permissão para enviar mensagens no grupo.
    Montar a Mensagem:
  • Utilize a mensagem personalizada que você criou no “Edit Fields” para compor o conteúdo da notificação que será enviada.

Exemplo de Configuração no Telegram:

  • Token do Bot: Utilize o token gerado ao criar o bot no Telegram.
  • Chat ID: Insira o ID do chat do usuário ou do grupo.
  • Mensagem: Utilize a mensagem montada anteriormente, por exemplo:
Atenção: O produto "${$json["name"]}" está com o estoque baixo.
Estoque atual: ${$json["stock_quantity"]}.

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.