Saltar a contenido

Arquitectura

Componentes

Outbound Manager

Componente interno asociado al Core de Lynn que se encarga de la administración, monitoreo y ejecución de Campañas. Una Campaña es la representación lógica de una estrategia de comunicación proactiva hacia un grupo de Contactos. Es requerido el permiso de Administrador o Editor (con permisos especiales asignados sobre una campaña) para gestionar este componente.

El Outbond Manager realiza las siguientes funciones:

  1. Administración de contactos.

  2. Establecer la relación entre un contacto y un canal.

  3. Establecer la relación entre un contacto y una campaña

  4. Iniciar, detener y monitorear campañas.

  5. Establece la comunicación con el Channel Gateway para hacer efectivo el contacto con el cliente.

  6. Monitoreo y ejecución de registros de campaña.

  7. Actualizar el estado de los registros de campaña.

  8. Outbound Importer

    Componente interno asociado al Core de Lynn que se encarga de la carga e importación de Contactos y la generación de Registros de Campañas.

    El Outbond Importer realiza las siguientes funciones:

  9. Importar contactos de tipo WhatsApp.

  10. Generar registros de campaña a partir de los contactos existentes.

  11. Generar registros de campaña para el canal WhatsApp, a partir de una importación personaliza utilizando un archivo .csv

Outbound Sender

Componente interno asociado al Gateway de Mensajería que se encarga de enviar los mensajes que recibe desde el Outbond Manager, haciendo uso de la interfaz de conexión con los diferentes canales integrados. Esta comunicación se hace afectiva, gracias a la información del contacto asociado al registro de campaña.

El Outbond Sender realiza las siguientes funciones:

  1. Recopilar desde el canal de comunicación la información necesaria para la creación de un contacto.

  2. Procesar los mensajes procedentes del OutBound Manager y entregarlos al cliente según el canal de comunicación.

  3. Notificar al OutBound Manager el resultado del envío de los mensajes a través de los diferentes canales

Vistas

Campaign View

Es la vista principal que permite a administración del módulo Lynn Proactive. Es requerido el permiso de Administrador o el de Editor (con permisos sobre, al menos, una campaña), para acceder a esta vista.

Nota. Los editores, solo tendrán visibilidad sobre las campañas a las que tengan permiso de administración.

La vista está compuesta por:

  • Acceso a la Vista de Contactos.

  • Acceso al formulario de creación de Campañas.

  • Listado de campañas

    • Acciones por campaña:

      • Ejecutar la campaña. Solo disponible para campañas cuya fecha de vigencia sea mayor a la actual y el modo de ejecución sea Manual.

      • Acceso a la vista de Registros de Campañas.

      • Exportar plantilla de contactos. Permite seleccionar los contactos disponibles según su canal y definir el mensaje que será enviado de forma proactiva. El resultado de este proceso es un archivo en formato .cpg con la información necesaria para generar registros de campaña. (Ver Plantilla_de_Contactos.cpg)

      • Crear registros de campaña a partir la importación del archivo .cpg (Ver Plantilla_de_Contactos.cpg)

      • Importación masiva de contactos WhatsApp y creación automática de registros de campaña. Esta importación requiere de un arco .csv (Ver WhatsApp_Import.csv) con la información de los contactos y un json (Ver Configuración_plantilla_HSM.json) de configuración para mapear la estructura del csv.

      • Agregar permisos a los Editores del Tenant para administrar la campaña. Solo es visible para administradores del Tenant.

      • Eliminar la campaña. Solo es visible para administradores del Tenant

Contact View

Esta vista permite administrar los contactos del Tenant.

La vista está compuesta por:

  • Acceso para importar contactos WhatsApp a partir de un archivo .cpg (Ver Contactos_WhatsApp.cpg)

  • Agregar un contacto. Esta funcionalidad solo permite agregar contactos de tipo WhatsApp o Voz.

  • Lista de contactos:

    • Acciones por contacto

      • Editar:

        • Contactos No WhatsApp: Solo permite actualizar el nombre del contacto.

        • Contactos WhatsApp/Voz: Permite actualizar el nombre y el número telefónico del contacto.

      • Eliminar: Permite eliminar un contacto.

Campaign Record View

Esta vista permite administrar los registros de la campaña.

La vista está compuesta por:

  • Agregar un registro de campaña

  • Lista de registros:

    • Acciones por registro

      • Logs: Muestra le resultado de la ejecución del registro. Se registra el ID que se obtiene desde el canal a través del cual se envió el mensaje y en cado de ocurrir un error en el proceso, se registra el detalle. En caso de reutilizar el registro, se genera un nuevo log.

      • Editar: Permite editar la información asociada al registro. La referencia al contacto solo se puede cambiar si el registro no ha sido procesado.

      • Eliminar: Permite eliminar un registro.

Acciones disponibles en el diagrama

En el diagrama del Tenant existen un conjunto de acciones que se encuentran bajo la categoría OutBound, permitiendo interactuar con el módulo Lynn Proactive desde el flujo de autoatención.

Las acciones disponibles son:

  • Campaign Contact Manager: Crea un contacto a partir del canal por el cual se inició la sesión. Si el contacto existe, lo actualiza. Retorna el ID del Contacto, este parámetro es obligatorio para generar un registro de campaña desde el flujo.

    • Parámetros de configuración:

      • CONTACT_NAME_EXPRESSION: String Expression para obtener el nombre del contacto.

      • UPDATE_CONTACT_NAME: Boolean para indicar si se actualiza el nombre del contacto en cada ocasión que el cliente pase por esta acción. Por defecto está en NO

      • CONTACT_IDENTIFIER_ENTITY: Entidad donde se almacena el ID del contacto creado/actualizado

  • Campaign WhatsApp/Voice Contact Manager: Crea un contacto exclusivo para los canales WhatsApp y Voz. Tiene la misma funcionalidad y comportamiento que la acción Campaign Contact Manager.

    • Parámetros de configuración:

      • CONTACT_NAME_EXPRESSION: String Expression para obtener el nombre del contacto.

      • CONTACT_NUMBER_EXPRESSION: String Expression para obtener el número del contacto.

      • UPDATE_CONTACT_NAME: Boolean para indicar si se actualiza el nombre del contacto siempre que el cliente pase por esta acción. Por defecto, este parámetro, está definido en NO.

      • CONTACT_IDENTIFIER_ENTITY: String Entity donde se devuelve el ID del contacto creado/actualizado.

  • Administration of the Campaign Records: Crea un registro de campaña.

    • Parámetros de configuración:

      • CAMPAIGN_ID: Referencia al ID de la campaña. Cada acción puede crear registros asociados a una única campaña.

      • CONTACT_IDENTIFIER_ENTITY: Entidad resultante de la acción Campaign Contact Manager, la cual contiene el identificador del contacto

      • SCHEDULE_CONTACT_ENTITY: String Expression para definir una fecha y hora para ejecutar el registro de campaña. Este campo solo tendrá efecto si la campaña se encuentra en modo AlwaysOn o dentro del periodo activo de una campaña en modo Scheduled. Formato de fecha esperado: dd/MM/yyyy HH:mm:ss

      • IS_INTERNAL: Boolean Expression para determinar si el registro de campaña será procesado como interno o externo.

      • ALLOW_DND_CONTACT: Boolean que indica si se creará el registro de campaña a pesar de que el contacto se encuentre en Lista Negra. Por defecto, este parámetro, está definido en NO.

      • MULTIPLE_ACTIVE_RECORDS: Boolean que indica si se creará un nuevo registro cada vez que el usuario pase por esta acción y exista un registro anterior en estado Listo (SI), o se actualizará el registro existente (NO). Por defecto está definido en NO

      • RECORD_ID_ENTITY: String Entity donde se devuelve el ID del registro de campaña creado/actualizado.

      • OPERATION_ENTITY: String Entity donde se devuelve la acción realizada sobre el registro de campaña: NEW, UPDATE o ERROR

      • Configuración de mensaje por canal

        • Canales No WhatsApp

          • OUTBOUND_MESSAGE_EXPRESSION_NOMBRE_CANAL: String Expression para definir el mensaje que deberá ser entregado al cliente.

          • NOMBRE_CANAL_ADDITIONAL_DATA: Entity List que serán asociadas al registro de campaña. Estas entidades estarán disponibles cuando el cliente reaccione al contacto proactivo, o en la ejecución de un registro interno.

        • Canal WhatsApp: estos datos son sacados desde la plataforma del proveedor de WhatsApp. Su estructura varía dependiendo del proveedor.

          • TEMPLATE: identificador o nombre de la plantilla configurada y aprobada en WhatsApp.

          • NAMESPACE: nombre del espacio de trabajo al cual está asociada la plantilla

          • LOCALE: idioma de la plantilla

          • WHATSAPP_NUMBER: número de del servicio al cual está asociada la plantilla. Representa al proveedor según la configuración del canal

          • HSM_TYPE: tipo de plantilla a utilizar: Mensaje de texto (MTM) o mensaje multimedia (MMT)

          • HSM_MTM_DATA: String List para definir los parámetros que utilizará la plantilla MTM y su posición en el mensaje. Cada elemento es evaluado como una expresión.

          • HSM_MMT_HEADER_DATA: String List para definir los parámetros que utilizará la plantilla MMT en la cabecera del mensaje. Cada elemento es evaluado como una expresión.

          • HSM_MMT_BODY_DATA: String List para definir los parámetros que utilizará la plantilla MMT en el cuerpo del mensaje. Cada elemento es evaluado como una expresión.

          • WHATSAPP_ADDITIONAL_DATA: Entity List que serán asociadas al registro de campaña. Estas entidades estarán disponibles cuando el cliente reaccione al contacto proactivo, o en la ejecución de un registro interno.

        • Canal Voz

          • VOICE_ADDITIONAL_DATA: Entity List que serán asociadas al registro de campaña. Estas entidades estarán disponibles cuando el cliente reaccione al contacto proactivo, o en la ejecución de un registro interno.
  • Campaign DND Manager: Agregar o eliminar un contacto de la lista negra para una campaña

    • Parámetros de configuración:

      • CAMPAIGN_ID: Referencia a la campaña

      • CONTACT_IDENTIFIER_ENTITY: entidad para obtener el identificador del contacto

      • DND_CONTACT_EXPRESSION: Boolean Expresion para definir si el contacto estará (true) o no (false) en lista negra.

  • Campaign DND Manager By Category: Agregar o eliminar un contacto de la lista negra para un grupo de campañas que pertenece a la misma categoría

    • Parámetros de configuración:

      • CAMPAIGN_CATEGORY: referencia a la categoría

      • CONTACT_IDENTIFIER_ENTITY: entidad para obtener el identificador del contacto

      • DND_CONTACT_EXPRESSION: Boolean Expression para definir si el contacto estará (true) o no (false) en lista negra.

  • Campaign DND Validator: Valida si un contacto se encuentra en lista negra para una campaña determinada.

    • Parámetros de configuración:

      • CONTACT_IDENTIFIER_ENTITY: entidad para obtener el identificador del contacto

      • CAMPAIGN_ID: Referencia a la campaña.

      • DND_VALIDATION_RESULT: Boolean Entity que devuelve si el contacto está (true) o no (false) en lista negra.

  • Campaign DND Validator By Category: Valida si un contacto se encuentra en lista negra para una categoría determinada.

    • Parámetros de configuración:

      • CONTACT_IDENTIFIER_ENTITY: entidad para obtener el identificador del contacto

      • CAMPAIGN_CATEGORY: Referencia a la categoría.

      • DND_VALIDATION_RESULT: Boolean Entity que devuelve si el contacto está (true) o no (false) en lista negra.

  • List Campaign Records By Contact: Devuelve un listado de registros en estado Listo, dada una campaña y un contacto

    • Parámetros de configuración:

      • CONTACT_IDENTIFIER_ENTITY: entidad para obtener el identificador del contacto

      • CAMPAIGN_ID: Referencia a la campaña.

      • RECORDS_RESULT: String Entity que contiene el listado de registro en formato Json Array

        records:[{"CampaignCategory":"Test","CampaignId":"a47be8af-d40d-452c-9a3e-bcf668fcd1dc","RecordId":"c02c916c-0d41-4ed4-933b-4c029d7296d9","ScheduledStartDate":"","CampaignType":"1","CampaignName":"DemoOutboundTest"}]

  • Cancel Campaign Records By Contact: Elimina un registro de campaña que se encuentre en estado Listo

    • Parámetros de configuración:

      • CONTACT_IDENTIFIER_ENTITY: entidad para obtener el identificador del contacto

      • CAMPAIGN_RECORD_ID: String Expression para definir el ID del registro de campaña a eliminar

      • CANCEL_RESULT: Boolean Entity que devuelve si el registro fue eliminad (true) o no (false).