class TotalVoice::Chamada

Inicializa o HTTP client

Constants

ROTA_CHAMADA

Attributes

client[R]

Public Class Methods

new(client) click to toggle source
# File lib/api/chamada.rb, line 10
def initialize(client)
  @client = client
end

Public Instance Methods

avaliar(id, nota, comentario = nil) click to toggle source

Avalia uma Chamada com nota de 1 a 5

@param [Integer] id @param [String] nota @param [String] comentario @return [json]

# File lib/api/chamada.rb, line 115
def avaliar(id, nota, comentario = nil)
  @client.post(Route.new([ROTA_CHAMADA, id.to_s, 'avaliar']), {
    nota: nota,
    comentario: comentario
  })
end
buscar(id) click to toggle source

Busca as informações do registro da chamada

@param [Integer] id @return [json]

# File lib/api/chamada.rb, line 49
def buscar(id)
  @client.get(Route.new([ROTA_CHAMADA, id.to_s]))
end
download_gravacao(id) click to toggle source

Busca as informações do registro da chamada

@param [Integer] id @return [json]

# File lib/api/chamada.rb, line 59
def download_gravacao(id)
  @client.get(Route.new([ROTA_CHAMADA, id.to_s, 'gravacao']))
end
encerrar(id) click to toggle source

Encerra uma chamada ativa

@param [Integer] id @return [json]

# File lib/api/chamada.rb, line 39
def encerrar(id)
  @client.delete(Route.new([ROTA_CHAMADA, id.to_s]))
end
escutar(id, numero, modo) click to toggle source

(Beta) Escuta uma chamada ativa

@param [Integer] id @param [String] numero @param [Integer] modo @return [json]

# File lib/api/chamada.rb, line 85
def escutar(id, numero, modo)
  @client.post(Route.new([ROTA_CHAMADA, id.to_s, 'escuta']), {
    numero: numero,
    modo: modo
  })
end
ligar(numero_origem, numero_destino, opcoes = {}) click to toggle source

Realiza uma chamada telefônica entre dois números: A e B

@param [String] numero_origem @param [String] numero_destino @param [Hash] opcoes @return [json]

# File lib/api/chamada.rb, line 22
def ligar(numero_origem, numero_destino, opcoes = {})

  data = {
    numero_origem: numero_origem,
    numero_destino: numero_destino
  }
  data.merge!(opcoes)

  @client.post(Route.new([ROTA_CHAMADA]), data)
end
relatorio(data_inicio, data_fim) click to toggle source

Gera relatório de chamadas

@param [DateTime|String] data_inicio @param [DateTime|String] data_fim @return [json]

# File lib/api/chamada.rb, line 70
def relatorio(data_inicio, data_fim)
  @client.get(
    Route.new([ROTA_CHAMADA, 'relatorio']),
    Query.new({ 'data_inicio': Time.parse(data_inicio.to_s).utc, 'data_fim': Time.parse(data_fim.to_s).utc })
  )
end
transferir(id, numero, perna) click to toggle source

(Beta) Faz uma transferência da chamada atual

@param [Integer] id @param [String] numero @param [String] perna @return [json]

# File lib/api/chamada.rb, line 100
def transferir(id, numero, perna)
  @client.post(Route.new([ROTA_CHAMADA, id.to_s, 'transfer']), {
    numero: numero,
    perna: perna
  })
end