callrail 0.2.6 → 0.2.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +45 -0
- data/lib/callrail.rb +46 -6
- data/lib/callrail/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 711be4fe1640adfe3c857a8b4014467fa17d1200
|
4
|
+
data.tar.gz: 0acb033d592e81ce66985dd42476d066822d92c2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1d59d1537dbfe8d723c09a69fccf7fa081749a023b3afe10162b54db789d0c122d4da07778d2c9df1e4e5eeb82ffc2b6e1753a379e0666802e7b4ddd71337f59
|
7
|
+
data.tar.gz: 727f635520ccb319e942ecabff2eb9208d2a29bb84bbc1644f01a1f3e5dc2b040543597a4755d324187c1573181d4a3fcc5a8653422c4d6833ff7385a1729db4
|
data/README.md
CHANGED
@@ -21,6 +21,11 @@ Or install it yourself as:
|
|
21
21
|
$ gem install callrail
|
22
22
|
|
23
23
|
## Usage
|
24
|
+
###### Time options
|
25
|
+
Callrail defaults to last_30_days if a date range isn't specified.
|
26
|
+
opts[:date_range] - Values: recent, today, yesterday, last_7_days, last_30_days, this_month, last_month, all_time
|
27
|
+
opts[:start_date] - ex: “2015-09-05” for all calls after and including September 9, 2015 - “2015-09-05T10:00” for all calls after 10 AM September 5, 2015
|
28
|
+
opts[:end_date] - ex: “2015-10-05” for all calls before and including October 9, 2
|
24
29
|
|
25
30
|
* *Examples of what is currently enabled
|
26
31
|
|
@@ -167,6 +172,46 @@ tracker_options[:source] = {:type => "search", :search_engine => "all", :search_
|
|
167
172
|
tracker_options[:tracker_id] = <tracker_id>
|
168
173
|
puts testcon.update_tracker(tracker_options)
|
169
174
|
|
175
|
+
###### Get Calls
|
176
|
+
Sorting: customer_name, customer_phone_number, duration, start_time, source
|
177
|
+
Filtering: date_range, answer_status, device, direction, lead_status
|
178
|
+
Searching: caller_name, note, source, dialed_number, caller_number, outgoing_number
|
179
|
+
|
180
|
+
```
|
181
|
+
call_options = {}
|
182
|
+
testcon.get_calls(call_options)
|
183
|
+
```
|
184
|
+
|
185
|
+
###### Get a specific call
|
186
|
+
```
|
187
|
+
call_options = {call_id: <call_id>}
|
188
|
+
testcon.get_calls(call_options)
|
189
|
+
```
|
190
|
+
|
191
|
+
###### Update a specific call
|
192
|
+
```
|
193
|
+
call_options = {call_id: <call_id>}
|
194
|
+
call_options[:note] = "Test"
|
195
|
+
testcon.update_call(call_options)
|
196
|
+
```
|
197
|
+
###### Get Calls summary
|
198
|
+
Summary Grouping: source, keywords, campaign, referrer, landing_page, or company
|
199
|
+
Summary Fields: total_calls, missed_calls, answered_calls, first_time_callers, average_duration, formatted_average_duration, leads. Defaults to total_calls
|
200
|
+
```
|
201
|
+
summary_options = {group_by: "campaign"}
|
202
|
+
testcon.get_calls_summary(summary_options)
|
203
|
+
```
|
204
|
+
|
205
|
+
For a time series (grouped by date), set summary_options[:time_series] = true
|
206
|
+
|
207
|
+
|
208
|
+
###### Getting Call recording URL
|
209
|
+
```
|
210
|
+
call_options = {}
|
211
|
+
call_options[:call_id] = >call_id>
|
212
|
+
puts testcon.get_call_recording(call_options)
|
213
|
+
```
|
214
|
+
|
170
215
|
###### Getting Integrations for a company
|
171
216
|
```
|
172
217
|
int_opts = {}
|
data/lib/callrail.rb
CHANGED
@@ -91,12 +91,26 @@ module Callrail
|
|
91
91
|
params[:tracking_number] = opts[:tracking_number] if opts[:tracking_number]
|
92
92
|
#Integration Params
|
93
93
|
params[:config] = opts[:config] if opts[:config]
|
94
|
-
params[:state] = opts[:state] if opts[:state]
|
95
|
-
|
94
|
+
params[:state] = opts[:state] if opts[:state]
|
96
95
|
#Call Params
|
97
96
|
# Sorting: customer_name, customer_phone_number, duration, start_time, source
|
98
97
|
# Filtering: date_range, answer_status, device, direction, lead_status
|
99
98
|
# Searching: caller_name, note, source, dialed_number, caller_number, outgoing_number
|
99
|
+
# Summary Grouping: source, keywords, campaign, referrer, landing_page, or company
|
100
|
+
# Summary Fields: total_calls, missed_calls, answered_calls, first_time_callers, average_duration, formatted_average_duration, leads. Defaults to total_calls
|
101
|
+
params[:tags] = opts[:tags] if opts[:tags]
|
102
|
+
params[:note] = opts[:note] if opts[:note]
|
103
|
+
params[:value] = opts[:value] if opts[:value]
|
104
|
+
params[:lead_status] = opts[:lead_status] if opts[:lead_status]
|
105
|
+
params[:group_by] = opts[:group_by] if opts[:group_by]
|
106
|
+
params[:device] = opts[:device] if opts[:device]
|
107
|
+
params[:min_duration] = opts[:min_duration] if opts[:min_duration]
|
108
|
+
params[:max_duration] = opts[:max_duration] if opts[:max_duration]
|
109
|
+
params[:tracker_ids] = opts[:tracker_ids] if opts[:tracker_ids]
|
110
|
+
params[:direction] = opts[:direction] if opts[:direction]
|
111
|
+
params[:answer_status] = opts[:answer_status] if opts[:answer_status]
|
112
|
+
params[:first_time_callers] = opts[:first_time_callers] if opts[:first_time_callers]
|
113
|
+
params[:agent] = opts[:agent] if opts[:agent]
|
100
114
|
#Text Message Params
|
101
115
|
# Filtering: date_range
|
102
116
|
# Searching: customer_phone_number, customer_name
|
@@ -122,14 +136,14 @@ module Callrail
|
|
122
136
|
return responses.flatten! || responses
|
123
137
|
end
|
124
138
|
|
125
|
-
# Account
|
139
|
+
# Account
|
126
140
|
def get_accounts(opts = {})
|
127
141
|
opts[:path] = (opts[:account_id]) ? "/" + opts[:account_id].to_s + ".json" : ".json"
|
128
142
|
opts[:data] = "accounts" unless opts[:account_id]
|
129
143
|
return get_responses(opts)
|
130
144
|
end
|
131
145
|
|
132
|
-
# Company
|
146
|
+
# Company
|
133
147
|
def get_companies(opts = {})
|
134
148
|
opts[:path] = (opts[:company_id]) ? "/" + @account_id + "/companies/" + opts[:company_id].to_s + ".json" : "/" + @account_id + "/companies.json"
|
135
149
|
opts[:data] = "companies" unless opts[:company_id]
|
@@ -154,7 +168,7 @@ module Callrail
|
|
154
168
|
return parse_json(RestClient.delete(@url+path, :Authorization => @auth))
|
155
169
|
end
|
156
170
|
|
157
|
-
# User
|
171
|
+
# User
|
158
172
|
def get_users( opts={} )
|
159
173
|
opts[:path] = (opts[:user_id]) ? "/" + @account_id + "/users/" + opts[:user_id].to_s + ".json" : "/" + @account_id + "/users.json"
|
160
174
|
opts[:data] = "users" unless opts[:user_id]
|
@@ -173,7 +187,33 @@ module Callrail
|
|
173
187
|
return parse_json(RestClient.put(@url+path, params, :Authorization => @auth))
|
174
188
|
end
|
175
189
|
|
176
|
-
#
|
190
|
+
# Calls
|
191
|
+
def get_calls( opts={} )
|
192
|
+
opts[:path] = (opts[:call_id]) ? "/" + @account_id + "/calls/" + opts[:call_id].to_s + ".json" : "/" + @account_id + "/calls.json"
|
193
|
+
opts[:data] = "calls" unless opts[:call_id]
|
194
|
+
return get_responses(opts)
|
195
|
+
end
|
196
|
+
|
197
|
+
def get_calls_summary( opts={} )
|
198
|
+
opts[:path] = (opts[:time_series] == true) ? "/" + @account_id + "/calls/timeseries.json" : "/" + @account_id + "/calls/summary.json"
|
199
|
+
return get_responses(opts)
|
200
|
+
end
|
201
|
+
|
202
|
+
def update_call(opts = {})
|
203
|
+
params = set_params(opts)
|
204
|
+
path = "/" + @account_id + "/calls/" + opts[:call_id].to_s + ".json"
|
205
|
+
return parse_json(RestClient.put(@url+path, params, :Authorization => @auth))
|
206
|
+
end
|
207
|
+
|
208
|
+
def get_call_recording( opts={} )
|
209
|
+
opts[:path] = "/" + @account_id + "/calls/" + opts[:call_id].to_s + "/recording.json"
|
210
|
+
opts[:data] = "url"
|
211
|
+
return get_responses(opts).first
|
212
|
+
end
|
213
|
+
|
214
|
+
|
215
|
+
|
216
|
+
# Tracker
|
177
217
|
def get_trackers(opts={})
|
178
218
|
opts[:path] = (opts[:tracker_id]) ? "/" + @account_id + "/trackers/" + opts[:tracker_id].to_s + ".json" : "/" + @account_id + "/trackers.json"
|
179
219
|
opts[:data] = "trackers" unless opts[:tracker_id]
|
data/lib/callrail/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: callrail
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Hoskison
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-03-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|