Files
MotoresArgentinosV2/Backend/MotoresArgentinosV2.Core/Interfaces/INotificationService.cs

32 lines
1.6 KiB
C#

namespace MotoresArgentinosV2.Core.Interfaces;
public interface INotificationService
{
// Categoría: "mensajes"
Task SendChatNotificationEmailAsync(string toEmail, string fromUser, string message, int adId, string? unsubscribeUrl = null);
// Categoría: "sistema"
Task SendAdStatusChangedEmailAsync(string toEmail, string adTitle, string status, string? reason = null, string? unsubscribeUrl = null);
// SIN baja — correo crítico de seguridad, siempre se envía
Task SendSecurityAlertEmailAsync(string toEmail, string actionDescription);
// Categoría: "sistema"
Task SendExpirationWarningEmailAsync(string toEmail, string userName, string adTitle, DateTime expirationDate, string? unsubscribeUrl = null);
// Categoría: "sistema"
Task SendAdExpiredEmailAsync(string toEmail, string userName, string adTitle, string? unsubscribeUrl = null);
// Categoría: "rendimiento"
Task SendWeeklyPerformanceEmailAsync(string toEmail, string userName, string adTitle, int views, int favorites, string? unsubscribeUrl = null);
// Categoría: "marketing"
Task SendPaymentReminderEmailAsync(string toEmail, string userName, string adTitle, string link, string? unsubscribeUrl = null);
// SIN baja — recibo de pago transaccional, siempre se envía
Task SendPaymentReceiptEmailAsync(string toEmail, string userName, string adTitle, decimal amount, string operationCode);
// Categoría: "mensajes"
Task SendUnreadMessagesReminderEmailAsync(string toEmail, string userName, int unreadCount, string? unsubscribeUrl = null);
}