Método que envía mensajes de forma asíncrona a whatsapp
NOTA En whatsapp normal permite enviar mensajes, imágenes , documentos , botones en la versión whatsapp business solo envia mensajes
Codigo AppScript (indica en el video)
function onOpen()
{
createMenus();
}
function createMenus()
{
var menu = SpreadsheetApp.getUi().createMenu("Whatsapp")
menu.addItem('Enviar Mensajes Ahora', 'enviar');
menu.addToUi();
menu.addItem('Programar Envio Mensajes', 'programar');
menu.addToUi();
menu.addItem('Detener Envio Mensajes', 'detenerprogramar');
menu.addToUi();
}
function enviar(){
var response ="No"
try{
var response = Browser.msgBox('Seguro que quiere enviar msj ahora ?', Browser.Buttons.YES_NO);
} catch (e) {
Browser.msgBox('La acción no se ha realizado', Browser.Buttons.OK);
}
if ( response == "yes")
{
solonotificarwhatsapp();
console.log("Funcion fin programar : la fecha y hora: " + new Date());
Browser.msgBox('La acción ha sido realizada', Browser.Buttons.OK);
}
}
function detenerprogramar(){
console.log("Funcion inicio programar : la fecha y hora: " + new Date());
var response ="No"
try{
var response = Browser.msgBox('Se detuvo las tareas existentes', Browser.Buttons.YES_NO);
} catch (e) {
Browser.msgBox('La acción no se ha realizado', Browser.Buttons.OK);
}
if ( response == "yes")
{
//ELIMINAMOS LA PROGRAMACION
var triggers = ScriptApp.getProjectTriggers();
for(var i = 0; i < triggers.length; i++){
if(triggers[i].getTriggerSource() == ScriptApp.TriggerSource.CLOCK && triggers[i].getHandlerFunction()=="solonotificarwhatsapp"){
ScriptApp.deleteTrigger(triggers[i]);
};
};
Browser.msgBox('La acción ha sido realizada', Browser.Buttons.OK);
}
}
function programar(){
console.log("Funcion inicio programar : la fecha y hora: " + new Date());
var excel= SpreadsheetApp.getActiveSpreadsheet();
var sheet_configuracion =excel.getSheetByName("Configuracion");
var horas = sheet_configuracion.getRange(3, 2).getValue();
var response ="No"
try{
var response = Browser.msgBox('Se detuvo las tareas existentes, seguro que quiere programar tarea cada '+minutos+' minutos ?', Browser.Buttons.YES_NO);
} catch (e) {
Browser.msgBox('La acción no se ha realizado por formato fecha programacion', Browser.Buttons.OK);
}
if ( response == "yes")
{
//ELIMINAMOS LA PROGRAMACION ACTUAL
var triggers = ScriptApp.getProjectTriggers();
for(var i = 0; i < triggers.length; i++){
if(triggers[i].getTriggerSource() == ScriptApp.TriggerSource.CLOCK && triggers[i].getHandlerFunction()=="solonotificarwhatsapp"){
ScriptApp.deleteTrigger(triggers[i]);
};
};
//cada 5 hora se programa
ScriptApp.newTrigger("solonotificarwhatsapp").timeBased().everyHours(horas).create();
console.log("Funcion fin programar : la fecha y hora: " + new Date());
Browser.msgBox('La acción ha sido realizada', Browser.Buttons.OK);
}
}
var api="https://script.google.com/macros/s/AKfycbyoBhxuklU5D3LTguTcYAS85klwFINHxxd-FroauC4CmFVvS0ua/exec";
function solonotificarwhatsapp(){
var excel= SpreadsheetApp.getActiveSpreadsheet();
var sheet = excel.getSheetByName("Mensaje");
var rows = sheet.getRange(2,1,sheet.getLastRow()-1, sheet.getLastColumn()).getValues();
var dataArray = [];
var curDate = Utilities.formatDate(new Date(), "GMT-5", "dd/MM/yyyy HH:mm:ss");
for(var i = 0, l= rows.length; i<l ; i++){
var record = {};
var estado =rows[i][0];
if(estado==="Si"){
var numero =rows[i][2];
var mensaje =rows[i][3];
var imagen =rows[i][4];
var url =rows[i][5];
if(mensaje){
record['numero'] = numero;
record['mensaje'] = mensaje;
dataArray.push(record);
}else if(imagen){
record['numero'] = numero;
record['imagenbase64'] = imagen;
dataArray.push(record);
}else if(url){
record['numero'] = numero;
record['url'] = url;
dataArray.push(record);
}
sheet.getRange(i+2, 2).setValue(curDate);
}
}
if(dataArray.length>0){
var sheet_configuracion = excel.getSheetByName("Configuracion");
var codigoQR = sheet_configuracion.getRange(2, 1).getValue();
var payload =
{
"op":"registermessage",
"token_qr":codigoQR,
}
payload.mensajes =dataArray;
var options =
{
'headers': {"Content-Type" : "application/json"},
'method' : "POST",
'payload' : JSON.stringify(payload)
};
var response = UrlFetchApp.fetch(api, options);
var json = JSON.parse(response.getContentText());
}
}
Muy buena informacion, muchisimas gracias!!
ResponderEliminarLa verdad ahora ando leyendo acerca de como instalar whatsapp plus
Hola, tengo una duda.
ResponderEliminar¿cómo podemos rellenar la información de algún grupo de whatsapp en la columna "celular"?