Integración Tareas
Listar Actividades
Consulta las actividades de tipo tarea visibles para tu integración.
Retorna una lista paginada de actividades de tipo tarea visibles para la clave de API de tu integración.
Autenticación: Requerida — permiso VIEW_ACTIVITIES
| Header | Valor |
|---|
x-api-key | YOUR_API_KEY |
| Parámetro | Tipo | Requerido | Descripción |
|---|
page | number | No | Número de página (por defecto: 1) |
per_page | number | No | Resultados por página (por defecto: 20, máximo: 100) |
status | string | No | Filtrar por estado de actividad (PENDING, IN_PROGRESS, COMPLETED, CANCELLED) |
result_status | string | No | Filtrar por estado del resultado (EFFECTIVE, NOT_EFFECTIVE, PENDING) |
channel | string | No | Filtrar por canal (SALESMAN, CALLCENTER, etc.) |
external_commerce_id | string | No | Filtrar por ID externo del comercio |
external_operator_id | string | No | Filtrar por ID externo del operador |
scheduled_from | string | No | Fecha mínima de programación (ISO 8601) |
scheduled_to | string | No | Fecha máxima de programación (ISO 8601) |
curl -X GET "BASE_URL/api/integration/activities/tasks?page=1&per_page=10&status=PENDING" \
-H "x-api-key: YOUR_API_KEY"
const params = new URLSearchParams({
page: "1",
per_page: "10",
status: "PENDING",
});
const response = await fetch(
`${BASE_URL}/api/integration/activities/tasks?${params}`,
{
headers: {
"x-api-key": "YOUR_API_KEY",
},
}
);
const data = await response.json();
import requests
response = requests.get(
f"{BASE_URL}/api/integration/activities/tasks",
headers={
"x-api-key": "YOUR_API_KEY",
},
params={
"page": 1,
"per_page": 10,
"status": "PENDING",
},
)
data = response.json()
{
"data": [
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"activityOrigin": "ACTIVITY",
"type": "TASK",
"status": "PENDING",
"channel": "SALESMAN",
"scheduledAt": "2026-04-15T09:00:00.000Z",
"occurredAt": null,
"createdAt": "2026-04-10T14:30:00.000Z",
"lifecycleStatus": "SCHEDULED",
"lifecycleStatusLabel": "Programada",
"lifecycleStatusDetail": null,
"canForceRetryDispatch": false,
"commerceExternalId": "COM-001",
"commerceName": "Farmacia Central",
"reason": {
"code": "CHURN_RISK",
"label": "Riesgo de fuga"
},
"userStatus": null,
"commerceAssignment": {
"commerceExternalId": "COM-001",
"assignmentReason": "Asignación por ruta",
"commerce": {
"externalId": "COM-001",
"name": "Farmacia Central"
}
},
"activityDetails": {
"type": "TASK",
"assignedRouteCode": "RUTA-NORTE-01",
"assignedOperatorExternalId": "OP-042",
"assignedRoute": {
"code": "RUTA-NORTE-01",
"name": "Ruta Norte"
},
"assignedOperator": {
"externalId": "OP-042",
"name": "Carlos Pérez",
"type": "SALESMAN"
}
},
"activityResult": null
}
],
"meta": {
"page": 1,
"per_page": 10,
"total": 47,
"totalPages": 5
}
}
| Campo | Tipo | Descripción |
|---|
id | string | Identificador único de la actividad |
activityOrigin | "ACTIVITY" | "STANDALONE" | Origen de la actividad |
type | string | null | Tipo de actividad (ej. "TASK") |
status | string | null | Estado actual (PENDING, IN_PROGRESS, COMPLETED, CANCELLED) |
channel | string | null | Canal de la actividad (SALESMAN, CALLCENTER, etc.) |
scheduledAt | string | null | Fecha programada (ISO 8601) |
occurredAt | string | null | Fecha en que ocurrió la gestión (ISO 8601) |
createdAt | string | null | Fecha de creación (ISO 8601) |
lifecycleStatus | string | null | Estado del ciclo de vida para visualización |
lifecycleStatusLabel | string | null | Etiqueta legible del estado del ciclo de vida |
lifecycleStatusDetail | string | null | Detalle adicional del estado |
canForceRetryDispatch | boolean | Indica si se puede forzar un re-dispatch |
commerceExternalId | string | ID externo del comercio asociado |
commerceName | string | Nombre del comercio |
reason | object | null | Razón de la actividad (code, label) |
userStatus | object | null | Estado personalizado del usuario (code, label) |
commerceAssignment | object | null | Información de asignación del comercio |
activityDetails | object | null | Detalles específicos del tipo de actividad |
activityResult | object | null | Resultado de la gestión (si existe) |
| Campo | Tipo | Descripción |
|---|
type | "TASK" | Discriminador de tipo |
assignedRouteCode | string | null | Código de la ruta asignada |
assignedOperatorExternalId | string | null | ID externo del operador asignado |
assignedRoute | object | null | Ruta asignada (code, name) |
assignedOperator | object | null | Operador asignado (externalId, name, type) |
| Campo | Tipo | Descripción |
|---|
id | string | Identificador del resultado |
resultStatus | string | Estado del resultado (EFFECTIVE, NOT_EFFECTIVE, PENDING) |
source | string | Origen del resultado |
origin | string | Canal de origen |
channel | string | null | Canal del resultado |
occurredAt | string | Fecha en que ocurrió (ISO 8601) |
createdAt | string | Fecha de creación (ISO 8601) |
resultDetails | object | null | Detalles del resultado de tipo tarea |
| Status | Descripción |
|---|
401 | Clave de API faltante o inválida |
403 | La clave no tiene el permiso VIEW_ACTIVITIES |