lunes, 30 de mayo de 2022

Whatsapp API Business (Parte 2) Imagen, Documento,Botones

 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




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/

1 comentario:

  1. 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

Chatbot Taxi en whatsapp con Chatgpt

  Hola a continuación le dejo material para que puedan implementar un BOT de solicitud de taxi a traves de BOT whatsapp empleando la Super I...