sendMessage method

Future<Message?> sendMessage(
  1. String toNumber, [
  2. String message = ''
])

Implementation

Future<Message?> sendMessage(String toNumber, [String message = '']) async {
  final url = NetworkService.instance.url;

  final body = <String, String>{
    'From': Credential.instance.twilioNumber,
    'To': toNumber,
    'Body': message
  };
  final response = await NetworkService.instance.post(url, body);
  if (response != null) {
    final responseMap = json.decode(response.body) as Map<String, dynamic>;

    final status = int.tryParse(responseMap['status'].toString());
    if (status != null && statusInSuccess(status)) {
      throw MessageFailedException(status, responseMap['message'].toString());
    }

    final message = Message.fromJSON(responseMap);
    return message;
  } else {
    throw Exception('Response is null');
  }
}