2026-01-29 13:43:44 -03:00
|
|
|
namespace MotoresArgentinosV2.Core.Interfaces;
|
|
|
|
|
|
|
|
|
|
public interface INotificationService
|
|
|
|
|
{
|
2026-03-12 13:52:33 -03:00
|
|
|
// 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
|
2026-01-29 13:43:44 -03:00
|
|
|
Task SendSecurityAlertEmailAsync(string toEmail, string actionDescription);
|
2026-03-12 13:52:33 -03:00
|
|
|
|
|
|
|
|
// 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
|
2026-01-29 13:43:44 -03:00
|
|
|
Task SendPaymentReceiptEmailAsync(string toEmail, string userName, string adTitle, decimal amount, string operationCode);
|
2026-03-12 13:52:33 -03:00
|
|
|
|
|
|
|
|
// Categoría: "mensajes"
|
|
|
|
|
Task SendUnreadMessagesReminderEmailAsync(string toEmail, string userName, int unreadCount, string? unsubscribeUrl = null);
|
2026-01-29 13:43:44 -03:00
|
|
|
}
|