# Dominio Integration ## Propósito Gestiona integraciones externas disponibles y su configuración por tenant. Incluye correo y pagos mediante Telepagos. ## Modelo y seguridad - `Integration`: definición global de una integración. - `TenantIntegration`: configuración y credenciales de una integración para un tenant. - `EncryptedIntegrationData`: cast que protege los datos sensibles persistidos. - `TenantIntegrationService`: consulta y configura integraciones del tenant. ## Servicios externos - `BaseIntegrationService`: base para resolver configuración, URL y cliente del tenant. - `MailService`: envío de correo usando la integración configurada. - `TelepagosIntegrationService`: autenticación, caché de token, generación de QR y consulta de cobros. - `TelepagosWebhookService`: procesa notificaciones recibidas desde Telepagos. ## Endpoints - CRUD global bajo `/integrations`. - Consulta y configuración por tenant bajo `/{tenant_code}/integrations`. - `POST /webhooks/telepagos/{tenant_codigo}` para notificaciones del proveedor. ## Dependencias y reglas Se integra con `Tenant` y con el checkout de `Purchase`. `Notification` utiliza `MailService`. Las credenciales no deben exponerse en respuestas ni logs; los webhooks deben validar su contrato antes de alterar una compra.