def send_sms(options)
      raise ArgumentError, 'an options Hash is required' if !options.instance_of?(Hash)
      raise ArgumentError, ':sender_address is required' if options[:sender_address].nil? && @sender_address.nil?
      raise ArgumentError, ':address is required' if options[:address].nil?
      raise ArgumentError, ':message is required' if options[:message].nil?
      
      options[:sender_address] = options[:sender_address] || @sender_address
      query_options = options.clone
      query_options.delete(:sender_address)
      query_options = camelcase_keys(query_options)

      Response.new self.class.post("/smsmessaging/outbound/#{options[:sender_address]}/requests",
                                   :body       => build_query_string(query_options),
                                   :basic_auth => @auth,
                                   :headers    => SMSIFIED_HTTP_HEADERS)
    end
def send_sms(options)
      raise ArgumentError, 'an options Hash is required' if !options.instance_of?(Hash)
      raise ArgumentError, ':sender_address is required' if options[:sender_address].nil? && @sender_address.nil?
      raise ArgumentError, ':address is required' if options[:address].nil?
      raise ArgumentError, ':message is required' if options[:message].nil?
      
      options[:sender_address] = options[:sender_address] || @sender_address
      query_options = options.clone
      query_options.delete(:sender_address)
      query_options = camelcase_keys(query_options)

      Response.new self.class.post("/smsmessaging/outbound/#{options[:sender_address]}/requests",
                                   :body       => build_query_string(query_options),
                                   :basic_auth => @auth,
                                   :headers    => SMSIFIED_HTTP_HEADERS)
    end
Intantiate a new class to work with OneAPI

 @param [required, Hash] params to create the user
 @option params [required, String] :username username to authenticate with
 @option params [required, String] :password to authenticate with
 @option params [optional, String] :base_uri of an alternative location of SMSified
 @option params [optional, String] :destination_address to use with subscriptions
 @option params [optional, String] :sender_address to use with subscriptions
 @option params [optional, Boolean] :debug to turn on the HTTparty debugging to stdout
 @raise [ArgumentError] if :username is not passed as an option
 @raise [ArgumentError] if :password is not passed as an option
 @example
   one_api = OneAPI.new :username => 'user', :password => '123'

 Send an SMS to one or more addresses

 @param [required, Hash] params to send an sms
 @option params [required, String] :address to send the SMS to
 @option params [required, String] :message to send with the SMS
 @option params [optional, String] :sender_address to use with subscriptions, required if not provided on initialization of OneAPI
 @option params [optional, String] :notify_url to send callbacks to
 @return [Object] A Response Object with http and data instance methods
 @raise [ArgumentError] if :sender_address is not passed as an option when not passed on object creation
 @raise [ArgumentError] if :address is not provided as an option
 @raise [ArgumentError] if :message is not provided as an option
 @example
   one_api.send_sms :address => '14155551212', :message => 'Hi there!', :sender_address => '13035551212'
   one_api.send_sms :address => ['14155551212', '13035551212'], :message => 'Hi there!', :sender_address => '13035551212'