Layer-api-inbound-reservation-service

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

Este servicio se encarga de generar las reservaciones para las videollamadas e ingresar la tarea a plataforma. Haciendo uso del API de twilio, se generan salas (room) donde los participantes pueden llevar a cabo una videollamada. Estas salas están configuradas para permitir un máximo de dos personas, ejecutivo y cliente. Para este proceso, este servicio expone una serie de endpoints para la interacción con las salas así como para consultar información de las mismas.

Endpoints

Los endpoints expuestos por este servicio se encuentran divididos en dos controladores. El primer controlador es el de reservaciones, su función es recibir las solicitudes para ingresar una nueva tarea así como procesarlas para que se establezca la la conexión entre los clientes y los ejecutivos. Además contiene la integración con las funciones de Twilio, expone los servicios necesarios para que los participantes puedan entrar a la sala de videollamada. El segundo controlador es el encargado de generar las contraseñas de un solo uso necesarias para el procesado de verificación de identidad enviando sms y correo electrónico al cliente dicho elemento.

Reservation controller

Endpoint Método Petición Response Descripción
~/api/videocallReservationByIdSolicitud POST {

"idSolicitud": "XXXXXXXXXXXX" }

{
   "result": "success",
   "details": "Puede acceder a su videollamada",
   "url": "https://podlet-web-cvideocall.web.calidad-architect.com/permissions?rsrvtn=XXXXXXX-1fac-4a52-86d9-7ff233fb3de4&c=FISA",
   "reservationId": "XXXXXXX-1fac-4a52-86d9-7ff233fb3de4"

}

Este endpoint se encarga de solicitar la información a máquina de estados con el id que recibió de de la petición. Al obtener la información del mensaje se procede a aplicarle la configuración de verificación de identidad configurada en la tabla de task_schema, elemento con condición de videollamada. Al aplicar la configuración y armar tanto la tarea como la reservación se invoca un endpoint del servicio de task-publisher que se encarga de ingestar los datos en la plataforma y hacer la publicación de la videollamada
~/api/taskReservation POST {"type": "nombre_tópico"}
response
Se encarga de ingresar nuevas reservaciones recibiendo el data con el que se va a procesar la tarea, a diferencia del endpoint anterior, este valida los datos de entrada por medio de json schema
~/video-call-room/{sid} GET {"type": "nombre_tópico"}
response
Endpoint que expone uno de los servicios de twilio para obtener la información del room solicitado
~/video-call-room/{sid}/participants GET {"type": "nombre_tópico"}
hola2
Endpoint que solicita la información de los participantes de un room específico, en este caso cliente y ejecutivo
~/video-call-room/{sid} POST {"type": "nombre_tópico"}
hola2
Endpoint para solicitar a twilio la creación de un nuevo room, la configuración que recibe define el compartamiento del room
~/video-call-room/{sid}/participant/{participant} PUT {"type": "nombre_tópico"}
hola2
Endpoint para agregar a un participante a una sala en específica, se invoca para establecer la conexión entre el cliente y el ejecutivo desde los respectivos componentes web

Otp controller

Endpoint Método Petición Response Descripción
~/api/generaOtp POST {"type": "nombre_tópico"}
hola
Endpoint que genera una contraseña de un solo uso que posteriormente es enviada a través de un servicio de sms y de email al númer y correo que venga en la información de la tarea.


Dependencias

  • Twilio

Proveedor externo para la configuración y creación de rooms para los participantes de las verificaciones de identidad. Se integra en diferentes endpoints e invocaciones para la conexión a las salas para videollamadas.

  • Api-core

Consulta de la información de la reservación para validar estado de la videollamada así como verificar si ya existe un room creado para esta verificación.

  • Task-publisher

Se invoca un endpoint para solicitar la ingesta y la publicación de la tarea aplicando la configuración del motor de tareas.

  • Máquina de estados

Consulta de información sobre la solicitud para formar la reservación

  • Servicio de SMS

Se invoca el servicio de sms para poder hacerle llegar el otp al cliente, dependiendo de la información enviada a la petición el mensaje llega de FISA o AEF

  • Cuenta de google para envío de emails

Se usa una cuenta de google para el envío del otp por medio de email accediendo mediante un token de aplicación.

Elementos que lo consumen

  • Componente web: cvideocall. Consume servicios para generar OTP y establecer la conexión con las salas para la verificación de identidad de lado de cliente.
  • Componente web: videollamada. Consume servicios para establecer la conexión con las salas para la verificación de identidad del lado del ejecutivo.
  • Landing

Referencias

Repositorio: https://source.cloud.google.com/coa-autonomation-mx/layer-api-inbound-reservation-service

Despliegue: https://layer-api-inbound-reservation-service.autonomation.calidad-architect.com/v1/actuator/info

Swagger: Ver swagger