zohoho 0.1.2 → 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.
- data/Gemfile +11 -2
- data/Gemfile.lock +16 -7
- data/Rakefile +2 -2
- data/lib/zohoho.rb +2 -1
- data/lib/zohoho/connection.rb +2 -5
- data/lib/zohoho/crm.rb +1 -1
- data/lib/zohoho/recruit.rb +26 -0
- data/spec/connection_spec.rb +1 -1
- data/spec/fixtures/vcr_cassettes/connection/call.yml +170 -115
- data/spec/fixtures/vcr_cassettes/connection/ticket.yml +38 -12
- data/zohoho.gemspec +3 -2
- metadata +3 -1
data/Gemfile
CHANGED
@@ -4,13 +4,22 @@ source "http://rubygems.org"
|
|
4
4
|
# gem "activesupport", ">= 2.3.5"
|
5
5
|
gem 'httparty'
|
6
6
|
gem 'json'
|
7
|
-
gem 'xml-simple'
|
7
|
+
gem 'xml-simple'
|
8
|
+
gem 'nokogiri'
|
8
9
|
|
9
10
|
# Add dependencies to develop your gem here.
|
10
11
|
# Include everything needed to run rake, tests, features, etc.
|
11
|
-
group :development do
|
12
|
+
group :development, :test do
|
13
|
+
gem 'rake'
|
14
|
+
gem 'rdoc'
|
12
15
|
gem "rspec", ">= 0"
|
13
16
|
gem "bundler", "~> 1.0.0"
|
14
17
|
gem "jeweler", "~> 1.6.0"
|
15
18
|
gem "rcov", ">= 0"
|
16
19
|
end
|
20
|
+
|
21
|
+
group :development, :test do
|
22
|
+
gem 'fakeweb'
|
23
|
+
gem 'vcr'
|
24
|
+
gem 'mocha'
|
25
|
+
end
|
data/Gemfile.lock
CHANGED
@@ -3,34 +3,43 @@ GEM
|
|
3
3
|
specs:
|
4
4
|
crack (0.1.8)
|
5
5
|
diff-lcs (1.1.2)
|
6
|
+
fakeweb (1.3.0)
|
6
7
|
git (1.2.5)
|
7
|
-
httparty (0.7.
|
8
|
+
httparty (0.7.8)
|
8
9
|
crack (= 0.1.8)
|
9
|
-
jeweler (1.6.
|
10
|
-
bundler (~> 1.0
|
10
|
+
jeweler (1.6.4)
|
11
|
+
bundler (~> 1.0)
|
11
12
|
git (>= 1.2.5)
|
12
13
|
rake
|
13
|
-
json (1.5.
|
14
|
-
|
14
|
+
json (1.5.3)
|
15
|
+
mocha (0.9.12)
|
16
|
+
rake (0.9.2)
|
15
17
|
rcov (0.9.9)
|
18
|
+
rdoc (3.8)
|
16
19
|
rspec (2.6.0)
|
17
20
|
rspec-core (~> 2.6.0)
|
18
21
|
rspec-expectations (~> 2.6.0)
|
19
22
|
rspec-mocks (~> 2.6.0)
|
20
|
-
rspec-core (2.6.
|
23
|
+
rspec-core (2.6.4)
|
21
24
|
rspec-expectations (2.6.0)
|
22
25
|
diff-lcs (~> 1.1.2)
|
23
26
|
rspec-mocks (2.6.0)
|
24
|
-
|
27
|
+
vcr (1.10.3)
|
28
|
+
xml-simple (1.1.0)
|
25
29
|
|
26
30
|
PLATFORMS
|
27
31
|
ruby
|
28
32
|
|
29
33
|
DEPENDENCIES
|
30
34
|
bundler (~> 1.0.0)
|
35
|
+
fakeweb
|
31
36
|
httparty
|
32
37
|
jeweler (~> 1.6.0)
|
33
38
|
json
|
39
|
+
mocha
|
40
|
+
rake
|
34
41
|
rcov
|
42
|
+
rdoc
|
35
43
|
rspec
|
44
|
+
vcr
|
36
45
|
xml-simple
|
data/Rakefile
CHANGED
data/lib/zohoho.rb
CHANGED
data/lib/zohoho/connection.rb
CHANGED
@@ -10,7 +10,7 @@ module Zohoho
|
|
10
10
|
end
|
11
11
|
|
12
12
|
def ticket_url
|
13
|
-
"https://accounts.zoho.com/login?servicename
|
13
|
+
"https://accounts.zoho.com/login?servicename=#{@service_name}&FROM_AGENT=true&LOGIN_ID=#{@username}&PASSWORD=#{@password}"
|
14
14
|
end
|
15
15
|
|
16
16
|
def api_key
|
@@ -22,10 +22,7 @@ module Zohoho
|
|
22
22
|
end
|
23
23
|
|
24
24
|
def ticket
|
25
|
-
|
26
|
-
url = ticket_url
|
27
|
-
ticket_info = self.class.post(url).parsed_response
|
28
|
-
ticket_info.match(/\sTICKET=(.*)\s/)[1]
|
25
|
+
@ticket = Regexp.last_match(1) if self.class.post(ticket_url).parsed_response =~ /TICKET=(\w+)/
|
29
26
|
end
|
30
27
|
|
31
28
|
def call(entry, api_method, query = {}, http_method = :get)
|
data/lib/zohoho/crm.rb
CHANGED
@@ -0,0 +1,26 @@
|
|
1
|
+
module Zohoho
|
2
|
+
require 'httparty'
|
3
|
+
require 'nokogiri'
|
4
|
+
require 'json'
|
5
|
+
|
6
|
+
class Recruit
|
7
|
+
include HTTParty
|
8
|
+
|
9
|
+
def initialize(username, password, apikey, type = 'json')
|
10
|
+
@type = type
|
11
|
+
@conn = Zohoho::Connection.new 'zohopeople', username, password, apikey
|
12
|
+
end
|
13
|
+
|
14
|
+
def auth_url
|
15
|
+
@conn.ticket_url
|
16
|
+
end
|
17
|
+
|
18
|
+
def candidates_url(type = @type)
|
19
|
+
"http://recruit.zoho.com/ats/private/#{type}/Candidates/getRecords?apikey=#{@conn.api_key}&ticket=#{@conn.ticket}"
|
20
|
+
end
|
21
|
+
|
22
|
+
def get_candidates(conditions = {:toIndex => 200})
|
23
|
+
@type == 'json' ? JSON.parse(self.class.get(candidates_url, conditions)) : Nokogiri::XML.parse(self.class.get(candidates_url, conditions))
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
data/spec/connection_spec.rb
CHANGED
@@ -6,7 +6,7 @@ describe "Zohoho::Connection" do
|
|
6
6
|
@username = 'kentonwhite'
|
7
7
|
@password = 'mopa3lwb'
|
8
8
|
@apikey = 'L-PvsrDNn9EIW2phA3vzp9YuL5REECogkQaMGWeIdlI$'
|
9
|
-
@conn = Zohoho::Connection.new('
|
9
|
+
@conn = Zohoho::Connection.new('ZohoCRM', @username, @password, @apikey)
|
10
10
|
vcr_config 'connection'
|
11
11
|
end
|
12
12
|
it "should create the proper ticket url" do
|
@@ -1,23 +1,23 @@
|
|
1
|
-
---
|
2
|
-
- !ruby/struct:VCR::HTTPInteraction
|
3
|
-
request: !ruby/struct:VCR::Request
|
1
|
+
---
|
2
|
+
- !ruby/struct:VCR::HTTPInteraction
|
3
|
+
request: !ruby/struct:VCR::Request
|
4
4
|
method: :post
|
5
5
|
uri: https://accounts.zoho.com:443/login?servicename=ZohoCRM&FROM_AGENT=true&LOGIN_ID=kentonwhite&PASSWORD=mopa3lwb
|
6
|
-
body:
|
7
|
-
headers:
|
8
|
-
response: !ruby/struct:VCR::Response
|
9
|
-
status: !ruby/struct:VCR::ResponseStatus
|
6
|
+
body:
|
7
|
+
headers:
|
8
|
+
response: !ruby/struct:VCR::Response
|
9
|
+
status: !ruby/struct:VCR::ResponseStatus
|
10
10
|
code: 200
|
11
11
|
message: OK
|
12
|
-
headers:
|
13
|
-
set-cookie:
|
12
|
+
headers:
|
13
|
+
set-cookie:
|
14
14
|
- iamcsr=d6a9b521-243e-44c7-a074-ce8a70318c73; Path=/
|
15
15
|
- JSESSIONID=9318133BF702B481FE84388BA6E4AA66; Path=/; Secure
|
16
|
-
content-type:
|
16
|
+
content-type:
|
17
17
|
- text/html;charset=UTF-8
|
18
|
-
date:
|
18
|
+
date:
|
19
19
|
- Fri, 20 May 2011 15:40:52 GMT
|
20
|
-
server:
|
20
|
+
server:
|
21
21
|
- ZWS
|
22
22
|
body: |
|
23
23
|
#
|
@@ -29,126 +29,126 @@
|
|
29
29
|
RESULT=TRUE
|
30
30
|
|
31
31
|
http_version: "1.1"
|
32
|
-
- !ruby/struct:VCR::HTTPInteraction
|
33
|
-
request: !ruby/struct:VCR::Request
|
32
|
+
- !ruby/struct:VCR::HTTPInteraction
|
33
|
+
request: !ruby/struct:VCR::Request
|
34
34
|
method: :get
|
35
35
|
uri: https://crm.zoho.com:443/crm/private/json/Contacts/getRecords?apikey=&ticket=89433f747b864d4013ee6ba6cc9eda79
|
36
|
-
body:
|
37
|
-
headers:
|
38
|
-
response: !ruby/struct:VCR::Response
|
39
|
-
status: !ruby/struct:VCR::ResponseStatus
|
36
|
+
body:
|
37
|
+
headers:
|
38
|
+
response: !ruby/struct:VCR::Response
|
39
|
+
status: !ruby/struct:VCR::ResponseStatus
|
40
40
|
code: 200
|
41
41
|
message: OK
|
42
|
-
headers:
|
43
|
-
set-cookie:
|
42
|
+
headers:
|
43
|
+
set-cookie:
|
44
44
|
- crmcsr=52a18e42-2fbf-40e6-80d8-cc2ea85d60d7; Path=/
|
45
|
-
pragma:
|
45
|
+
pragma:
|
46
46
|
- no-cache
|
47
|
-
cache-control:
|
47
|
+
cache-control:
|
48
48
|
- no-cache
|
49
|
-
expires:
|
49
|
+
expires:
|
50
50
|
- Thu, 01 Jan 1970 00:00:00 GMT
|
51
|
-
content-type:
|
51
|
+
content-type:
|
52
52
|
- text/plain;charset=utf-8
|
53
|
-
content-length:
|
53
|
+
content-length:
|
54
54
|
- "3295"
|
55
|
-
date:
|
55
|
+
date:
|
56
56
|
- Fri, 20 May 2011 15:44:55 GMT
|
57
|
-
server:
|
57
|
+
server:
|
58
58
|
- "-"
|
59
59
|
body: |
|
60
60
|
{"response":{"result":{"Contacts":{"row":[{"no":"1","FL":[{"content":"384023000000051007","val":"CONTACTID"},{"content":"384023000000042003","val":"SMOWNERID"},{"content":"kentonwhite","val":"Contact Owner"},{"content":"Girih","val":"Last Name"},{"content":"384023000000042003","val":"SMCREATORID"},{"content":"kentonwhite","val":"Created By"},{"content":"384023000000042003","val":"MODIFIEDBY"},{"content":"kentonwhite","val":"Modified By"},{"content":"2011-05-12 14:25:21","val":"Created Time"},{"content":"2011-05-12 14:25:21","val":"Modified Time"},{"content":"false","val":"Email Opt Out"},{"content":"false","val":"Add to QuickBooks"}]},{"no":"2","FL":[{"content":"384023000000051005","val":"CONTACTID"},{"content":"384023000000042003","val":"SMOWNERID"},{"content":"kentonwhite","val":"Contact Owner"},{"content":"George","val":"First Name"},{"content":"Clooney","val":"Last Name"},{"content":"384023000000042003","val":"SMCREATORID"},{"content":"kentonwhite","val":"Created By"},{"content":"384023000000042003","val":"MODIFIEDBY"},{"content":"kentonwhite","val":"Modified By"},{"content":"2011-05-12 14:03:44","val":"Created Time"},{"content":"2011-05-12 14:03:44","val":"Modified Time"},{"content":"false","val":"Email Opt Out"},{"content":"false","val":"Add to QuickBooks"}]},{"no":"3","FL":[{"content":"384023000000048001","val":"CONTACTID"},{"content":"384023000000042003","val":"SMOWNERID"},{"content":"kentonwhite","val":"Contact Owner"},{"content":"Vivek","val":"First Name"},{"content":"Sarin","val":"Last Name"},{"content":"384023000000042003","val":"SMCREATORID"},{"content":"kentonwhite","val":"Created By"},{"content":"384023000000042003","val":"MODIFIEDBY"},{"content":"kentonwhite","val":"Modified By"},{"content":"2011-05-11 20:53:07","val":"Created Time"},{"content":"2011-05-11 20:53:07","val":"Modified Time"},{"content":"false","val":"Email Opt Out"},{"content":"false","val":"Add to QuickBooks"}]},{"no":"4","FL":[{"content":"384023000000047003","val":"CONTACTID"},{"content":"384023000000042003","val":"SMOWNERID"},{"content":"kentonwhite","val":"Contact Owner"},{"content":"John","val":"First Name"},{"content":"White","val":"Last Name"},{"content":"384023000000042003","val":"SMCREATORID"},{"content":"kentonwhite","val":"Created By"},{"content":"384023000000042003","val":"MODIFIEDBY"},{"content":"kentonwhite","val":"Modified By"},{"content":"2011-05-11 13:48:39","val":"Created Time"},{"content":"2011-05-11 13:48:39","val":"Modified Time"},{"content":"false","val":"Email Opt Out"},{"content":"false","val":"Add to QuickBooks"}]},{"no":"5","FL":[{"content":"384023000000045001","val":"CONTACTID"},{"content":"384023000000042003","val":"SMOWNERID"},{"content":"kentonwhite","val":"Contact Owner"},{"content":"Kenton","val":"First Name"},{"content":"White","val":"Last Name"},{"content":"384023000000042003","val":"SMCREATORID"},{"content":"kentonwhite","val":"Created By"},{"content":"384023000000042003","val":"MODIFIEDBY"},{"content":"kentonwhite","val":"Modified By"},{"content":"2011-05-10 20:22:25","val":"Created Time"},{"content":"2011-05-10 20:22:25","val":"Modified Time"},{"content":"false","val":"Email Opt Out"},{"content":"Dr.","val":"Salutation"},{"content":"false","val":"Add to QuickBooks"}]}]}},"uri":"/crm/private/json/Contacts/getRecords"}}
|
61
61
|
|
62
62
|
http_version: "1.1"
|
63
|
-
- !ruby/struct:VCR::HTTPInteraction
|
64
|
-
request: !ruby/struct:VCR::Request
|
63
|
+
- !ruby/struct:VCR::HTTPInteraction
|
64
|
+
request: !ruby/struct:VCR::Request
|
65
65
|
method: :get
|
66
66
|
uri: https://CRM.zoho.com:443/CRM/private/json/Contacts/getRecords?apikey=&ticket=89433f747b864d4013ee6ba6cc9eda79
|
67
|
-
body:
|
68
|
-
headers:
|
69
|
-
response: !ruby/struct:VCR::Response
|
70
|
-
status: !ruby/struct:VCR::ResponseStatus
|
67
|
+
body:
|
68
|
+
headers:
|
69
|
+
response: !ruby/struct:VCR::Response
|
70
|
+
status: !ruby/struct:VCR::ResponseStatus
|
71
71
|
code: 302
|
72
72
|
message: Found
|
73
|
-
headers:
|
74
|
-
set-cookie:
|
73
|
+
headers:
|
74
|
+
set-cookie:
|
75
75
|
- JSESSIONID=0BEF22A4AEE35416C4922DA5068EBC11; Path=/
|
76
76
|
- crmze=0; Path=/
|
77
|
-
location:
|
77
|
+
location:
|
78
78
|
- https://CRM.zoho.com/crm/IAMSecurityError.do?isload=true
|
79
|
-
content-type:
|
79
|
+
content-type:
|
80
80
|
- text/html;charset=UTF-8
|
81
|
-
date:
|
81
|
+
date:
|
82
82
|
- Fri, 20 May 2011 15:53:44 GMT
|
83
|
-
server:
|
83
|
+
server:
|
84
84
|
- "-"
|
85
|
-
p3p:
|
85
|
+
p3p:
|
86
86
|
- CP="CAO PSA OUR"
|
87
|
-
transfer-encoding:
|
87
|
+
transfer-encoding:
|
88
88
|
- chunked
|
89
|
-
body:
|
89
|
+
body:
|
90
90
|
http_version: "1.1"
|
91
|
-
- !ruby/struct:VCR::HTTPInteraction
|
92
|
-
request: !ruby/struct:VCR::Request
|
91
|
+
- !ruby/struct:VCR::HTTPInteraction
|
92
|
+
request: !ruby/struct:VCR::Request
|
93
93
|
method: :get
|
94
94
|
uri: https://CRM.zoho.com:443/crm/IAMSecurityError.do?isload=true
|
95
|
-
body:
|
96
|
-
headers:
|
97
|
-
cookie:
|
95
|
+
body:
|
96
|
+
headers:
|
97
|
+
cookie:
|
98
98
|
- JSESSIONID=0BEF22A4AEE35416C4922DA5068EBC11; Path=/
|
99
|
-
response: !ruby/struct:VCR::Response
|
100
|
-
status: !ruby/struct:VCR::ResponseStatus
|
99
|
+
response: !ruby/struct:VCR::Response
|
100
|
+
status: !ruby/struct:VCR::ResponseStatus
|
101
101
|
code: 302
|
102
102
|
message: Found
|
103
|
-
headers:
|
104
|
-
set-cookie:
|
103
|
+
headers:
|
104
|
+
set-cookie:
|
105
105
|
- crmcsr=56c20bfe-6385-465a-9a74-9af48dc77c1d; Path=/
|
106
106
|
- crmze=0; Path=/
|
107
|
-
pragma:
|
107
|
+
pragma:
|
108
108
|
- no-cache
|
109
|
-
cache-control:
|
109
|
+
cache-control:
|
110
110
|
- no-cache
|
111
|
-
expires:
|
111
|
+
expires:
|
112
112
|
- Thu, 01 Jan 1970 00:00:00 GMT
|
113
|
-
location:
|
113
|
+
location:
|
114
114
|
- https://CRM.zoho.com/crm/login.sas?serviceurl=%2Fcrm%2FIAMSecurityError.do%3Fisload%3Dtrue
|
115
|
-
content-length:
|
115
|
+
content-length:
|
116
116
|
- "0"
|
117
|
-
date:
|
117
|
+
date:
|
118
118
|
- Fri, 20 May 2011 15:53:45 GMT
|
119
|
-
server:
|
119
|
+
server:
|
120
120
|
- "-"
|
121
|
-
p3p:
|
121
|
+
p3p:
|
122
122
|
- CP="CAO PSA OUR"
|
123
|
-
body:
|
123
|
+
body:
|
124
124
|
http_version: "1.1"
|
125
|
-
- !ruby/struct:VCR::HTTPInteraction
|
126
|
-
request: !ruby/struct:VCR::Request
|
125
|
+
- !ruby/struct:VCR::HTTPInteraction
|
126
|
+
request: !ruby/struct:VCR::Request
|
127
127
|
method: :get
|
128
128
|
uri: https://CRM.zoho.com:443/crm/login.sas?serviceurl=%2Fcrm%2FIAMSecurityError.do%3Fisload%3Dtrue
|
129
|
-
body:
|
130
|
-
headers:
|
131
|
-
cookie:
|
129
|
+
body:
|
130
|
+
headers:
|
131
|
+
cookie:
|
132
132
|
- JSESSIONID=0BEF22A4AEE35416C4922DA5068EBC11; Path=/; crmcsr=56c20bfe-6385-465a-9a74-9af48dc77c1d
|
133
|
-
response: !ruby/struct:VCR::Response
|
134
|
-
status: !ruby/struct:VCR::ResponseStatus
|
133
|
+
response: !ruby/struct:VCR::Response
|
134
|
+
status: !ruby/struct:VCR::ResponseStatus
|
135
135
|
code: 301
|
136
136
|
message: Moved Permanently
|
137
|
-
headers:
|
138
|
-
set-cookie:
|
137
|
+
headers:
|
138
|
+
set-cookie:
|
139
139
|
- JSESSIONID=7A6BA37ED8E1DA29B78E16FD31592DAC; Path=/crm
|
140
140
|
- crmze=1; Path=/
|
141
|
-
location:
|
141
|
+
location:
|
142
142
|
- https://www.zoho.com/crm/index.html
|
143
|
-
content-type:
|
143
|
+
content-type:
|
144
144
|
- text/html;charset=UTF-8
|
145
|
-
date:
|
145
|
+
date:
|
146
146
|
- Fri, 20 May 2011 15:53:45 GMT
|
147
|
-
server:
|
147
|
+
server:
|
148
148
|
- "-"
|
149
|
-
p3p:
|
149
|
+
p3p:
|
150
150
|
- CP="CAO PSA OUR"
|
151
|
-
transfer-encoding:
|
151
|
+
transfer-encoding:
|
152
152
|
- chunked
|
153
153
|
body: "\n\n\n\n\n\
|
154
154
|
<!doctype html><html><head><title>On-Demand CRM Software-as-a-Service(SaaS),Free CRM,Customer Relationship Management - Zoho CRM</title><meta http-equiv=\"Content-type\" content=\"text/html;charset=UTF-8\" /><meta name=\"keywords\" content=\"CRM,On-Demand CRM Software-as-a-Service(SaaS),Free CRM,Web-based CRM,Hosted CRM,Customer Relationship Management,CRM API,Sales force automation,Sales Tracking Software,Email Marketing,CRM Plug-in for Microsoft Office,CRM Plug-in for Microsoft Outlook\" /><meta name=\"description\" content=\"On-demand CRM (Customer Relationship Management) services for managing organization-wide sales, marketing, customer support, and orders.\" /><meta name=\"verify-v1\" content=\"mOR4CRGAgTyZTYxaOWwZYvIBJdfnbAtIWy47rz7wzYs=\" ><meta name=\"google-site-verification\" content=\"XzzFQdjeXm1I1dfFTFHVoWA8ZZagAL0nalo2NjuNlMA\" /><link rel=\"SHORTCUT ICON\" href=\"/crm/images/favicon.ico\" /><style type=\"text/css\">body, td, div, li, p, h2, h3, h4{font-family:Arial, Helvetica, sans-serif; margin:0px; padding:0px; font-size:12px;}.tlink{ padding:0px 10px; font-size:13px; color:#ffffff; text-decoration:none;}.tollfree{ font-size:17px; font-weight:bold; color:#f7f7f7; padding:0px 0px 0px 10px;}\n\
|
@@ -312,34 +312,34 @@
|
|
312
312
|
} catch(err) {}\n\
|
313
313
|
</script>\n"
|
314
314
|
http_version: "1.1"
|
315
|
-
- !ruby/struct:VCR::HTTPInteraction
|
316
|
-
request: !ruby/struct:VCR::Request
|
315
|
+
- !ruby/struct:VCR::HTTPInteraction
|
316
|
+
request: !ruby/struct:VCR::Request
|
317
317
|
method: :get
|
318
318
|
uri: https://www.zoho.com:443/crm/index.html
|
319
|
-
body:
|
320
|
-
headers:
|
321
|
-
cookie:
|
319
|
+
body:
|
320
|
+
headers:
|
321
|
+
cookie:
|
322
322
|
- JSESSIONID=7A6BA37ED8E1DA29B78E16FD31592DAC; Path=/; crmcsr=56c20bfe-6385-465a-9a74-9af48dc77c1d
|
323
|
-
response: !ruby/struct:VCR::Response
|
324
|
-
status: !ruby/struct:VCR::ResponseStatus
|
323
|
+
response: !ruby/struct:VCR::Response
|
324
|
+
status: !ruby/struct:VCR::ResponseStatus
|
325
325
|
code: 301
|
326
326
|
message: Moved Permanently
|
327
|
-
headers:
|
328
|
-
date:
|
327
|
+
headers:
|
328
|
+
date:
|
329
329
|
- Fri, 20 May 2011 15:53:46 GMT
|
330
|
-
server:
|
330
|
+
server:
|
331
331
|
- Apache
|
332
|
-
location:
|
332
|
+
location:
|
333
333
|
- https://www.zoho.com/crm/
|
334
|
-
cache-control:
|
334
|
+
cache-control:
|
335
335
|
- max-age=426934
|
336
|
-
expires:
|
336
|
+
expires:
|
337
337
|
- Wed, 25 May 2011 14:29:21 GMT
|
338
|
-
vary:
|
338
|
+
vary:
|
339
339
|
- Accept-Encoding
|
340
|
-
content-length:
|
340
|
+
content-length:
|
341
341
|
- "233"
|
342
|
-
content-type:
|
342
|
+
content-type:
|
343
343
|
- text/html; charset=iso-8859-1
|
344
344
|
body: |
|
345
345
|
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
|
@@ -351,38 +351,38 @@
|
|
351
351
|
</body></html>
|
352
352
|
|
353
353
|
http_version: "1.1"
|
354
|
-
- !ruby/struct:VCR::HTTPInteraction
|
355
|
-
request: !ruby/struct:VCR::Request
|
354
|
+
- !ruby/struct:VCR::HTTPInteraction
|
355
|
+
request: !ruby/struct:VCR::Request
|
356
356
|
method: :get
|
357
357
|
uri: https://www.zoho.com:443/crm/
|
358
|
-
body:
|
359
|
-
headers:
|
360
|
-
cookie:
|
358
|
+
body:
|
359
|
+
headers:
|
360
|
+
cookie:
|
361
361
|
- JSESSIONID=7A6BA37ED8E1DA29B78E16FD31592DAC; Path=/; crmcsr=56c20bfe-6385-465a-9a74-9af48dc77c1d
|
362
|
-
response: !ruby/struct:VCR::Response
|
363
|
-
status: !ruby/struct:VCR::ResponseStatus
|
362
|
+
response: !ruby/struct:VCR::Response
|
363
|
+
status: !ruby/struct:VCR::ResponseStatus
|
364
364
|
code: 200
|
365
365
|
message: OK
|
366
|
-
headers:
|
367
|
-
date:
|
366
|
+
headers:
|
367
|
+
date:
|
368
368
|
- Fri, 20 May 2011 15:53:47 GMT
|
369
|
-
server:
|
369
|
+
server:
|
370
370
|
- Apache
|
371
|
-
last-modified:
|
371
|
+
last-modified:
|
372
372
|
- Wed, 18 May 2011 14:29:21 GMT
|
373
|
-
etag:
|
373
|
+
etag:
|
374
374
|
- "\"7651-4a38db6e4b240\""
|
375
|
-
accept-ranges:
|
375
|
+
accept-ranges:
|
376
376
|
- bytes
|
377
|
-
content-length:
|
377
|
+
content-length:
|
378
378
|
- "30289"
|
379
|
-
cache-control:
|
379
|
+
cache-control:
|
380
380
|
- max-age=426933
|
381
|
-
expires:
|
381
|
+
expires:
|
382
382
|
- Wed, 25 May 2011 14:29:21 GMT
|
383
|
-
vary:
|
383
|
+
vary:
|
384
384
|
- Accept-Encoding
|
385
|
-
content-type:
|
385
|
+
content-type:
|
386
386
|
- text/html; charset=UTF-8
|
387
387
|
body: |-
|
388
388
|
<!doctype html>
|
@@ -539,7 +539,7 @@
|
|
539
539
|
width: 215px;
|
540
540
|
}
|
541
541
|
.scb p {
|
542
|
-
|
542
|
+
|
543
543
|
float: left;
|
544
544
|
line-height: 26px;
|
545
545
|
margin: 0;
|
@@ -633,7 +633,7 @@
|
|
633
633
|
padding-bottom: 6px;
|
634
634
|
}
|
635
635
|
.cs ul {
|
636
|
-
|
636
|
+
|
637
637
|
padding: 15px 5px 0;
|
638
638
|
}
|
639
639
|
.cs li {
|
@@ -1023,7 +1023,7 @@
|
|
1023
1023
|
margin:25px 5px
|
1024
1024
|
}
|
1025
1025
|
</style>
|
1026
|
-
|
1026
|
+
|
1027
1027
|
</head>
|
1028
1028
|
<body>
|
1029
1029
|
<iframe height=0 width=0 frameborder=0 scrolling=no src="https://accounts.zoho.com/login?servicename=ZohoCRM&serviceurl=/crm/ShowHomePage.do"></iframe>
|
@@ -1070,7 +1070,7 @@
|
|
1070
1070
|
</ul>
|
1071
1071
|
<p><a href="/crm/lp/signup.html" title="Sign Up Now!" onClick="_gaq.push(['_trackEvent', 'crm1', 'slideraction', 'saf']);">Sign Up Now!</a></p>
|
1072
1072
|
</div>
|
1073
|
-
</div>
|
1073
|
+
</div>
|
1074
1074
|
<div class="panel">
|
1075
1075
|
<div class="is"> <img src="/crm/images/zohocrm-product-customization.png" width="610" height="347" title="Product Customization" alt="Product Customization" /> </div>
|
1076
1076
|
<div class="cs">
|
@@ -1116,7 +1116,7 @@
|
|
1116
1116
|
<li class="tab4"><a title="Integration with Google Apps" href="#4">Collaboration</a></li>
|
1117
1117
|
</ul>
|
1118
1118
|
</div>
|
1119
|
-
|
1119
|
+
|
1120
1120
|
</div>
|
1121
1121
|
<p class="d">Zoho CRM offers you a complete customer relationship life-cycle management software for managing Sales, Marketing, Customer Support, and Inventory activities in a single system. It is simple to use, yet packed with features for automation, customization, integration, and collaboration that allow you to grow your business and have a 360-degree view of your customer interactions.</p>
|
1122
1122
|
</div>
|
@@ -1303,7 +1303,7 @@
|
|
1303
1303
|
</ul>
|
1304
1304
|
</div>
|
1305
1305
|
</div>
|
1306
|
-
</div>
|
1306
|
+
</div>
|
1307
1307
|
<div class=cop>
|
1308
1308
|
<p>© 2011, ZOHO Corp.<span> Affordable On-demand, Web-based <a href="/crm/">Customer Relationship Management (CRM) Software</a></span><br>
|
1309
1309
|
ZOHO Corporation, 4900 Hopyard Rd, Suite 310, Pleasanton, CA 94588, USA | Support: +1 888 204-3539 | Sales: +1 888-900-9646<br>
|
@@ -1327,3 +1327,58 @@
|
|
1327
1327
|
</body>
|
1328
1328
|
</html>
|
1329
1329
|
http_version: "1.1"
|
1330
|
+
- !ruby/struct:VCR::HTTPInteraction
|
1331
|
+
request: !ruby/struct:VCR::Request
|
1332
|
+
method: :post
|
1333
|
+
uri: https://accounts.zoho.com:443/login?servicename=CRM&FROM_AGENT=true&LOGIN_ID=kentonwhite&PASSWORD=mopa3lwb
|
1334
|
+
body:
|
1335
|
+
headers:
|
1336
|
+
response: !ruby/struct:VCR::Response
|
1337
|
+
status: !ruby/struct:VCR::ResponseStatus
|
1338
|
+
code: 200
|
1339
|
+
message: OK
|
1340
|
+
headers:
|
1341
|
+
set-cookie:
|
1342
|
+
- iamcsr=2405ea38-74f3-47ea-a86b-606e774a1a27; Path=/
|
1343
|
+
- JSESSIONID=6DA68292F17626FA60F2AC6F29D2822C; Path=/; Secure
|
1344
|
+
content-type:
|
1345
|
+
- text/html;charset=UTF-8
|
1346
|
+
content-length:
|
1347
|
+
- "23"
|
1348
|
+
date:
|
1349
|
+
- Mon, 25 Jul 2011 00:14:05 GMT
|
1350
|
+
server:
|
1351
|
+
- ZWS
|
1352
|
+
body: |
|
1353
|
+
CRM not known to IAM.
|
1354
|
+
|
1355
|
+
http_version: "1.1"
|
1356
|
+
- !ruby/struct:VCR::HTTPInteraction
|
1357
|
+
request: !ruby/struct:VCR::Request
|
1358
|
+
method: :get
|
1359
|
+
uri: https://crm.zoho.com:443/crm/private/json/Contacts/getRecords?apikey=L-PvsrDNn9EIW2phA3vzp9YuL5REECogkQaMGWeIdlI%24&ticket=
|
1360
|
+
body:
|
1361
|
+
headers:
|
1362
|
+
response: !ruby/struct:VCR::Response
|
1363
|
+
status: !ruby/struct:VCR::ResponseStatus
|
1364
|
+
code: 500
|
1365
|
+
message: Internal Server Error
|
1366
|
+
headers:
|
1367
|
+
set-cookie:
|
1368
|
+
- JSESSIONID=1F6D7F6E3E9D1862ADF2DC8194D0CB39; Path=/crm
|
1369
|
+
- crmze=0; Path=/
|
1370
|
+
content-type:
|
1371
|
+
- text/html;charset=UTF-8
|
1372
|
+
date:
|
1373
|
+
- Mon, 25 Jul 2011 00:14:07 GMT
|
1374
|
+
server:
|
1375
|
+
- "-"
|
1376
|
+
p3p:
|
1377
|
+
- CP="CAO PSA OUR"
|
1378
|
+
transfer-encoding:
|
1379
|
+
- chunked
|
1380
|
+
strict-transport-security:
|
1381
|
+
- max-age=604800
|
1382
|
+
body: "\n\n \n\n\n\
|
1383
|
+
{\"response\":{\"error\":{\"message\":\"Invalid Ticket Id\",\"code\":\"4834\"}}}\n"
|
1384
|
+
http_version: "1.1"
|
@@ -1,23 +1,23 @@
|
|
1
|
-
---
|
2
|
-
- !ruby/struct:VCR::HTTPInteraction
|
3
|
-
request: !ruby/struct:VCR::Request
|
1
|
+
---
|
2
|
+
- !ruby/struct:VCR::HTTPInteraction
|
3
|
+
request: !ruby/struct:VCR::Request
|
4
4
|
method: :post
|
5
5
|
uri: https://accounts.zoho.com:443/login?servicename=ZohoCRM&FROM_AGENT=true&LOGIN_ID=kentonwhite&PASSWORD=mopa3lwb
|
6
|
-
body:
|
7
|
-
headers:
|
8
|
-
response: !ruby/struct:VCR::Response
|
9
|
-
status: !ruby/struct:VCR::ResponseStatus
|
6
|
+
body:
|
7
|
+
headers:
|
8
|
+
response: !ruby/struct:VCR::Response
|
9
|
+
status: !ruby/struct:VCR::ResponseStatus
|
10
10
|
code: 200
|
11
11
|
message: OK
|
12
|
-
headers:
|
13
|
-
set-cookie:
|
12
|
+
headers:
|
13
|
+
set-cookie:
|
14
14
|
- iamcsr=7c8861a5-4f9e-4910-93d8-7351fbe53135; Path=/
|
15
15
|
- JSESSIONID=92F8253FD02CDD40404BAD9B06510277; Path=/; Secure
|
16
|
-
content-type:
|
16
|
+
content-type:
|
17
17
|
- text/html;charset=UTF-8
|
18
|
-
date:
|
18
|
+
date:
|
19
19
|
- Fri, 20 May 2011 15:27:29 GMT
|
20
|
-
server:
|
20
|
+
server:
|
21
21
|
- ZWS
|
22
22
|
body: |
|
23
23
|
#
|
@@ -29,3 +29,29 @@
|
|
29
29
|
RESULT=TRUE
|
30
30
|
|
31
31
|
http_version: "1.1"
|
32
|
+
- !ruby/struct:VCR::HTTPInteraction
|
33
|
+
request: !ruby/struct:VCR::Request
|
34
|
+
method: :post
|
35
|
+
uri: https://accounts.zoho.com:443/login?servicename=CRM&FROM_AGENT=true&LOGIN_ID=kentonwhite&PASSWORD=mopa3lwb
|
36
|
+
body:
|
37
|
+
headers:
|
38
|
+
response: !ruby/struct:VCR::Response
|
39
|
+
status: !ruby/struct:VCR::ResponseStatus
|
40
|
+
code: 200
|
41
|
+
message: OK
|
42
|
+
headers:
|
43
|
+
set-cookie:
|
44
|
+
- iamcsr=9ade9407-b2f3-4875-a295-38b6066c4697; Path=/
|
45
|
+
- JSESSIONID=3F1851AF4857965C6FB3EB768A8D7650; Path=/; Secure
|
46
|
+
content-type:
|
47
|
+
- text/html;charset=UTF-8
|
48
|
+
content-length:
|
49
|
+
- "23"
|
50
|
+
date:
|
51
|
+
- Mon, 25 Jul 2011 00:14:04 GMT
|
52
|
+
server:
|
53
|
+
- ZWS
|
54
|
+
body: |
|
55
|
+
CRM not known to IAM.
|
56
|
+
|
57
|
+
http_version: "1.1"
|
data/zohoho.gemspec
CHANGED
@@ -5,10 +5,10 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{zohoho}
|
8
|
-
s.version = "0.1
|
8
|
+
s.version = "0.2.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
-
s.authors = ["KentonWhite"]
|
11
|
+
s.authors = ["KentonWhite", "Elland"]
|
12
12
|
s.date = %q{2011-05-24}
|
13
13
|
s.description = %q{Simple interface to zoho api}
|
14
14
|
s.email = %q{jkentonwhite@gmail.com}
|
@@ -29,6 +29,7 @@ Gem::Specification.new do |s|
|
|
29
29
|
"lib/zohoho.rb",
|
30
30
|
"lib/zohoho/connection.rb",
|
31
31
|
"lib/zohoho/crm.rb",
|
32
|
+
"lib/zohoho/recruit.rb",
|
32
33
|
"spec/connection_spec.rb",
|
33
34
|
"spec/crm_spec.rb",
|
34
35
|
"spec/fixtures/vcr_cassettes/connection/call.yml",
|
metadata
CHANGED
@@ -2,10 +2,11 @@
|
|
2
2
|
name: zohoho
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.1
|
5
|
+
version: 0.2.1
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- KentonWhite
|
9
|
+
- Elland
|
9
10
|
autorequire:
|
10
11
|
bindir: bin
|
11
12
|
cert_chain: []
|
@@ -112,6 +113,7 @@ files:
|
|
112
113
|
- lib/zohoho.rb
|
113
114
|
- lib/zohoho/connection.rb
|
114
115
|
- lib/zohoho/crm.rb
|
116
|
+
- lib/zohoho/recruit.rb
|
115
117
|
- spec/connection_spec.rb
|
116
118
|
- spec/crm_spec.rb
|
117
119
|
- spec/fixtures/vcr_cassettes/connection/call.yml
|