Class: Sms77::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/sms77/client.rb

Constant Summary collapse

BASE_URI =
'https://gateway.sms77.io'
API_SUFFIX =
'/api/'
API_URI =
"#{BASE_URI}#{API_SUFFIX}"

Instance Method Summary collapse

Constructor Details

#initialize(api_key, conn, sent_with = 'ruby') ⇒ Client

Returns a new instance of Client.



12
13
14
15
16
17
18
19
20
21
22
# File 'lib/sms77/client.rb', line 12

def initialize(api_key, conn, sent_with = 'ruby')
  @api_key = api_key
  @conn = conn
  @sent_with = sent_with

  raise 'missing api_key in config' if !@api_key || @api_key.empty?
  raise 'missing conn in config' unless @conn

  @conn.headers['sentWith'] = @sent_with
  @conn.authorization :Bearer, @api_key
end

Instance Method Details

#analytics(params = {}) ⇒ Object



28
29
30
# File 'lib/sms77/client.rb', line 28

def analytics(params = {})
  get(Sms77::Endpoint::ANALYTICS, params)
end

#balanceObject



32
33
34
# File 'lib/sms77/client.rb', line 32

def balance
  get(Sms77::Endpoint::BALANCE)
end

#contacts(params) ⇒ Object



36
37
38
# File 'lib/sms77/client.rb', line 36

def contacts(params)
  method(params['action'] == ContactsAction::READ ? 'get' : 'post').call(Sms77::Endpoint::CONTACTS, params)
end

#lookup(params) ⇒ Object



40
41
42
# File 'lib/sms77/client.rb', line 40

def lookup(params)
  get(Sms77::Endpoint::LOOKUP, params)
end

#pricing(params = {}) ⇒ Object



44
45
46
# File 'lib/sms77/client.rb', line 44

def pricing(params = {})
  get(Sms77::Endpoint::PRICING, params)
end

#sms(params) ⇒ Object



48
49
50
# File 'lib/sms77/client.rb', line 48

def sms(params)
  post(Sms77::Endpoint::SMS, params)
end

#status(params) ⇒ Object



52
53
54
# File 'lib/sms77/client.rb', line 52

def status(params)
  get(Sms77::Endpoint::STATUS, params)
end

#validate_for_voice(params) ⇒ Object



56
57
58
# File 'lib/sms77/client.rb', line 56

def validate_for_voice(params)
  get(Sms77::Endpoint::VALIDATE_FOR_VOICE, params)
end

#voice(params) ⇒ Object



60
61
62
# File 'lib/sms77/client.rb', line 60

def voice(params)
  post(Sms77::Endpoint::VOICE, params)
end