Reten Docs
Actividades de Tarea

Crear Actividad de Tarea

Crear una actividad de tipo TASK con asignación de ruta y operador.

POST /api/activities/tasks

Crea una actividad de tipo TASK con asignación de ruta y operador. Las actividades de tarea requieren routeId y operatorId además de los campos base de actividad.

Auth: Requerida — permiso CREATE_ACTIVITY

Cuerpo de la Solicitud

CampoTipoRequeridoDescripción
reasonstringMotivo para crear la tarea
channelstringCanal para el despacho
commerce_idUUIDComercio destino
idempotency_keystringÚnico por tenant
assigned_route_idUUIDRuta asignada
assigned_operator_idUUIDOperador asignado
scheduled_atISO 8601Hora programada de ejecución
suggested_execution_timeISO 8601NoHora sugerida de ejecución
user_statusstringNoContexto de estado del usuario
scoreintegerNoPuntuación de prioridad
assignment_reasonstringNoMotivo de la asignación
target_criteriaarrayNoCriterios de resolución del destino (anula los predeterminados)
attribute_keysstring[]NoNombres de claves de atributo a resolver mediante políticas
attributesarrayNoValores de atributo provistos por el llamador (objetos con key, value, fallback)

Ejemplo

curl -X POST https://api.reten.ai/api/activities/tasks \
  -H "Authorization: Bearer <token>" \
  -H "x-tenant-id: <tenant-id>" \
  -H "Content-Type: application/json" \
  -d '{
    "reason": "Monthly 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",
    "attribute_keys": ["commerce_info", "promotions"]
  }'
const response = await fetch("https://api.reten.ai/api/activities/tasks", {
  method: "POST",
  headers: {
    "Authorization": "Bearer <token>",
    "x-tenant-id": "<tenant-id>",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    reason: "Monthly 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",
    attribute_keys: ["commerce_info", "promotions"],
  }),
});
const task = await response.json();
import requests

response = requests.post(
    "https://api.reten.ai/api/activities/tasks",
    headers={
        "Authorization": "Bearer <token>",
        "x-tenant-id": "<tenant-id>",
    },
    json={
        "reason": "Monthly 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",
        "attribute_keys": ["commerce_info", "promotions"],
    },
)
task = response.json()

Respuesta 201 Created

{
  "id": "ee0e8400-e29b-41d4-a716-446655440000",
  "type": "TASK",
  "channel": "SALESMAN",
  "status": "READY",
  "taskDetails": {
    "assignedRouteId": "dd0e8400-e29b-41d4-a716-446655440000",
    "assignedOperatorId": "cc0e8400-e29b-41d4-a716-446655440000"
  }
}

Respuestas de Error

EstadoDescripción
400Error de validación
404Comercio, ruta u operador no encontrado
409La clave de idempotencia ya existe