Actualizar backend/main.py
This commit is contained in:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user