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 link – https://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.
Boa tarde.
O arquivo zipado não me direciona para download.
Poderia verificar?
Vlw
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 ?
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á
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.
o seu video foi otimo , e aguardo o novo para as novidades
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.
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”.
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?
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”);
Como eu disse, pode ser somente a questão da versão que não está mais funcionando no Glitch.
/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
Veja se a versão do Axios está como atual e refaça seus testes ok.
O problema do axios no Glicth resolvi mudando a versao do node
“engines”: {
“node”: “14.x”
},
Show de bola André.
O conhecimento compartilhado abre novas oportunidades no universo do empreendedorismo digital. Vale a pena conferir e aproveitar esse aprendizado! ??? #Chatbot #Barbearia #Empreendedorismo #Tutorial #Conhecimento #EscolaEducação #SolteAPalavra https://escolaeducacao.org
Muito obrigado pelo seu comentário.?