Mostrando entradas con la etiqueta api whatsapp business. Mostrar todas las entradas
Mostrando entradas con la etiqueta api whatsapp business. Mostrar todas las entradas

martes, 31 de mayo de 2022

Whatsapp API Business (Parte 3) BOT Auto Responder

 Hola a continuación les dejo material para la tercera parte de los tutoriales API whatsapp liberado en el mes de Mayo 2022 e integrarlo con Google Sheet les va permitir autoresponder a botones de solicitud de información

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


Configuracion webhook


Paso 1 : Configurar el webhook con la URL AppScript

Paso 2 : Aceptar las notificaciones del tipo mensaje:


Página Excel Plantilla


https://docs.google.com/spreadsheets/d/13leXNvtIBGGcKlUKaITGFn980wXdnSeH58TSr3xSads/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("Mensajes", "", ""); console.log("Funcion fin programar : la fecha y hora: " + new Date()); Browser.msgBox('La acción ha sido realizada', Browser.Buttons.OK); } } function enviar(hoja, numero_enviar, mensaje_buscar) { 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(hoja)) { var sheet = excel.getSheetByName(hoja); var rows = sheet.getRange(2, 1, sheet.getLastRow() - 1, sheet.getLastColumn()).getValues(); for (var i = 0, l = rows.length; i < l; i++) { var numero = ""; if (numero_enviar != "") { if (mensaje_buscar.toUpperCase() == rows[i][0].toUpperCase()) { numero = numero_enviar; } else { continue; } } else { 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 (numero_enviar == "") { if (json.error) { sheet.getRange(2 + i, 6).setValue("ERROR"); } else { sheet.getRange(2 + i, 6).setValue("EXITO"); } } else { break; } } } } catch (e) { sheet_configuracion.getRange(10, 2).setValue(e); } } function doPost(e) { var operacion = JSON.parse(e.postData.contents); var excel = SpreadsheetApp.getActiveSpreadsheet(); var sheet_solicitud = excel.getSheetByName("Solicitudes"); var numero = operacion.entry[0].changes[0].value.messages[0].from; var mensaje = operacion.entry[0].changes[0].value.messages[0].button.text; sheet_solicitud.appendRow([numero, mensaje, new Date(),JSON.stringify(operacion)]); enviar("Conversacion", numero, mensaje); var respuesta = {}; return ContentService.createTextOutput(JSON.stringify(operacion)).setMimeType(ContentService.MimeType.JSON); } function doGet(e) { // var callback = e.parameter.callback; var excel = SpreadsheetApp.getActiveSpreadsheet(); var sheet_configuracion = excel.getSheetByName("Configuracion"); var cadena = e.parameter["hub.challenge"]; sheet_configuracion.getRange(7, 2).setValue(cadena); sheet_configuracion.getRange(8, 2).setValue(JSON.stringify(e)); var respuesta = { "status": "OK" }; return ContentService.createTextOutput(cadena).setMimeType(ContentService.MimeType.CSV); }



ASESORIA PERSONALIZADA :

En caso necesites alguna asesoría personalizada agéndame un espacio.

https://reservarasesoriaanlusoft.blogspot.com/


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/

martes, 24 de mayo de 2022

Whatsapp API Business (Parte 1)

 

Hola a continuación les dejo material para que puedan implementar su API whatsapp liberado en el mes de Mayo 2022 e integrarlo con Google Sheet.

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 :




Página Excel Plantilla


https://docs.google.com/spreadsheets/d/1EtacZpXD6mFFYx8tywMi7SMJ2mVd3E_JAyjQVO2mvPA/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");

    var plantilla = sheet_configuracion.getRange(1, 2).getValue();

    var token = sheet_configuracion.getRange(2, 2).getValue();

    var api = sheet_configuracion.getRange(3, 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 nombre = rows[i][1];

            var payload = {

                "messaging_product": "whatsapp",

                "to": numero,

                "type": "template",

                "template": {

                    "name": plantilla,

                    "language": {

                        "code": "en_US"

                    },

                    "components": [{

                        "type": "body",

                        "parameters": [

                            {

                                "type": "text",

                                "text": nombre

                            }

                        ]

                    }]

                }

            }


            var options =

            {

              'headers': { "Content-Type": "application/json","Authorization": token},

                'method': "POST",

                'payload': JSON.stringify(payload)

            };


            try {

                var response = UrlFetchApp.fetch(api, options);

                var json = JSON.parse(response.getContentText());

            } catch (e) {


            }


        }

    }

}


ASESORIA PERSONALIZADA :

En caso necesites alguna asesoría personalizada agéndame un espacio.

https://reservarasesoriaanlusoft.blogspot.com/


🚀 Crea tu Propio Sistema de Inventario y Úsalo desde tu Celular 📱

 📱📦 Crea tu Sistema de Inventario y úsalo desde tu celular. En este video muestro cómo desarrollar un sistema de inventario con escáner us...