Hola a continuación les dejo material para la segunda parte de los tutoriales API whatsapp liberado en el mes de Mayo 2022 e integrarlo con Google Sheet les va permitir el envio de botones , imagenes, documentos de forma masiva
Video Implementación
VIDEO
Página Meta facebook
En la siguiente pagina pueden configurar sus plantillas y mensajes del API Whatsapp Business
https://developers.facebook.com/apps/?show_reminder=true
Y el token lo obtienen desde :
Plantillas
https://business.facebook.com/wa/manage/message-templates
Página Excel Plantilla
https://docs.google.com/spreadsheets/d/1HSsPHXH3-SNjl6Cth9jyRe_vG505jONCOh2Go-4RIXU/edit?usp=sharing
Código AppScript
function onOpen() {
createMenus();
}
function createMenus() {
var menu = SpreadsheetApp.getUi().createMenu("Whatsapp")
menu.addItem('Notificar Whatsapp', 'enviarwhatsapp');
menu.addToUi();
}
function enviarwhatsapp() {
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") {
enviar();
console.log("Funcion fin programar : la fecha y hora: " + new Date());
Browser.msgBox('La acción ha sido realizada', Browser.Buttons.OK);
}
}
function enviar() {
var excel = SpreadsheetApp.getActiveSpreadsheet();
var sheet_configuracion = excel.getSheetByName("Configuracion");
try {
var token = sheet_configuracion.getRange(1, 2).getValue();
var api = sheet_configuracion.getRange(2, 2).getValue();
if (excel.getSheetByName("Mensaje")) {
var sheet = excel.getSheetByName("Mensaje");
var rows = sheet.getRange(2, 1, sheet.getLastRow() - 1, sheet.getLastColumn()).getValues();
for (var i = 0, l = rows.length; i < l; i++) {
var numero = rows[i][0];
var plantilla = rows[i][4];
var payload = JSON.parse(JSON.stringify({
"messaging_product": "whatsapp",
"to": numero,
"type": "template",
"template": {
"name": plantilla,
"language": {
"code": "es"
},
"components": []
}
}));
var texto = [];
if (rows[i][1]) {
texto = rows[i][1].split(":::");
}
// SE AGREGA LOS PARAMETROS DE TEXTO
if (texto.length > 0) {
payload.template.components.push({ "type": "body", "parameters": [] });
for (var il = 0; il < texto.length; il++) {
payload.template.components[0].parameters.push({ "type": "text", "text": texto[il] });
}
}
// SE AGREGA IMAGEN AL HEADER
var imagen = rows[i][3];
if (imagen) {
payload.template.components.push({ "type": "header", "parameters": [{ "type": "image", "image": { "link": imagen } }] });
}
// SE AGREGA DOCUMENTO AL HEADER
var documento = rows[i][2];
if (documento) {
var nombre_archivo = (documento).substring((documento).lastIndexOf("/") + "/".length, (documento).length);
payload.template.components.push({ "type": "header", "parameters": [{ "type": "document", "document": { "link": documento, "filename": nombre_archivo } }] });
}
var options =
{
'headers': { "Content-Type": "application/json", "Authorization": token },
'method': "POST",
'payload': JSON.stringify(payload)
};
var response = UrlFetchApp.fetch(api, options);
var json = JSON.parse(response.getContentText());
Utilities.sleep(2000);
if (json.error) {
sheet.getRange(2 + i, 6).setValue("ERROR");
} else {
sheet.getRange(2 + i, 6).setValue("EXITO");
}
}
}
} catch (e) {
sheet_configuracion.getRange(10, 2).setValue(e);
}
}
ASESORIA PERSONALIZADA :
En caso necesites alguna asesoría personalizada agéndame un espacio.
https://reservarasesoriaanlusoft.blogspot.com/
Hola Quisiera una Asesoria con respeto a una plantilla que me permita consultar daos desde una hoja de excel con token permanente mediante wasapt.Mi numero es 924289105
ResponderEliminar