Mostrando entradas con la etiqueta 0 costo. Mostrar todas las entradas
Mostrando entradas con la etiqueta 0 costo. Mostrar todas las entradas

martes, 2 de agosto de 2022

Whatsapp API Business (Parte 4) ChatBot Toma Pedido

  Hola a continuación les dejo material para la cuarta parte de los tutoriales API whatsapp liberado en el mes de Mayo 2022 e integrarlo con Google Sheet les va permitir arnar un chatbots operativo 100 %

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 :



Configuracion webhook


Paso 1 : Configurar el webhook con la URL AppScript

Paso 2 : Aceptar las notificaciones del tipo mensaje:

Plantillas meta creadas


https://business.facebook.com/wa/manage/message-templates


Para el BOT se han creado las siguientes plantillas


El detalle de cada plantilla se explica en el Video


Plantillas Google Sheet

https://docs.google.com/spreadsheets/d/1B-C8PRTe4voglUs_jPEAoqzQRhVMpc9cDQGWePLvud8/edit?usp=sharing


Código AppScript 


function notificarmeta(plantilla, salida, numero) {

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(); var payload = JSON.parse(JSON.stringify({ "messaging_product": "whatsapp", "to": numero, "type": "template", "template": { "name": plantilla, "language": { "code": "es" }, "components": [] } })); var texto = []; if (salida) { texto = salida.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] }); } } 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()); } catch (e) { } } function enviar(numero_enviar, mensaje_buscar) { var jo = {}; /* se recupera la session del cached en caso exista*/ var cache = CacheService.getScriptCache(); var conversaciones = []; if (cache.get("conversaciones") != null) { conversaciones = JSON.parse(cache.get("conversaciones")); } // RECORREMOS LAS CONVERCACION PARA CONOCER EL EVENTO var excel = SpreadsheetApp.getActiveSpreadsheet(); var sheet_configuracion = excel.getSheetByName("Configuracion"); var sheet = excel.getSheetByName("Conversacion"); var rows = sheet.getRange(2, 1, sheet.getLastRow() - 1, sheet.getLastColumn()).getValues(); var evento = rows.find((item) => item[1].split(";").includes(mensaje_buscar)); var evento_error = rows.find((item) => item[0] === "bot_pedido_error"); if (evento === undefined) { var filtroconversacion = conversaciones.filter((item) => item.numero == numero_enviar); evento = evento_error; if (filtroconversacion.length > 0) { var evento_retorno = filtroconversacion[filtroconversacion.length - 1].retornar; var evento_retornar = rows.find((item) => evento_retorno != "" && item[0] === evento_retorno); if (evento_retornar !== undefined) { evento = evento_retornar; } } } var conversacion_ingresado = { numero: numero_enviar, mensaje_entrada: mensaje_buscar, evento: evento[0], retornar: evento[3], mensaje_salida: evento[2] }; if (conversacion_ingresado.evento == "bot_pedido_consultar_fin") { // SE RECUPERA EL DETALLE DE LA SOLICITUD conversacion_ingresado.mensaje_salida = "\\nSolicitud:" + conversacion_ingresado.mensaje_entrada + " No existe \\n" try { var sheet_solicitud = excel.getSheetByName("Solicitudes"); var rows_solicitud = sheet_solicitud.getRange(2, 1, sheet_solicitud.getLastRow() - 1, sheet_solicitud.getLastColumn()).getValues(); var mensaje_retornar = rows_solicitud.find((item) => (item[0] + "") === ("" + conversacion_ingresado.mensaje_entrada)); if (mensaje_retornar !== undefined) { conversacion_ingresado.mensaje_salida = "\\nSolicitud:" + conversacion_ingresado.mensaje_entrada + "\\nCliente:" + mensaje_retornar[5] + "\\nDireccion:" + mensaje_retornar[6] + "\\nPedido:\\n" + mensaje_retornar[4]; } } catch (e) { } } else if (conversacion_ingresado.evento == "bot_pedido_solicitar") { // SE RECUPERA EL DETALLE DE LA SOLICITUD conversacion_ingresado.mensaje_salida = "\\nError de productos \\n" try { var sheet_producto = excel.getSheetByName("Producto"); var rows_producto = sheet_producto.getRange(2, 1, sheet_producto.getLastRow() - 1, sheet_producto.getLastColumn()).getValues(); var texto = "\\n"; for (var i = 0; i < rows_producto.length; i++) { texto += rows_producto[i][0] + ") " + rows_producto[i][1] + " Precio : " + rows_producto[i][2] + " " + rows_producto[i][3] + "\\n"; } conversacion_ingresado.mensaje_salida = texto; } catch (e) { } } else if (conversacion_ingresado.evento == "bot_pedido_terminar_pedido") { // SE RECUPERA EL DETALLE DE LA SOLICITUD conversacion_ingresado.mensaje_salida = "\\nError detalle pedido productos \\n"; var sheet_producto = excel.getSheetByName("Producto"); var rows_producto = sheet_producto.getRange(2, 1, sheet_producto.getLastRow() - 1, sheet_producto.getLastColumn()).getValues(); try { var result_numero = conversaciones.filter(item => item.numero == numero_enviar); var detalle_pedido = ""; var sumatoria = 0; var producto_encontrado = {}; for (var i = 0; i < result_numero.length; i++) { if (result_numero[i].evento == "bot_pedido_producto") { producto_encontrado = rows_producto.find((item) => (item[0] + "") === ("" + result_numero[i].mensaje_entrada)); if (producto_encontrado !== undefined) { detalle_pedido += " producto : " + producto_encontrado[1]; } } if (result_numero[i].evento == "bot_pedido_continuar_pedido") { var subtotal = 0; if (producto_encontrado !== undefined) { subtotal = parseFloat(parseInt(result_numero[i].mensaje_entrada) * parseFloat(producto_encontrado[2])); } sumatoria += subtotal; detalle_pedido += " Subtotal : " + result_numero[i].mensaje_entrada + " x " + producto_encontrado[2] + " = " + subtotal + "\\n"; } } detalle_pedido += " TOTAL :" + sumatoria + "\\n"; conversacion_ingresado.mensaje_salida = detalle_pedido; } catch (e) { } } else if (conversacion_ingresado.evento == "bot_pedido_terminar_pedido_fin") { var fecha = Utilities.formatDate(new Date(), "GMT", "yyyy-MM-dd HH:mm:ss"); var excel = SpreadsheetApp.getActiveSpreadsheet(); var sheet_solicitud = excel.getSheetByName("Solicitudes"); var conversaciones_final = conversaciones.filter((item) => item.numero == conversacion_ingresado.numero); conversacion_ingresado.mensaje_salida = "Su numero de pedido es #" + (sheet_solicitud.getLastRow() + 1); conversaciones_final.push(conversacion_ingresado); var cliente = conversaciones_final.find((item) => item.evento == "bot_pedido_terminar_pedido_direccion"); if (cliente == undefined) { cliente = "Cliente"; } var direccion = conversaciones_final.find((item) => item.evento == "bot_pedido_terminar_pedido_fin"); if (direccion == undefined) { direccion = "Direccion"; } var pedido = conversaciones_final.find((item) => item.evento == "bot_pedido_terminar_pedido"); if (pedido == undefined) { pedido = "pedido"; } sheet_solicitud.appendRow([sheet_solicitud.getLastRow() + 1, fecha, conversacion_ingresado.numero, "Pendiente", pedido.mensaje_salida, cliente.mensaje_entrada, direccion.mensaje_entrada, JSON.stringify(conversaciones_final)]); } // SE PONE PUSH conversaciones.push(conversacion_ingresado); // SE ENVIA A META notificarmeta(conversacion_ingresado.evento, conversacion_ingresado.mensaje_salida, conversacion_ingresado.numero); // FIN DE ENVIO A META if (evento[0].includes("_inicio")) { var result_numero = conversaciones.filter(item => item.numero !== numero_enviar); if (result_numero === undefined || result_numero.length == 0) { conversaciones = []; } else { conversaciones = result_numero; } conversaciones.push(conversacion_ingresado); } cache.put('conversaciones', JSON.stringify(conversaciones), 120); jo.status = '0'; jo.message = ' Se grabo el registro'; jo.conversaciones = conversaciones; return JSON.stringify(jo); } function doPost(e) { var operacion = JSON.parse(e.postData.contents); var numero = operacion.entry[0].changes[0].value.messages[0].from; var mensaje = ""; if (operacion.entry[0].changes[0].value.messages[0].type == "text") { mensaje = operacion.entry[0].changes[0].value.messages[0].text.body; } else if (operacion.entry[0].changes[0].value.messages[0].type == "button") { mensaje = operacion.entry[0].changes[0].value.messages[0].button.text; } /* var excel = SpreadsheetApp.getActiveSpreadsheet(); var sheet_solicitud = excel.getSheetByName("Informacion"); sheet_solicitud.appendRow([numero, mensaje, new Date(), JSON.stringify(operacion)]);*/ var respuesta = enviar(numero, mensaje); return ContentService.createTextOutput(JSON.stringify(operacion)).setMimeType(ContentService.MimeType.JSON); } function doGet(e) { var cadena = e.parameter["hub.challenge"]; var excel = SpreadsheetApp.getActiveSpreadsheet(); var sheet_configuracion = excel.getSheetByName("Configuracion"); 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/


martes, 4 de enero de 2022

Whatsapp API Rest Gratuito

   A continuación se muestra una solución para invocar una API REST WHATSAPP para notificar y consultar mensaje a whatsapp.

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

- Solo invocar al API

Video Solución:

Página para leer código QR:

https://anlusoftware.blogspot.com/

URL API rest  (POST)

https://script.google.com/macros/s/AKfycbyoBhxuklU5D3LTguTcYAS85klwFINHxxd-FroauC4CmFVvS0ua/exec


Método que envía mensajes de forma síncrona a whatsapp

 trama envio mensajes:

{

   "op":"registermessage",

   "token_qr":"ABCS",

   "mensajes":[

      {

         "numero":"numero destino",

         "mensaje":"Se notifica a la persona "

      },

       {

         "numero":"numero destino",

         "imagenbase64":"base64"

      }

   ]

}

ejm


{

    "op": "registermessage",

    "token_qr": "GA220521013545",

    "mensajes": [

        {

            "numero": "51986321853",

            "mensaje": "Se notifica a la persona "

        },

        {

            "numero": "51986321853",

            "url": "https://c.tenor.com/MYCmZyQZKAsAAAAC/vegeta-dragon-ball.gif"

        },

        {

            "numero": "51986321853",

            "url": "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf"

        },

        {

            "numero": "51986321853",

            "imagenbase64": "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"

        }

    ]

}



jueves, 23 de diciembre de 2021

Google Sheets carrito compras con Facturación Electrónica gratuito

  A continuación se muestra una solución 0 costo de carrito de compras integrado con la facturacion electronica y firma digital   empleando  la tecnologia google APP Script , esta realizada con HTML 5 Responsive - Jquery se alinea a diversos tipos de navegadores Web y Mobile. 

¿ Que necesitas para implementarlo ?

- SOLO  una cuenta de GMAIL

- Abrir URL Blogger

LINK APLICACIÓN :

https://tucarritofacturacion.blogspot.com/

EXCEL APLICACIÓN :

https://docs.google.com/spreadsheets/d/1jRixfcepVPNf96gnsKnHiUD9pI1-psr7npTpG37KOXs/edit?usp=sharing

CARPETA ARCHIVOS :

https://drive.google.com/drive/folders/1nrkMKlFBVUqg3fH8SyEVIQ9EV-Dj-0M4?usp=sharing


VIDEO APLICACION :




MANUAL DE INSTALACION:

https://docs.google.com/document/d/1ADkaDZudk9975XaSSKUh7ONmoAfih5KzXK66RTe9Sv8/edit?usp=sharing

FUENTES APLICACIÓN :

Para obtener las fuentes tiene un costo $ 4.00 

IR a PAGAR 4 DOLARES

NOTA : Luego del pago se redireccionara a una carpeta para descargar las fuentes incluido el RSA Llave privada Firma Digital

COMENTARIO PARA LA IMPLEMENTACION :

  • Para ponerlo en producción debe usar Certificado Digital + RSA Llave Privada 
  • Pagina Amiga información facturación electrónica https://fe-primer.greenter.dev/docs/factura/


jueves, 5 de agosto de 2021

Notificación WhatsApp Gratis

 A continuación una solución google sheet para notificar por Whatsapp de forma masivo o individual mensajes tipo texto imagen

a) Pagina Generar codigo QR

https://anlusoftware.blogspot.com/

b) descargar el código fuente appscript 

https://drive.google.com/file/d/15VEDedPj0N9jJJYgg3S5XOAihTSWRbWo/view?usp=sharing

c) Pagina imagen a base 64 (NOTA )

https://codebeautify.org/image-to-base64-converter

Video de como implementar








jueves, 1 de julio de 2021

Sistema ventas 0 costo - Integración Facturador SUNAT

 A continuación se muestra una Sistema Web Ventas con las opciones de :Login , Inventario, Ordenes Venta, Registro Venta y Generación archivos DAT para ingresarlo al facturador SUNAT.

Esta  construido con google APP Script  HTML 5 Responsive - Jquery se alinea a diversos tipos de navegadores Web y Mobile para jugarlo en casa.

¿ Que necesitas para probarlo?

Solo acceder a las siguientes URL 

https://sistemaventasgratis.blogspot.com/

usuario marb clave 123456

Excel Aplicación

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

Documentos generado x Aplicación

https://drive.google.com/drive/folders/1OsWtsriU-uWPZNQQukII-o5Gvjow6Wpp?usp=sharing

¿ Que necesitas para implementarlo ?

- SOLO  una cuenta de GMAIL

- Abrir URL Blogger

VIDEO APLICACION :


MANUAL INSTALACION:


FUENTES APLICACION :

Para obtener las fuentes tiene un costo de :

IR a PAGAR 10 DOLARES

NOTA : Luego del pago se redireccionara a una carpeta para descargar fuentes

lunes, 21 de diciembre de 2020

Carrito Compras 0 Costo con una URL en Blogger

 A continuación se muestra una solución 0 costo de carrito de compras con la tecnologia google APP Script , esta realizada con HTML 5 Responsive - Jquery se alinea a diversos tipos de navegadores Web y Mobile.

¿ Que necesitas para implementarlo ?

- SOLO  una cuenta de GMAIL

- Abrir URL Blogger

LINK APLICACIÓN :

https://tucarritogratis.blogspot.com/

EXCEL APLICACIÓN :

https://docs.google.com/spreadsheets/d/1jRixfcepVPNf96gnsKnHiUD9pI1-psr7npTpG37KOXs/edit?usp=sharing

VIDEO APLICACION :



MANUAL DE INSTALACION:

https://docs.google.com/document/d/1ADkaDZudk9975XaSSKUh7ONmoAfih5KzXK66RTe9Sv8/edit?usp=sharing

FUENTES APLICACIÓN :

Para obtener las fuentes tiene un costo $ 2.00 .

IR a PAGAR 2 DOLARES

NOTA : Luego del pago se redireccionara a una carpeta para descargar las fuentes

domingo, 13 de septiembre de 2020

Carrito Compras APP Script 0 Costo

A continuación se muestra una solución 0 costo de carrito de compras con la tecnologia google APP Script , esta realizada con HTML 5 Responsive - Jquery se alinea a diversos tipos de navegadores Web y Mobile.

¿ Que necesitas para implementarlo ?

- SOLO  una cuenta de GMAIL 

LINK APLICACIÓN :

https://script.google.com/macros/s/AKfycbwQirYtW5N06fy_dyFC_xf61ofZEDYJEd4_BhLnNnwjNAAex9QS/exec

EXCEL APLICACIÓN :

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

VIDEO APLICACION :

FUENTES APLICACIÓN :

Para obtener las fuentes tiene un costo $ 3.00  .

IR a PAGAR 3 DOLAR

NOTA : Luego del pago se redireccionara a una carpeta para descargar las fuentes









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