Class: SmsAeroApi::SmsAero
- Inherits:
-
Object
- Object
- SmsAeroApi::SmsAero
- Defined in:
- lib/smsaero_api.rb
Constant Summary collapse
- GATE_URLS =
[ '@gate.smsaero.ru/v2/', '@gate.smsaero.org/v2/', '@gate.smsaero.net/v2/', ]
- SIGNATURE =
'SMS Aero'- TYPE_SEND =
2
Instance Method Summary collapse
- #add_balance(_sum, card_id) ⇒ Object
- #auth ⇒ Object
- #balance ⇒ Object
- #blacklist_add(number) ⇒ Object
- #blacklist_delete(blacklist_id) ⇒ Object
- #blacklist_list(number = nil, page = nil) ⇒ Object
- #cards ⇒ Object
- #contact_add(number, group_id = nil, birthday = nil, sex = nil, lname = nil, fname = nil, sname = nil, param1 = nil, param2 = nil, param3 = nil) ⇒ Object
- #contact_delete(contact_id) ⇒ Object
- #contact_list(number = nil, group_id = nil, birthday = nil, sex = nil, operator = nil, lname = nil, fname = nil, sname = nil, page = nil) ⇒ Object
- #group_add(name) ⇒ Object
- #group_delete(group_id) ⇒ Object
- #group_list(page = nil) ⇒ Object
- #hlr_check(number) ⇒ Object
- #hlr_status(hlr_id) ⇒ Object
-
#initialize(email, api_key, url_gate: nil, signature: SIGNATURE, type_send: TYPE_SEND) ⇒ SmsAero
constructor
A new instance of SmsAero.
- #number_operator(number) ⇒ Object
- #send(number, text, date_send = nil, callback_url = nil) ⇒ Object
- #send_telegram(number, code, sign = nil, text = nil) ⇒ Object
- #sign_list(page = nil) ⇒ Object
- #sms_list(number = nil, text = nil, page = nil) ⇒ Object
- #sms_status(sms_id) ⇒ Object
- #tariffs ⇒ Object
- #telegram_status(telegram_id) ⇒ Object
- #viber_list(page = nil) ⇒ Object
- #viber_send(sign, channel, text, number = nil, group_id = nil, image_source = nil, text_button = nil, link_button = nil, date_send = nil, sign_sms = nil, channel_sms = nil, text_sms = nil, price_sms = nil) ⇒ Object
- #viber_sign_list ⇒ Object
Constructor Details
#initialize(email, api_key, url_gate: nil, signature: SIGNATURE, type_send: TYPE_SEND) ⇒ SmsAero
Returns a new instance of SmsAero.
28 29 30 31 32 33 34 35 |
# File 'lib/smsaero_api.rb', line 28 def initialize(email, api_key, url_gate: nil, signature: SIGNATURE, type_send: TYPE_SEND) @session = Net::HTTP @uri = URI(url_gate || GATE_URLS.first) @email = email @api_key = api_key @signature = signature @type_send = type_send end |
Instance Method Details
#add_balance(_sum, card_id) ⇒ Object
101 102 103 |
# File 'lib/smsaero_api.rb', line 101 def add_balance(_sum, card_id) request('balance/add', { 'sum' => _sum, 'cardId' => card_id }) end |
#auth ⇒ Object
93 94 95 |
# File 'lib/smsaero_api.rb', line 93 def auth request('auth') end |
#balance ⇒ Object
89 90 91 |
# File 'lib/smsaero_api.rb', line 89 def balance request('balance') end |
#blacklist_add(number) ⇒ Object
157 158 159 160 |
# File 'lib/smsaero_api.rb', line 157 def blacklist_add(number) num, number = get_num(number) request('blacklist/add', { num => number }) end |
#blacklist_delete(blacklist_id) ⇒ Object
167 168 169 |
# File 'lib/smsaero_api.rb', line 167 def blacklist_delete(blacklist_id) request('blacklist/delete', { 'id' => blacklist_id.to_i }) end |
#blacklist_list(number = nil, page = nil) ⇒ Object
162 163 164 165 |
# File 'lib/smsaero_api.rb', line 162 def blacklist_list(number = nil, page = nil) data = number && { 'number' => number.to_s } request('blacklist/list', data, page) end |
#cards ⇒ Object
97 98 99 |
# File 'lib/smsaero_api.rb', line 97 def cards request('cards') end |
#contact_add(number, group_id = nil, birthday = nil, sex = nil, lname = nil, fname = nil, sname = nil, param1 = nil, param2 = nil, param3 = nil) ⇒ Object
125 126 127 128 129 130 131 132 133 134 135 136 137 138 |
# File 'lib/smsaero_api.rb', line 125 def contact_add(number, group_id = nil, birthday = nil, sex = nil, lname = nil, fname = nil, sname = nil, param1 = nil, param2 = nil, param3 = nil) request('contact/add', { 'number' => number.to_s, 'groupId' => group_id, 'birthday' => birthday, 'sex' => sex, 'lname' => lname, 'fname' => fname, 'sname' => sname, 'param1' => param1, 'param2' => param2, 'param3' => param3 }) end |
#contact_delete(contact_id) ⇒ Object
140 141 142 |
# File 'lib/smsaero_api.rb', line 140 def contact_delete(contact_id) request('contact/delete', { 'id' => contact_id }) end |
#contact_list(number = nil, group_id = nil, birthday = nil, sex = nil, operator = nil, lname = nil, fname = nil, sname = nil, page = nil) ⇒ Object
144 145 146 147 148 149 150 151 152 153 154 155 |
# File 'lib/smsaero_api.rb', line 144 def contact_list(number = nil, group_id = nil, birthday = nil, sex = nil, operator = nil, lname = nil, fname = nil, sname = nil, page = nil) request('contact/list', { 'number' => number && number.to_s, 'groupId' => group_id, 'birthday' => birthday, 'sex' => sex, 'operator' => operator, 'lname' => lname, 'fname' => fname, 'sname' => sname }, page) end |
#group_add(name) ⇒ Object
113 114 115 |
# File 'lib/smsaero_api.rb', line 113 def group_add(name) request('group/add', { 'name' => name }) end |
#group_delete(group_id) ⇒ Object
117 118 119 |
# File 'lib/smsaero_api.rb', line 117 def group_delete(group_id) request('group/delete', { 'id' => group_id }) end |
#group_list(page = nil) ⇒ Object
121 122 123 |
# File 'lib/smsaero_api.rb', line 121 def group_list(page = nil) request('group/list', nil, page) end |
#hlr_check(number) ⇒ Object
171 172 173 174 |
# File 'lib/smsaero_api.rb', line 171 def hlr_check(number) num, number = get_num(number) request('hlr/check', { num => number }) end |
#hlr_status(hlr_id) ⇒ Object
176 177 178 |
# File 'lib/smsaero_api.rb', line 176 def hlr_status(hlr_id) request('hlr/status', { 'id' => hlr_id.to_i }) end |
#number_operator(number) ⇒ Object
180 181 182 183 |
# File 'lib/smsaero_api.rb', line 180 def number_operator(number) num, number = get_num(number) request('number/operator', { num => number }) end |
#send(number, text, date_send = nil, callback_url = nil) ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/smsaero_api.rb', line 37 def send(number, text, date_send = nil, callback_url = nil) num, number = get_num(number) data = { num => number, 'sign' => @signature, 'text' => text, 'callbackUrl' => callback_url } if !date_send.nil? if date_send.is_a?(Time) data['dateSend'] = date_send.to_i else raise SmsAeroError, 'param `date` is not a Time object' end end request('sms/send', data) end |
#send_telegram(number, code, sign = nil, text = nil) ⇒ Object
61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/smsaero_api.rb', line 61 def send_telegram(number, code, sign = nil, text = nil) num, number = get_num(number) data = { num => number, 'code' => code.to_i } data['sign'] = sign if sign data['text'] = text if text request('telegram/send', data) end |
#sign_list(page = nil) ⇒ Object
109 110 111 |
# File 'lib/smsaero_api.rb', line 109 def sign_list(page = nil) request('sign/list', nil, page) end |
#sms_list(number = nil, text = nil, page = nil) ⇒ Object
78 79 80 81 82 83 84 85 86 87 |
# File 'lib/smsaero_api.rb', line 78 def sms_list(number = nil, text = nil, page = nil) data = {} if number data['number'] = number.to_s end if text data['text'] = text end request('sms/list', data, page) end |
#sms_status(sms_id) ⇒ Object
57 58 59 |
# File 'lib/smsaero_api.rb', line 57 def sms_status(sms_id) request('sms/status', { 'id' => sms_id }) end |
#tariffs ⇒ Object
105 106 107 |
# File 'lib/smsaero_api.rb', line 105 def tariffs request('tariffs') end |
#telegram_status(telegram_id) ⇒ Object
74 75 76 |
# File 'lib/smsaero_api.rb', line 74 def telegram_status(telegram_id) request('telegram/status', { 'id' => telegram_id.to_i }) end |
#viber_list(page = nil) ⇒ Object
208 209 210 |
# File 'lib/smsaero_api.rb', line 208 def viber_list(page = nil) request('viber/list', nil, page) end |
#viber_send(sign, channel, text, number = nil, group_id = nil, image_source = nil, text_button = nil, link_button = nil, date_send = nil, sign_sms = nil, channel_sms = nil, text_sms = nil, price_sms = nil) ⇒ Object
185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 |
# File 'lib/smsaero_api.rb', line 185 def viber_send(sign, channel, text, number = nil, group_id = nil, image_source = nil, = nil, = nil, date_send = nil, sign_sms = nil, channel_sms = nil, text_sms = nil, price_sms = nil) num, number = get_num(number) request('viber/send', { num => number, 'groupId' => group_id && group_id.to_i, 'sign' => sign && sign.to_s, 'channel' => channel && channel.to_s, 'text' => text, 'imageSource' => image_source, 'textButton' => , 'linkButton' => , 'dateSend' => date_send, 'signSms' => sign_sms, 'channelSms' => channel_sms, 'textSms' => text_sms, 'priceSms' => price_sms }) end |
#viber_sign_list ⇒ Object
204 205 206 |
# File 'lib/smsaero_api.rb', line 204 def viber_sign_list request('viber/sign/list') end |