Actividades de Tarea
Crear Actividades de Tarea en Lote
Crear multiples actividades de tarea en una sola solicitud.
POST /api/activities/tasks/bulk
Crea hasta 200 actividades de tarea en una sola solicitud. Cada elemento sigue el mismo esquema que el endpoint individual Crear Actividad de Tarea.
Auth: Requerida — permiso CREATE_ACTIVITY
Cuerpo de la Solicitud
| Campo | Tipo | Requerido | Descripcion |
|---|---|---|---|
items | array | Si | Array de objetos de actividad de tarea (min 1, max 200) |
Cada elemento en items tiene los mismos campos que el cuerpo de la solicitud de Crear Actividad de Tarea:
| Campo | Tipo | Requerido | Descripcion |
|---|---|---|---|
reason | string | Si | Razon para crear la actividad |
channel | string | Si | SALESMAN, CALLCENTER, WHATSAPP, EMAIL, SMS, PUSH |
commerce_id | UUID | Si | ID del comercio destino |
idempotency_key | string | Si | Clave unica por tenant (previene duplicados) |
assigned_route_id | UUID | Si | Ruta a asignar la tarea |
assigned_operator_id | UUID | Si | Operador a asignar la tarea |
scheduled_at | ISO 8601 | Si | Cuando se debe ejecutar la actividad |
suggested_execution_time | ISO 8601 | No | Hora sugerida de ejecucion |
user_status | string | No | Contexto de estado del usuario |
score | integer | No | Puntaje de prioridad |
assignment_reason | string | No | Razon de la asignacion |
target_criteria | array | No | Criterios de resolucion de objetivo |
attribute_keys | string[] | No | Nombres de claves de atributos a resolver via politicas |
attributes | array | No | Valores de atributos provistos por el llamador |
Ejemplo
curl -X POST https://api.reten.ai/api/activities/tasks/bulk \
-H "Authorization: Bearer <token>" \
-H "x-tenant-id: <tenant-id>" \
-H "Content-Type: application/json" \
-d '{
"items": [
{
"reason": "retention_visit",
"channel": "SALESMAN",
"commerce_id": "880e8400-e29b-41d4-a716-446655440000",
"idempotency_key": "task-2025-01-15-001",
"assigned_route_id": "dd0e8400-e29b-41d4-a716-446655440000",
"assigned_operator_id": "cc0e8400-e29b-41d4-a716-446655440000",
"scheduled_at": "2025-01-16T09:00:00.000Z"
},
{
"reason": "retention_visit",
"channel": "SALESMAN",
"commerce_id": "990e8400-e29b-41d4-a716-446655440000",
"idempotency_key": "task-2025-01-15-002",
"assigned_route_id": "dd0e8400-e29b-41d4-a716-446655440000",
"assigned_operator_id": "cc0e8400-e29b-41d4-a716-446655440000",
"scheduled_at": "2025-01-16T10:00:00.000Z"
}
]
}'const response = await fetch("https://api.reten.ai/api/activities/tasks/bulk", {
method: "POST",
headers: {
"Authorization": "Bearer <token>",
"x-tenant-id": "<tenant-id>",
"Content-Type": "application/json",
},
body: JSON.stringify({
items: [
{
reason: "retention_visit",
channel: "SALESMAN",
commerce_id: "880e8400-e29b-41d4-a716-446655440000",
idempotency_key: "task-2025-01-15-001",
assigned_route_id: "dd0e8400-e29b-41d4-a716-446655440000",
assigned_operator_id: "cc0e8400-e29b-41d4-a716-446655440000",
scheduled_at: "2025-01-16T09:00:00.000Z",
},
{
reason: "retention_visit",
channel: "SALESMAN",
commerce_id: "990e8400-e29b-41d4-a716-446655440000",
idempotency_key: "task-2025-01-15-002",
assigned_route_id: "dd0e8400-e29b-41d4-a716-446655440000",
assigned_operator_id: "cc0e8400-e29b-41d4-a716-446655440000",
scheduled_at: "2025-01-16T10:00:00.000Z",
},
],
}),
});
const result = await response.json();import requests
response = requests.post(
"https://api.reten.ai/api/activities/tasks/bulk",
headers={
"Authorization": "Bearer <token>",
"x-tenant-id": "<tenant-id>",
},
json={
"items": [
{
"reason": "retention_visit",
"channel": "SALESMAN",
"commerce_id": "880e8400-e29b-41d4-a716-446655440000",
"idempotency_key": "task-2025-01-15-001",
"assigned_route_id": "dd0e8400-e29b-41d4-a716-446655440000",
"assigned_operator_id": "cc0e8400-e29b-41d4-a716-446655440000",
"scheduled_at": "2025-01-16T09:00:00.000Z",
},
{
"reason": "retention_visit",
"channel": "SALESMAN",
"commerce_id": "990e8400-e29b-41d4-a716-446655440000",
"idempotency_key": "task-2025-01-15-002",
"assigned_route_id": "dd0e8400-e29b-41d4-a716-446655440000",
"assigned_operator_id": "cc0e8400-e29b-41d4-a716-446655440000",
"scheduled_at": "2025-01-16T10:00:00.000Z",
},
],
},
)
result = response.json()Respuesta 201 Created
Devuelve un array de objetos de actividad de tarea creados.
Respuestas de Error
| Estado | Descripcion |
|---|---|
400 | Error de validacion — campos invalidos o faltantes en uno o mas elementos |
401 | Token de autenticacion faltante o invalido |
404 | Ruta u operador no encontrado |
409 | Clave de idempotencia ya existe para uno o mas elementos |