Layer-api-coa-task-service
Este servicio funge como intermediario entre plataforma crowd y coa especificamente con la tabla registros de la db siam.
Es utilizado para la búsqueda de nuevas tareas que deban ser procesadas dentro de crowd así como su actualización con su respectiva resolución.
Este servicio es invocado actualente por los dags coa task_sensor el cual se encarga de consumir este servicio para obtener las tareas de la tabla registro de la db siam con status like 'NUEVOCROWD%' and status != 'NUEVOCROWD_ENVIADO'
y coa task result_sender el cual se encargara de consumir este servicio con la finalidad de actualizar el resultado de gestión de la tarea dentro de crowd en los campos.
Dependencias
Base de Datos
El funcionamiento de ese servicio depende totalmente de la existencia de la base de datos SIAM pertenecientea COA y de la tabla registros dentro del schema dbo de dicha base de datos.
Endpoints
La parte fundamental del servicio es el proceso del cálculo de porcentaje de clonación tomando como base el score del worker para una tarea, el tope superior de score junto con su porcentaje correspondiente de clonación y el tope inferior de score junto con su porcentaje correspondiente de clonación.
En el siguiente recuadro se encuentra la descripción de como es que se calcula el porcentaje así como un ejemplo de uso.
Descripción | Endpoint | Tipo Petición | Petición | Respuesta |
Este endpoint es utilizado para realizar la actualización de resultados de revisión de tareas.
Nota: Los parametros cliente, sistema, referencia_cliente y hora_entrada son los únicos campos obligatorios, las propiedades opcionales pueden ser todas las propiedades del json de salida de los endpoint de extracción. |
~/api/update_crowd | PUT | { "cliente": {cliente}, "sistema": {sistema}, "referencia_cliente": {referencia_cliente}, "hora_entrada": {hora_entrada}, .......................... } |
{ "result": {Boolean} } Ó "registro no encontrado" |
Este endpoint es utilizado para definir un nuevo status de registro dentro de siam. | ~/api/update_crowd_status | PUT | { "cliente": {cliente}, "sistema": {sistema}, "referencia_cliente": {referencia_cliente}, "hora_entrada": {hora_entrada}, "status": {nuevo_status} } |
{ "result": {Boolean} } |
Este endpoint se encarga de realizar la extracción de todas las tareas de siam que serán procesadas por crowd. | ~/api/get_newcrowds | GET | Nota: Este endpoint no tiene parametros de entrada pero internamente realiza la consulta dentro de la tabla registro donde status like 'NUEVOCROWD%' Y status != 'NUEVOCROWD_ENVIADO' | { "cliente": {cliente}, "sistema": {sistema}, "referencia_cliente": {referencia_cliente}, "persona": {persona}, "usuario": {usuario}, "usuario_red": {usuario_red}, "hora_entrada": {hora_entrada}, "hora_salida": {hora_salida}, "fecha_ultima_modificacion": {fecha_ultima_modificacion}, "hora_ultima_modificacion": {hora_ultima_modificacion}, "hora_inicio": {hora_inicio}, "hora_fin": {hora_fin}, "hora_resolucion": {hora_resolucion}, "hora_cancelacion": {hora_cancelacion}, "status": {status}, "comentario": {comentario}, "codigo_resolucion": {codigo_resolucion}, "codigo1": {codigo1}, "codigo2": {codigo2}, "codigo3": {codigo3}, "xml1": {xml1}, "xml2": {xml2}, "xml3": {xml3}, "xml4": {xml4}, "xml5": {xml5}, "xml6": {xml6}, "xml7": {xml7}, "xml_salida": {xml_salida}, "callcenter": {callcenter}, "prioridad": {prioridad}, "replicado": {replicado}, "sucursal": {sucursal}, "tipo": {tipo}, "vuelta": {vuelta}, "fecha_hora_pospuesta": {fecha_hora_pospuesta}, "atomo": {atomo}, "comentario_interno": {comentario_interno}, "calificacion": {calificacion}, "calificacion": {calificacion} } |
Este endpoint se encarga de realizar la consulta de un registro especifico de siam en base a los valores de los parametros registrados. |
~/api/get_crowd_byid | GET |
Nota: Los parametros de entrada son datos correspondientes a un registro especifico de la tabla registros de siam.~?cliente={cliente}&sistema={sistema}&referencia_cliente={referencia_cliente}&hora_entrada={hora_entrada} |