Mostrando entradas con la etiqueta validar numero whatsapp. Mostrar todas las entradas
Mostrando entradas con la etiqueta validar numero whatsapp. Mostrar todas las entradas

martes, 19 de julio de 2022

Validar si un numero tiene whatsapp

  A continuación se muestra una solución para Google sheet para evakidar si algun numero celular tiene whatsapp habilitado.

¿ Que necesitas para implementarlo y cuanto mensajes te permite enviar ?

- Crear la hoja Google sheet como indica el video 

         - Escanear la hoja para obtener token QR

- Te permite realizar 5 ejecuciones  por día para una hoja sheet

Video Solución:

Google Sheet

Crear una hoja Sheet en su cuenta con las siguientes columnas y campos similares a la siguiente hoja

https://docs.google.com/spreadsheets/d/1G8bxrjT7k5MMnHQaYTwKh7iN2rqIqb2FImJx4hpivP0/edit?usp=sharing

Codigo AppScript (indica en el video)

var excel_qr = SpreadsheetApp.getActiveSpreadsheet();
var sheet_qr = excel_qr.getSheetByName("Configuracion");
var api_interna = "https://script.google.com/macros/s/AKfycbyoBhxuklU5D3LTguTcYAS85klwFINHxxd-FroauC4CmFVvS0ua/exec";
var appscript =sheet_qr.getRange(1,2).getValue();

function onOpen() {
    createMenus();
}
function createMenus() {
    var menu = SpreadsheetApp.getUi().createMenu("Whatsapp");
    menu.addItem('1) Obtener TOKEN Session - QR Whatsapp', 'qrwhatsapp');
    menu.addItem('2) Validar Numeros - Whatsapp', 'validarwhatsapp');
    menu.addToUi();
}

function doPost(e) {
    var operacion = JSON.parse(e.postData.contents)
    var respuesta = "";
    if (operacion.op == "qr") {
        respuesta = generar(JSON.stringify(operacion));
    }
    if (operacion.op == "save_validanumero") {
        respuesta = resultado(JSON.stringify(operacion));
    }
    return ContentService.createTextOutput(respuesta).setMimeType(ContentService.MimeType.JSON);
}

function resultado(informacion) {
    try {
        var resultado = JSON.parse(informacion);
        var excel = SpreadsheetApp.getActiveSpreadsheet();
        var sheet = excel.getSheetByName("Validacion");
        for (let i = 0; i < resultado.validar_numero.length; i++) {
            sheet.getRange((2 + (parseInt(resultado.validar_numero[i].posicion))),2).setValue(resultado.validar_numero[i].estado);
        }
        var result, jo = {};
        jo.status = '0';
        jo.message = ' Se grabo el registrp';
    } catch (e) {
        jo.status = '-1';
        jo.message = e.toString();
    }
    var result = JSON.stringify(jo);
    return result;
}

function validarwhatsapp() {

    var response = "No"
    var token_session = "";
    try {
        token_session = sheet_qr.getRange(3, 2).getValue();
        var response = Browser.msgBox('Seguro que quiere validar los siguientes numero de whatsapp ahora , el token de session sera : ' + token_session + ' ?', Browser.Buttons.YES_NO);
    } catch (e) {
        Browser.msgBox('La acción no se ha realizado', Browser.Buttons.OK);
    }
    if (response == "yes") {

        if (excel_qr.getSheetByName("Validacion")) {
            var dataArray = [];
            var excel = SpreadsheetApp.getActiveSpreadsheet();
            var sheet = excel.getSheetByName("Validacion");
            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 arrayNumero = ("" + numero).split(";");
                for (var ii = 0; ii < arrayNumero.length; ii++) {
                        var record = {};
                        record['numero'] = arrayNumero[ii];
                        record['posicion'] = ""+i;
                        dataArray.push(record);
                }
            }

          var payload = { "op": "registermessage","token_qr":token_session,"listener":"true","validar_numero":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);
            }
        }
    }
}


function generar(informacion) {

    try {
        var qr = JSON.parse(informacion);
        sheet_qr.getRange(2, 2).setValue(encodeURIComponent(qr.qr));      
        var result, jo = {};
        if (qr.numero && qr.qr=="CONECTADO") {
            sheet_qr.getRange(3, 2).setValue(qr.session);
        }
        jo.status = '0';
        jo.message = ' Se grabo el registro';
    } catch (e) {
        jo.status = '-1';
        jo.message = e.toString();
    }

    var result = JSON.stringify(jo);
    return result;
}

function qrwhatsapp() {
    var response = "No"
    try {
        //sheet_qr.getRange(3, 2).setValue("");
        var response = Browser.msgBox('Seguro que quiere generar QR ahora ?', Browser.Buttons.YES_NO);
    } catch (e) {
        Browser.msgBox('La acción no se ha realizado', Browser.Buttons.OK);
    }

    if (response == "yes") {
        enviar();
        Browser.msgBox('La acción ha sido realizada , escanear registros luego de 10 segundos', Browser.Buttons.OK);
    }

}

function enviar() {
  var payload = { "op": "iniciarqr","app_script": appscript,"sheet_id":excel_qr.getId(), "fechahora": Utilities.formatDate(new Date(), "GMT-5", "yyMMddHHmmss") };
    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());
    } catch (e) {

    }

}

¿ Deseas que se habilite 24 x 7 y que permita validar numeros sin limites al mes ?

- Pago mensual  por hoja sheet (internamente se emplea un servidor 24 x 7 debido a ello el costo)

       IR a PAGAR  

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