from fastapi import APIRouter, BackgroundTasks, status, HTTPException from fastapi.responses import JSONResponse from .schemas import RemesaBaseSchema from .tasks import process_remesa_request from api.api_v2.modules.tasks.services import register_task import logging logger = logging.getLogger("app.api") router = APIRouter() @router.post("/services/remesas/", status_code=status.HTTP_202_ACCEPTED) async def download_remesa(remesa_request: RemesaBaseSchema): """ Endpoint para iniciar la descarga completa de un pedimento. """ remesa_dict = remesa_request.model_dump() # Ejecuta la tarea de Celery de forma asíncrona task = process_remesa_request.delay(remesa_dict) return { "status": "submitted", "detail": "La solicitud de descarga de la remesa ha sido enviada.", "task_id": task.id }