Class: Nexmo::Client
- Inherits:
-
Object
- Object
- Nexmo::Client
- Defined in:
- lib/nexmo.rb
Instance Attribute Summary collapse
-
#key ⇒ Object
Returns the value of attribute key.
-
#secret ⇒ Object
Returns the value of attribute secret.
Instance Method Summary collapse
- #buy_number(params) ⇒ Object
- #cancel_number(params) ⇒ Object
- #check_verification_request(params) ⇒ Object
- #get_account_numbers(params) ⇒ Object
- #get_balance ⇒ Object
- #get_country_pricing(country_code) ⇒ Object
- #get_message(id) ⇒ Object
- #get_message_rejections(params) ⇒ Object
- #get_prefix_pricing(prefix) ⇒ Object
- #get_verification_request(id) ⇒ Object
-
#initialize(options = {}) ⇒ Client
constructor
A new instance of Client.
- #initiate_call(params) ⇒ Object
- #initiate_tts_call(params) ⇒ Object
- #initiate_tts_prompt_call(params) ⇒ Object
- #number_search(country_code, params = {}) ⇒ Object
- #request_number_insight(params) ⇒ Object
- #search_messages(params) ⇒ Object
- #send_2fa_message(params) ⇒ Object
- #send_event_alert_message(params) ⇒ Object
- #send_marketing_message(params) ⇒ Object
- #send_message(params) ⇒ Object
- #send_ussd_prompt_message(params) ⇒ Object
- #send_ussd_push_message(params) ⇒ Object
- #send_verification_request(params) ⇒ Object
- #update_number(params) ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ Client
Returns a new instance of Client.
13 14 15 16 17 18 19 |
# File 'lib/nexmo.rb', line 13 def initialize( = {}) @key = .fetch(:key) { ENV.fetch('NEXMO_API_KEY') } @secret = .fetch(:secret) { ENV.fetch('NEXMO_API_SECRET') } @host = .fetch(:host) { 'rest.nexmo.com' } end |
Instance Attribute Details
#key ⇒ Object
Returns the value of attribute key.
11 12 13 |
# File 'lib/nexmo.rb', line 11 def key @key end |
#secret ⇒ Object
Returns the value of attribute secret.
11 12 13 |
# File 'lib/nexmo.rb', line 11 def secret @secret end |
Instance Method Details
#buy_number(params) ⇒ Object
53 54 55 |
# File 'lib/nexmo.rb', line 53 def buy_number(params) post('/number/buy', params) end |
#cancel_number(params) ⇒ Object
57 58 59 |
# File 'lib/nexmo.rb', line 57 def cancel_number(params) post('/number/cancel', params) end |
#check_verification_request(params) ⇒ Object
113 114 115 |
# File 'lib/nexmo.rb', line 113 def check_verification_request(params) post('https://api.nexmo.com/verify/check/json', params) end |
#get_account_numbers(params) ⇒ Object
45 46 47 |
# File 'lib/nexmo.rb', line 45 def get_account_numbers(params) get('/account/numbers', params) end |
#get_balance ⇒ Object
33 34 35 |
# File 'lib/nexmo.rb', line 33 def get_balance get('/account/get-balance') end |
#get_country_pricing(country_code) ⇒ Object
37 38 39 |
# File 'lib/nexmo.rb', line 37 def get_country_pricing(country_code) get('/account/get-pricing/outbound', {:country => country_code}) end |
#get_message(id) ⇒ Object
65 66 67 |
# File 'lib/nexmo.rb', line 65 def (id) get('/search/message', {:id => id}) end |
#get_message_rejections(params) ⇒ Object
69 70 71 |
# File 'lib/nexmo.rb', line 69 def (params) get('/search/rejections', params) end |
#get_prefix_pricing(prefix) ⇒ Object
41 42 43 |
# File 'lib/nexmo.rb', line 41 def get_prefix_pricing(prefix) get('/account/get-prefix-pricing/outbound', {:prefix => prefix}) end |
#get_verification_request(id) ⇒ Object
117 118 119 |
# File 'lib/nexmo.rb', line 117 def get_verification_request(id) get('https://api.nexmo.com/verify/search/json', :request_id => id) end |
#initiate_call(params) ⇒ Object
97 98 99 |
# File 'lib/nexmo.rb', line 97 def initiate_call(params) post('/call/json', params) end |
#initiate_tts_call(params) ⇒ Object
101 102 103 |
# File 'lib/nexmo.rb', line 101 def initiate_tts_call(params) post('https://api.nexmo.com/tts/json', params) end |
#initiate_tts_prompt_call(params) ⇒ Object
105 106 107 |
# File 'lib/nexmo.rb', line 105 def initiate_tts_prompt_call(params) post('https://api.nexmo.com/tts-prompt/json', params) end |
#number_search(country_code, params = {}) ⇒ Object
49 50 51 |
# File 'lib/nexmo.rb', line 49 def number_search(country_code, params = {}) get('/number/search', {:country => country_code}.merge(params)) end |
#request_number_insight(params) ⇒ Object
121 122 123 |
# File 'lib/nexmo.rb', line 121 def request_number_insight(params) post('/ni/json', params) end |
#search_messages(params) ⇒ Object
73 74 75 |
# File 'lib/nexmo.rb', line 73 def (params) get('/search/messages', Hash === params ? params : {:ids => Array(params)}) end |
#send_2fa_message(params) ⇒ Object
85 86 87 |
# File 'lib/nexmo.rb', line 85 def (params) post('/sc/us/2fa/json', params) end |
#send_event_alert_message(params) ⇒ Object
89 90 91 |
# File 'lib/nexmo.rb', line 89 def (params) post('/sc/us/alert/json', params) end |
#send_marketing_message(params) ⇒ Object
93 94 95 |
# File 'lib/nexmo.rb', line 93 def (params) post('/sc/us/marketing/json', params) end |
#send_message(params) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/nexmo.rb', line 21 def (params) response = post('/sms/json', params) item = response['messages'].first status = item['status'].to_i raise Error, "#{item['error-text']} (status=#{status})" unless status.zero? return item end |
#send_ussd_prompt_message(params) ⇒ Object
81 82 83 |
# File 'lib/nexmo.rb', line 81 def (params) post('/ussd-prompt/json', params) end |
#send_ussd_push_message(params) ⇒ Object
77 78 79 |
# File 'lib/nexmo.rb', line 77 def (params) post('/ussd/json', params) end |
#send_verification_request(params) ⇒ Object
109 110 111 |
# File 'lib/nexmo.rb', line 109 def send_verification_request(params) post('https://api.nexmo.com/verify/json', params) end |
#update_number(params) ⇒ Object
61 62 63 |
# File 'lib/nexmo.rb', line 61 def update_number(params) post('/number/update', params) end |