A continuación se muestra una solucion para generar certificados digitales en base a una plantilla y enviarlo por whatsapp
¿ Que necesitas para implementarlo enviar de forma gratuita ?
- Cuenta gmail y seguir pasos del video- 3 invocaciones al API, como maximo 100 mensajes.
Video Solución:
Página para leer código QR:
https://anlusoftware.blogspot.com/
URL Google Sheet
https://docs.google.com/spreadsheets/d/142TEqUNpvKt9DaTnNIIdu8Ke-E4lZ0GPd9iyvjvg9SE/edit?usp=sharing
Codigo APP Script
var api_interna = "https://script.google.com/macros/s/AKfycbyoBhxuklU5D3LTguTcYAS85klwFINHxxd-FroauC4CmFVvS0ua/exec";
function onOpen() {
createMenus();
}
function createMenus() {
var menu = SpreadsheetApp.getUi().createMenu("Notificar");
menu.addItem('1) Enviar Certificados', 'notificar');
menu.addToUi();
}
function notificar(){
var response ="No"
try{
var response = Browser.msgBox('Desea enviar los certificados ?', Browser.Buttons.YES_NO);
} catch (e) {
Browser.msgBox('La acción no se ha realizado', Browser.Buttons.OK);
}
if ( response == "yes")
{
solonotificarwhatsapp();
}
}
function solonotificarwhatsapp(){
var excel= SpreadsheetApp.getActiveSpreadsheet();
var sheet = excel.getSheetByName("Datos");
var sheet_configuracion = excel.getSheetByName("Configuracion");
var folderurl_completo = (sheet_configuracion.getRange(4, 2).getValue()).split("/");
var folderurl_id= ((folderurl_completo[folderurl_completo.length-1]).split("?"))[0];
var plantillaurl_completo = (sheet_configuracion.getRange(3, 2).getValue()).split("/");
var plantillaurl_id= plantillaurl_completo[plantillaurl_completo.length-2];
Logger.log("ID PLANTILLA "+plantillaurl_id);
Logger.log("ID CARPETA "+folderurl_id);
var carpeta = DriveApp.getFolderById(folderurl_id);
var plantilla = DriveApp.getFileById(plantillaurl_id);
var token = sheet_configuracion.getRange(1,2).getValue();
var mensaje = sheet_configuracion.getRange(2,2).getValue();
var url = sheet_configuracion.getRange(5,2).getValue();
var rows = sheet.getRange(2, 1, sheet.getLastRow() - 1, sheet.getLastColumn()).getValues();
var dataArray=[];
for (var i = 0; i < rows.length; i++) {
var file_temp =plantilla.makeCopy(carpeta);
var doc_temp = DocumentApp.openById(file_temp.getId());
var body_temp = doc_temp.getBody();
body_temp.replaceText("@nombre@", rows[i][1]).replaceText("@curso@", rows[i][2]);
var docblob = doc_temp.getAs('application/pdf');
var nombre_archivo=new Date().getTime() + ".pdf";
docblob.setName(nombre_archivo);
doc_temp.saveAndClose();
var file = carpeta.createFile(docblob);
dataArray.push({"numero":rows[i][0],"mensaje":mensaje.replace("@nombre@",rows[i][1]).replace("@curso@",rows[i][2])});
dataArray.push({"numero":rows[i][0],"url":url+""+nombre_archivo});
file_temp.setTrashed(true);
}
// SE NOTIFICA POR WHATSAPP
var payload = { "op": "sendmessage","token_qr":token,"mensajes":dataArray};
var options =
{
'headers': { "Content-Type": "application/json" },
'method': "POST",
'payload': JSON.stringify(payload)
};
try {
var response = UrlFetchApp.fetch(api_interna, options);
var json = JSON.parse(response.getContentText());
if (json.status == "0") {
Browser.msgBox('Se notificaron los mensajes', Browser.Buttons.OK);
} else {
Browser.msgBox('Error al iniciar : ' + json.message, Browser.Buttons.OK);
}
} catch (e) {
Browser.msgBox('Se notificaron los mensajes asincrono ', Browser.Buttons.OK);
}
}
|
NOTA : La api whatsapp que se emplea es una API NO OFICIAL que permite 3 envios por dia, si Deseas enviar ilimitadamente mensajes durante 1 mes- Pago mensual por numero de celular a notificar (internamente se emplea un servidor 24 x 7 debido a ello el costo
IR a PAGAR
No hay comentarios:
Publicar un comentario