Skip to main content
Añade doconda al paquete de tu función Lambda y llama a doconda.documents.create(format=..., prompt=...) (o con tu Markdown en content). La llamada espera a que el archivo esté listo y devuelve sus enlaces de descarga; con documents.download tienes los bytes para guardarlos en S3 o enviarlos.

Pasos

  1. Guarda tu API key de Doconda (panel → API keys) como variable de entorno DOCONDA_API_KEY de la función, mejor desde un secreto que en el código.
  2. Empaqueta la dependencia (Python 3.9 o superior; su única dependencia es httpx): pip install doconda -t package/ y añade tu lambda_function.py al zip.
  3. Escribe el handler:
Pruébalo con un evento como {"format": "xlsx", "markdown": "# Presupuesto\n\n| Concepto | Importe |\n|---|---|\n| Sala | 1200 |"}. Para que lo escriba la IA, pasa prompt en vez de content. Sube el timeout de la función: crear desde tu Markdown en calidad fast tarda unos segundos, pero standard puede tardar varios minutos (ver niveles de calidad). Si no quieres que la Lambda espere, usa create_in_background(...), que responde al momento, y recibe el aviso con un webhook (doconda.webhooks.create(url)).

Qué devuelve

  • outputs: el archivo y su PDF. Los enlaces caducan a los 5 minutos; documents.outputs(id) da otros nuevos.
  • Para guardar el archivo en S3: doconda.documents.download(doc["id"], "xlsx") devuelve los bytes.
  • status: ready, ready_with_warnings, needs_review (mira documents.report(id)) o failed (no se cobra).

Preguntas frecuentes

No. El SDK solo hace la llamada; recibes el archivo terminado, editable y con su PDF.
Sí: los errores de red, 429 y 5xx se reintentan solos (max_retries=2 por defecto) antes de lanzar DocondaError.
En la Unión Europea (Irlanda), y la IA que los procesa también funciona en la UE.
Pagas por documento entregado; los que fallan no se cobran. Ver precios.

Sigue leyendo