Skip to content

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 by Karen Palacio