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

# Artifacts

> Páginas web con su propia base de datos, creadas y leídas desde tu programa.

Un [artifact](/es/guides/artifacts) es un documento más: una página web que guarda datos. Tu programa la crea, pide
un enlace para enseñarla y lee lo que la gente ha guardado en ella.

<CodeGroup>
  ```ts TypeScript theme={"theme":{"light":"github-light","dark":"github-dark-dimmed"}}
  // 1. Créala: con una frase, o con tu contenido en Markdown (content.markdown)
  const doc = await doconda.documents.create({
    format: "artifact",
    prompt: "Una encuesta para elegir el menú del viernes, con los resultados en directo",
  })

  // 2. Un enlace para tus usuarios: funciona hasta que acaba su retención (doc.expires_at)
  const [page] = await doconda.documents.outputs(doc.id)
  console.log(page.url) // ponlo en un <iframe>

  // 3. Lo que han guardado
  console.log(await doconda.documents.data(doc.id)) // [{ collection: "votes", records: 42 }]
  const votes = await doconda.documents.data(doc.id, "votes") // [{ key, data, updated_at }]
  ```

  ```python Python theme={"theme":{"light":"github-light","dark":"github-dark-dimmed"}}
  # 1. Créala: con una frase, o con tu contenido en Markdown (content={"markdown": …})
  doc = doconda.documents.create(
      format="artifact",
      prompt="Una encuesta para elegir el menú del viernes, con los resultados en directo",
  )

  # 2. Un enlace para tus usuarios: funciona hasta que acaba su retención (doc["expires_at"])
  page = doconda.documents.outputs(doc["id"])[0]
  print(page["url"])  # ponlo en un <iframe>

  # 3. Lo que han guardado
  print(doconda.documents.data(doc["id"]))  # [{"collection": "votes", "records": 42}]
  votes = doconda.documents.data(doc["id"], "votes")  # [{"key", "data", "updated_at"}]
  ```
</CodeGroup>

`data(id, collection)` devuelve como mucho los 1.000 registros actualizados más recientemente. La página guarda sus
datos con `window.doconda.db`: está explicado en la [guía de artifacts](/es/guides/artifacts).

## Datos solo en el navegador

Con `storage: "local"`, cada visitante guarda sus datos en su navegador y Doconda no los recibe (así que `data`
no puede leerlos: lanza un `DocondaError` 409 `artifact_is_local`):

<CodeGroup>
  ```ts TypeScript theme={"theme":{"light":"github-light","dark":"github-dark-dimmed"}}
  await doconda.documents.create({
    format: "artifact",
    prompt: "Una calculadora de hipoteca que recuerde mis simulaciones",
    artifact: { storage: "local" },
  })
  ```

  ```python Python theme={"theme":{"light":"github-light","dark":"github-dark-dimmed"}}
  doconda.documents.create(
      format="artifact",
      prompt="Una calculadora de hipoteca que recuerde mis simulaciones",
      artifact={"storage": "local"},
  )
  ```
</CodeGroup>

En un proyecto que no guarda contenido es el único modo, y la página llega como fichero para descargar:
`doconda.documents.download(doc.id, "html")`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.