callrail 0.2.6 → 0.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|