class CallAction::Api

Attributes

api_version[RW]
base_url[RW]
headers[RW]
token[RW]

Public Class Methods

hi() click to toggle source

To test installation

# File lib/call_action/api.rb, line 20
def self.hi
  puts "Hello world!"
end
new(headers = {}) click to toggle source

Initializer

# File lib/call_action/api.rb, line 12
def initialize headers = {}
    @token = CallAction.auth_token
    @api_version =  CallAction.api_version
    @base_url = "https://app.callaction.co/api/"
    @headers = {"Accept" => "application/json", "Content-Type" => "application/json", "X-AUTH-TOKEN" => @token}.merge(headers)
end

Public Instance Methods

activities(contact_id) click to toggle source

To get list of all activities by particular contact specified by unique UUID

# File lib/call_action/api.rb, line 46
def activities contact_id
    url = URI.parse("#{@base_url}#{@api_version}/contacts/#{contact_id}/activity")
    request = Net::HTTP::Get.new(url.request_uri)

      @headers.each {|k, v| request[k] = v }

      response = Net::HTTP.start(url.hostname, url.port, :use_ssl => url.scheme == 'https') do |http|
              http.request(request)
      end        

      JSON.parse(response.body)["activities"].collect {|activity| CallAction::Activity.new activity }
end
channels() click to toggle source

Get list of all channels

# File lib/call_action/api.rb, line 60
def channels
      url = URI.parse("#{@base_url}#{@api_version}/channels")
      request = Net::HTTP::Get.new(url.request_uri)

      @headers.each {|k, v| request[k] = v }

    response = Net::HTTP.start(url.hostname, url.port, :use_ssl => url.scheme == 'https') do |http|
            http.request(request)
      end        

      JSON.parse(response.body)["channels"].collect {|channel| CallAction::Channel.new channel }
end
contacts(start_date=nil, end_date=nil) click to toggle source

To get list of all contacts

# File lib/call_action/api.rb, line 25
def contacts start_date=nil, end_date=nil
    url = URI.parse("#{@base_url}#{@api_version}/contacts")

  params = {}
  params[:start] = start_date if start_date.present?
  params[:end] = end_date if end_date.present?

  path = params.present? ? "#{url.request_uri}?".concat(params.collect { |k,v| "#{k}=#{CGI::escape(v.to_s)}" }.join('&')) : url.request_uri

  request = Net::HTTP::Get.new(path)

  @headers.each {|k, v| request[k] = v }

      response = Net::HTTP.start(url.hostname, url.port, :use_ssl => url.scheme == 'https') do |http|
              http.request(request)
      end        

      JSON.parse(response.body)["contacts"].collect {|contact| CallAction::Contact.new contact }
end
sources() click to toggle source

Get list of all sources

# File lib/call_action/api.rb, line 74
def sources
    url = URI.parse("#{@base_url}#{@api_version}/sources")
      request = Net::HTTP::Get.new(url.request_uri)

      @headers.each {|k, v| request[k] = v }

      response = Net::HTTP.start(url.hostname, url.port, :use_ssl => url.scheme == 'https') do |http|
              http.request(request)
      end        

      JSON.parse(response.body)["sources"].collect {|source| CallAction::Source.new source }
end