mapacheverdugo / inka-mw

Middleware para software Inka que escucha y envía mensajes a distintas redes sociales

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Inka Middleware

Software encargado de conectar distintas redes sociales, como Instagram y Facebook con el fin de unificarlas en un mismo chat de servicio al cliente en el proyecto core de Inka.

1. Instalación

1.1. Requisitos

  • Node 12 o superior
  • npm
  • ffmpeg

1.2. Variables de entorno

El archivo de configuración se encuentra en la raíz del proyecto con el nombre de .env. Acá un ejemplo:

CORE_PORT=9090
LOG_LEVEL=info

PORT=3000
PRIVATE_KEY_PATH=/etc/ssl/demo.host.cl/privkey.pem
CERTIFICATE_PATH=/etc/ssl/demo.host.cl/cert.pem

FACEBOOK_VALUE=Facebook
FACEBOOK_PORT=9021

INSTAGRAM_VALUE=Instagram
INSTAGRAM_PORT=9022
INSTAGRAM_SEC_INTERVAL=30

PGUSER=aware
PGHOST=123.12.123.123
PGPASSWORD=r.2ae3e,6696be
PGDATABASE=aware
PGPORT=5432

Variable Descripción
CORE_PORT Puerto del socket TCP del Core.
PORT Puerto donde correrá la API HTTP que donde se conectaran los webhook de Facebook.
LOG_LEVEL Tipo de detalles de log. Por defecto info. Más información acá.
PRIVATE_KEY_PATH Ubicación de la llave privada del certificado SSL.
CERTIFICATE_PATH Ubicación del certificado SLL.
FACEBOOK_VALUE Valor en la tabla inka_app de las aplicaciones Facebook. Por defecto es Facebook.
FACEBOOK_PORT Puerto donde correrá el servido socket TCP para recibir mensajes de Facebook.
INSTAGRAM_VALUE Valor en la tabla inka_app de las aplicaciones Instagram. Por defecto es Instagram.
INSTAGRAM_PORT Puerto donde correrá el servido socket TCP para recibir mensajes de Instagram.
INSTAGRAM_SEC_INTERVAL Intervalo en segundos que define cada cuanto se procesarán las "solicitudes de mensajes" en Instagram.
PGUSER Usuario de la base de datos PostgreSQL.
PGHOST IP o host de la base de datos PostgreSQL.
PGPASSWORD Contraseña de la base de datos PostgreSQL.
PGDATABASE Nombre de la base de datos PostgreSQL.
PGPORT Puerto de la base de datos PostgreSQL.

1.3. Instrucciones

  1. Instalar librerías y dependencias
npm install
  1. Correr el servicio
npm start

2. Configuración

2.1. Instagram

Configuración de la base de datos

Columna Valor
app_name Instagram
app_data1 appKey. Nombre de usuario sin @ + -ig. Ej: usuario_empresa-ig
app_data2 Nombre de usuario sin @. Ej: usuario_empresa
app_data3 Contraseña de inicio de sesión. Ej: 3gja70#2df
app_data7 IP o host del Core. Ej: 123.15.12.143

2.2. Facebook

Es importante destacar que este software no es compatible con cuentas personales de Facebook, solo con Páginas de Facebook.

Crear página de Facebook

Lo primero es tener una página de Facebook, en caso de ya contar con una, se puede omitir esta sección.

  1. Se puede crear una nueva en el siguiente este enlace.
  2. Rellenar el formulario y darle a "Crear página".

image

Crear aplicación de Facebook

Además de una página, se necesita tener una aplicación de Facebook. En caso de que ya la tengas se puede omitir esta sección.

  1. Para crear una aplicación de Facebook hay que dirigirse a este enlace.

image

  1. Una vez cargue la página, se selecciona la opción de "configuración básica" que aparece en inferior.

image

  1. Escoger la opción "Administrar integraciones comerciales", ya que es la que tiene el aspecto "cuentas de Messenger". luego presionar el botón "Continuar". image

  2. El siguiente paso corresponde a completar el formulario con los datos que se piden, según corresponda, para posteriormente darle al botón "Crear app".

  3. Finalmente hay que completar la verificación que se pida, generalmente es recuadro de reCAPTCHA para validar que no eres un robot.

Configurar aplicación

  1. Una vez teniendo creada la página y la aplicación, hay que navegar a este enlace y seleccionar la aplicación que queremos usar.
  2. Esto nos llevara al dashboard de la aplicación, y al bajar un poco encontraremos la sección "Agrega productos a tu app".

image

  1. En esta sección buscaremos "Messenger" y le daremos al botón "Configurar".
  2. En la sección de configuración, encontraremos un apartado que dice "Tokens de acceso" y hay que pinchar el botón "Agregar o eliminar páginas".

image

  1. El botón abrirá una ventana emergente, que nos guiará en el proceso para vincular alguna de nuestras páginas con la aplicación, para eso se selecciona la página deseada y se le conceden los permisos a la aplicación.

image

  1. Ahora en la sección "Tokens de acceso" debería aparecer la página vinculada. El primer dato importante a extraer es el ID de la página, que está ubicado justo debajo del nombre. En el caso de la imagen, el nombre es "Página de Ejemplo" y el ID es 108388123456789.

image

  1. Luego de obtener el ID de la página, se debe obtener el token de acceso de la página, para eso se debe pinchar el botón "Generar token".
  2. Al abrirse el dialogo, se pueden ver los primeros caracteres del token seguidos de unos asteriscos que ocultan la información. Para ver el token completo y poder copiarlo, debemos marcar la casilla "Acepto".

image

Configuración de la base de datos

Columna Valor
app_name Facebook
app_data1 appKey. ID de la página + -fb. Ej: 108388123456789-fb
app_data2 ID de la página. Ej: 108388123456789
app_data3 Token de acceso de la página. Ej: 3gja70#2df
app_data4 Token de verificación. Ej: inkaapp
app_data5 Secreto de la app. Ej: 3g12866d3dbe6792ae02df2d0ja
app_data7 IP o host del Core. Ej: 123.15.12.143

About

Middleware para software Inka que escucha y envía mensajes a distintas redes sociales


Languages

Language:TypeScript 100.0%