Skip to content

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 de linear 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 de fetch-dataload.
  • TIMEZONE: Zona horaria para el scheduler (ej. America/Bogota).

Endpoint de Proceso

  • PROCESS_BOL_URL: URL completa del endpoint fetch-dataload que 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).