goldshark_gem 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +4 -3
- data/Gemfile.lock +14 -2
- data/README.md +162 -0
- data/goldshark_gem.gemspec +7 -1
- data/lib/goldshark_gem.rb +5 -241
- data/lib/goldshark_gem/ci.rb +38 -0
- data/lib/goldshark_gem/text.rb +67 -0
- data/lib/goldshark_gem/tool.rb +176 -0
- data/test/ci_test.rb +19 -0
- data/test/fixtures/vcr_cassettes/test_channel_intelligence.yml +49 -0
- data/test/fixtures/vcr_cassettes/test_results.yml +687 -0
- data/test/fixtures/vcr_cassettes/test_text.yml +67 -0
- data/{vcr_cassettes → test/fixtures/vcr_cassettes}/test_tool.yml +16 -16
- data/test/helper.rb +1 -0
- data/test/text_test.rb +18 -0
- data/test/tool_test.rb +40 -0
- data/test/vcr_setup.rb +2 -2
- metadata +48 -9
- data/README +0 -124
- data/README.rdoc +0 -124
- data/test/goldshark_gem_test.rb +0 -25
- data/vcr_cassettes/.DS_Store +0 -0
@@ -0,0 +1,67 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://gst.api.igodigital.com/v2_2/7c7a63f6-8bcb-4fee-bc9d-8a2f5e477887/text.json?locale=en
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- ! '*/*'
|
12
|
+
User-Agent:
|
13
|
+
- Ruby
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 200
|
17
|
+
message: OK
|
18
|
+
headers:
|
19
|
+
Content-Type:
|
20
|
+
- application/json;charset=utf-8
|
21
|
+
Date:
|
22
|
+
- Fri, 19 Oct 2012 02:00:41 GMT
|
23
|
+
Server:
|
24
|
+
- Apache/2.2.16 (Amazon)
|
25
|
+
Status:
|
26
|
+
- '200'
|
27
|
+
X-Frame-Options:
|
28
|
+
- sameorigin
|
29
|
+
X-Powered-By:
|
30
|
+
- Phusion Passenger (mod_rails/mod_rack) 3.0.9
|
31
|
+
X-Xss-Protection:
|
32
|
+
- 1; mode=block
|
33
|
+
Content-Length:
|
34
|
+
- '3289'
|
35
|
+
Connection:
|
36
|
+
- keep-alive
|
37
|
+
body:
|
38
|
+
encoding: US-ASCII
|
39
|
+
string: ! '[{"locale":"en","text_title":"","text_value":"Search by model number","text_type":"search_label"},{"locale":"en","text_title":"","text_value":"Find
|
40
|
+
shaving heads that match your shaver","text_type":"welcome_header"},{"locale":"en","text_title":"","text_value":"Or
|
41
|
+
take the step by step guide","text_type":"start_header"},{"locale":"en","text_title":"","text_value":"Start
|
42
|
+
the guide","text_type":"start_button_text"},{"locale":"en","text_title":"","text_value":"Search","text_type":"search_button_text"},{"locale":"en","text_title":"","text_value":"Find
|
43
|
+
shaving heads that match your shaver","text_type":"header_text"},{"locale":"en","text_title":"","text_value":"Start
|
44
|
+
new search","text_type":"restart_text"},{"locale":"en","text_title":"","text_value":"Next
|
45
|
+
question","text_type":"next_button_text"},{"locale":"en","text_title":"","text_value":"Previous
|
46
|
+
question","text_type":"previous_button_text"},{"locale":"en","text_title":"","text_value":"Where
|
47
|
+
to find this icon on my shaver?","text_type":"where_to_find_text"},{"locale":"en","text_title":"","text_value":"Recommendation","text_type":"recommendation_text"},{"locale":"en","text_title":"","text_value":"Matching
|
48
|
+
shavers","text_type":"match_heading"},{"locale":"en","text_title":"Buy Now","text_value":"Buy
|
49
|
+
Now","text_type":"buy_now_text"},{"locale":"en","text_title":"","text_value":"View
|
50
|
+
product details ","text_type":"view_details_text"},{"locale":"en","text_title":"","text_value":"Download
|
51
|
+
leaflet","text_type":"view_leaflet_text"},{"locale":"en","text_title":"","text_value":"Print
|
52
|
+
advice","text_type":"print_text"},{"locale":"en","text_title":"","text_value":"Register
|
53
|
+
to receive a reminder","text_type":"replacement_advice"},{"locale":"en","text_title":"","text_value":"Receive
|
54
|
+
reminder","text_type":"reminder_text"},{"locale":"en","text_title":"","text_value":"Recommended
|
55
|
+
shaver head","text_type":"recommended_shaver_text"},{"locale":"en","text_title":"","text_value":"How
|
56
|
+
to replace your shaver head","text_type":"how_to_replace_text"},{"locale":"en","text_title":"","text_value":"shaving
|
57
|
+
heads","text_type":"shaving_heads"},{"locale":"en","text_title":"","text_value":"Where
|
58
|
+
can I find my model number?","text_type":"where_to_find_model_text"},{"locale":"en","text_title":"","text_value":"Sorry,
|
59
|
+
we found no results for","text_type":"keyword_results_error"},{"locale":"en","text_title":"","text_value":"If
|
60
|
+
you want to try again please check your model number","text_type":"try_search_again_text"},{"locale":"en","text_title":"","text_value":"results
|
61
|
+
for","text_type":"keyword_results"},{"locale":"en","text_title":"","text_value":"Please
|
62
|
+
check your model number or","text_type":"check_model_text"},{"locale":"en","text_title":"","text_value":"results","text_type":"results_text"},{"locale":"en","text_title":"","text_value":"series","text_type":"series_text"},{"locale":"en","text_title":"","text_value":"We
|
63
|
+
cannot offer a package with 2 heads. This package is compatible.","text_type":"no_compatible_text"},{"locale":"en","text_title":"","text_value":"results
|
64
|
+
so far","text_type":"search_results_text"},{"locale":"en","text_title":"","text_value":"Showing","text_type":"showing_text"},{"locale":"en","text_title":"","text_value":"https://pnregistration.harte-hanks.com/Registration.aspx","text_type":"registration_url"}]'
|
65
|
+
http_version:
|
66
|
+
recorded_at: Fri, 19 Oct 2012 02:00:41 GMT
|
67
|
+
recorded_with: VCR 2.2.5
|
@@ -7,33 +7,33 @@ http_interactions:
|
|
7
7
|
encoding: US-ASCII
|
8
8
|
string: ''
|
9
9
|
headers:
|
10
|
-
|
10
|
+
Accept:
|
11
11
|
- ! '*/*'
|
12
|
-
|
12
|
+
User-Agent:
|
13
13
|
- Ruby
|
14
14
|
response:
|
15
15
|
status:
|
16
16
|
code: 200
|
17
17
|
message: OK
|
18
18
|
headers:
|
19
|
-
|
19
|
+
Content-Type:
|
20
20
|
- application/json;charset=utf-8
|
21
|
-
|
22
|
-
- Fri,
|
23
|
-
|
21
|
+
Date:
|
22
|
+
- Fri, 19 Oct 2012 01:58:49 GMT
|
23
|
+
Server:
|
24
24
|
- Apache/2.2.16 (Amazon)
|
25
|
-
|
25
|
+
Status:
|
26
26
|
- '200'
|
27
|
-
|
27
|
+
X-Frame-Options:
|
28
28
|
- sameorigin
|
29
|
-
|
30
|
-
- Phusion Passenger (mod_rails/mod_rack) 3.0.
|
31
|
-
|
29
|
+
X-Powered-By:
|
30
|
+
- Phusion Passenger (mod_rails/mod_rack) 3.0.11
|
31
|
+
X-Xss-Protection:
|
32
32
|
- 1; mode=block
|
33
|
-
|
33
|
+
Content-Length:
|
34
34
|
- '4495'
|
35
|
-
|
36
|
-
-
|
35
|
+
Connection:
|
36
|
+
- keep-alive
|
37
37
|
body:
|
38
38
|
encoding: US-ASCII
|
39
39
|
string: ! '{"tool_name":"This tool is used for monitoring only --- Philips -
|
@@ -63,6 +63,6 @@ http_interactions:
|
|
63
63
|
the back side is green","step_option_notes":"","tool_step_option_id":"419ff79f-14a9-4702-bb05-269b7461e2b4","image_type":"jpg"},{"parent_step_option_name":"Yes,
|
64
64
|
the shaving head is on a ''neck''","parent_tool_step_option_id":"0031fade-61db-458d-a189-cad2db67427e","sort_order":1,"step_option_desc":"HQ56/52
|
65
65
|
","step_option_name":"No, the back side is not green","step_option_notes":"no-image","tool_step_option_id":"29bf4cd7-1504-443f-8541-fee1fe73c921","image_type":"jpg"}]}]}'
|
66
|
-
http_version:
|
67
|
-
recorded_at: Fri,
|
66
|
+
http_version:
|
67
|
+
recorded_at: Fri, 19 Oct 2012 01:58:49 GMT
|
68
68
|
recorded_with: VCR 2.2.5
|
data/test/helper.rb
CHANGED
data/test/text_test.rb
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'helper'
|
2
|
+
require 'minitest/autorun'
|
3
|
+
|
4
|
+
class TestText < MiniTest::Unit::TestCase
|
5
|
+
|
6
|
+
def setup
|
7
|
+
@gstxt = GS::Text.new
|
8
|
+
@gstxt.tool_guid("7c7a63f6-8bcb-4fee-bc9d-8a2f5e477887")
|
9
|
+
@gstxt.locale("en")
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_that_can_find_text
|
13
|
+
VCR.use_cassette('test_text') do
|
14
|
+
@gstxt.load_text
|
15
|
+
assert_equal @gstxt.find('showing_text'), 'Showing'
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
data/test/tool_test.rb
ADDED
@@ -0,0 +1,40 @@
|
|
1
|
+
require 'helper'
|
2
|
+
require 'minitest/autorun'
|
3
|
+
|
4
|
+
class TestTool < MiniTest::Unit::TestCase
|
5
|
+
|
6
|
+
def setup
|
7
|
+
@gs = GS::Tool.new
|
8
|
+
@gs.tool_guid('7c7a63f6-8bcb-4fee-bc9d-8a2f5e477887')
|
9
|
+
@gs.locale('en')
|
10
|
+
@gs.session_id('7c7a63f6-8bcb-4fee-bc9d-8a2f5e477887')
|
11
|
+
@tool_step_option_ids = ['0e1ba264-7ed2-4a85-b9cb-75aa50b2b43c', '1c3d1d63-556d-482d-aaf0-8b3700deb29b', '0031fade-61db-458d-a189-cad2db67427e', '419ff79f-14a9-4702-bb05-269b7461e2b4']
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_that_can_get_right_session
|
15
|
+
VCR.use_cassette('test_tool') do
|
16
|
+
@tool = @gs.get_tool
|
17
|
+
assert_equal '7c7a63f6-8bcb-4fee-bc9d-8a2f5e477887', @tool[:session_id]
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_that_can_update_tool_options
|
22
|
+
VCR.use_cassette('test_tool') do
|
23
|
+
@tool = @gs.get_tool
|
24
|
+
@tool[:steps] = @gs.update_tool_options(@tool, @tool_step_option_ids)
|
25
|
+
options = @tool[:steps].map{|step| step[:selected_options]}.reject{|o| o === ''}
|
26
|
+
assert_equal @tool_step_option_ids, options
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_that_can_return_rank_bigger_than_zero
|
31
|
+
VCR.use_cassette('test_results') do
|
32
|
+
@results = @gs.get_results(@tool_step_option_ids)
|
33
|
+
max_result = @results[:steps][0][:tool_groups].collect{|tg|
|
34
|
+
tg[:rankings].collect{|r| r[:calculated_rank]}
|
35
|
+
}.flatten!.max
|
36
|
+
assert_equal max_result, 2000
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
data/test/vcr_setup.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: goldshark_gem
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,30 +9,69 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
13
|
-
dependencies:
|
12
|
+
date: 2012-10-25 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: activesupport
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ~>
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: 3.2.8
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 3.2.8
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: libxml-ruby
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
38
|
+
type: :runtime
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
14
46
|
description: A gem to interact with iGodigital GoldShark API
|
15
47
|
email:
|
16
48
|
- groselli@igodigital.com
|
17
49
|
executables: []
|
18
50
|
extensions: []
|
19
|
-
extra_rdoc_files:
|
51
|
+
extra_rdoc_files:
|
52
|
+
- README.md
|
20
53
|
files:
|
21
54
|
- .document
|
22
55
|
- .gitignore
|
23
56
|
- Gemfile
|
24
57
|
- Gemfile.lock
|
25
58
|
- LICENSE.txt
|
26
|
-
- README
|
27
|
-
- README.rdoc
|
59
|
+
- README.md
|
28
60
|
- Rakefile
|
29
61
|
- goldshark_gem.gemspec
|
30
62
|
- lib/goldshark_gem.rb
|
31
|
-
-
|
63
|
+
- lib/goldshark_gem/ci.rb
|
64
|
+
- lib/goldshark_gem/text.rb
|
65
|
+
- lib/goldshark_gem/tool.rb
|
66
|
+
- test/ci_test.rb
|
67
|
+
- test/fixtures/vcr_cassettes/test_channel_intelligence.yml
|
68
|
+
- test/fixtures/vcr_cassettes/test_results.yml
|
69
|
+
- test/fixtures/vcr_cassettes/test_text.yml
|
70
|
+
- test/fixtures/vcr_cassettes/test_tool.yml
|
32
71
|
- test/helper.rb
|
72
|
+
- test/text_test.rb
|
73
|
+
- test/tool_test.rb
|
33
74
|
- test/vcr_setup.rb
|
34
|
-
- vcr_cassettes/.DS_Store
|
35
|
-
- vcr_cassettes/test_tool.yml
|
36
75
|
homepage:
|
37
76
|
licenses: []
|
38
77
|
post_install_message:
|
data/README
DELETED
@@ -1,124 +0,0 @@
|
|
1
|
-
= goldshark_gem
|
2
|
-
|
3
|
-
gem install goldshark_gem
|
4
|
-
|
5
|
-
in Gemfile:
|
6
|
-
|
7
|
-
gem 'goldshark_gem'
|
8
|
-
|
9
|
-
Initialization:
|
10
|
-
|
11
|
-
gs = GS::Tool.new(localization)
|
12
|
-
texts = GS::Text.new(localization)
|
13
|
-
|
14
|
-
localization is the parameter key you will need to define in the YAML file. The config file has to be named 'tool_config.yml' and placed in the config folder of the Rails app.
|
15
|
-
|
16
|
-
localization = 'en_us' or 'fridge_finder' or whatever you want it to be
|
17
|
-
|
18
|
-
YAML file Sample (tool_config.yml)
|
19
|
-
|
20
|
-
en_us:
|
21
|
-
tool_guid: '12343252'
|
22
|
-
locale: 'en'
|
23
|
-
api_root: 'http://gst.api.igodigital.com/v2_2' # this option is optional it gsaults to v2_2
|
24
|
-
|
25
|
-
fridge_finder:
|
26
|
-
tool_guid: '3255423'
|
27
|
-
locale: 'en'
|
28
|
-
api_root: 'http://gst.api.igodigital.com/v2_2' # this option is optional it gsaults to v2_2
|
29
|
-
|
30
|
-
|
31
|
-
If the tool_config.yml file is missing or you are not developing in the Rails enveironment. An empty object can be created and the variables can be defined like so:
|
32
|
-
|
33
|
-
gs = GS::Tool.new
|
34
|
-
|
35
|
-
gs.tool_guid('132424324')
|
36
|
-
gs.session_id('92034802')
|
37
|
-
gs.locale('en')
|
38
|
-
gs.url('http://gst.api.igodigital.com/v2_2')
|
39
|
-
|
40
|
-
texts = GS::Text.new
|
41
|
-
|
42
|
-
texts.tool_guid('132424324')
|
43
|
-
texts.locale('en')
|
44
|
-
|
45
|
-
To retrieve the 'gs' object variables just call:
|
46
|
-
|
47
|
-
gs.tool_guid or texts.tool_guid
|
48
|
-
=> '1233242'
|
49
|
-
|
50
|
-
gs.session_id
|
51
|
-
=> '322342'
|
52
|
-
|
53
|
-
gs.locale or texts.locale
|
54
|
-
=> 'en'
|
55
|
-
|
56
|
-
gs.url
|
57
|
-
=> 'http://gst.api.igodigital.com/v2_2'
|
58
|
-
|
59
|
-
|
60
|
-
All calls return hashes with symbolized keys and all product calls return a constant structure for the product object:
|
61
|
-
|
62
|
-
Load and Search a text. After the text object is initialized. The find method returns the value as a string. (The text type is always defined unlike the text name so I picked that param to make the call).
|
63
|
-
|
64
|
-
texts.load_texts
|
65
|
-
|
66
|
-
text.find(text_type)
|
67
|
-
|
68
|
-
Example:
|
69
|
-
|
70
|
-
text.find('buy_now')
|
71
|
-
=> 'Buy Now'
|
72
|
-
|
73
|
-
Grab the tool object with session id if defined, without session id if not defined.
|
74
|
-
|
75
|
-
gs.get_tool
|
76
|
-
|
77
|
-
This call accepts an array of tool step option ids and returns the results tool object.
|
78
|
-
|
79
|
-
gs.get_results(tool_step_option_ids)
|
80
|
-
|
81
|
-
This call accepts one skus or a string of comma separated values of skus and returns a products array.
|
82
|
-
|
83
|
-
gs.get_products_by_skus(skus)
|
84
|
-
|
85
|
-
This call accepts one retailer_product_id or a string of comma separated values of retailer_product_ids and returns a products array.
|
86
|
-
|
87
|
-
gs.get_products_by_product_ids(product_ids)
|
88
|
-
|
89
|
-
This call accepts an attribute name and returns an array of the requested attribute for all products.
|
90
|
-
|
91
|
-
gs.get_attribute_by_name(attribute_name)
|
92
|
-
|
93
|
-
This call will return all products linked to the retailer_product_id listed.
|
94
|
-
|
95
|
-
gs.get_product_links(retailer_product_id)
|
96
|
-
|
97
|
-
This call will return the user data of the gs.session_id. The user_id param is optional.
|
98
|
-
|
99
|
-
gs.get_user_data(user_id)
|
100
|
-
|
101
|
-
This call accepts session_data (it can be anything you want to save). And it save it to the user data.
|
102
|
-
|
103
|
-
gs.save_user_data(session_data, user_id)
|
104
|
-
|
105
|
-
This call records recommendation based on the gs.session_id. You will need to pass the group id and the retailer product list (not optional).
|
106
|
-
|
107
|
-
gs.recs(group_id, retailer_product_list)
|
108
|
-
|
109
|
-
This call will record the event passed on the gs.session_id.
|
110
|
-
|
111
|
-
gs.record_events(event_name)
|
112
|
-
|
113
|
-
This call will record microconversion based on the gs.session_id and the retailer product id passed (param not optional).
|
114
|
-
gs.micro_convert(retailer_product_id)
|
115
|
-
|
116
|
-
== Contributing to goldshark_gem
|
117
|
-
|
118
|
-
Gabriele Roselli
|
119
|
-
|
120
|
-
== Copyright
|
121
|
-
|
122
|
-
Copyright (c) 2012 iGoDigital. See LICENSE.txt for
|
123
|
-
further details.
|
124
|
-
|
data/README.rdoc
DELETED
@@ -1,124 +0,0 @@
|
|
1
|
-
= goldshark_gem
|
2
|
-
|
3
|
-
gem install goldshark_gem
|
4
|
-
|
5
|
-
in Gemfile:
|
6
|
-
|
7
|
-
gem 'goldshark_gem'
|
8
|
-
|
9
|
-
Initialization:
|
10
|
-
|
11
|
-
gs = GS::Tool.new(localization)
|
12
|
-
texts = GS::Text.new(localization)
|
13
|
-
|
14
|
-
localization is the parameter key you will need to define in the YAML file. The config file has to be named 'tool_config.yml' and placed in the config folder of the Rails app.
|
15
|
-
|
16
|
-
localization = 'en_us' or 'fridge_finder' or whatever you want it to be
|
17
|
-
|
18
|
-
YAML file Sample (tool_config.yml)
|
19
|
-
|
20
|
-
en_us:
|
21
|
-
tool_guid: '12343252'
|
22
|
-
locale: 'en'
|
23
|
-
api_root: 'http://gst.api.igodigital.com/v2_2' # this option is optional it gsaults to v2_2
|
24
|
-
|
25
|
-
fridge_finder:
|
26
|
-
tool_guid: '3255423'
|
27
|
-
locale: 'en'
|
28
|
-
api_root: 'http://gst.api.igodigital.com/v2_2' # this option is optional it gsaults to v2_2
|
29
|
-
|
30
|
-
|
31
|
-
If the tool_config.yml file is missing or you are not developing in the Rails enveironment. An empty object can be created and the variables can be defined like so:
|
32
|
-
|
33
|
-
gs = GS::Tool.new
|
34
|
-
|
35
|
-
gs.tool_guid('132424324')
|
36
|
-
gs.session_id('92034802')
|
37
|
-
gs.locale('en')
|
38
|
-
gs.url('http://gst.api.igodigital.com/v2_2')
|
39
|
-
|
40
|
-
texts = GS::Text.new
|
41
|
-
|
42
|
-
texts.tool_guid('132424324')
|
43
|
-
texts.locale('en')
|
44
|
-
|
45
|
-
To retrieve the 'gs' object variables just call:
|
46
|
-
|
47
|
-
gs.tool_guid or texts.tool_guid
|
48
|
-
=> '1233242'
|
49
|
-
|
50
|
-
gs.session_id
|
51
|
-
=> '322342'
|
52
|
-
|
53
|
-
gs.locale or texts.locale
|
54
|
-
=> 'en'
|
55
|
-
|
56
|
-
gs.url
|
57
|
-
=> 'http://gst.api.igodigital.com/v2_2'
|
58
|
-
|
59
|
-
|
60
|
-
All calls return hashes with symbolized keys and all product calls return a constant structure for the product object:
|
61
|
-
|
62
|
-
Load and Search a text. After the text object is initialized. The find method returns the value as a string. (The text type is always defined unlike the text name so I picked that param to make the call).
|
63
|
-
|
64
|
-
texts.load_texts
|
65
|
-
|
66
|
-
text.find(text_type)
|
67
|
-
|
68
|
-
Example:
|
69
|
-
|
70
|
-
text.find('buy_now')
|
71
|
-
=> 'Buy Now'
|
72
|
-
|
73
|
-
Grab the tool object with session id if defined, without session id if not defined.
|
74
|
-
|
75
|
-
gs.get_tool
|
76
|
-
|
77
|
-
This call accepts an array of tool step option ids and returns the results tool object.
|
78
|
-
|
79
|
-
gs.get_results(tool_step_option_ids)
|
80
|
-
|
81
|
-
This call accepts one skus or a string of comma separated values of skus and returns a products array.
|
82
|
-
|
83
|
-
gs.get_products_by_skus(skus)
|
84
|
-
|
85
|
-
This call accepts one retailer_product_id or a string of comma separated values of retailer_product_ids and returns a products array.
|
86
|
-
|
87
|
-
gs.get_products_by_product_ids(product_ids)
|
88
|
-
|
89
|
-
This call accepts an attribute name and returns an array of the requested attribute for all products.
|
90
|
-
|
91
|
-
gs.get_attribute_by_name(attribute_name)
|
92
|
-
|
93
|
-
This call will return all products linked to the retailer_product_id listed.
|
94
|
-
|
95
|
-
gs.get_product_links(retailer_product_id)
|
96
|
-
|
97
|
-
This call will return the user data of the gs.session_id. The user_id param is optional.
|
98
|
-
|
99
|
-
gs.get_user_data(user_id)
|
100
|
-
|
101
|
-
This call accepts session_data (it can be anything you want to save). And it save it to the user data.
|
102
|
-
|
103
|
-
gs.save_user_data(session_data, user_id)
|
104
|
-
|
105
|
-
This call records recommendation based on the gs.session_id. You will need to pass the group id and the retailer product list (not optional).
|
106
|
-
|
107
|
-
gs.recs(group_id, retailer_product_list)
|
108
|
-
|
109
|
-
This call will record the event passed on the gs.session_id.
|
110
|
-
|
111
|
-
gs.record_events(event_name)
|
112
|
-
|
113
|
-
This call will record microconversion based on the gs.session_id and the retailer product id passed (param not optional).
|
114
|
-
gs.micro_convert(retailer_product_id)
|
115
|
-
|
116
|
-
== Contributing to goldshark_gem
|
117
|
-
|
118
|
-
Gabriele Roselli
|
119
|
-
|
120
|
-
== Copyright
|
121
|
-
|
122
|
-
Copyright (c) 2012 iGoDigital. See LICENSE.txt for
|
123
|
-
further details.
|
124
|
-
|