Files
microservice/api/api_v2/modules/remesas/routers.py

25 lines
851 B
Python

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
}