Class: TotalVoice::API

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

Overview

Inicializa o HTTP client

Constant Summary collapse

ENDPOINT =
'https://api2.totalvoice.com.br'

Instance Method Summary collapse

Constructor Details

#initialize(access_token, host = nil) ⇒ API

  • Args :

    • Access-Token -> Access-Token TotalVoice

    • host -> Base URL para API



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/client.rb', line 27

def initialize(access_token, host = nil)
  @access_token     = access_token
  @host             = host ? host : ENDPOINT
  @options = {
    headers: {
      "Access-Token" => @access_token,
      "Accept" => "application/json"
    }
  }

  @audio = nil
  @chamada = nil
  @conta = nil
  @composto = nil
  @conferencia = nil
  @did = nil
  @perfil = nil
  @ramal = nil
  @sms = nil
  @tts = nil
  @ura = nil
  @webphone = nil
end

Instance Method Details

#audioObject



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

def audio
    @audio ||= Audio.new self
end

#chamadaObject



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

def chamada
    @chamada ||= Chamada.new self
end

#compostoObject



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

def composto
    @composto ||= Composto.new self
end

#conferenciaObject



63
64
65
# File 'lib/client.rb', line 63

def conferencia
    @conferencia ||= Conferencia.new self
end

#contaObject



67
68
69
# File 'lib/client.rb', line 67

def conta
    @conta ||= Conta.new self
end

#delete(route) ⇒ json

DELETE HTTP Method

Parameters:

Returns:



152
153
154
# File 'lib/client.rb', line 152

def delete(route)
  self.class.delete(@host + route.build(), @options);
end

#didObject



71
72
73
# File 'lib/client.rb', line 71

def did
    @did ||= Did.new self
end

#get(route, query = nil) ⇒ json

GET HTTP Method

Parameters:

  • (defaults to: nil)

Returns:



106
107
108
109
110
111
112
113
114
# File 'lib/client.rb', line 106

def get(route, query = nil)

  url = @host + route.build()
  if(query.instance_of?(Query))
    url = url + query.to_query()
  end

  self.class.get(url, @options);
end

#perfilObject



75
76
77
# File 'lib/client.rb', line 75

def perfil
    @perfil ||= Perfil.new self
end

#post(route, params) ⇒ json

POST HTTP Method

Parameters:

Returns:



123
124
125
126
127
128
129
# File 'lib/client.rb', line 123

def post(route, params)
  data = {
    body: params
  }
  @options.merge!(data)
  self.class.post(@host + route.build(), @options);
end

#put(route, params) ⇒ json

PUT HTTP Method

Parameters:

Returns:



138
139
140
141
142
143
144
# File 'lib/client.rb', line 138

def put(route, params)
  data = {
    body: params
  }
  @options.merge!(data)
  self.class.put(@host + route.build(), @options);
end

#ramalObject



79
80
81
# File 'lib/client.rb', line 79

def ramal
    @ramal ||= Ramal.new self
end

#smsObject



83
84
85
# File 'lib/client.rb', line 83

def sms
    @sms ||= Sms.new self
end

#ttsObject



87
88
89
# File 'lib/client.rb', line 87

def tts
    @tts ||= Tts.new self
end

#uraObject



91
92
93
# File 'lib/client.rb', line 91

def ura
    @ura ||= Ura.new self
end

#webphoneObject



95
96
97
# File 'lib/client.rb', line 95

def webphone
    @webphone ||= Webphone.new self
end