Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • template-chatbot-front template-chatbot-front
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 4
    • Issues 4
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Karen Palacio
  • template-chatbot-fronttemplate-chatbot-front
  • Issues
  • #8
Closed
Open
Created Aug 14, 2020 by Karen Palacio@k.palacioOwner1 of 3 tasks completed1/3 tasks

cambiar dinamicamente socketurl a partir de un mensaje del bot

User story

Como usuario quiero poder ser transferido, pasando de hablar con un bot a hablar con un humano, cuando pido hablar con un humano, sin que cambie la interfaz que veo/de forma transparente.

Detalles implementación

Mensaje + Redux

establecer protocolarmente back-front por ej,

msg_for_req:

Estás siendo transferido a un humano

Para poder parsear desde el front el mensaje e interpretarlo como un req_for_transfer

msgProcessor

export isReqForTransfer(){
message.text === msq_for_req
}

Widget/index

if isReqForTransfer(){
   dispatch.changeSocketUrl(URL_FOR_HUMAN)
}
action changeSocketUrl

behaviorReducer.js


dispatcher storeParams(state.update('sock':null).update('socketUrl',URL_FOR_HUMAN)
}

Socket stuff

  • src/index.js define qué es crear un socket. hay que parametrizar así

image

  • src/components/Widget/index.js es el que crea efectivamente el socket. hay que conectarlo con el store y pasar el socketUrl a createSocket

image

Notas

  • dejar de pasarlo desde dev/src/index.html.
  • Es una variable más de nuestro estado
  • Ojo, hay que settear el sock a null luego de cambiar la socketUrl para que se triggeree InitializeWidget() que llama a createSocket(). Tal vez haya un par más de detallitos de este estilo (Investigar)

Plan

  • Empezar con un mock de isTranferReq y hacer la conexión con Redux (Mensaje + Redux)
  • Modificar asistente_crm si es necesario
  • Parametrizar la lógica de la creación del socket (Socket stuff)
Edited Aug 21, 2020 by Karen Palacio
Assignee
Assign to
Time tracking