Reporte de Detalle de Tareas de Workflow
Detalle paginado de cada tarea de workflow en un rango de fechas — paso, asignado, estado, fechas de vencimiento/finalización y tiempos de SLA.
/apidev/v1/reports/workflow/tasksResumen
Devuelve una fila por cada tarea de workflow creada dentro del rango de fechas, ordenada y paginada del lado del servidor. Cada fila informa el workflow padre, el nombre del paso, el asignado, el estado de la tarea, las fechas de vencimiento y finalización, el código de resultado y la entidad vinculada. Cuando el seguimiento de SLA está configurado para la compañía, la respuesta también incluye el estado de SLA y los tiempos de respuesta/resolución; de lo contrario esos campos son null. Usá los filtros opcionales para acotar por definición de workflow, estado de la tarea, asignado, tipo de entidad o una búsqueda de texto libre sobre los nombres del workflow y del paso.
Solicitud
Encabezados de la solicitud
Every request to a protected endpoint requires these headers:
| Header | Required | Description |
|---|---|---|
Authorization | Yes | Bearer token obtained from the Login endpoint. Format: Bearer <token> |
X-API-Key | Yes | Company integration key provided during onboarding. Format: gtk_xxx... |
tenant | Yes | Your assigned tenant domain (default: geotareas.com) — always send your assigned tenant |
Content-Type | Conditional | application/json — required for POST and PUT requests |
Parámetros de consulta
| Parámetro | Tipo | Requerido | Por defecto | Descripción |
|---|---|---|---|---|
startdate | string | Sí | — | Fecha-hora de inicio en ISO 8601 (ej. 2026-03-01T00:00:00). Filtra por la fecha de creación de la tarea. |
enddate | string | Sí | — | Fecha-hora de fin en ISO 8601. Rango máximo de 92 días desde startdate. |
definition_ids | string | No | — | IDs de definición de workflow a incluir, separados por comas. Máximo 100. |
statuses | string | No | — | Estados de tarea separados por comas (ej. PENDING,IN_PROGRESS,COMPLETED). Máximo 20. |
assignee_id | string | No | — | Filtra por el ID del usuario asignado. |
entity_type | string | No | — | Filtra por el tipo de entidad vinculada. Uno de: TAREA, CUENTA, CLIENTE, PERSONAL, DISPOSITIVO, NINGUNA. |
search | string | No | — | Búsqueda de texto libre sobre el nombre del workflow y el nombre del paso. Largo máximo 120. |
sort_by | string | No | Fecha de creación | Columna por la cual ordenar. Una de: workflowName, stepName, assigneeName, status, dueDate, completedAt. Si se omite → ordena por fecha de creación de la tarea. |
sort_dir | string | No | desc | Dirección de ordenamiento: asc o desc. |
limit | integer | No | 25 | Cantidad de registros por página (1–100). |
offset | integer | No | 0 | Cantidad de registros a omitir para la paginación. |
sort_by se valida por reporteEste reporte acepta exactamente estos valores:
workflowName · stepName · assigneeName · status · dueDate · completedAt
También se aceptan cuatro alias heredados: wftaskcreatedat (fecha de creación de la tarea — el orden que se usa cuando se omite sort_by), wftaskestado (= status), wftaskplazo (= dueDate), wftaskcompleteddat (= completedAt).
Cualquier otro valor devuelve 400 VALIDATION_ERROR, y el mensaje enumera los valores aceptados. Hasta el 2026-08-16 un sort_by no reconocido se ignoraba en silencio y el reporte volvía en su orden por defecto, así que una columna mal escrita parecía haber funcionado.
Ejemplos de código
- cURL
- JavaScript
- Python
curl -s -H "Authorization: Bearer $TOKEN" \
-H "X-API-Key: $APIKEY" \
-H "tenant: $TENANT" \
"https://$TENANT/apidev/v1/reports/workflow/tasks?startdate=2026-03-01T00:00:00&enddate=2026-03-31T23:59:59&limit=25"
const res = await fetch(
`https://${TENANT}/apidev/v1/reports/workflow/tasks?startdate=2026-03-01T00:00:00&enddate=2026-03-31T23:59:59&limit=25`,
{
headers: {
'Authorization': `Bearer ${TOKEN}`,
'X-API-Key': APIKEY,
'tenant': TENANT,
},
}
);
const data = await res.json();
import requests
response = requests.get(
f"https://{TENANT}/apidev/v1/reports/workflow/tasks",
headers={"Authorization": f"Bearer {TOKEN}", "X-API-Key": APIKEY, "tenant": TENANT},
params={"startdate": "2026-03-01T00:00:00", "enddate": "2026-03-31T23:59:59", "limit": 25},
)
data = response.json()
Respuesta
Campos de la respuesta
| Campo | Tipo | Descripción |
|---|---|---|
wftaskid | string | ID de la tarea. |
workflowName | string | Nombre de la definición de workflow padre. |
stepName | string | Nombre del paso del workflow. |
assigneeName | string | null | Nombre del usuario asignado. |
status | string | Estado de la tarea (ej. PENDING, IN_PROGRESS, COMPLETED). |
dueDate | string | null | Fecha de vencimiento de la tarea, o null si no tiene. |
completedAt | string | null | Marca de tiempo de finalización, o null si no está completada. |
slaStatus | string | null | Estado de SLA (ej. MET, BREACHED). null cuando el SLA no está configurado. |
responseTimeSeconds | number | null | Tiempo hasta la primera respuesta en segundos. null cuando el SLA no está configurado. |
resolutionTimeSeconds | number | null | Tiempo hasta la resolución en segundos. null cuando el SLA no está configurado. |
resultCode | string | null | Código de resultado registrado al finalizar. |
entityType | string | Tipo de entidad vinculada (ej. TASK, ACCOUNT, NONE). |
entityRef | string | Referencia legible de la entidad. |
slaStatus, responseTimeSeconds y resolutionTimeSeconds se completan únicamente cuando el seguimiento de SLA está habilitado para la compañía. Si el SLA no está configurado, estos campos devuelven null mientras que el resto de la fila no se ve afectado.
Respuesta de ejemplo
{
"success": true,
"data": [
{
"wftaskid": "839201746203881",
"workflowName": "Incident Resolution",
"stepName": "Field Inspection",
"assigneeName": "Carlos Martinez",
"status": "COMPLETED",
"dueDate": "2026-03-04T12:00:00",
"completedAt": "2026-03-04T11:48:00",
"slaStatus": "MET",
"responseTimeSeconds": 420,
"resolutionTimeSeconds": 9360,
"resultCode": "OK",
"entityType": "TASK",
"entityRef": "552398174620055"
}
],
"meta": {
"total": 1,
"limit": 25,
"offset": 0
}
}
Errores
| Código | HTTP | Descripción |
|---|---|---|
VALIDATION_ERROR | 400 | Parámetros inválidos: fechas faltantes, rango > 92 días, valores de enum inválidos. |
UNAUTHORIZED | 401 | tenant / Authorization / X-API-Key faltante, inválido o expirado |
FORBIDDEN | 403 | El usuario no tiene el permiso requerido. |
RATE_LIMITED | 429 | Se superaron las 10 req/min. |
INTERNAL_ERROR | 500 | Error inesperado del servidor. |