Motor tareas

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

El motor de tareas de la plataforma se basa de un json el cuál contiene la configuración del comportamiento de la tarea. La función principal de esta configuración es definir cómo se va publicar la tarea y cómo será su salida, contando con la posibilidad de generar tareas secuenciales o incluso una tarea completamente nueva.


{
   "sla_secs": 30,
   "stage_list": "stage=1",
   "result_conf": [
     {
       "result_word": "VERIFIRMAPRESENCIAL",
       "result_action": "task",
       "result_evaluation": "data_result.codigoResolucion=='APROBADA' || data_result.codigoResolucion=='APPROVED'",
       "result_action_data": "merge(task_request_data, {task_type: 'CHECKER', maker_result: data_result, task_request_uuid:task_request_uuid })"
     },
     {
       "result_action": "answer",
       "result_evaluation": "`true`",
       "result_action_data": "{topic: 'resultado-verificaciones-topic',message: {idSolicitud: task_request_data.data.id, roadmap: [{ result: 'REJECTED', status: 'COMPLETED', taskId: task_request_data.task_identifier,passes: sum([to_number(task_request_data.passes || '0'), to_number('1')]), taskType: task_request_data.taskType, entityDescription: task_request_data.entityDescription,isDigital:task_request_data.isDigital,statusDescription: data_result.codigoRespuesta, payload: merge(data_result,{idVendedor:data_result.idEjecutivo})}]}}",
       "service_call_postaction": "https://us-central1-pruebas-fisa.cloudfunctions.net/dbCampaniasCreate/notification",
       "service_data_postaction": "{idVendedor:data_received.data.data.roadmap[?taskId=='VERIFIRMAPRESENCIAL'].payload.idVendedor, idCliente:data_received.data.data.person.personId,folioSolicitud:data_received.data.data.id,nombreCliente:[data_received.data.resumen.nombre || , data_received.data.resumen.apellidos || ].join(' ',@), tipo: 'verifica_res', seccion:'VERIFICA' title:[data_received.data.task_identifier, data_result.codigoResolucion].join(' ',@), body:['Se ha terminado el proceso de', data_received.data.task_identifier, 'de', data_received.data.resumen.nombre || , data_received.data.resumen.apellidos || , '-',data_received.data.resumen.empresa, to_string(data_received.data.resumen.branch)].join(' ',@)}",
       "service_codes_postaction": [
         200,
         202
       ],
       "service_method_postaction": "POST"
     }
   ],
   "task_config": [
     {
       "clonable": false,
       "stage_list": "stage=1",
       "task_action": "task",
       "publisher_type": "findepmovil",
       "task_evaluation": "to_number(passes || '0') > `0`",
       "task_identifier": "VERIFIRMAPRESENCIAL",
       "microtask_identifier": "VERIFIRMA_PRESENCIAL_FINDEPMOVIL",
       "task_identifier_data": "@",
       "service_call_preaction": "https://layer-api-inbound-http-service.autonomation.calidad-architect.com/v1/api/multitask/SEGUIMIENTO_SUCURSAL",
       "service_data_preaction": "{idSolicitud:data.id}",
       "service_call_postaction": "https://us-central1-pruebas-fisa.cloudfunctions.net/dbCampaniasCreate/notification",
       "service_codes_preaction": [
         200,
         202
       ],
       "service_data_postaction": "{idVendedor:data.roadmap[?taskId=='VERIFIRMAPRESENCIAL'].payload.idVendedor|[0],idCliente:data.person.personId,folioSolicitud:data.id,nombreCliente:[resumen.nombre, resumen.apellidos ].join(' ',@),tipo:'verifica_res',title:[task_identifier, 'CON', data.roadmap[?taskId=='VERIFIRMAPRESENCIAL'].payload.codigoResolucion|[0]].join(' ',@),body:'TIENE UNA NUEVA TAREA DE VERIFIRMA PRESENCIAL, FAVOR DE ACTUALIZAR LISTADO',seccion:'VERIFICA'}",
       "service_codes_postaction": [
         200,
         202,
         404
       ],
       "service_method_preaction": "POST",
       "service_method_postaction": "POST"
     },
     {
       "clonable": false,
       "stage_list": "stage=1",
       "task_action": "task",
       "publisher_type": "findepmovil",
       "task_evaluation": "`true`",
       "task_identifier": "VERIFIRMAPRESENCIAL",
       "microtask_identifier": "VERIFIRMA_PRESENCIAL_FINDEPMOVIL",
       "task_identifier_data": "@",
       "service_call_preaction": "https://layer-api-inbound-http-service.autonomation.calidad-architect.com/v1/api/multitask/SEGUIMIENTO_SUCURSAL",
       "service_data_preaction": "{idSolicitud:data.id}",
       "service_codes_preaction": [
         200,
         202
       ],
       "service_method_preaction": "POST"
     }
   ]
 }

Configuración

default

sla_secs: Número de segundos que debe considerarse a la hora de asignar una tarea (actualmente no se está contemplando).


stage_id: Es para identificar el segmento de la tarea.


stage_list: Es el número de cuestionario a aplicarse.


task_identifier: tipo de tarea con la que se va a publicar, debe coincidir con el nombre del podlet que tiene en el path.


role: Es el tipo de role de la tarea.


microtask_identifier: Nombre de la tarea en base a nombre del negocio.


task_identifier_data: es el json que se envia a publicar, contiene (service preaction, data request y data received)


clonable: Indica si la tarea debe pasar por el modelo de calidad (opcional, valor default false)


qa_indentifer: Se utiliza para agrupar tareas del mismo tipo de clonación. ***********

task config

role: Es el tipo de role de la tarea.


stage_list: Es el número de cuestionario a aplicarse.


task_evaluation: Es la expresión de jmespath que se aplica sobre el json de entrada para definir si se tomará la configuración en cuestión para publicar n cantidad de tareas. ************


task_action: Si se incluye como split-microtask, generará tantas tareas como el task_evaluation lo defina. (opcional) **************


task_iterator: Para el caso de split-microtask se coloca la expresión de jmespath que limite la cantidad de tareas a generar.


publisher_type: Tipo de publicación en plataforma crowd_web, findep o hawking (opcional, por default toma crowd_web)


task_identifier: tipo de tarea con la que se va a publicar, debe coincidir con el nombre del podlet que tiene en el path.


options_segment_data: pendiente¿? ********


task_identifier_data: es el json que se envia a publicar, contiene (service preaction, data request y data received)


service_call_preaction: Url del servicio a llamar antes de publicar la tarea. (opcional)


service_data_preaction: Json que se manda como body hacia la llamada de service_call_preaction antes de publicar la tarea. (opcional)


service_codes_preaction: Arreglo de códigos http permitidos para aceptar la respuesta de la llamada a service_call_preaction.(opcional)


service_method_preaction: Método http para realizar la llamada a service_call_preaction.(opcional)


service_call_postaction: Url del servicio a llamar después de publicar la tarea.(opcional)


service_data_postaction: Json que se manda como body hacia la llamada de service_call_postaction después de publicar la tarea.(opcional)


service_codes_postaction: Arreglo de códigos http permitidos para aceptar la respuesta de la llamada a service_call_postaction.(opcional)


service_method_postaction: Método http para realizar la llamada a service_call_preaction. (opcional)


clonable: Indica si la tarea debe pasar por el modelo de calidad (opcional, valor default false)


sla_secs: Número de segundos que debe considerarse a la hora de asignar una tarea (actualmente no se está contemplando).


stage_id: Es para identificar el segmento de la tarea.


qa_indentifer: Se utiliza para agrupar tareas del mismo tipo de clonación. ***********


microtask_identifier: Nombre de la tarea en base a nombre del negocio.


task_str_replace: Cadena que se puede reemplazar en task_identifier_data. Se ocupa sobre todo cuando hay split_microtask para incluir el índice de un array.

result_conf

result_word: opcional, obligatorio cuando result_action es task es la palabra para tomar el tipo de tarea (podlet)


result_action: answer manda respuesta, task publica la tarea con los datos de la configuración y reactivate republica la tarea.


result_evaluation: Expresión de jmespath que se aplica sobre el json de data_received, data_result y task_request_data para determinar qué tarea evaluar. Toma en cuenta orden de procedencia de las configuraciones.


result_action_data: Expresión de jmespath para formar el resultado del segmento.


complete_result_data: Expresión de jmespath para formar el json final en caso de tener múltiples tareas.


result_criteria: Si se incluye como all, todas las tareas deberán cumplir con result_evaluation para que se aplique la configuración.


service_call_preaction: Url del servicio a llamar antes de publicar la tarea. (opcional)


service_data_preaction: Json que se manda como body hacia la llamada de service_call_preaction antes de publicar la tarea. (opcional)


service_codes_preaction: Arreglo de códigos http permitidos para aceptar la respuesta de la llamada a service_call_preaction.(opcional)


service_method_preaction: Método http para realizar la llamada a service_call_preaction.(opcional)


service_call_postaction: Url del servicio a llamar después de publicar la tarea.(opcional)


service_data_postaction: Json que se manda como body hacia la llamada de service_call_postaction después de publicar la tarea.(opcional)


service_codes_postaction: Arreglo de códigos http permitidos para aceptar la respuesta de la llamada a service_call_postaction.(opcional)


service_method_postaction: Método http para realizar la llamada a service_call_preaction. (opcional)