Robô de Whatsapp para Barbearia

Nesse vídeo Tutorial, você vai aprender como criar um Robô (Chatbot) para Barbearia e ganhar Dinheiro.

Links dos sites usados na vídeo aula

1- Dialogflow

2- Glitch

3- Sheetdb.io

Muitas pessoas estão ganhando dinheiro na internet vendendo produtos físicos ou digitais. Mas muito pouco se conhece de desenvolvimento de Chatbots Para Whatsapp e é por isso que vou compartilhar com você esse conhecimento para que você possa ganhar dinheiro criando chatbots para Whatsapp.

A idéia é a seguinte… Aprenda gratuitamente no Canal eConhecimento, Venda esse Robô por até R$600 Reais e fazendo isso com apenas uma venda por semana que você pode divulgar no Facebook ou Instagram para vender apenas 1 por semana, você já garante R$2400 por mês.

Eu sei que o vídeo ficou bem grande, mas esse foi o tempo correto para explicar o passo a passo do desenvolvimento de um chatbot para Whatsapp ou Robô de Whatsapp para Barbearia.

Nos links acima você encontrará as ferramentas usadas para o desenvolvimento do seu Robô junto com o vídeo explicativo para que você acompanhe todos os detalhes de cada passo.

Aprenda a Desenvolver Chatbots Para Whatsapp profissionalmente com o Curso Chatbot Para Whatsapp 2.0 (Do Zero ao Avançado) Acesse o linkhttps://bit.ly/chatbot-wa

Baixe o Projeto usado no Dialogflow.

Não sabe instalar o projeto? Assista esse vídeo

Códigos usados no projeto Robô de Whatsapp para BARBEARIA Abaixo.

Arquivo server.js

///////////////////////////COMEÇO DO CÓDIGO//////////////////////////////

const express = require("express");
const app = express();
const { WebhookClient } = require("dialogflow-fulfillment");
const bodyParser = require("body-parser");
const axios = require("axios");

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
    extended: true
  })
);
  //FUNÇÃO TAMEZONE
  let date = new Date();
  let data = date.toLocaleString("pt-BR", {timeZone: "America/Sao_Paulo", hour: "numeric", hour12: false}); 

  //FUNÇÃO CRIAR ID 
  function uniqueID(){
  function chr4(){
    return Math.random().toString(16).slice(-4);
  }
  return chr4();
}

app.use(express.static("public"));
app.get("/", (request, response) => {
  response.Text = "WEBHOOK - Fincionando no Glitch!";
});

app.post("/barbearia", function(request, response) {
  const agent = new WebhookClient({
    request: request,
    response: response
  });

  let intentMap = new Map();
  intentMap.set("Default Welcome Intent", welcome);
  intentMap.set("Default Welcome Intent - no", cadastro);
  intentMap.set("Default Welcome Intent - yes", pesquisa);
  intentMap.set("agendar", agendar);  
  agent.handleRequest(intentMap);

 //FUNÇÃO BOAS VINDAS
  function welcome(agent) {
    if (data >= 5 && data <= 11)
      agent.add(
        "Olá Bom dia, seja bem-vindo(a) ao atendimento automatizado da *Barbearia Reis*" +
          "\n" +
          "\n" +
          "Você já é nosso cliente?" +
          "\n" +
          "\n" +
          "?? SIM \n" +
          "?? NÃO"
      );
    else if (data >= 12 && data <= 17)
      agent.add(
        "Olá Boa tarde, seja bem-vindo(a) ao atendimento automatizado da *Barbearia Reis*" +
          "\n" +
          "\n" +
          "Você já é nosso cliente?" +
          "\n" +
          "\n" +
          "?? SIM \n" +
          "?? NÃO"
      );
    else
      agent.add(
        "Olá Boa noite, seja bem-vindo(a) ao atendimento automatizado da *Barbearia Reis*" +
          "\n" +
          "\n" +
          "Você já é nosso cliente?" +
          "\n" +
          "\n" +
          "?? SIM \n" +
          "?? NÃO"
      );
  }
  
  
  //AGENDAMENTO EM PLANILHA
  
  function agendar(agent) { 
    const { nome, profissional, dia, hora, telefone } = agent.parameters;
    const data = [
      {
        Nome: nome,
        Servico: profissional,
        Data: dia,
        Horario: hora,
        Telefone: telefone
      }
    ];    
    axios.post("SUA API AQUI?sheet=agenda", data);
    agent.add(`${nome}, o seu agendamento foi realizado com sucesso!\n` +
    "Digite *MENU* para ver as minhas Opções.");
  }
  
  
  //CADASTRO EM PLANILHA
  
  function cadastro(agent) {
    const { nome, telefone } = agent.parameters;
    const data = [
      {
        Nome: nome,
        Telefone: telefone,
        Id: uniqueID()
      }
    ];    
    axios.post("SUA API AQUI", data);
    agent.add(`${nome}, o seu cadastro realizado com sucesso!\n` +
    "Digite *MENU* para ver as minhas Opções.");
  }
  
  //PESQUISA EM PLANILHA

  function pesquisa(agent) {
    var telefone = request.body.queryResult.parameters.telefone;    
    return axios.get("SUA API AQUI").then(res => {
      res.data.map(coluna => {
        if (coluna.Telefone === telefone)
          response.json({
            fulfillmentText:
              "Seja bem Vindo de volta: " +
              "\n" +
              " *Sr.:* " +
              coluna.Nome +
              "\n" +
              " Digite *MENU* para ver as minhas Opções." 
          });
      });
    });
  }
 
});

const listener = app.listen(process.env.PORT, () => {
  console.log("Your app is listening on port " + listener.address().port);
});

////////////////////////////FIM DO CÓDIGO////////////////////////////////


/* ////////////////////////////PACKAGE.JSON//////////////////////////


{
    "name": "hello-node",
    "version": "0.0.1",
    "description": "A simple Node app built on fastify, instantly up and running.",
    "main": "server.js",
    "scripts": {
      "start": "node server.js"
    },
    "dependencies": {
      "express": "*",
      "body-parser": "*",
      "dialogflow-fulfillment": "*",
      "actions-on-google": "*",
      "fastify": "^3.29.0",
      "fastify-formbody": "^5.3.0",
      "fastify-static": "^4.7.0",
      "handlebars": "^4.7.7",
      "point-of-view": "^6.2.1",
      "axios": "^0.27.2"
    },
    "engines": {
      "node": "12.x"
    },
    "repository": {
      "url": "https://glitch.com/edit/#!/glitch-hello-node"
    },
    "license": "MIT",
    "keywords": [
      "node",
      "glitch",
      "express"
    ]
  }


   ///////////////////////////FIM DO PACKAGE.JSON////////////////////////////////// */

Não se esqueça de seguir os passos do vídeo para que o seu Robô de Whatsapp para Barbearia funcione da melhor forma possível. A lógica da conversa está no planejamento do roteiro(FLOW).

Qualquer dúvida é só comentar aqui no post ou lá no Youtube. Espero que goste do conteúdo.


Fique Atualizado, É 100% Gratis!

Gostou deste artigo? Cadastre-se para receber novos conteúdos em primeira mão!


* Anti-SPAM: Seus dados nunca serão vendidos nem repassados para terceiros.

16 comentários em “Robô de Whatsapp para Barbearia”

    • Opa Bruno blza?, Muito obrigado por me avisar do erro, já foi corrigido e agora o botão aponta para o link de Download correto graças ao seu aviso, Valew  ?

      Responder
  1. Boa noite amigo !!!!
    sou curioso , … vejo seu vídeo sempre

    Me tire duas duvida !!! ser possível
    1.
    Tem, como exportar os dados da google planilhas (Agenda da planilha que foi criada ) para google agendar de forma automática ? Exemplo. colocar as informações dos horários na planilha, e ela enviar para google agenda automaticamente ?

    Eu já vi vários vídeos de tutorias sendo o inverso, importado da agenda para a planilhas. Mais não das planilhas para agenda de forma automática . dado chegar planilhas automaticamente vai google agenda avisado ao barbeiro que tem uma pré-reserva agendada no calendário no celular dele.

    2.
    *Não tem uma forma dos clientes ver as datas e horários disponível? para não coincide vários clientes no mesmo horário não. assim não corre o risco de chocar horários? seria um tutorial show de bola no youtube

    EX:
    oi
    Olá Boa noite, seja bem-vindo(a) ao atendimento automatizado da Barbearia Reis

    Você já é nosso cliente?
    1- Sim
    2- Não
    1
    Qual serviço gostaria?
    1 – Corte
    2 – Barba
    2
    Qual profissional gostaria?
    1- Pedro
    2- João
    1
    Datas disponível?(conforme for agendado as datas vão ficando indisponível)
    1- 01/07 2- 02/07 3- 03/07 4- 04/07 5-05/07 etc….
    4
    Horários disponível?
    1- 8:00 2- 9:00 3- 10:00 4- 11:00 5- 12:00 6- 13:00

    6

    Serviço: Barba
    Profissional : Pedro
    Data: 04/07
    Horario: 13:00

    desculpa pelas duvidas !!! agradeço de já

    Responder
  2. Tem como fazer o agendamento direto no Google Agenda e ainda o Barbeiro ser avisado quando chegar novo agendamento.
    Dessa forma dará pra pegar o link da agenda e enviar via Bot (Whatsapp) para que o cliente escolha o melhor horário de atendimento.

    Vou fazer um tutorial no Youtube sobre isso.

    Responder
      • Muito obrigado Adriano.
        Além do conteúdo semanal agora temos Live toda Quarta feira no Canal eConhecimento no Youtube.
        Grande abraço e muito obrigado pelo seu comentário.

        Responder
  3. Oi Marcos, fiz certinho como no vídeo, mas o meu bot não inicia a conversa quando eu digo “oi”, no caso ele não me dá as boas vindas. Ele responde a partir do “menu”.

    Responder
    • Verifique se o código está correto. Já vi alguns defeitos principalmente nas aspas e ponto e vírgula. Caso ainda enfrente erros me chama no Whatsapp que eu te ajudi blza?

      Responder
  4. at Object. (/app/server.js:5:15)
    at Module._compile (internal/modules/cjs/loader.js:759:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:770:10)
    at Module.load (internal/modules/cjs/loader.js:628:32)

    esse erro esta dando e esta apontando para const axios = require(“axios”);

    Responder
  5. /rbd/pnpm-volume/d408b34d-d829-418f-98fa-b8e3f51a40cf/node_modules/.registry.npmjs.org/axios/1.2.2/node_modules/axios/index.js:1
    import axios from ‘./lib/axios.js’;
    ^^^^^
    o meu esta dando esse erro no log do glitch

    Responder

Deixe um comentário