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

# Salida estructurada

> Aprende a usar la salida estructurada de forma eficaz e interactúa con sesiones de Devin mediante la API

<Note>
  La salida estructurada es como el bloc de notas de Devin: va actualizando sus notas mientras trabaja y puedes revisarlas en cualquier momento. Actualmente no puedes obligar a Devin a actualizar sus notas, pero puedes solicitar ver lo que ha escrito hasta el momento.
</Note>

<CardGroup cols={2}>
  <Card title="Actualizaciones de progreso" icon="chart-line">
    Recibe actualizaciones sobre el progreso de Devin durante tareas de larga ejecución
  </Card>

  <Card title="Integración con aplicaciones" icon="puzzle-piece">
    Envía el análisis y los resultados de Devin a tus aplicaciones con JSON coherente.
  </Card>
</CardGroup>

<div id="requesting-structured-output">
  ## Solicitar resultados estructurados
</div>

Para usar resultados estructurados, incluye el esquema JSON que desees en el prompt al [crear una sesión](/es/api-reference/v1/sessions/create-a-new-devin-session).
Asegúrate de indicarle a Devin que actualice los resultados estructurados cada vez que ocurra algo relevante.

<Tabs>
  <Tab title="Revisión de PR">
    ```json theme={null}
    {
      "prompt": "Review this PR and provide updates in this format. Please update the structured output immediately whenever you find new issues, have suggestions, or change your approval status:\n{
        "issues": [
          {
            "file": "src/App.tsx",
            "line": 42,
            "type": "bug",
            "description": "Memory leak in useEffect cleanup"
          }
        ],
        "suggestions": [
          "Add error handling for API calls",
          "Split component into smaller parts"
        ],
        "approved": false
      }"
    }
    ```

    Formato sencillo para revisiones de PR y análisis de código.
  </Tab>

  <Tab title="Actualizaciones de progreso">
    ```json theme={null}
    {
      "prompt": "As you work, provide updates in this format. Please update the structured output immediately whenever you start a new task, complete a task, or plan your next task:\n{
        "status": "in_progress",
        "current_task": "Adding authentication to login page",
        "completed_tasks": [
          "Set up project structure",
          "Added routing"
        ],
        "next_task": "Implement form validation"
      }"
    }
    ```

    Haz un seguimiento de en qué está trabajando actualmente Devin y qué viene a continuación.
  </Tab>

  <Tab title="Resultados de pruebas">
    ```json theme={null}
    {
      "prompt": "When running tests, report results in this format. Please update the structured output immediately after each test run and whenever coverage changes:\n{
        "tests_passed": 25,
        "tests_failed": 2,
        "failing_tests": [
          {
            "name": "login_validation",
            "error": "Expected error message to be shown"
          }
        ],
        "coverage": 85
      }"
    }
    ```

    Resumen sencillo de los resultados de la ejecución de pruebas.
  </Tab>

  <Tab title="Implementación de funcionalidades">
    ```json theme={null}
    {
      "prompt": "Build a user settings page and track progress in this format. Please update the structured output immediately whenever you complete a requirement, create new files, identify review items, or change testing status:\n{
        "requirements_met": {
          "can_change_password": true,
          "can_update_email": false,
          "dark_mode_toggle": true
        },
        "files_created": [
          "UserSettings.tsx",
          "useUpdateProfile.ts"
        ],
        "needs_review": [
          "Email update flow needs security review"
        ],
        "ready_for_testing": false
      }"
    }
    ```

    Haz un seguimiento de la implementación de funcionalidades con respecto a requisitos específicos.
  </Tab>
</Tabs>

<div id="retrieving-structured-output">
  ## Recuperar salida estructurada
</div>

Usa [este endpoint](/es/api-reference/v1/sessions/retrieve-details-about-an-existing-session) para obtener la salida estructurada de una sesión.
La salida estructurada se devuelve en el campo `structured_output`.

<Tip>
  Cuando uses la aplicación web de Devin, puedes ver rápidamente la salida estructurada en cualquier momento al pulsar `⌘ + I` (Command+I).
</Tip>

<div id="best-practices">
  ## Mejores prácticas
</div>

* Incluye la definición completa del esquema en el prompt inicial
* Define la frecuencia de actualización esperada (por ejemplo, "Actualiza la salida estructurada después de añadir cada nuevo componente al sitio web")
* Documenta con claridad los tipos de valores y los formatos
* Usa nombres de campos claros y descriptivos para que Devin sepa qué escribir
* Incluye valores de ejemplo en tu esquema
* Usa intervalos de 10-30 segundos para el sondeo (polling) para evitar sobrecargar la API de Devin
* Deja de hacer sondeo cuando la sesión termine o produzca un error

<Note>
  Recuerda que Devin actualiza la salida estructurada según su propio programa: no puedes forzar una actualización, pero puedes solicitar ver las notas más recientes en cualquier momento.
</Note>

Si tienes preguntas sobre cómo usar la salida estructurada o quieres informar de algún problema, escribe a [support@cognition.ai](mailto:support@cognition.ai).
