Configuración
La configuración de la aplicación se gestiona a través de variables de entorno, las cuales son cargadas y validadas por Pydantic en el módulo app.core.config.py.
Variables de Entorno
A continuación se detallan todas las variables de entorno requeridas por la aplicación, agrupadas por servicio o funcionalidad.
Mail API
MAIL_API_URL: URL base del servicio de correo interno para consultar emails.MAIL_FILTER_SUBJECT: Asunto del correo a filtrar para encontrar los BOLs.MAIL_FILTER_FROM: Remitente del correo a filtrar.LOOKBACK_MINUTES: Rango de tiempo en minutos hacia atrás para buscar correos desde la hora de ejecución.
SendGrid API
SENDGRID_API_KEY: API Key para autenticarse con SendGrid y enviar correos de notificación.SENDGRID_FROM: Dirección de correo electrónico remitente para las notificaciones.SENDGRID_TO: Dirección de correo electrónico destinataria para las notificaciones.SENDGRID_ID_TEMPLATE: ID de la plantilla de correo dinámico en SendGrid para las notificaciones de error.
Primus API
PRIMUS_BASE_URL: URL base de la API de Primus.PRIMUS_USER: Usuario para la autenticación en la API de Primus.PRIMUS_PASSWORD: Contraseña para la autenticación en la API de Primus.
CRM API
CRM_BASE_URL: URL base de la API del CRM (Salesforce).CRM_USER: Usuario para la autenticación en la API del CRM.CRM_PASSWORD: Contraseña para la autenticación en la API del CRM.
Megatron API
MEGATRON_BASE_URL: URL base de la API de Megatron para el cálculo delinear feet.MEGATRON_TOKEN: Token de acceso para la API de Megatron.
Modelo Multimodal (Vertex AI)
MULTIMODAL_MODEL_NAME: Nombre del modelo de Vertex AI a utilizar (ej.gemini-1.5-flash-001).VERTEX_PROJECT_ID: ID del proyecto de Google Cloud donde está alojado el modelo.VERTEX_LOCATION: Ubicación del proyecto de Google Cloud (ej.us-central1).CONCURRENCY: Número máximo de llamadas concurrentes permitidas al modelo de lenguaje.
Scheduler
INTERNAL_TRIGGER_MINUTES: Intervalo en minutos para la ejecución automática del proceso defetch-dataload.TIMEZONE: Zona horaria para el scheduler (ej.America/Bogota).
Endpoint de Proceso
PROCESS_BOL_URL: URL completa del endpointfetch-dataloadque el scheduler debe invocar.
Cliente HTTP
HTTP_CLIENT_TIMEOUT_SECONDS: Tiempo de espera en segundos para las peticiones HTTP salientes.
GCP (Google Cloud Platform)
GOOGLE_APPLICATION_CREDENTIALS: Ruta al archivo JSON de credenciales de servicio de GCP.
Configuración de la Aplicación
ENVIRONMENT: Entorno de la aplicación (ej.dev,prod).APP_PORT: Puerto en el que se ejecutará la aplicación.APP_HOST: Host en el que se ejecutará la aplicación.LOG_LEVEL: Nivel de logs a mostrar (ej.info,debug).