sendBulkSms method

Future<BulkSmsResponse> sendBulkSms(
  1. BulkSmsRequest request
)

Sends bulk SMS via POST /bulk_send.

Implementation

Future<BulkSmsResponse> sendBulkSms(BulkSmsRequest request) async {
  final hasRecipients = (request.to != null && request.to!.isNotEmpty) ||
      (request.personalizedTo != null && request.personalizedTo!.isNotEmpty);

  if (!hasRecipients) {
    throw AfroMessageException(
      'Provide either to or personalizedTo recipients.',
    );
  }

  if (request.personalizedTo == null &&
      (request.message == null || request.message!.isEmpty)) {
    throw AfroMessageException(
      'message is required when not using personalizedTo.',
    );
  }

  final body = request.toJson(
    defaultFrom: config.identifierId,
    defaultSender: config.senderName,
  );

  final json = await _postJson('/bulk_send', body);
  return BulkSmsResponse.fromJson(json);
}