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í
-
src/components/Widget/index.js
es el que crea efectivamente el socket. hay que conectarlo con el store y pasar el socketUrl a createSocket
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)