callrail 0.2.0 → 0.2.1
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/Gemfile.lock +1 -1
- data/README.md +39 -1
- data/lib/callrail.rb +33 -3
- data/lib/callrail/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 32be84e443677aff60e60bb350c56f70ef2de42d
|
4
|
+
data.tar.gz: bd8e1ee25df3c9fb056966f267acf3dc1e354f9b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e98b518e973b0e1cb095c2c5ca4e0623fa1ccaa7087352efe97831bb550432b58e8137f539cef4552fc7ecb86cfa7f45323087329859b9e9ac79240eef493b3a
|
7
|
+
data.tar.gz: 94e67d4af52dd4e1dc15ca96f8a519ab6562afbb16c474c772c34ea893d0ca13503b92716223e1560f2520eef659f6eece0fbfd29039f9b20cf3d732cec3a09f
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -85,7 +85,7 @@ testcon.update_company(:company_id => opts[:company_id], :time_zone => opts[:tim
|
|
85
85
|
```
|
86
86
|
opts = {}
|
87
87
|
opts[:company_id] = <company_id>
|
88
|
-
testcon.disable_company(
|
88
|
+
testcon.disable_company(opts)
|
89
89
|
```
|
90
90
|
###### Get Users
|
91
91
|
``` testcon.get_users ```
|
@@ -156,6 +156,44 @@ tracker_options[:whisper_message] = "This is a test number call"
|
|
156
156
|
testcon.create_tracker(tracker_options)
|
157
157
|
```
|
158
158
|
|
159
|
+
###### Getting Integrations for a company
|
160
|
+
```
|
161
|
+
int_opts = {}
|
162
|
+
int_opts[:company_id] = <company_id>
|
163
|
+
testcon.get_integrations(int_opts)
|
164
|
+
```
|
165
|
+
|
166
|
+
###### Getting a specific Integrations
|
167
|
+
```
|
168
|
+
int_opts = {}
|
169
|
+
int_opts[:integration_id] = <integration_id>
|
170
|
+
testcon.get_integrations(int_opts)
|
171
|
+
```
|
172
|
+
###### Creating a Webhook Integration
|
173
|
+
```
|
174
|
+
int_opts = {}
|
175
|
+
int_opts[:company_id] = <company_id>
|
176
|
+
int_opts[:type] = "Webhooks"
|
177
|
+
int_opts[:config] = {:post_call_webhook => ["https://requestb.in"]}
|
178
|
+
testcon.create_integration(int_opts)
|
179
|
+
```
|
180
|
+
|
181
|
+
###### Updating a Webhook Integration
|
182
|
+
```
|
183
|
+
int_opts = {}
|
184
|
+
int_opts[:integration_id] = <integration_id>
|
185
|
+
int_opts[:state] = 'active'
|
186
|
+
int_opts[:config] = {:post_call_webhook => ["https://requestb.in?test=12345"]}
|
187
|
+
testcon.update_integration(int_opts)
|
188
|
+
```
|
189
|
+
|
190
|
+
###### Disabling an Integration
|
191
|
+
```
|
192
|
+
int_opts = {}
|
193
|
+
int_opts[:integration_id] = <integration_id>
|
194
|
+
testcon.disable_integration(int_opts)
|
195
|
+
```
|
196
|
+
|
159
197
|
|
160
198
|
## Development
|
161
199
|
|
data/lib/callrail.rb
CHANGED
@@ -42,8 +42,6 @@ module Callrail
|
|
42
42
|
params[:page] = opts[:page] || 1
|
43
43
|
params[:per_page] = opts[:per_page] || MAX_PAGE_SIZE
|
44
44
|
params[:path] = opts[:path] if opts[:path]
|
45
|
-
params[:total_records] = get_total_records(params) if opts[:path]
|
46
|
-
params[:total_pages] = get_total_pages(params) if opts[:path]
|
47
45
|
#Filters
|
48
46
|
if opts[:filtering]
|
49
47
|
opts[:filtering].each do |filter|
|
@@ -90,6 +88,9 @@ module Callrail
|
|
90
88
|
params[:whisper_message] = opts[:whisper_message] if opts[:whisper_message]
|
91
89
|
params[:sms_enabled] = opts[:sms_enabled] if opts[:sms_enabled]
|
92
90
|
params[:tracking_number] = opts[:tracking_number] if opts[:tracking_number]
|
91
|
+
#Integration Params
|
92
|
+
params[:config] = opts[:config] if opts[:config]
|
93
|
+
params[:state] = opts[:state] if opts[:state]
|
93
94
|
|
94
95
|
#Call Params
|
95
96
|
# Sorting: customer_name, customer_phone_number, duration, start_time, source
|
@@ -98,6 +99,9 @@ module Callrail
|
|
98
99
|
#Text Message Params
|
99
100
|
# Filtering: date_range
|
100
101
|
# Searching: customer_phone_number, customer_name
|
102
|
+
#pagination
|
103
|
+
params[:total_records] = get_total_records(params) if opts[:path]
|
104
|
+
params[:total_pages] = get_total_pages(params) if opts[:path]
|
101
105
|
|
102
106
|
return params
|
103
107
|
end
|
@@ -149,7 +153,7 @@ module Callrail
|
|
149
153
|
|
150
154
|
def update_company(opts = {})
|
151
155
|
params = set_params(opts)
|
152
|
-
path = "/" + @account_id + "/companies/" + opts[:company_id].to_s
|
156
|
+
path = "/" + @account_id + "/companies/" + opts[:company_id].to_s + ".json"
|
153
157
|
response = parse_json(RestClient.put(@url+path, params, :Authorization => @auth))
|
154
158
|
end
|
155
159
|
|
@@ -203,6 +207,32 @@ module Callrail
|
|
203
207
|
path = "/" + @account_id + "/trackers/" + opts[:tracker_id] + ".json"
|
204
208
|
response = parse_json(RestClient.delete(@url+path, :Authorization => @auth))
|
205
209
|
end
|
210
|
+
|
211
|
+
# Integrations
|
212
|
+
def get_integrations(opts ={})
|
213
|
+
opts[:path] = (opts[:integration_id]) ? "/" + @account_id + "/integrations/" + opts[:integration_id].to_s + ".json" : "/" + @account_id + "/integrations.json"
|
214
|
+
opts[:data] = "integrations" unless opts[:integration_id]
|
215
|
+
results = get_responses(opts)
|
216
|
+
return results
|
217
|
+
end
|
218
|
+
|
219
|
+
def create_integration(opts ={})
|
220
|
+
opts[:path] = "/" + @account_id + "/integrations.json"
|
221
|
+
params = set_params(opts)
|
222
|
+
response = parse_json(RestClient.post(@url+opts[:path], params ,:Authorization => @auth))
|
223
|
+
return response
|
224
|
+
end
|
225
|
+
|
226
|
+
def update_integration(opts = {})
|
227
|
+
params = set_params(opts)
|
228
|
+
path = "/" + @account_id + "/integrations/" + opts[:integration_id].to_s + ".json"
|
229
|
+
response = parse_json(RestClient.put(@url+path, params, :Authorization => @auth))
|
230
|
+
end
|
231
|
+
|
232
|
+
def disable_integration(opts={})
|
233
|
+
path = "/" + @account_id + "/integrations/" + opts[:integration_id].to_s + ".json"
|
234
|
+
response = parse_json(RestClient.delete(@url+path, :Authorization => @auth))
|
235
|
+
end
|
206
236
|
|
207
237
|
end
|
208
238
|
end
|
data/lib/callrail/version.rb
CHANGED