Podlet-web-cvideocall

De Plataforma COA Crowd
Saltar a: navegación, buscar

Descripcion general de interprete podlet podlet-web-cvideocall

Dependencias

Dependencias de frameworks externos y servicios propios de la plataforma Crowd necesarios para el correcto funcionamiento del interprete web,

Twilio

Twilio es una compañía que ofrece una plataforma de comunicaciones así como de servicios en la nube proporcionando Api´s y SDK los cuales permiten desarrollar implementaciones y hacer uso de los servicios ofrecidos por la empresa.

Dentro del componente podlet-web-cvideocall es usado como intermediario para lograr entablar la videollamada entre cliente y agente interno.

layer-api-log-service

Este servicio es utilizado en el registro de logs del proceso de videollamada los cuales ayudan con el análisis del proceso, detección de errores y mejores.

Endpoint Tipo Petición Petición
~/api/add_videocall_log PUT {
 podlet: {interprete_origen}, 
    rsrvtn: {no_reservacion_cliente}, 
    task_uuid: {id_crowd},
    evento: {contenido_log},
 code_result: {codigo_de_evento}
}


layer-api-inbound-reservation-service

Este servicio es utilizado en la generación de códigos de acceso como lo son OTP o Tokens de conexión a videollamada, además de ser el encargado de ingresar la tarea de videollamada para su atención por un agente.
Endpoint Tipo Petición Petición Respuesta
~/api/generaOtp PUT
~?reservationId={no_reservacion_cliente}
{
 ...
 email: {email_oculto},
 phoneNumber: {telefono_oculto},
 ...
}
~/api/checkInReservation PUT
{
    reservation_id: {no_reservacion_cliente},
    otp: {otp_enviado_a_cliente},
    videoCall_lat: {gps_cliente_latitud},
    videoCall_lon: {gps_cliente_longitud}
}
{
 ...
 task_segment_id: {id_crowd},
 room_id: {twilio_room_vcall},
 empresa: {empresa_origen_proceso},
 redirectURL: {url_proceso_tubo}
 ...
}
~/video-call-room PUT ~/{twilio_room_vcall}/participant/{nombre_participante} {token_acceso_twilio_room}

layer-api-core-service

Este servicio es utilizado durante el proceso inicial de la videollamada, al termino de la configuración de permisos por parte del cliente y previo a la generación de OTP es usado para la identificación de id_crowd en base a la reservación con el fin de saber el status en que se encuentra la reservación ingresada.
Endpoint Tipo Petición Petición Respuesta
~/api/get_task_request_by_reservation GET ~?reservation_id={no_reservacion_cliente}
{

 ...
 uuid: {id_crowd},

   data:{...

       company: {empresa_origen_proceso},

       redirectURL: {url_proceso_tubo}

   ...}
 ...
}

~/api/get_task_reservation GET ~?reservation_id={no_reservacion_cliente}
{
 ...
 room_id: {twilio_room_vcall},
 fullname: {nombre_cliente},
 ...
}
 
 

layer-api-event-bus-service

Este servicio es utilizado para consultar el estado de la reservación del cliente dentro de redis (asignador de tareas), determinando si ya hay un agente esperandolo para iniciar la videollamada, de igual manera este servicio es informado cuando un cliente abandona el proceso previo a que la reservación del cliente sea asignada y así evitar que esta sea asignada y atendida por un agente.
Endpoint Tipo Petición Petición Respuesta
~/redis/deleteTaskFromQueue
PUT ~?taskId={idCrowd}&status=INTERRUMPIDA


~/redis/getTaskStatus
GET ~?taskId={task_segment_id} {
 ...
 status: {task_status_on_redis}
 taskId: {task_segment_id}
 ...
}

layer-api-multimedia-service

Este servicio es utilizado durante el proceso de videollamada en los puntos específicos donde se realiza toma de fotografías para validaciones biométricas y de documentos.
Endpoint Tipo Petición Petición Respuesta
/api/persistFile
POST {
      tags: ,
      type:
,
      task_segment_id: {segment_id}.substring({segment_id}.length-36),
      file: {image_byteArray},
      step: {image_step},
}


 

layer-web-videocall-sync

Este servicio es utilizado durante el proceso de videollamada para establecer una comunicación de mensajería entre agente y cliente por medio del uso de web-sockets.
 

Secuencia de Flujo y Generacion de Logs

Vista Fase Eventos, Acciones y/o Validaciones Si Cumple Evento, Acción y/o Validación Logs Generados
Configuración de Permisos
Ev: Detección de dispositivo Inicia proceso CVIDEOCALL: {devicetype...}
Ev: Inicia configuración ICNF
opera|safari}"}" | Ac: Si device dentro de la lista {APPLE OS, Huawei sin google apps, es movil y navegador distinto de chrome|opera|safari} Despedida Salida por dispositivo o Salida por navegador
Ac: Termina configuración OTP TCNF
OTP
Ac: Revisa si status de reservación es ASSIGNED O QUEUED
Bienvenida
Si es dispositivo movil entonces: arrayVideoDevices{...}
Tarea retomada
Ev: Genera OTP
Generando OTP
Otp Generado
Ev: Reenvio OTP (OPCIONAL) Reenvío de otp
Check-In
Cliente ingresa Otp Inicia CheckIn
Obtiene ubicacion Ubicacion Obtenida
Deteccion de medios Si es dispositivo movil entonces: arrayVideoDevices{...}
Check In
Bienvenida
CheckIn Reservation
CheckIn terminado, tarea en proceso de queue
QTL
Bienvenida
Inicia reproducción de video Video bienvenida
Valida Reproducciones mayor o igual a 6 Despedida Salida por reproducciones de video
Si Cliente acciona botón abandonar Confirmar abandono Boton: abandonar
Si WS recibe: agent_in_call & reproducciones mayor o igual a 1 Aut. de Grabación
Si video termina, reproducciones < 6 yno agent_in_call nuevo ciclo de video bienvenida
Boton problemas en video Boton: reproduce video
Click sobre componente de video Boton: video onclick
Tarea asignada tarea asignada
Tarea no encontrada Despedida tarea no encontrada
Aut. de Grabación
Vista desplegada Notifica grabación videollamada
Tiempo agotado para autorizar (30s) cancelada por no aceptar grabación
Acepta grabación Sección Videollamada acepta grabación videollamada