> ## Documentation Index
> Fetch the complete documentation index at: https://www.octoparse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Ejecutar una tarea

> Crea e inicia una tarea de web scraping a partir de una plantilla de AgentTools.

<Info>
  El cuerpo de la solicitud, el ejemplo de cURL generado y el esquema de respuesta aparecen en el panel de la API. Consulta esta página para conocer reglas de ejecución que pueden pasar desapercibidas.
</Info>

Crea e inicia una tarea de web scraping a partir de una plantilla devuelta por `searchTemplates`.

<Steps>
  <Step title="Elegir una plantilla">
    Pasa el valor `templateName` de `searchTemplates`.
  </Step>

  <Step title="Serializar los parámetros">
    Envía `parameters` como un objeto JSON serializado en forma de cadena.
  </Step>

  <Step title="Seguir las indicaciones del servidor">
    Usa `retryGuidance`, `suggestedNextCall`, `workflow` y `toolHint` en lugar de intervalos de consulta fijos.
  </Step>
</Steps>

```text theme={null}
searchTemplates -> executeTask -> exportData
```

<CardGroup cols={2}>
  <Card title="Encabezado obligatorio" icon="user">
    `x-external-user-id` es obligatorio para una ejecución limitada al usuario.
  </Card>

  <Card title="Límite de filas" icon="list-ordered">
    `targetMaxRows` es opcional y acepta valores de `0` a `1000000`.
  </Card>
</CardGroup>

<Warning>
  Los campos basados en una fuente deben usar claves de opción. Los campos MultiInput y similares a una selección múltiple deben usar matrices, incluso para un solo elemento.
</Warning>

<AccordionGroup>
  <Accordion title="Campos del cuerpo de la solicitud">
    `templateName` es obligatorio.

    `taskName` es opcional.

    `parameters` es opcional, pero, si se proporciona, debe ser un objeto JSON serializado.

    `targetMaxRows` es opcional.
  </Accordion>

  <Accordion title="Valores de estado">
    `accepted`: la tarea se aceptó para su ejecución.

    `ready`: los datos pueden estar listos para exportarse.

    `awaiting_source_selection`: un campo basado en una fuente necesita una clave de opción válida.

    `invalid`, `start_failed` y `failed`: comprueba `recoverySuggestion`, `blockingIssues`, `missingParamNames` e `invalidSourceSelections`.
  </Accordion>

  <Accordion title="Campos importantes de la respuesta">
    `taskId` identifica la tarea que se va a exportar o consultar.

    `lotNo` identifica el lote o la ejecución. Pásalo a `exportData` cuando se devuelva.

    `recoverySuggestion`, `blockingIssues`, `missingParamNames` e `invalidSourceSelections` ayudan al cliente a corregir llamadas no válidas.
  </Accordion>
</AccordionGroup>
