API de Tareas

Gestiona tareas de larga duración y operaciones asincrónicas.

Obtener Estado de Tarea

curl -X GET "https://us.teamday.ai/api/v1/tasks/<task-id>" \
  -H "Authorization: Bearer $TEAMDAY_API_TOKEN"

Respuesta:

{
  "id": "task_xyz",
  "status": "pending",
  "progress": 0.5,
  "result": null,
  "error": null,
  "createdAt": "2025-01-15T10:00:00Z"
}

Estados de Tarea

  • pending - Esperando ejecución
  • running - En progreso
  • completed - Completada exitosamente
  • failed - Error durante ejecución

Sondeo de Tarea

async function waitForTask(taskId, maxWait = 300000) {
  const startTime = Date.now();
  while (Date.now() - startTime < maxWait) {
    const response = await fetch(
      `https://us.teamday.ai/api/v1/tasks/${taskId}`,
      { headers: { 'Authorization': `Bearer ${token}` } }
    );
    const task = await response.json();

    if (task.status === 'completed') {
      return task.result;
    } else if (task.status === 'failed') {
      throw new Error(task.error);
    }

    await new Promise(resolve => setTimeout(resolve, 1000));
  }
  throw new Error('Task timeout');
}

Webhooks de Tarea

Configura webhooks para notificaciones:

curl -X POST "https://us.teamday.ai/api/v1/tasks/<task-id>/webhook" \
  -H "Authorization: Bearer $TEAMDAY_API_TOKEN" \
  -d '{
    "url": "https://your-api.com/webhook",
    "events": ["completed", "failed"]
  }'

Próximos Pasos