class Terasms::Sms
Constants
- ERRORS
Public Instance Methods
balance()
click to toggle source
# File lib/terasms.rb, line 147 def balance result = submit Terasms.config.balance_url, {}, 'POST', 'json', Terasms.config.to_h.slice(:login, :password).to_json result.merge!({"info"=> error(main_status(result)), "status"=>"error"}) if main_status(result) < 0 result end
error(code)
click to toggle source
# File lib/terasms.rb, line 115 def error code ERRORS[code] end
main_status(result)
click to toggle source
# File lib/terasms.rb, line 119 def main_status result result["result"]["status"] rescue -999 end
message_id(result)
click to toggle source
# File lib/terasms.rb, line 127 def message_id result result["result"]["message_infos"].last["id"] rescue -999 end
message_status(result)
click to toggle source
# File lib/terasms.rb, line 123 def message_status result result["result"]["message_infos"].last["status"] rescue -999 end
send(params)
click to toggle source
target, sender, message, cp, mass_push, delimiter, flash, relative_time, relative_time_read, date_schedule, timezone, time_from, time_to, schedule_id, type
# File lib/terasms.rb, line 133 def send params result = submit Terasms.config.url, {}, 'POST', 'json', Terasms.config.to_h.tap{|hs| hs.delete(:url)}.merge(params).to_json if main_status(result) < 0 result.merge!({"info"=> error(main_status(result)), "status"=>"error"}) else if message_status(result) < 0 result.merge!({"info"=> error(message_status(result)), "status"=>"error"}) else result.merge!({"id"=> message_id(result)}) end end result end
status(id)
click to toggle source
# File lib/terasms.rb, line 157 def status id begin raise 'wrong message id' if statuses([id])["result"]["statuses"] == [] {"result"=> "success"}.merge(statuses([id])["result"]["statuses"].last.slice("status", "status_desc")) rescue => error {"result"=> "error", "info" => error.to_s} end end
statuses(array_of_id)
click to toggle source
# File lib/terasms.rb, line 153 def statuses array_of_id submit(Terasms.config.status_url, {}, 'POST', 'json', Terasms.config.to_h.slice(:login, :password, :sign).merge({'message_ids': array_of_id}).to_json) end