Layer-api-coa-task-service

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

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}