Actualizar backend/main.py

This commit is contained in:
2026-10-09 13:47:01 -05:00
parent 63ee6c7f24
commit d3c74725d6

View File

@@ -337,6 +337,33 @@ def get_subir_base_asesores():
raise HTTPException(status_code=500, detail=str(e)) raise HTTPException(status_code=500, detail=str(e))
@app.get("/api/exportar-base/asesores")
def get_exportar_base_asesores():
"""Asesores (agents) de Chatwoot en vivo, para elegir en Exportar Base."""
try:
return services.exportar_base_asesores()
except Exception as e:
raise HTTPException(status_code=500, detail=str(e))
@app.get("/api/exportar-base")
def get_exportar_base(asesor: str = Query(...), etiquetas: list[str] = Query(None)):
"""Descarga la base de leads de UN asesor (dedup por teléfono más antiguo,
SEDE_ACT por asesor, última etiqueta) como Excel. 'etiquetas' filtra por
última etiqueta (vacío = todas)."""
from fastapi.responses import StreamingResponse
from io import BytesIO
try:
data = services.exportar_base_excel(asesor, etiquetas)
nombre = "".join(ch for ch in asesor if ch.isalnum() or ch in " _-").strip().replace(" ", "_")
headers = {"Content-Disposition": f"attachment; filename=base_{nombre or 'asesor'}.xlsx"}
return StreamingResponse(BytesIO(data),
media_type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
headers=headers)
except Exception as e:
raise HTTPException(status_code=500, detail=str(e))
@app.post("/api/subir-base/enviar") @app.post("/api/subir-base/enviar")
def post_subir_base_enviar(payload: dict = Body(...)): def post_subir_base_enviar(payload: dict = Body(...)):
"""Sube una base de números: crea contacto (o usa el existente), le asigna """Sube una base de números: crea contacto (o usa el existente), le asigna