• No se han encontrado resultados

IMPLEMENTACIÓN DE UNA PLATAFORMA DE CHATBOT GESTIONADO POR WHATSAPP Y TELEGRAM PARA SU COMERCIALIZACIÓN EN LA EMPRESA INNOVUS SOFTWARE

N/A
N/A
Protected

Academic year: 2023

Share "IMPLEMENTACIÓN DE UNA PLATAFORMA DE CHATBOT GESTIONADO POR WHATSAPP Y TELEGRAM PARA SU COMERCIALIZACIÓN EN LA EMPRESA INNOVUS SOFTWARE"

Copied!
112
0
0

Texto completo

(1)

UNIVERSIDAD ESTATAL DEL SUR DE MANABÍ

FACULTAD DE CIENCIAS TÉCNICAS

CARRERA DE TECNOLOGÍAS DE LA INFORMACIÓN

PROYECTO DE TITULACIÓN PREVIO A LA OBTENCIÓN DEL TÍTULO DE

INGENIERO EN TECNOLOGÍAS DE LA INFORMACIÓN

TEMA

IMPLEMENTACIÓN DE UNA PLATAFORMA DE CHATBOT GESTIONADO POR WHATSAPP Y TELEGRAM PARA SU COMERCIALIZACIÓN EN LA EMPRESA

INNOVUS SOFTWARE

AUTOR

LINO CRUZ JOY RICHARD

TUTOR

ING. JOSÉ NEVARDO PALADINES MORÁN, PhD

JIPIJAPA – MANABÍ – ECUADOR

2022

(2)

ii

UNIVERSIDAD ESTATAL DEL SUR DE MANABÍ FACULTAD DE CIENCIAS TÉCNICAS

CARRERADETECNOLOGÍASDELAINFORMACIÓN

APROBACIÓN DEL TUTOR

Ing. José Nevardo Paladines Morán, PhD, docente de la carrera de Tecnologías de la Información que imparte la Universidad Estatal del Sur de Manabí a través de la Facultad de Ciencias Técnicas.

CERTIFICA:

Que el presente Proyecto de Titulación “IMPLEMENTACIÓN DE UNA PLATAFORMA DE CHATBOT GESTIONADO POR WHATSAPP Y TELEGRAM PARA SU COMERCIALIZACIÓN EN LA EMPRESA INNOVUS SOFTWARE”, ha sido exhaustivamente revisada en varias secciones de trabajos se encuentra listo para su presentación y apto para su defensa.

Las opiniones y conceptos vertidos en este Proyecto de Titulación son fruto de trabajo, perseverancia y originalidad de su autor Joy Richard Lino Cruz, siendo de su exclusiva responsabilidad.

(3)

iii

UNIVERSIDAD ESTATAL DEL SUR DE MANABÍ

FACULTAD DE CIENCIAS TÉCNICAS

CARRERADETECNOLOGÍASDELAINFORMACIÓN

APROBACIÓN TRIBUNAL

Una vez revisado el proyecto final de investigación del Sr. Joy Richard Lino Cruz, portador de la cédula de identidad N°0950804518, egresado de la Carrera de Tecnologías de la Información de la Universidad Estatal del Sur de Manabí, los miembros del Tribunal examinador aprueban el informe de investigación, sobre el tema: “IMPLEMENTACIÓN DE UNA PLATAFORMA DE CHATBOT GESTIONADO POR WHATSAPP Y TELEGRAM PARA SU COMERCIALIZACIÓN EN LA EMPRESA INNOVUS SOFTWARE”, y su debida implementación ha sido aprobado.

En virtud al antecedente descrito el Sr. Joy Richard Lino Cruz, puede hacer uso del presente certificado en lo que estime conveniente a sus intereses.

(4)

iv

UNIVERSIDAD ESTATAL DEL SUR DE MANABÍ FACULTAD DE CIENCIAS TÉCNICAS

CARRERADETECNOLOGÍASDELAINFORMACIÓN

DECLARACION DE AUTORÍA

Yo, Joy Richard Lino Cruz, portador de la cédula de identidad No. 0950804518, egresado de la Universidad Estatal del Sur de Manabí, alego por escrito ser el autor intelectual del trabajo de investigación que tiene por nombre “IMPLEMENTACIÓN DE UNA PLATAFORMA DE CHATBOT GESTIONADO POR WHATSAPP Y TELEGRAM PARA SU COMERCIALIZACIÓN EN LA EMPRESA INNOVUS SOFTWARE”, en el cual asumo los derechos patrimoniales de la investigación y la responsabilidad de todos los criterios y comentarios emitidos en el proyecto de investigación.

Jipijapa, noviembre del 2022

(5)

v

UNIVERSIDAD ESTATAL DEL SUR DE MANABÍ FACULTAD DE CIENCIAS TÉCNICAS

CARRERADETECNOLOGÍASDELAINFORMACIÓN

RENUNCIA DE DERECHOS

Quien suscribe, Joy Richard Lino Cruz, autor del proyecto de titulación:

“IMPLEMENTACIÓN DE UNA PLATAFORMA DE CHATBOT GESTIONADO POR WHATSAPP Y TELEGRAM PARA SU COMERCIALIZACIÓN EN LA EMPRESA INNOVUS SOFTWARE”, previo a la obtención del título de Ingeniero en Tecnologías de la Información, cede los derechos de autoría intelectual total y parcial del presente trabajo de titulación a la Universidad Estatal del Sur de Manabí.

Jipijapa, noviembre del 2022

(6)

vi

DEDICATORIA

Dedico con todo mi amor este proyecto a mis Padres quienes estuvieron en todo momento para apoyarme, por haberme forjado la persona que soy, por cuidar de mi cada paso que doy, por su incondicional amor, por la infinita motivación que siempre generan en mí, por estar en cada logro que consigo en esta vida, y por impulsarme a lograr todas mis metas.

A mi hermano por su apoyo y compañía en los momentos más difíciles

A mis amigos quienes me apoyaron y cuidaron en los momentos de soledad y vulnerabilidad, por extender su mano sin esperar algo a cambio, y por ser parte de este logro alcanzado.

Joy Richard Lino Cruz

(7)

vii

AGRADECIMIENTOS

Le agradezco a Dios por permitirme lograr mis metas y por permitirme seguir soñando hacia el éxito, por ser la compañía que tuve en momentos de oscuridad.

Le agradezco a mi madre Mercy Esmeralda Cruz Pilay por ser la persona quien siempre confió en mis sueños y por su apoyo incondicional.

A mi padre Pablo Richard Lino Medina por ser la inspiración del trabajo arduo del día a día y enseñarme que las cosas de la vida no son fáciles.

A Brandon Zambrano y Danny Castro por su amistad y el gran apoyo que me brindaron durante los estudios y por enseñarme que en equipo se pueden lograr grandes cosas.

A Rosa Romero por ser una fortaleza en mi vida, y por enseñarme a ver la vida de una buena manera.

Finalmente quiero agradecer al Ing. José Nevardo Paladines Morán, PhD mi tutor de tesis, por su gran apoyo y consejos para desarrollar este trabajo.

Joy Richard Lino Cruz

(8)

viii

RESUMEN

El presente proyecto titulado “Implementación de una plataforma de chatbot gestionado por Whatsapp y Telegram para su comercialización en la empresa Innovus Software”. se enfocó en mejorar la atención al cliente mediante un servicio de mensajería automático, siendo una parte fundamental para la empresa que se dedica a la innovación tecnológica. El objetivo general de esta implementación es poder disponer de un servicio que pueda ser comercializado con otros clientes que buscan este tipo de tecnología. Los métodos utilizados en la indagación fueron: el método histórico-lógico para la recopilación de datos que sirven de base para la fundamentación teórica de este trabajo, la revisión bibliográfica y análisis de documentación científica para encontrar investigaciones relacionados a la implementación de una plataforma de chatbot, así mismo la revisión bibliografía la cual permitió recopilar y obtener información. Mediante la observación se pudo comprender que las preguntas que realizan los clientes a la empresa son objetivas y muy comunes, llegando a la conclusión que la implementación de una plataforma de chatbot gestionado por Whatsapp y Telegram permite automatizar respuestas hacia los clientes de manera precisa e inmediata, la plataforma se construyó utilizando librerías que permiten la escucha de eventos de mensajes los cuales fueron utilizados para la extracción del mensaje del cliente, estos mensajes pasan por un algoritmo que identifica la posición del mensaje en una secuencia programada generando en sí una respuesta automática, por lo que, este servicio está preparado para su comercialización por la empresa Innovus Software. De esta manera se demuestra que la innovación tecnología aporta significativamente a procesos o servicios de algunas empresas, reduciendo a gran escala los costos e incrementando su productividad.

Palabras claves: Atención al cliente; chatbot; innovación tecnológica; mensajes instantáneos; mensajes automatizados.

(9)

ix

ABSTRACT

This project entitled "Implementation of a chatbot platform managed by Whatsapp and Telegram for its marketing in the Innovus Software company", focused on improving customer service through an automated messaging service, being a key part for the company that is dedicated to technological innovation. The general objective of this implementation is to have a service that can be marketed to other clients who are looking for this type of technology. The methods used in the investigation were: the historical- logical method for the collection of data that serve as the theoretical basis for this work, the bibliographic review and analysis of scientific documentation to find research related to the implementation of a chatbot platform, as well as the bibliographic review which allowed to collect and obtain information. Through observation it was possible to understand that the questions that the clients make to the company are objective and very common, concluding that the implementation of a chatbot platform managed by Whatsapp and Telegram allows automating responses to clients in a precise and immediate way, the platform was built using libraries that allow listening to message events which were used to extract the message of the client, these messages pass through an algorithm that identifies the position of the message in a programmed sequence generating an automatic response, so this service is ready for marketing by the Innovus Software company. In this way it is shown that the technology innovation significantly contributes to processes or services of some companies, reducing costs on a large scale and increasing their productivity.

Keywords: Automated messages; customer service; chatbot; instant messages;

technological innovation.

(10)

x

ÍNDICE

APROBACIÓN DEL TUTOR ... ii

APROBACIÓN TRIBUNAL ... iii

DECLARACION DE AUTORÍA ... iv

RENUNCIA DE DERECHOS ... v

DEDICATORIA ... vi

AGRADECIMIENTOS ... vii

RESUMEN ... viii

ABSTRACT ... ix

ÍNDICE ... x

ÍNDICE DE TABLAS ... xv

ÍNDICE DE GRÁFICOS ... xvi

ÍNDICE DE ILUSTRACIONES ... xvii

I. INTRODUCCIÓN ... 1

II. TÍTULO DEL PROYECTO ... 3

III. PROBLEMA DE INVESTIGACIÓN ... 4

3.1. Definición del problema ... 4

3.2. Formulación del problema ... 5

3.3. Preguntas derivadas ... 5

IV. OBJETIVOS ... 6

4.1. Objetivo General ... 6

4.2. Objetivos Específicos ... 6

V. JUSTIFICACIÓN ... 7

VI. MARCO TEÓRICO ... 8

6.1. Antecedentes ... 8

6.1.1. Antecedentes Internacionales ... 8

6.1.1. Antecedentes Nacionales ... 10

6.1.2. Antecedentes Locales ... 12

6.2. Bases Teóricas ... 13

6.2.1. ChatBot ... 13

6.2.1.1. Definición ... 13

6.2.1.2. Primeros ChatBots ... 14

6.2.1.3. Chatbots en la actualidad ... 15

6.2.1.4. Características ... 15

(11)

xi

6.2.1.4.1. Madurez conversacional ... 16

6.2.1.4.2. Razonamiento Autónomo ... 16

6.2.1.4.3. Pre-Entrenado ... 16

6.2.1.4.4. Memoria ... 16

6.2.1.5. Funcionamiento ... 17

6.2.2. Redes sociales ... 17

6.2.2.1. Surgimiento de las redes sociales ... 18

6.2.2.2. Las redes sociales en el mundo empresarial ... 18

6.2.2.3. Redes sociales más utilizadas para mensajería ... 19

6.2.2.3.1. Facebook ... 19

6.2.2.3.2. Twitter ... 20

6.2.2.3.3. Instagram... 20

6.2.2.3.4. LinkedIn ... 20

6.2.3. NodeJS ... 21

6.2.3.1. Definición ... 21

6.2.3.2. Función ... 21

6.2.3.3. Empresas que utilizan NodeJS ... 22

6.2.3.4. Arquitectura de NodeJS ... 22

6.2.3.4.1. Programación asíncrona ... 22

6.2.3.4.2. Motor V8 de Google ... 23

6.2.3.4.3. Ventajas de NodeJS ... 23

6.2.3.4.4. Desventajas de NodeJS ... 24

6.2.4. WhatsappAPI ... 24

6.2.4.1. Definición ... 24

6.2.4.2. Funcionalidades ... 25

6.2.4.2.1. Mejora en el tiempo de acceso ... 25

6.2.4.2.2. Mayor flexibilidad para las empresas ... 25

6.2.4.2.3. Construcción de base de datos ... 25

6.2.4.2.4. Funcionalidades premium de la API de WhatsApp ... 25

6.2.4.2.5. Beneficios ... 26

6.2.5. TelegramAPI ... 27

6.2.5.1. Definición ... 27

6.2.5.2. Funcionalidades ... 27

6.2.5.3. Funcionamiento ... 27

6.2.6. GraphQL ... 28

(12)

xii

6.2.6.1. Definición ... 28

6.2.6.2. Objetos ... 28

6.2.7. PHP ... 29

6.2.7.1. Definición ... 29

6.2.7.2. Función principal ... 29

6.2.8. Twilio ... 30

6.2.8.1. Definición ... 30

6.2.8.2. TwiML ... 30

6.2.9. Dialogflow ... 31

6.2.9.1. Definición ... 31

6.2.9.2. Características ... 31

6.2.10. Metodología Kanban ... 32

6.2.10.1. Definición ... 32

6.2.10.2. Principios de kanban ... 33

6.2.10.2.1. Empieza con lo que estás haciendo ahora. ... 33

6.2.10.2.2. Asegúrate de buscar e implementar cambios progresivos y evolutivos. 33 6.2.10.2.3. Respeta los procesos, los roles y las responsabilidades establecidos. 33 6.2.10.2.4. Fomenta el liderazgo en todos los niveles. ... 33

6.3. Marco Conceptual ... 34

VII. HIPÓTESIS Y VARIABLES ... 35

7.1. HIPÓTESIS ... 35

7.2. VARIABLES ... 35

VIII. METODOLOGÍA ... 36

8.1. MÉTODOS ... 36

8.2. TÉCNICAS ... 37

8.3. POBLACIÓN Y MUESTRA ... 37

IX. ANÁLISIS E INTERPRETACIÓN DE RESULTADOS ... 38

9.1. ENTREVISTA... 38

X. RECURSOS ... 40

10.1. Recursos materiales ... 40

10.2. Recursos humanos ... 40

10.3. Recursos económicos ... 40

10.4. Recursos tecnológicos ... 40

XI. PRESUPUESTO ... 41

(13)

xiii

XII. CRONOGRAMA ... 42

XIII. PROPUESTA ... 43

13.1. TÍTULO DE PROPUESTA... 43

13.2. DESARROLLO DE LA PROPUESTA ... 44

13.2.1. Etapa 1. Analizar ... 45

13.2.1.1. Fase 1. Socializar los requerimientos por la empresa respecto al ChatBot 45 13.2.1.2. Fase 2. Analizar los requerimientos para aclarar dudas respecto al chatbot y definimos el product backlog ... 46

13.2.2. Etapa 3. Identificar ... 47

13.2.2.1. Fase 1. Elegir las tecnologías complementarias adecuadas para el proyecto del Chatbot ... 47

13.2.2.1.1. HYPERTEXT PREPROCESSOR: LENGUAJE DE PROGRAMACIÓN ... 47

13.2.2.1.2. BASE DE DATOS NOSQL: MONGODB... 48

13.2.2.1.3. NODEJS: ENTORNO EN TIEMPO DE EJECUCIÓN ... 49

13.2.2.1.4. EXPRESSJS: FRAMEWORK MINIMALISTA PARA NODEJS 50 13.2.2.1.5. PUPPETEER: AUTOMATIZACIÓN DE NAVEGADOR WEB 51 13.2.2.1.6. WEB WHATSAPP ... 52

13.2.2.1.7. TELEGRAM API ... 53

13.2.2.1.8. GRAPHQL LENGUAJE DE CONSULTA PARA API ... 54

13.2.2.2. Fase 2. Definir la arquitectura del proyecto complementando el flujo del Chatbot. ... 55

13.2.2.3. Fase 3. Crear el backlog usando Kanban ... 56

13.2.3. Etapa 3. Implementar ... 57

13.2.3.1. Fase 1. Completar cada tarea del backlog ... 57

13.2.3.1.1. Crear BotManager backend de operaciones de los bots ... 57

13.2.3.1.2. Creación del proyecto Serverbot ... 60

13.2.3.1.3. Estructura de módulos... 61

13.2.3.1.4. Conexión a MongoDB, Express (Server), Socket.IO (server) ... 62

13.2.3.1.5. APIRestful del ServerBot ... 63

13.2.3.1.6. Previsualización del frontend básico para los bots ... 66

13.2.3.1.7. Despliegue del proyecto en el server de Innovus... 66

13.2.3.2. Fase 2. Realizar pruebas de funcionalidad del proyecto. ... 68

XIV. CONCLUSIONES Y RECOMENDACIONES ... 70

(14)

xiv

14.1. CONCLUSIONES ... 70

14.2. RECOMENDACIONES ... 71

XV. BIBLIOGRAFÍA ... 72

ANEXOS ... 77

(15)

xv

ÍNDICE DE TABLAS

Tabla 1 Presupuesto general ... 41

Tabla 2 Servicios propuestos ... 45

Tabla 3 Características de Php ... 47

Tabla 4 Características NoSQL MongoDB ... 48

Tabla 5 Características de NodeJS ... 49

Tabla 6 Características de ExpressJS ... 50

Tabla 7 Características Puppeteer ... 51

Tabla 8 Características de Web WhatsApp ... 52

Tabla 9 Características de Telegram BOT API ... 53

Tabla 10 Características de GraphQL ... 54

Tabla 11 Product backlog ... 56

(16)

xvi

ÍNDICE DE GRÁFICOS

Gráfico 1 Performance PHP ... 29 Gráfico 2 Etapas de la propuesta ... 44

(17)

xvii

ÍNDICE DE ILUSTRACIONES

Ilustración 1 Objetos de GraphQL ... 28

Ilustración 2 Forma de responder un mensaje con TwiML ... 30

Ilustración 3 Ejemplo de pizarra con metodología kanban ... 32

Ilustración 4 Cronograma de actividades ... 42

Ilustración 5 Requerimientos técnicos ... 46

Ilustración 6 Php logo ... 47

Ilustración 7 NoSQL Database ... 48

Ilustración 8 NodeJS entorno en tiempo de ejecución ... 49

Ilustración 9 Framework Web ExpressJS ... 50

Ilustración 10 Puppeteer Library ... 51

Ilustración 11 Web Whatsapp ... 52

Ilustración 12 Telegram API BotFather ... 53

Ilustración 13 GraphQL Logo ... 54

Ilustración 14 Arquitectura de ChatBot ... 55

Ilustración 15 Kanban tabla de tareas ... 56

Ilustración 16 Creación del proyecto BotManager ... 57

Ilustración 17 Estructura de proyecto BotManager ... 58

Ilustración 18 Archivo de arranque con lógica de botmanager ... 58

Ilustración 19 GraphQL resolvers ... 59

Ilustración 20 WebStorm creación del proyecto ... 60

Ilustración 21 Instalación de dependencias con npm ... 61

Ilustración 22 Estructura de carpetas del proyecto ... 61

Ilustración 23 Archivos de arranque ... 61

Ilustración 24 MongoManager gestor de conexión a mongodb ... 62

(18)

xviii

Ilustración 25 Contenido de index.js... 63

Ilustración 26 ApiManager endpoints del proyecto ... 64

Ilustración 27 Estructura de panel de bots ... 65

Ilustración 28 Html para dashboard del panel de bots de pruebas ... 65

Ilustración 29 Panel de pruebas de bot (whatsapp) ... 66

Ilustración 30 Panel de pruebas de bot (telegram) ... 66

Ilustración 31 Bitvise credenciales Innovus SSH, SFTP ... 66

Ilustración 32 Subida del proyecto al servidor de Innovus ... 67

Ilustración 33 Panel de pruebas de bot... 67

Ilustración 34 Panel de pruebas para bot Whatsapp ... 68

Ilustración 35 Panel de pruebas para Telegram ... 68

Ilustración 36 Dashboard Whatsapp ... 69

Ilustración 37 Prueba de envió de mensaje desde el bot a un número ... 82

Ilustración 38 Inicio de sesión correcto del bot WhatsApp ... 83

Ilustración 39 Envió de mensaje a un número desde el bot ... 83

Ilustración 40 Funcionamiento de TelegramBOT ... 83

Ilustración 41 Funcionamiento de WhatsappBOT ... 84

(19)

1

I. INTRODUCCIÓN

Los chatbots son una nueva forma de interactuar con los clientes a través de la tecnología de la inteligencia artificial, se están convirtiendo en una herramienta muy útil para las empresas, ya que les permite mantener una conversación fluida con sus clientes y, al mismo tiempo, ofrecerles una experiencia personalizada, por lo tanto, pueden ser utilizados para realizar una gran variedad de tareas.

Los enfoques más comunes de un chatbot son, responder preguntas básicas sobre un producto o servicio, hasta ofrecer asesoría personalizada sobre una compra, incluso algunos chatbots ya están siendo utilizados como asistentes personales, capaces de realizar tareas como programar citas o reservar boletos de avión, la creatividad para poner a trabajar estos algoritmos depende de cada empresa, muchos requieren de pocas funcionalidades y otros van a un pasó más a delante con el uso del Deep Learning logrando una comunicación más natural con sus clientes.

En ecuador muchas empresas están tomando esta iniciativa tecnológica debido a los grandes beneficios que generan, las empresas lo usan de diferentes formas ya sea para asistencia a clientes, para automatizar procesos de tareas empresariales, soporte técnico y respuestas a preguntas de los clientes, podemos encontrar una gran cantidad de funciones que se le puede dirigir al chatbot.

La implementación del proyecto está compuesta por varias etapas por ello la importancia de entender el problema y cómo el chatbot lo soluciona, sin olvidar el enfoque principal de agilizar la comunicación con los clientes de manera eficaz, así mismo de unir dos medios de mensajería para dichas funcionalidades las cuales serán de gran ayuda para la empresa Innovus Software.

(20)

2

El presente trabajo de investigación está estructurado en varios capítulos con información relevante en el siguiente orden, empezando en el problema de investigación en donde su contenido es la definición del problema y formulación del problema junto a sus preguntas derivadas, en objetivos se puede encontrar objetivo general y especifico, la justificación, en el marco teórico se encontrarán antecedentes (locales, nacionales e internacionales), bases teóricas y el marco conceptual, hipótesis con sus respectivas variables planteadas, metodología con métodos y técnicas utilizadas, recursos utilizados para el presente proyecto, presupuesto, cronograma de actividades, propuesta en donde se describe toda la información del desarrollo del presente proyecto basado en etapas; y finalmente las conclusiones y recomendaciones.

(21)

3

II. TÍTULO DEL PROYECTO

IMPLEMENTACIÓN DE UNA PLATAFORMA DE CHATBOT GESTIONADO POR WHATSAPP Y TELEGRAM PARA SU COMERCIALIZACIÓN EN LA EMPRESA INNOVUS SOFTWARE

(22)

4

III. PROBLEMA DE INVESTIGACIÓN

3.1. Definición del problema

Es evidente el avance y crecimiento que ha tenido la tecnología a lo largo del tiempo, de tal manera que se ha convertido en una herramienta indispensable para la sociedad, donde muchas personas a nivel mundial se han beneficiado de su uso. Tal ha sido su impacto que está presente en la mayoría de los ámbitos, ya sean sociales, culturales, educativos, etc. Sin embargo, es importante destacar el gran aporte que ha tenido en el ámbito empresarial y de los cambios que ha traído consigo en cuanto a las modalidades de trabajo de muchas empresas.

Hoy en día, muchas organizaciones a nivel nacional están optando por implementar sistemas de ChatBot con la finalidad de adaptarse a los cambios propuestos por las tecnologías emergentes y así automatizar múltiples procesos internos. Además, cabe destacar que el nivel de competitividad entre empresas ha incrementado y todas buscan brindar la mejor atención a sus clientes, sin embargo, este proceso se complica si influyen factores como el incremento de clientes y la falta de personal para atender sus dudas respecto a la compra o contratación de algún servicio ofrecido por la empresa, generando insatisfacción en muchos casos y perdiendo clientes importantes y potenciales.

La empresa ecuatoriana Innovus Software no cuenta con el personal suficiente para encargarse de responder a tiempo las inquietudes de los clientes nuevos que solicitan sus servicios, esto genera una mala experiencia de atención y supone un riesgo en la pérdida de clientes potenciales para la empresa. Por ello, resulta necesario la implementación de una herramienta informática que le permita a la empresa crear y gestionar mediante un ChatBot procesos específicos para el departamento de atención al cliente.

Bajo este contexto, y por las razones expuestas anteriormente, la presente investigación propone la implementación de una plataforma de ChatBot gestionado por

(23)

5

WhatsApp y Telegram para la empresa Innovus Software y para comercializarlo con otras empresas que requieran de esta tecnología.

3.2. Formulación del problema

¿Qué beneficios aportará la implementación de una plataforma de ChatBot gestionado por WhatsApp y Telegram para su comercialización en la empresa Innovus Software?

3.3. Preguntas derivadas

• ¿Cuál es la forma de atender a muchos clientes a la vez en la empresa de Innovus Software?

• ¿Cómo dan soporte con una cantidad grande de clientes a la vez?

• ¿Qué beneficios serán reflejados al utilizar un chatbot que automatice las preguntas frecuentes de los clientes?

(24)

6

IV. OBJETIVOS

4.1. Objetivo General

Implementar una plataforma de ChatBot gestionado por WhatsApp y Telegram para su comercialización en la empresa Innovus Software.

4.2. Objetivos Específicos

• Analizar los requerimientos para la automatización de mensajes de un ChatBot en Innovus Software.

• Determinar las tecnologías apropiadas para el desarrollo escalable del ChatBot.

• Diseñar la plataforma de ChatBot gestionado por WhatsApp y Telegram.

(25)

7

V. JUSTIFICACIÓN

El avance tecnológico ha generado un gran impacto en las empresas y en los individuos, ya que ha producido un enorme cambio en la forma en la que se comunican y gestiona, Actualmente podemos encontrar todo tipo de dispositivos electrónicos ya sean móviles o estacionarios los cuales tienen aplicaciones que permiten a las personas estar conectadas las 24 horas del día, lo que ha hecho posible que el trabajo no se limite a un espacio físico o a unas horas específicas.

La empresa Innovus Software surge con una necesidad de atención al cliente eficaz y objetiva por lo que las herramientas de comunicación, colaboración y gestión han simplificado y mejorado la forma de interactuar dentro de la empresa, pero a su vez han generado nuevos desafíos a lo que la organizaciones debe hacer frente, y es la automatización de procesos de comunicación con sus clientes, la mayoría de procesos son aptos para ser automatizados, ya sea la gestión empresarial, o la atención al cliente, el principal problema es el saturar una línea telefónica con una cantidad limitada de operadores al teléfono y esto ya es del pasado con la tecnología actual se puede aprovechar de los complejos algoritmos de la inteligencia artificial para lograr una atención clara y efectiva a los clientes, incluso los algoritmos definidos como lo es el ChatBot pueden satisfacer un gran porcentaje de esta necesidad atendiendo preguntas comunes y rápidas.

De tal manera que la implementación de la plataforma de ChatBot en la empresa mejorará significativamente la atención que el cliente requiere gracias a las grandes ventajas que esta nos ofrece y a los grandes avances en la rama de la inteligencia artificial que facilita la interacción con humanos a través de medios digitales, como la aplicación automatizada (Chatbot), el cual podrá atender dudas especificas por el cliente.

(26)

8

VI. MARCO TEÓRICO

6.1. Antecedentes

6.1.1. Antecedentes Internacionales

En la investigación de Garibay (2020), titulada “Diseño e implementación de un asistente virtual (Chatbot) para ofrecer atención a los clientes de una aerolínea mexicana por medio de sus canales conversacionales”, desarrollada para obtener el grado de maestro en gestión de innovación de las Tecnologías de Información y Comunicación en INFOTEC Centro de Investigación e Innovación en Tecnologías de la Información y Comunicación, postula que la implementación del Chatbot en el programa de Club Premier, permitiría optimizar los procesos del área de atención al cliente, específicamente, el registro de nuevos socios y el seguimiento de la acumulación de millas. Para ello, se tuvo como objetivo proporcionar una solución para atender los canales conversacionales de Club Premier —WhatsApp, Chat Web y Facebook Messenger—, a través de la utilización de un asistente virtual, programado para entender las intenciones de los usuarios y generar las acciones correspondientes a cada solicitud.

La metodología utilizada consistió en emplear la tecnología del proveedor Aivo, específicamente, el producto Agentbot, el cual es un asistente virtual que posee inteligencia artificial y es capaz de entender las consultas del cliente, identificando errores de escritura y ortográficos; palabras y significados, así como el contexto de la conversación, gracias al sistema de Machine learning. Obtuvo como resultado que, en cuanto a la frecuencia de las solicitudes segmentadas de acuerdo al canal de contacto utilizado, los resultados de la aplicación del CP-Bot permiten estimar que la aplicación más utilizada será WhatsApp. Por lo tanto, el autor concluye que, la implementación de un asistente virtual en el programa Club Premier, no sólo brindaría la posibilidad de

(27)

9

mejorar la calidad en la atención al cliente, sino que también agregaría una ventaja competitiva, con respecto a los servicios que otorgan otros sistemas de recompensas.

Nieto (2020) realizó la investigación “Implementación de una aplicación web con servicio de Chatbot con inteligencia artificial que permita la autogestión de cuentas por pagar de los proveedores de la Universidad Autónoma de Bucaramanga” para optar por el título de Magíster en gestión, aplicación y desarrollo de Software en la Universidad Autónoma de Bucaramanga, donde destaca que “el éxito de las empresas se ve representado no solo por la aceptación del producto o servicio que estas ofrecen, sino por la capacidad de cautivar y retener a sus clientes y proveedores (pág. 11)”; tuvo como objetivo implementar una aplicación web con servicio de Chatbot con inteligencia artificial mediante la cual los proveedores de la Unab puedan realizar la autogestión de sus cuentas por pagar. La metodología utilizada se dividió en dos etapas: recolección de información y levantamiento de requerimientos técnicos y evaluación de tecnologías de Chatbot disponibles. Obtuvo como resultado que después de realizar el respectivo análisis de las características más importantes de las tecnologías disponibles en el mercado para desarrollar el ChatBot, Dialogflow es la más adecuada. Finalmente, el autor concluye que con el desarrollo de la aplicación web y la implementación del Chatbot en esta, se logra reducir de manera notoria el tiempo de consulta de la información de cuentas por pagar por proveedores de la Unab, pasando de un tiempo de 24 horas desde que se realizaba la solicitud vía correo electrónico hasta el momento en que la recibían de vuelta por el mismo medio, a un promedio de tan solo 5 minutos, desde que se ingresa a la aplicación hasta que la información es desplegada en la pantalla.

(28)

10 6.1.1. Antecedentes Nacionales

Calle & Narváez (2022), en su trabajo de investigación titulado “Desarrollo de un plugin de recomendaciones tipo chatbot orientado a estudiantes para la plataforma Moodle”, realizado para a la obtención del título de Ingeniero de Sistemas en la Universidad de Cuenca, Ecuador, destacan que la aparición y uso de espacios virtuales como plataformas de educación o espacios

de aprendizaje han aumentado en los últimos años. Por ello, su investigación tuvo como objetivo principal desarrollar un plugin basado en agentes conversacionales para Moodle, que apoye a la autorregulación del aprendizaje, capaz de brindar recomendaciones de tiempo, sesiones e interacciones a estudiantes para apoyar el proceso de aprendizaje. La metodología empleada consistió en un caso típico de la metodología incremental de desarrollo basada en metodologías agiles, donde en cada etapa se agrega una nueva funcionalidad al sistema. Se descubrió que en el repositorio oficial de plugins de Moodle no se encuentra ningún plugin que actúe como sistema de recomendación. Sin embargo, se encontró que existen varios plugins que buscan apoyar el proceso de aprendizaje de los estudiantes para ello emplean diversas analíticas de aprendizaje.

En la investigación de Espinoza (2020), titulada “Desarrollo e implementación de una plataforma web con Chatbot para la comunicación activa entre usuario e información del portafolio de servicio de la empresa Electricsystems de la ciudad de Guayaquil” para optar por el título de licenciada en Sistemas de Información en la Universidad de Guayaquil, manifiesta la necesidad de la empresa Electricsystems al no contar con una plataforma web y un asistente virtual Chatbot, que permita optimizar tiempos y proveer de información a los clientes que soliciten o requieran de sus servicios;

su trabajo tuvo como objetivo desarrollar e implementar una plataforma web con Chatbot para la comunicación activa entre usuario e información del portafolio de servicios de la

(29)

11

empresa Electricsystems de la ciudad de Guayaquil, la metodología utilizada para el desarrollo del software consistió en cuatro fases: especificación del software, diseño e implementación del software, validación del software, y evolución del software. Obtuvo como resultado que un Chatbot a menudo puede responder preguntas en un corto periodo de tiempo y un agente de servicio al cliente no necesita involucrarse, de esta manera el servicio al cliente 24/7 ahora es posible sin tener personal allí todas las horas del día. El autor concluye que se ha cumplido con los objetivos establecidos al inicio del desarrollo en cada una de sus partes, gracias a la colaboración de los miembros de la empresa que han sido clave importante en la entrega de información.

Gamboa (2019), en su trabajo titulado “Prototipo de un Chatbot para compras online utilizando bot framework” para obtener el título profesional de Ingeniero en Sistemas Computacionales e Informáticos en la Universidad Técnica de Ambato, Ecuador, analiza tecnologías relevantes para incursionar en la construcción y desarrollo de agentes conversacionales, es decir, presenta herramientas y componentes que intervienen en el proceso de desarrollo de un chatbot. El objetivo fue desarrollar un prototipo de chatbot para compras utilizando Bot Framework, y utilizó como metodología una investigación de tipo bibliográfica para la construcción del marco teórico y posteriormente para la contextualización del prototipo propuesto, y de modalidad aplicada para la realización del prototipo del Chatbot. Se concluyó que los chatbots no deben ser tomados como una interfaz de usuario cualquiera, ya que por el ámbito en el cual se encuentran trabajando, van a tener limitaciones en comparación con otro tipo de interfaces.

(30)

12 6.1.2. Antecedentes Locales

A partir de la aplicación de métodos científicos, con énfasis en la revisión bibliográfica se constató la existencia de diferentes trabajos que respaldan la importancia de la presente investigación:

Quiñonez (2021), realizó la investigación “Análisis de la herramienta “Chatbot” y su influencia comunicacional en los estudiantes de la carrera de Tecnologia de la Informacion, Universidad Estatal del Sur De Manabi” para obtener el título profesional de Ingeniera en sistemas computacionales en la Universidad Estatal del Sur de Manabí, donde señala que mediante la implementación de la herramienta Chatbot se busca optimizar el tiempo y recursos de los estudiantes de la carrera de Tecnología de la Información de la Universidad Estatal del Sur de Manabí, brindando herramientas gratuitas disponibles al público e instituciones que aplicadas de forma eficaz representan un ahorro de tiempo. Su principal objetivo fue analizar la herramienta “Chatbot” y su influencia comunicacional en los estudiantes de la carrera de Tecnología de la Información de la Universidad Estatal del Sur de Manabí. Se usaron métodos de investigación científica, tales como método analítico-sintético, método estadístico matemático, método bibliográfico,vmétodo sintético, y método deductivo. Se concluyó que esta tecnología tiene cualidades que pueden ser muy beneficiosas para una institución educativa, pues a través de ella puede innovar en el área tecnológica para su funcionamiento interno, y obtener una atención automatizada.

(31)

13 6.2. Bases Teóricas

6.2.1. ChatBot

6.2.1.1. Definición

“Un chatbot es una tecnología capaz de simular una conversación humana a través de una interfaz conversacional (Gus Chat, pág. 03)”.

Desde el punto de vista de Peris (s.f.), un chatbot es: Un asistente que se comunica con los usuarios a través de mensajes de texto. (…) Se trata de una tecnología que permite al usuario mantener una conversación a través de un software que se integra en un determinado sistema de mensajería, como, por ejemplo: Facebook, Twitter, Telegram, Whatsapp, etc.

Para Snitcofsky (2022), un ejemplo de chatbot es lo que sucede cuando entras a un sitio web y ves una pequeña ventana con saludos e invitaciones de chat. Si bien muchas personas piensan que hay alguien del otro lado, la verdad es que generalmente se trata de un bot programado para iniciar una conversación con un visitante del sitio web.

Para conversar el bot suele utilizar frases fáciles de comprender y coherentes. De este modo, es capaz de mantener la interacción de manera lógica, siguiendo el hilo de la conversación, lo que hace que el usuario tenga la sensación de estar hablando con una persona real. (Snitcofsky, 2022)

Boudin-Lestienne, sostiene que, junto con la mensajería, la automatización de las interacciones de primer nivel deja a los clientes la libertad de ponerse en contacto con las marcas en cualquier momento y a través de cualquier interfaz, al tiempo que las marcas pueden estar disponibles donde estén sus clientes, gracias a la convergencia de múltiples interfaces en una única plataforma (pág. 9).

Los chatbots están cada vez más presentes en nuestras interacciones cotidianas con marcas. Según una encuesta realizada por IDC, por solicitud de Infobip, hasta un 61.1%

(32)

14

de los minoristas latinoamericanos emplean chatbots de IA para brindar apoyo a sus áreas de servicio al cliente y, al parecer, las demás industrias no se quedan atrás. (infobip, 2022)

6.2.1.2. Primeros ChatBots

“Los inicios de esta nueva forma de comunicación se remontan a 1950. Fue entonces cuando Alan Turing se preguntó hasta qué punto los sistemas informáticos son capaces de pensar por sí mismos (EL ESPAÑOL, 2021)”.

Turing argumentaba que las maquinas tenían la posibilidad de llegar a pensar, lo que llevo a los científicos de la computación a prestar interés en la Inteligencia Artificial.

Según su argumento Turing propuso un método que actualmente se conoce como Test de Turing, este método consiste en un juego donde participan humanos y maquinas si la maquina logra engañar y pasar el test se puede considerar que la maquina es inteligente y puede pensar. (Barros Manzano, 2022)

“Entre 1964 y 1966 Joseph Weizenbaum diseñó el primer chatbot llamado ELIZA para actuar como psicólogo; que se convertiría en la primera máquina capaz de hablar y tener una conversación utilizando el procesamiento del lenguaje natural” (EL ESPAÑOL, 2021).

En 1972 Kenneth Colby presentó a Parry. Dicho sistema podía similar a una persona con esquizofrenia paranoica. Parry llevo la conversación un poco más allá que Eliza, enviaba respuestas siguiendo una estrategia de conversación compleja. En una prueba de Turing, solo el 48% de las veces un grupo de siquiatras pudo diferenciar entre Parry y pacientes reales. (Barros Manzano, 2022)

En 1995 Richard Wallace creo ALICE, un chatbot que generaba respuestas complejas, ha ganado tres veces el premio loebner otorgado a la Inteligencia Artificial más humana.

Sin embargo, ALICE no ha podido pasar la prueba de Turing a pesar de sus éxitos. Esta

(33)

15

tecnología fue evolucionando hasta tal punto que en 1984 el chatbot RACTER escribió el libro ‘La Barba del policía está a medio construir’, aunque no se publicó como tal.

(Barros Manzano, 2022)

En 1998, Creative Labs creó un chatbot que en su fase beta utilizó inteligencia artificial aplicada a la síntesis de voz. Poco después se empezó a trabajar en las voces digitalizadas y apareció Dr.Sbaitso, un chatbot “psicólogo” que contaba con una voz digital diseñada específicamente para hablar con los usuarios. (EL ESPAÑOL, 2021)

6.2.1.3. Chatbots en la actualidad

En el año 2000 se desarrolló Elbot y, junto a él, los sistemas de chatbots que conocemos actualmente. Elbot estaba diseñado para entretener a los humanos mediante el humor. A partir de ahí se crearon los asistentes virtuales que conocemos hoy, como Siri, que Apple lanzó en 2011; Alexa, que Amazon presentó en 2014; o Cortana, que Microsoft introdujo ese mismo año. (EL ESPAÑOL, 2021)

Dichos sistemas reconocen los comandos de voz, crean recordatorios y responden a preguntas cada vez más complejas según su grado de aprendizaje. También se han convertido en una herramienta de comunicación habitual entre las empresas y sus usuarios. Sus funcionalidades van desde un uso muy básico, con una solución que se limita a responder; pasando por otros más avanzados, como la recogida de datos en la toma de un pedido; hasta los chatbots más sofisticados, capaces de mantener una conversación. (EL ESPAÑOL, 2021)

6.2.1.4. Características

Según la firma mexicana NDS Cognitive Labs, estas son las características más importantes que debe tener un chatbot para tu empresa:

(34)

16

6.2.1.4.1. Madurez conversacional

Además de comprender y participar en conversaciones, los chatbots necesitan ciertas habilidades de procesamiento de lenguaje natural (NLP) para comprender el contexto de las conversaciones. También debe proporcionar una respuesta precisa y sugerir opciones para saber la intención de la duda. Los chatbots tienen habilidades de conversación avanzadas y pueden buscar información de forma activa y hacer preguntas claras incluso cuando la conversación no es lineal. (Signals IoT, 2019)

6.2.1.4.2. Razonamiento Autónomo

El chatbot debe realizar un análisis complejo sin intervención humana. Por ejemplo, Los mejores chatbots deberían poder derivar soluciones basadas en historias de casos reales y realizar diversas actividades sin asistencia humana. Como por ejemplo solicitar un asiento de cine (Signals IoT, 2019)

6.2.1.4.3. Pre-Entrenado

El bot debe estar capacitado previamente para comprender los términos o frases que se encontrará en la conversación, esto se logra mediante el uso de algoritmos de aprendizaje automático, los cuales le permiten al bot ir mejorando su comprensión del lenguaje humano con el uso (Signals IoT, 2019)

6.2.1.4.4. Memoria

El bot debe tener la capacidad de recordar a los usuarios y el contenido de la conversación cuando el usuario reinicie la conversación, el bot debe poder continuar donde lo dejó, incluso retener datos importantes generaría una experiencia perfecta en dicha conversación (Signals IoT, 2019)

(35)

17 6.2.1.5. Funcionamiento

El funcionamiento de un chatbot es simple, una entrada de datos el cual es procesada obteniendo la salida de datos generada en base al dato de entrada, pero los chatbots mas inteligentes son más que simples algoritmos, más bien son algoritmos entrenados envueltos en Machine Learning así es como lo describe la empresa corporativa BotUp (BotUp, 2022) en su sitio web corporativo, también defino que se obtiene un mejor funcionamiento del chatbot entrenado ya que es capaz de procesar mejor las oraciones que un usuario escriba logrando una respuesta única a su conversación. Existen dos modelos de conversación General el cual es el Generativo y Selectivo, los modelos híbridos también son posibles. Sin embargo, tales modelos con frecuencia imaginan múltiples frases de contexto de dialogo y anticipan la respuesta para el contexto, evitando la probabilidad, en cambio los modelos selectivos logran aprender en función de similitudes encontradas en la que una respuesta es parte de todas las posibles opciones en un grupo definido (BotUp, 2022)

6.2.2. Redes sociales

Las redes sociales, en el mundo virtual, son sitios y aplicaciones que operan en niveles diversos como el profesional, de relación, entre otros, pero siempre permitiendo el intercambio de información entre personas y/o empresas. (RD Station, 2020)

(Isabel Ponce, 2012) Explica en la bibliografía “Monográficos: Redes sociales” que el advenimiento de la Web 2.0 revoluciona el concepto de red, donde todos compartimos información que es actualizada constantemente; y también menciona que “la Web 2.0 se ha llamado en muchas ocasiones a la Web social y los medios de comunicación que ofrece, también han incorporado este adjetivo, denominándose Medios Sociales o Social Media”. Advenimiento de la Web 2.0 revoluciona el concepto de red, donde todos

(36)

18

compartimos información que es actualizada constantemente; y también menciona que

“La Web 2.0 se ha llamado en muchas ocasiones a la Web social y los medios de comunicación que ofrece, también han incorporado este adjetivo, denominándose Medios Sociales o Social Media”.

6.2.2.1. Surgimiento de las redes sociales

Fue en la década de 1990, con internet disponible, que la idea de red social emigró también al mundo virtual. El sitio SixDegrees.com, creado en 1997, es considerado por muchos como la primera red social moderna, ya que permitía a los usuarios tener un perfil y agregar a otros participantes en un formato parecido a lo que conocemos hoy. El sitio pionero, que en su auge llegó a tener 3,5 millones de miembros, se cerró en 2001, pero ya no era el único. (RD Station, 2020)

6.2.2.2. Las redes sociales en el mundo empresarial

• Compartir la visión de la empresa: las redes sociales son una especie de escaparate de su empresa; en ellas podrás mostrar la visión del negocio, en lo que cree; (RD Station, 2020)

• La personalización del mensaje y la interacción directa con el cliente: en las redes sociales, es posible tener una relación mucho más personalizada y directa con cada cliente o posible cliente, ya que puedes entrar en contacto con cada uno, ya sea para resolver problemas o para descubrir nuevas informaciones;

(RD Station, 2020)

• Posibilidad de segmentación del público: al publicar en redes sociales, es posible segmentar tus posts de acuerdo con las características de la audiencia, dirigiendo tus esfuerzos hacia aquellos rangos del público que poseen más afinidad con tu solución; (RD Station, 2020)

(37)

19

• Poder saber más sobre cada uno de tus clientes: las personas comparten sus gustos, deseos y otras informaciones que pueden ser valiosas para las empresas a la hora de acercarse a su público objetivo. Mantente atento a lo que es relevante para tu audiencia para conectarse mejor a ella; (RD Station, 2020)

• Posibilidad de vender por estos canales: de la misma forma que es posible relacionarse con el público a través de redes sociales, es también posible utilizarlas para vender tus productos o servicios, principalmente si abordas aquella audiencia que ya tiene una relación contigo y ya se muestra madura para la compra; (RD Station, 2020)

• Crear un entorno controlado por la marca: independientemente de quién es tu público, este va a estar en alguna red social. (RD Station, 2020)

• Posibilidad de divulgación para empresas con bajo presupuesto: a diferencia de los medios tradicionales, anunciar en las redes sociales tiene un costo más bajo, además de la ventaja de que en la web es mucho más fácil medir los resultados; (RD Station, 2020)

• Información al instante: las redes sociales permiten comunicar mensajes urgentes de la marca en un canal oficial. Esto es muy importante en el caso de la gestión de una crisis, por ejemplo, en el que es necesario que la marca se posicione rápidamente, evitando así que tome mayores proporciones. (RD Station, 2020)

6.2.2.3. Redes sociales más utilizadas para mensajería 6.2.2.3.1. Facebook

Red creada en el 2004 y con más de 2 mil millones de usuarios activos. Se trata de una red social gratuita y que permite subir fotos, videos, publicaciones o transmitir en vivo.

(38)

20

También nos facilita comunicarnos con otras personas y marcas, crear grupos y eventos, buscar avisos clasificados y también crear páginas públicas en torno a un determinado tema o interés. (Carmen Escobar, 2020)

6.2.2.3.2. Twitter

Se caracteriza por sus textos cortos y concisos: cada tweet no excede los 240 caracteres. Es el lugar ideal para saber qué está pasando y dónde y según Alexam, compañía de análisis de Internet, se encuentra entre los sitios webs más visitados del mundo: posición 8 en Estados Unidos y 13 en el resto de mundo. Así mismo es utilizado como una red social para comunicarse ya sea por mensajería o tuits (Carmen Escobar, 2020)

6.2.2.3.3. Instagram

Con casi 800 millones de usuarios activos al mes, Instagram es de las redes sociales más visuales y que viene consolidando como la favorita de las empresas. ¿Intuyes las razones? El contenido visual recibe más interacción que el escrito como lo prueban que una de cada tres historias que se ven en Instagram pertenecen a empresas. (Carmen Escobar, 2020)

6.2.2.3.4. LinkedIn

La red social asociada al mundo laboral por excelencia. Con más de 500 millones de usuarios, LinkedIn ofrece oportunidades para conectarse con otros profesionales y, claro, buscar empleo. Su interfaz permite crear conexiones, enviar mensajes privados y visibilizar nuestra experiencia laboral. (Carmen Escobar, 2020)

(39)

21 6.2.3. NodeJS

6.2.3.1. Definición

(Maria Acibeiro, 2022) señala en el blog “LucusHost: Qué es NodeJS y para qué sirve”

que Node.js es un entorno de tiempo de ejecución de JavaScript, de ahí su terminación

«.js». Este entorno de tiempo es open source, es decir, de código abierto, multiplataforma y que se ejecuta del lado del servidor.

Este entorno fue creado por los desarrolladores de JavaScript con el objetivo de ir un paso más allá con este lenguaje de programación.

Hasta la creación de Node.js, allá por el año 2009, el lenguaje de programación JavaScript únicamente podía ejecutarse del lado del navegador o cliente, pero… ¿Qué ocurría si queríamos ejecutar este lenguaje fuera del navegador o del lado del servidor?

Como JavaScript únicamente se podía utilizar dentro del marco de las etiquetas

<script> </script>, los desarrolladores tenían que tirar de diferentes lenguajes y herramientas tanto en el frontend como en el backend.

Node.js posee todo lo necesario para ejecutar código JavaScript del lado del servidor.

Algo que facilita mucho el trabajo de los desarrolladores y el motivo por el que actualmente sea una de las herramientas de trabajo más usadas en desarrollo web.

6.2.3.2. Función

Node.js sirve para crear sitios web dinámicos muy eficientes, escritos con el lenguaje de programación JavaScript. Normalmente, los desarrolladores se decantan por este entorno de ejecución cuando buscan que los procesos se ejecuten de forma ágil y sin ningún tipo de bloqueo cuando las conexiones se multiplican. (Maria Acibeiro, 2022)

(40)

22

6.2.3.3. Empresas que utilizan NodeJS

• Twitter

• Adobe

• Spotify

• Github.com

• Nytimes.com

• Medium.com

6.2.3.4. Arquitectura de NodeJS

6.2.3.4.1. Programación asíncrona

Uno de los puntos fuertes de Node.js es Event Loop, también conocido como Bucle de eventos, un modelo que permite gestionar una gran cantidad de eventos de forma asíncrona, ya que se ejecutan de forma independiente y sin interferir unos en otros.

Para conseguir esto, Node.js ha modificado la forma en la que se realizan las conexiones al servidor. En vez de generar un hilo para cada cliente, algo que resulta muy ineficaz debido al alto consumo de memoria RAM ante múltiples conexiones, utiliza un modelo en el que genera un evento para cada petición que se gestiona de manera independiente y sin bloqueos.

Esta capacidad de dar respuesta a muchas más peticiones de forma concurrente, hace de Node.js un entorno muy estable y con gran rendimiento, especialmente para proyectos de gran envergadura. (Maria Acibeiro, 2022)

(41)

23 6.2.3.4.2. Motor V8 de Google

Node.js está basado en el motor V8 de Google, uno de los intérpretes de lenguaje de programación que existen. Este motor se encarga de compilar el código JavaScript en código de máquina, un código de nivel más bajo que no hace falta que sea interpretado por el navegador. ¿El resultado? Mayor velocidad y rendimiento. (Maria Acibeiro, 2022)

6.2.3.4.3. Ventajas de NodeJS

La arquitectura basada en eventos asíncronos de Node.js y la utilización del motor V8 de Google convierte a Node.js en uno de los entornos de ejecución con más crecimiento y el preferido para el desarrollo de aplicaciones web o de escritorio. Y es que las ventajas no son pocas:

Escalable: al poder procesar tantas conexiones de forma simultánea, Node.js es un entono perfecto para construir aplicaciones en red escalables con un alto nivel de rendimiento. (Maria Acibeiro, 2022)

Rendimiento y eficacia: la ejecución de procesos sin bloqueo y la utilización de menos recursos convierte a Node.js en un entorno rápido y muy eficaz.

Facilidad: Node.js es el entono que utiliza JavaScript, un lenguaje muy bien estructurado y relativamente fácil de aprender. (Maria Acibeiro, 2022)

Open source: es un software de código libre, esto quiere decir que el código es abierto y no es necesario poseer ninguna licencia para su utilización. (Maria Acibeiro, 2022)

Comunidad y soporte: el uso y crecimiento de Node.js, así como la implementación de plataformas como GitHub ha hecho que la comunidad de Node.js crezca y se mantenga activa con el objetivo de mantener y mejorar este entorno, así como la disponibilidad de documentación relativa a este entorno de ejecución. (Maria Acibeiro, 2022)

(42)

24

6.2.3.4.4. Desventajas de NodeJS

Eso sí, no siempre es oro todo lo que reluce. Este entorno de ejecución también puede presentar algunos inconvenientes como los que te muestro aquí. (Maria Acibeiro, 2022)

Curva de aprendizaje: Node.js dista mucho de otros sistemas y requiere de más líneas de codificación, algo que puede resultar mucho más tedioso si estás acostumbrado a trabajar con otros sistemas o lenguajes de programación como PHP. (Maria Acibeiro, 2022)

Compatibilidad: no todos los planes de alojamiento web son compatibles con Node.js, por lo que para utilizarlo necesitas un Hosting especializado en Node.js. (Maria Acibeiro, 2022)

Módulos en desarrollo: aunque Node.js posee un sistema llamado NPM de módulos o dependencias, pueden resultar escasos si los comparas con otros sistemas. (Maria Acibeiro, 2022)

Documentación: aunque sí es cierto que es un entorno que no para de crecer, mucha documentación todavía se encuentra sin traducir. ¡Esto es solo temporal! (Maria Acibeiro, 2022)

6.2.4. WhatsappAPI 6.2.4.1. Definición

(Lorena Ramírez, 2022) en la página web “Iebschool: Todo lo que tienes que saber sobre la nueva API de Whatsapp en la nube” establece que; WhatsApp Cloud API es un servicio en la nube pensado para que medianas y grandes empresas puedan acceder, entre otras cosas, a todos los beneficios con los que ya contaba la aplicación para empresas WhatsApp Business. Cosa que, en la práctica, no era posible.

(43)

25 6.2.4.2. Funcionalidades

6.2.4.2.1. Mejora en el tiempo de acceso

Actualmente, más de 1.000 millones de usuarios se conectan a una cuenta comercial a través de los servicios de mensajería de WhatsApp. Según ha afirmado Zuckerberg, esta API en la nube podrá reducir drásticamente el tiempo que necesitan las pequeñas empresas y startups para ingresar a ella. Además, anuncian que los gastos de servidores serán eliminados, por lo que tendrán acceso instantáneo a nuevas funciones completamente gratis. (Lorena Ramírez, 2022)

6.2.4.2.2. Mayor flexibilidad para las empresas

Al ser una API (interfaz de programación de aplicaciones), permite a los desarrolladores de las empresas, construir sobre la misma herramienta. Esto es de gran utilidad, ya que permite personalizar la experiencia y aumentar la velocidad de respuesta a los clientes. (Lorena Ramírez, 2022)

6.2.4.2.3. Construcción de base de datos

La herramienta puede convertirse en una base de datos en la que se podrá almacenar contactos de clientes y toda la información necesaria sin la necesidad de recurrir a servidores externos. Además, al ser todo en la nube, aportará mayor seguridad tanto a usuarios como a empresas. (Lorena Ramírez, 2022)

6.2.4.2.4. Funcionalidades premium de la API de WhatsApp La API de WhatsApp se encuentra trabajando en funcionalidades como la capacidad de gestionar chats en hasta 10 dispositivos diferentes para mejorar la comunicación entre los equipos de atención al cliente y los usuarios, junto con la posibilidad de enviar enlaces personalizables tipo: «wa.me/nombredelaempresa». (Lorena Ramírez, 2022)

(44)

26 6.2.4.2.5. Beneficios

Cada vez se vuelve más común que los pequeños negocios utilicen los servicios de mensajería instantánea para comunicarse con sus clientes. A esta técnica se le conoce como Marketing Conversacional y está cambiando la forma de consumo de los usuarios.

(Lorena Ramírez, 2022)

Gracias a la API de WhatsApp, los posibles clientes no tendrán que esperar horas y días para recibir una respuesta. El tiempo de atención de respuesta será más rápido y características como horarios de apertura, disponibilidad de productos, entre otros, podrán comunicarse en cuestión de segundos. (Lorena Ramírez, 2022)

Algunos de los beneficios adicionales son:

• Automatización y simplificación en operaciones a través de chatbots

• Mayor número de ventas al tener un servicio al cliente 24/7

• Al ofrecer funcionalidades gratuitas, se reduce el coste en las estrategias de retención de clientes.

• Mejoras en la experiencia al cliente.

Según un estudio realizado por Kantar sobre la opinión de los usuarios respecto a los mensajes comerciales en España, el 62% de los encuestados afirma que le es más fácil enviar mensajes a una empresa que contactar a través del sitio web, y el 70% manifiesta sentirse más conectado cuando puede comunicarse directamente con la empresa. (Lorena Ramírez, 2022)

(45)

27 6.2.5. TelegramAPI

6.2.5.1. Definición

La TelegramAPI permite gestionar y conectar los bots a los sistemas de Telegram, los bots gestionados por BotFather no requieren de un número por lo que son cuentas especiales las cuales tienen una configuración adicional así mismo estos bots tienen sus propias políticas para evitar temas de spam e inseguridad en las conversaciones con otros usuarios (Telegram, 2022)

6.2.5.2. Funcionalidades

• Noticias y notificaciones personalizadas

• Disponibilidad de integrarse con servicios de terceros.

• Sistema de pagos de Telegram.

• Permite crear herramientas personalizadas.

• Construir videojuegos simples y personalizables.

• Crear servicios sociales.

• Permite hacer prácticamente cualquier otra cosa. (Telegram, 2022) 6.2.5.3. Funcionamiento

Los bots de Telegram son un tipo de cuenta especial, por lo que no es requerido tener un numero celular simplemente con el identificador que le asignes podrás encontrarlo, los usuarios podrán interactuar con el bot de dos formas. (Telegram, 2022)

• Enviando un mensaje y mediante comandos

• Enviando solicitudes directamente en base a una query.

(46)

28 6.2.6. GraphQL

6.2.6.1. Definición

GraphQL es un lenguaje de consulta y manipulación de datos para APIs, desarrollado por Facebook. GraphQL proporciona una forma declarativa de especificar la fuente de datos que se necesita y luego recuperar esos datos de una API, lo que hace que el proceso de obtener datos de una API sea más eficiente y flexible. (Redhat, 2019) Un ejemplo de un lenguaje de consulta es SQL, que se centra en consultas a una base de datos. (Mendez Ortega, 2019)

6.2.6.2. Objetos

Los objetos en GraphQL son de tipo fuerte, por lo que se debe definir el tipo de objeto con sus respectivos atributos junto a sus tipos.

Ilustración 1 Objetos de GraphQL Fuente: Joy Richard Lino Cruz

(47)

29 6.2.7. PHP

6.2.7.1. Definición

PHP es un lenguaje de programación de código abierto muy popular que se puede incorporar en HTML, este lenguaje de scripting server side se ejecuta en el servidor, y el resultado es que el código es procesado y el HTML resultante es enviado al cliente logrando un renderizado por parte del servidor, por lo que escribir en código php es escribir la lógica de negocio de lado del servidor por lo que el cliente nunca tendrá acceso a este código debido que lo que el cliente ve es el resultado del código interpretado. (de Souza, 2020)

6.2.7.2. Función principal

PHP es un lenguaje de programación de débil y fuerte tipado, por lo que el código que se ejecutase dentro de un archivo .php se estaría ejecutando del lado del servidor web que lo interpreta, dando como resultado nuevos elementos del html logrando construir visualmente nuevos componentes, por ello es que el código es primero renderizado por el Backend y luego entregado a su cliente (Navegador). (de Souza, 2020)

Gráfico 1 Performance PHP Fuente: Kinsta.com 2220

2240 2260 2280 2300 2320 2340 2360 2380 2400

PHP 7.3 PHP 7.4 PHP 8.0

Request per seconds (Php performance)

(48)

30

Así mismo podemos observar como las solicitudes por segundo tienen una gran ventaja al utilizarse php con un framework el cual es llamado Laravel. (Ravoof, 2022)

6.2.8. Twilio

6.2.8.1. Definición

Twilio es una plataforma de comunicaciones en la nube que permite a los desarrolladores integrar funciones de telecomunicaciones en sus aplicaciones, ofrece una API que permite a las aplicaciones enviar y recibir mensajes de texto, llamadas telefónicas y videos, también proporciona herramientas de administración y análisis para ayudar a los desarrolladores a supervisar y mejorar el uso de sus aplicaciones. (Twilio, 2021)

6.2.8.2. TwiML

Twilio Markup Language (TwiML) es un lenguaje de marcado basado en XML que se utiliza para determinar cómo responde Twilio a las llamadas y los mensajes SMS. Cuando alguien hace una llamada a uno de tus números de Twilio, Twilio busca la URL asociada con ese número de teléfono y le envía una solicitud. Twilio luego lee las instrucciones de TwiML alojadas en esa URL para determinar qué hacer, ya sea grabar la llamada, reproducir un mensaje para el llamante o solicitarle al llamante que presione dígitos en su teclado. (Kamp, s.f.)

Ilustración 2 Forma de responder un mensaje con TwiML

(49)

31 6.2.9. Dialogflow

6.2.9.1. Definición

Google Dialogflow es una plataforma de inteligencia artificial y procesamiento de lenguaje natural que ofrece al cliente el diseño de una interfaz de usuario de conversación, así como su integración en aplicaciones o web, dispositivos móviles, sistemas de respuesta de voz interactivos y otras herramientas. (KeepCoding, 2022)

6.2.9.2. Características

Algunas de sus características principales son:

• Fácil de usar: Dialogflow es muy fácil de usar. Es una plataforma de conversación muy poderosa que puede ser configurada y configurada con unas pocas líneas de código.

• Diseño intuitivo: Dialogflow tiene un diseño intuitivo que le permite crear diálogos y conversaciones naturales con facilidad.

• Soporte para varios idiomas: Dialogflow soporta actualmente más de 20 idiomas, lo que le permite crear conversaciones en su propio idioma

• Integración con otros servicios: Dialogflow se puede integrar fácilmente con otros servicios, como Google Calendar, Slack, Twitter, etc.

• Precios asequibles: Dialogflow ofrece una versión gratuita y una versión de pago.

La versión gratuita es muy limitada, pero la versión de pago es muy asequible.

(KeepCoding, 2022)

(50)

32 6.2.10. Metodología Kanban

6.2.10.1. Definición

Kanban es una filosofía de gestión de proyectos que se centra en la mejora continua.

La metodología Kanban se basa en una lista de acciones pendientes en un flujo de trabajo constante, por otra parte, permite ver el flujo del proyecto de manera visual separando en columnas ítems que deben seguir un orden hasta lograr completarlo, en el presente proyecto se utilizó esta metodología por la fácil adaptación que tiene ante proyectos de una sola persona.

Ilustración 3 Ejemplo de pizarra con metodología kanban Fuente: Joy Richard Lino Cruz

(51)

33 6.2.10.2. Principios de kanban

6.2.10.2.1. Empieza con lo que estás haciendo ahora.

Una de las ventajas es que se puede visualizar como el trabajo avanza y fluye, es decir, las tarjetas kanban pasan del lado izquierdo del tablero hacia el lado derecho hasta llegar a la columna Terminado.

6.2.10.2.2. Asegúrate de buscar e implementar cambios progresivos y evolutivos.

Los cambios masivos pueden ser un problema, cambiar todo a la vez sin ver el correcto funcionamiento de cada tarea es perjudicial, por eso kanban se enfoca que las tareas sean progresivas sin importar la cantidad de tiempo que tome hacerlo por lo que la importancia viene en obtener un producto de calidad.

6.2.10.2.3. Respeta los procesos, los roles y las responsabilidades establecidos.

Kanban no es igual que otras metodologías agiles, ya que se adapta fácilmente a cualquier equipo incluyendo un equipo de una persona, debido a que las tareas se definen en el tablero puedes cambiar y modificar en base a tu responsabilidad.

6.2.10.2.4. Fomenta el liderazgo en todos los niveles.

Siempre enfócate en mejorar cada cosa que hagas, si tienes una tarea en donde tienes la oportunidad de seguir mejorándolo simplemente hazlo, ya que no se trata de una competencia de finalizar las tareas más rápido sino de un orden completo para obtener un producto final de calidad.

Referencias

Documento similar