class Bandwidth::Message

The Messages resource lets you send SMS text messages and view messages that were previously sent or received.

Public Class Methods

create(client, data) click to toggle source

Send text messages @param client [Client] optional client instance to make requests @param data [Hash|Array] options of new message or list of messages @return [Hash] created message or statuses of list of messages @example

message = Message.create(client, {:from=>"from", :to=>"to", :text=>"text"})
statuses = Message.create(client, [{:from=>"from1", :to=>"to1", :text=>"text1"}, {:from=>"from2", :to=>"to2", :text=>"text2"}])
# File lib/bandwidth/message.rb, line 36
def self.create(client, data)
  res = client.make_request(:post, client.concat_user_path(MESSAGE_PATH), data)
  if data.is_a? Array
    res[0].map do |i|
      if i[:result] == "error"
        {:error => StandardError.new(i[:error][:message])}
      else
        items = (i[:location] || '').split('/')
        if items.size < 2 then  {:error =>  StandardError.new('Missing id in the location header')} else {:id => items.last} end
      end
    end
  else
    headers = res[1]
    id = Client.get_id_from_location_header(headers[:location])
    self.get(client, id)
  end
end
get(client, id) click to toggle source

Get information about a message that was sent or received @param client [Client] optional client instance to make requests @param id [String] id of message @return [Hash] message information @example

message = Message.get(client, "id")
# File lib/bandwidth/message.rb, line 13
def self.get(client, id)
  client.make_request(:get, client.concat_user_path("#{MESSAGE_PATH}/#{id}"))[0]
end
list(client, query = nil) click to toggle source

Get a list of previous messages that were sent or received @param client [Client] optional client instance to make requests @param query [Hash] query options @return [Array] list of messages @example

messages = Message.list(client)
# File lib/bandwidth/message.rb, line 24
def self.list(client, query = nil)
  client.make_request(:get, client.concat_user_path(MESSAGE_PATH), query)[0]
end
patch(client, id, data) click to toggle source

Redact the text of a previously sent message @param client [Client] optional client instance to make requests @param id [String] id of message @param data [Hash] data to change @example

Message.patch(client, "id" {:text=>""})
# File lib/bandwidth/message.rb, line 61
def self.patch(client, id, data)
  client.make_request(:patch, client.concat_user_path("#{MESSAGE_PATH}/#{id}"), data)[0]
end