marchex 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +54 -2
- data/lib/marchex.rb +36 -4
- data/lib/marchex/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: 0dd04c01da60af405506c24cc747523fdb9a8808
|
4
|
+
data.tar.gz: 4fedaf92eb9ffa1a8db6fd9e063587d191e60030
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6ce053b434135452bbf8a474e9ae5d0d23ca53a3b1b8b85388892181cd6efa5ec86408c687907e3277d0b5d182cbffa76703db5619e30e4c845f74dc7cd6190c
|
7
|
+
data.tar.gz: 54f5ac131288ea78fbca2b9251f027cf1bb99043ef722948fd7f3fa8c08b58a56cf5ec50c837d85bcf243dbe2876c81034c4c8936912b99d49cd64209e323685
|
data/README.md
CHANGED
@@ -44,9 +44,61 @@ Create a connection using your Marchex account email address and password:
|
|
44
44
|
# @testcon.ad_custom_define(acc_id,field_number, field_name, field_type, field_values)
|
45
45
|
Define a custom field for an ad
|
46
46
|
|
47
|
-
# @ad_custom_set(acc_id, campaign_id, field_name, field_value)
|
47
|
+
# @testcon.ad_custom_set(acc_id, campaign_id, field_name, field_value)
|
48
48
|
Set the value of a custom field. For boolean, use yes/no
|
49
49
|
|
50
|
+
# @testcon.call_search(search_options)
|
51
|
+
search_options = {}
|
52
|
+
search_options[:acct_id] Required string. The unique, system-generated account ID of the specified account.
|
53
|
+
|
54
|
+
search_options[:start] Optional (but recommended) strings. The start and end date/time of the search.
|
55
|
+
search_options[:end]
|
56
|
+
|
57
|
+
search_options[:assto] Optional string. The unique, system-generated user ID of the user assigned to the call.
|
58
|
+
|
59
|
+
search_options[:call_boundary] Optional string. Indicates whether to use the start date and time or the end date and time of the call to determine if
|
60
|
+
the call is within the dates and times specified in the start and end parameters.
|
61
|
+
|
62
|
+
search_options[:callerid] Optional string. The caller ID.
|
63
|
+
|
64
|
+
search_options[:cmpid] Optional string. The unique, system-generated campaign ID.
|
65
|
+
|
66
|
+
search_options[:dispo] Optional string. A tag added to call(s) in the call log
|
67
|
+
|
68
|
+
search_options[:dna_class] Optional string. The Call DNA classification of the call. (Conversation, Voicemail, Wrong Number, Hold-Time Abandon, IVR/Voicemail Abandon, Ring Transfer Abandon, Unknown)
|
69
|
+
|
70
|
+
search_options[:exact_times] Optional boolean. Indicates that the start and end parameters contain a datetime value.
|
71
|
+
|
72
|
+
search_options[:extended] Optional string. If not included or false, the response includes only basic information about each call
|
73
|
+
|
74
|
+
search_options[:grpid] Optional string, which can contain up to 16 characters. The unique, system-generated group ID of the ad group
|
75
|
+
for the call.
|
76
|
+
|
77
|
+
search_options[:include_dna] Optional boolean. If not included or false, Call DNA information is not returned in the results
|
78
|
+
|
79
|
+
search_options[:include_spotted_keywords] Optional boolean. If not included or false, the "spotted" keywords are not returned in the results.
|
80
|
+
|
81
|
+
search_options[:keyword] Optional string. The keyword or the Custom URL Parameter (if specified in the dynamic tracking rewrite) asso-
|
82
|
+
ciated with the call.
|
83
|
+
|
84
|
+
search_options[:min_duration_secs] Optional integer. The minimum number of seconds of the call duration
|
85
|
+
|
86
|
+
search_options[:status] Optional string. The status of the call. ANswer, BUSY, CANCEL or HANGUP, CONGESTION, NOANSWER, NOFORWARDS, VOICEMAIL, WINDDOWN
|
87
|
+
|
88
|
+
search_options[:spotted_keywords] Optional object. If specified, only calls containing one or more of the specified call transcription keywords are
|
89
|
+
returned. The spotted_keywords parameter is independent of include_spotted_keywords. agent - Filter the calls based on keywords spoken by the agent. caller - Filter the calls based on keywords spoken by the caller.
|
90
|
+
Example: spotted_keywords = {}
|
91
|
+
spotted_keywords[:agent] = ['keyword1', 'keyword2', 'keyword3']
|
92
|
+
spotted_keywords[:caller] = ['keyword1', 'keyword2', 'keyword']
|
93
|
+
|
94
|
+
search_options[:subacct] Optional boolean. true to search all calls in all client accounts of the specified parent account.
|
95
|
+
|
96
|
+
# @testcon.get_call(call_id)
|
97
|
+
Return details for a single call
|
98
|
+
|
99
|
+
# @testcon.get_call_audio(call_id, audio_format)
|
100
|
+
Gets a Base64-encoded string that contains the audio data of the specified call, in the specified format. (mp3 or wav)
|
101
|
+
|
50
102
|
## Development
|
51
103
|
|
52
104
|
After checking out the repo, run `bin/setup` to install dependencies. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
@@ -55,7 +107,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
|
|
55
107
|
|
56
108
|
## Contributing
|
57
109
|
|
58
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/
|
110
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/mhoskiso/marchex.
|
59
111
|
|
60
112
|
|
61
113
|
## License
|
data/lib/marchex.rb
CHANGED
@@ -10,7 +10,8 @@ require 'rest-client'
|
|
10
10
|
|
11
11
|
module Marchex
|
12
12
|
class Marchexapi
|
13
|
-
|
13
|
+
|
14
|
+
#RestClient.log = 'stdout' #Debugging API calls
|
14
15
|
|
15
16
|
def initialize(u, p)
|
16
17
|
@url = 'https://userapi.voicestar.com/api/jsonrpc/1'
|
@@ -62,9 +63,40 @@ module Marchex
|
|
62
63
|
return response.body["result"]
|
63
64
|
end
|
64
65
|
|
65
|
-
|
66
|
-
|
67
|
-
|
66
|
+
def call_search ( opts = {})
|
67
|
+
search_options = {}
|
68
|
+
search_options[:start] = opts[:start] if opts[:start]
|
69
|
+
search_options[:end] = opts[:end] if opts[:end]
|
70
|
+
search_options[:assto] = opts[:assto] if opts[:assto]
|
71
|
+
search_options[:call_boundary] = opts[:call_boundary] if opts[:call_boundary]
|
72
|
+
search_options[:callerid] = opts[:callerid] if opts[:callerid]
|
73
|
+
search_options[:cmpid] = opts[:cmpid] if opts[:cmpid]
|
74
|
+
search_options[:dispo] = opts[:dispo] if opts[:dispo]
|
75
|
+
search_options[:dna_class] = opts[:dna_class] if opts[:dna_class]
|
76
|
+
search_options[:exact_times] = opts[:exact_times] if opts[:exact_times]
|
77
|
+
search_options[:extended] = opts[:extended] if opts[:extended]
|
78
|
+
search_options[:exact_times] = true if opts[:extended] == true
|
79
|
+
search_options[:grpid] = opts[:grpid] if opts[:grpid]
|
80
|
+
search_options[:include_dna] = opts[:include_dna] if opts[:include_dna]
|
81
|
+
search_options[:include_spotted_keywords] = opts[:include_spotted_keywords] if opts[:include_spotted_keywords]
|
82
|
+
search_options[:keyword] = opts[:keyword] if opts[:keyword]
|
83
|
+
search_options[:min_duration_secs] = opts[:min_duration_secs] if opts[:min_duration_secs]
|
84
|
+
search_options[:status] = opts[:status] if opts[:status]
|
85
|
+
search_options[:spotted_keywords] = opts[:spotted_keywords] if opts[:spotted_keywords]
|
86
|
+
search_options[:subacct] = opts[:subacct] if opts[:subacct]
|
87
|
+
response = parse_json(RestClient.post(@url, {'jsonrpc' => '2.0', 'id' => '1', 'method' => 'call.search', 'params' => [opts[:acct_id], search_options ]}.to_json, :content_type => 'application/json', :accept => 'application/json', :Authorization => $auth))
|
88
|
+
return response.body["result"]
|
89
|
+
end
|
68
90
|
|
91
|
+
def get_call (call_id)
|
92
|
+
response = parse_json(RestClient.post(@url, {'jsonrpc' => '2.0', 'id' => '1', 'method' => 'call.get', 'params' => [call_id]}.to_json, :content_type => 'application/json', :accept => 'application/json', :Authorization => $auth))
|
93
|
+
return response.body["result"]
|
94
|
+
end
|
69
95
|
|
96
|
+
def get_call_audio(call_id, audio_format)
|
97
|
+
response = parse_json(RestClient.post(@url, {'jsonrpc' => '2.0', 'id' => '1', 'method' => 'call.audio', 'params' => [call_id, audio_format]}.to_json, :content_type => 'application/json', :accept => 'application/json', :Authorization => $auth))
|
98
|
+
return response.body["result"]
|
99
|
+
end
|
70
100
|
|
101
|
+
end
|
102
|
+
end
|
data/lib/marchex/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: marchex
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Hoskison
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-12-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|