using MediatR;

namespace WhatsAppService.API.Application.Commands;

/// <summary>
/// EN: Command to send a WhatsApp message.
/// VI: Command để gửi tin nhắn WhatsApp.
/// </summary>
public record SendMessageCommand(
    Guid ConversationId,
    string MessageType,
    string? Text,
    string? MediaUrl,
    string? Caption,
    object? Interactive
) : IRequest<SendMessageResult>;

/// <summary>
/// EN: Result of sending a message.
/// VI: Kết quả gửi tin nhắn.
/// </summary>
public record SendMessageResult(
    bool Success,
    Guid? MessageId,
    string? WhatsAppMessageId,
    string? Error);
