get
https://app.fracttal.com/api/wo_execution_times/
Consultar la información detallada de una lista de activos o de un activo en específico. Mediante ésta API se puede consultar el detalle de los tiempos utilizados para la ejecución de una tarea dentro de una orden de trabajo.
GET https://app.fracttal.com/api/wo_execution_timesParámetros de entrada
Se puede filtrar la información mediante el siguiente query_params. Todos son opcionales.
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
id_work_order_task | entero | Opcional | Id de la tarea en la orden de trabajo. Se puede consultar aquí. (campo id_work_orders_tasks) |
id_work_order | entero | Opcional | Id de la orden de trabajo. Se puede consultar aquí. (campo id_work_order) |
since | texto | Opcional | Nuevo. Fecha inicial del rango de filtro. Formato ISO 8601, ejemplo: 2023-08-01T20:00:00-03. Si se envía junto con until pero sin type_date, filtra por initial_date o final_date dentro del rango. |
until | texto | Opcional | Nuevo. Fecha final del rango de filtro. Formato ISO 8601, ejemplo: 2023-08-01T20:00:00-03. Solo tiene efecto junto con since. |
type_date | texto | Opcional | Nuevo. Campo de fecha sobre el cual aplica el filtro since/until. Valores permitidos: creation_date, date_maintenance, cal_date_maintenance, initial_date, final_date, review_date, wo_final_date. Alias aceptado: property_date. Un valor no listado responde 400. |
start | entero | Opcional | Número de registro donde iniciará la consulta. Por defecto 0. Todas las consultas están limitadas a 100 registros; usar este parámetro para paginar. |
limit | entero | Opcional | Cantidad de registros que mostrará la petición. Por defecto 100. |
Parámetros de salida
Nota: Todas las fechas que retornan los servicios web de Fracttal están en UTC-0.
| Parámetro | Tipo | Descripción |
|---|---|---|
id_work_order_task | entero | Id de la tarea dentro de la OT |
initial_date | texto | Fecha de inicio de la ejecución de la tarea |
final_date | texto | Fecha de finalización de la ejecución de la tarea |
id_wo_tasks_execution_types | entero | Id del tipo de ejecución asignado al registro. Retorna null si no se asignó tipo. |
wo_tasks_execution_types_description | texto | Descripción del tipo de ejecución. Retorna null si no se asignó tipo, si la empresa no tiene activada la categorización de tiempos, o si el tipo fue eliminado del catálogo. |
note | texto | Nota del registro de ejecución. Retorna null si no se ingresó nota. |
name | texto | Nombre de la persona que registró el tiempo |
id_account | entero | Id de la cuenta que registró la ejecución de la tarea |
id_personnel | entero | Id del recurso humano (en caso que la cuenta esté vinculada a un recurso humano) |
personnel_code | texto | Código del recurso humano (en caso que la cuenta esté vinculada a un recurso humano) |
third_party_id | entero | Id del tercero (en caso que la cuenta esté vinculada a un tercero) |
third_party_code | texto | Código del tercero (en caso que la cuenta esté vinculada a un tercero) |
third_party_contact_name | texto | Nombre del contacto del tercero (en caso que la cuenta esté vinculada a un tercero) |
execution_events | arreglo | Arreglo de eventos del bloque de ejecución, ordenado por id descendente (evento más reciente primero). Ver estructura a continuación. |
Estructura de cada evento enexecution_events
Parámetro Tipo Descripción identero ID del evento de ejecución action_typeentero Tipo de acción: 0= PAUSED,1= IN_PROGRESSaction_type_descriptiontexto Descripción textual: "PAUSED"o"IN_PROGRESS"id_wo_tasks_execution_typesentero ID del tipo de ejecución asignado al evento; null si no aplica. Se conserva aunque el tipo se elimine del catálogo. paused_reason_descriptiontexto Descripción del motivo de pausa; null si no aplica o si el tipo fue eliminado del catálogo (se resuelve en vivo, no es un snapshot). initial_datetexto Fecha y hora de inicio del evento (UTC-0) final_datetexto Fecha y hora de fin del evento (UTC-0) notetexto Nota del evento; null si no se ingresó duration_secondsentero Duración del evento en segundos
Errores
| Código | Causa |
|---|---|
400 | type_date (o su alias property_date) con un valor fuera de la lista permitida. |
400 | since, until, id_work_order_task o id_work_order con un valor que no cumple el formato esperado. |
404 | id_work_order no existe en la empresa del caller. |
Ejemplo
Response 200
200{
"success": true,
"message": "200",
"data": [
{
"id": 8271217,
"id_company": 1190,
"id_work_order_task": 13951616,
"initial_date": "2023-03-27T16:43:14.296123+00:00",
"final_date": "2023-03-27T16:48:32.809057+00:00",
"id_wo_tasks_execution_types": 3,
"wo_tasks_execution_types_description": "Búsqueda de material",
"note": "Nota del registro",
"id_account": 3,
"name": "JUAN PÉREZ",
"id_personnel": 1539,
"personnel_code": "RH-001",
"third_party_id": null,
"third_party_code": null,
"third_party_contact_name": null,
"execution_events": [
{
"id": 100203,
"action_type": 1,
"action_type_description": "IN_PROGRESS",
"id_wo_tasks_execution_types": null,
"paused_reason_description": null,
"initial_date": "2023-03-27T16:46:30.000000+00:00",
"final_date": "2023-03-27T16:48:32.809057+00:00",
"note": null,
"duration_seconds": 122
},
{
"id": 100197,
"action_type": 0,
"action_type_description": "PAUSED",
"id_wo_tasks_execution_types": 3,
"paused_reason_description": "Búsqueda de material",
"initial_date": "2023-03-27T16:45:00.000000+00:00",
"final_date": "2023-03-27T16:46:30.000000+00:00",
"note": "Falta insumos",
"duration_seconds": 90
}
]
}
],
"total": 1
}Response — filtrando por rango de fechas (200)
200)Request: GET /api/wo_execution_times/?id_work_order=34973667&since=2023-01-01T00:00:00-03&until=2023-03-31T23:59:59-03&type_date=initial_date
{
"success": true,
"message": "200",
"data": [
{
"id": 8271217,
"id_work_order_task": 13951616,
"initial_date": "2023-03-27T16:43:14.296123+00:00",
"final_date": "2023-03-27T16:48:32.809057+00:00",
"execution_events": []
}
],
"total": 1
}Response — error, type_date inválido (400)
type_date inválido (400)Request: GET /api/wo_execution_times/?type_date=fecha_invalida
{
"success": false,
"message": "400",
"data": [
{
"ERROR": "Validation failed. Invalid fields",
"invalid_fields": [
{ "field": "type_date", "field_message": "type_date value is not correct", "field_validation": "CUSTOM" }
]
}
],
"total": 0
}Response — error, id_work_order inexistente (404)
id_work_order inexistente (404)Request: GET /api/wo_execution_times/?id_work_order=999999999
{
"success": false,
"message": "404",
"data": [
{ "ERROR": "Work order id 999999999 was not found in your company" }
],
"total": 0
}