amazon-product-advertising-api 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/.gitignore +3 -0
- data/EXAMPLE.txt +128 -0
- data/MIT-LICENSE +20 -0
- data/README.rdoc +99 -0
- data/Rakefile +29 -0
- data/VERSION +1 -0
- data/amazon-product-advertising-api.gemspec +53 -0
- data/lib/amazon_product_advertising_api.rb +18 -0
- data/lib/amazon_product_advertising_api/base.rb +22 -0
- data/lib/amazon_product_advertising_api/operations/base.rb +210 -0
- data/lib/amazon_product_advertising_api/operations/browse_node.rb +70 -0
- data/lib/amazon_product_advertising_api/operations/item.rb +155 -0
- data/lib/amazon_product_advertising_api/response_elements.rb +560 -0
- data/lib/amazon_product_advertising_api/support.rb +67 -0
- metadata +87 -0
@@ -0,0 +1,70 @@
|
|
1
|
+
module AmazonProductAdvertisingApi #:nodoc:
|
2
|
+
module Operations #:nodoc:
|
3
|
+
module BrowseNode #:nodoc:
|
4
|
+
|
5
|
+
# A class to represent the BrowseNodeLookup Operation. See AmazonProductAdvertisingApi::Operations::Base::Request for info relating to all Requests.
|
6
|
+
class BrowseNodeLookup < AmazonProductAdvertisingApi::Operations::Base::Request
|
7
|
+
|
8
|
+
REQUEST_PARAMETERS = :browse_node_id, :response_group
|
9
|
+
|
10
|
+
REQUEST_PARAMETERS.each do |param|
|
11
|
+
self.send(:attr_accessor, param)
|
12
|
+
end
|
13
|
+
|
14
|
+
# BrowseNodeLookup only requires a browse_node_id to be specified.
|
15
|
+
def initialize(browse_node_id, region = :uk)
|
16
|
+
super()
|
17
|
+
|
18
|
+
self.browse_node_id = browse_node_id
|
19
|
+
self.operation = "BrowseNodeLookup"
|
20
|
+
self.region = region
|
21
|
+
end
|
22
|
+
|
23
|
+
# BrowseNode methods return xml consisting of a BrowseNodes tag with several BrowseNode tags inside.
|
24
|
+
def parse
|
25
|
+
self.response.add_element("BrowseNodes", AmazonProductAdvertisingApi::Operations::Base::Element.new)
|
26
|
+
|
27
|
+
(self.hpricot_data/'BrowseNodes > BrowseNode').each do |element|
|
28
|
+
new_element = AmazonProductAdvertisingApi::Operations::Base::Element.new
|
29
|
+
self.response.browse_nodes << new_element
|
30
|
+
|
31
|
+
queue = []
|
32
|
+
queue << [new_element, element.containers]
|
33
|
+
|
34
|
+
queue.each do |pair|
|
35
|
+
current_element = pair[0]
|
36
|
+
current_children = pair[1]
|
37
|
+
|
38
|
+
current_children.each do |child|
|
39
|
+
if child.containers.size == 0
|
40
|
+
current_element.add_element(child.name, child.inner_html)
|
41
|
+
else
|
42
|
+
if parent_a_container?(child)
|
43
|
+
new_element = AmazonProductAdvertisingApi::Operations::Base::Element.new
|
44
|
+
current_element << new_element
|
45
|
+
queue << [new_element, child.containers]
|
46
|
+
else
|
47
|
+
new_element = current_element.add_element(child.name, AmazonProductAdvertisingApi::Operations::Base::Element.new)
|
48
|
+
queue << [new_element, child.containers]
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
private
|
57
|
+
# This simply looks at the defined parameters and creates a hash of the ones that have values assigned.
|
58
|
+
# Need to work out a way of doing this so I don't need to keep defining exactly the same method in each class.
|
59
|
+
def params
|
60
|
+
REQUEST_PARAMETERS.inject({}) do |parameters, parameter|
|
61
|
+
parameters[parameter] = eval("self.#{parameter}") unless eval("self.#{parameter}.nil?")
|
62
|
+
parameters
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
end
|
67
|
+
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
@@ -0,0 +1,155 @@
|
|
1
|
+
module AmazonProductAdvertisingApi #:nodoc:
|
2
|
+
module Operations #:nodoc:
|
3
|
+
module Item #:nodoc:
|
4
|
+
|
5
|
+
# Gets mixed into each of the classes in AmazonProductAdvertisingApi::Operations::Item for common behaviours.
|
6
|
+
module Common
|
7
|
+
|
8
|
+
# Item methods return xml consisting of an Items tag with several Item tags inside.
|
9
|
+
def parse
|
10
|
+
self.response.add_element("Items", AmazonProductAdvertisingApi::Operations::Base::Element.new)
|
11
|
+
|
12
|
+
(self.hpricot_data/'Items > Item').each do |element|
|
13
|
+
new_element = AmazonProductAdvertisingApi::Operations::Base::Element.new
|
14
|
+
self.response.items << new_element
|
15
|
+
|
16
|
+
queue = []
|
17
|
+
queue << [new_element, element.containers]
|
18
|
+
|
19
|
+
queue.each do |pair|
|
20
|
+
current_element = pair[0]
|
21
|
+
current_children = pair[1]
|
22
|
+
|
23
|
+
current_children.each do |child|
|
24
|
+
if child.containers.size == 0
|
25
|
+
current_element.add_element(child.name, child.inner_html)
|
26
|
+
else
|
27
|
+
if parent_a_container?(child)
|
28
|
+
new_element = AmazonProductAdvertisingApi::Operations::Base::Element.new
|
29
|
+
current_element << new_element
|
30
|
+
queue << [new_element, child.containers]
|
31
|
+
else
|
32
|
+
new_element = current_element.add_element(child.name, AmazonProductAdvertisingApi::Operations::Base::Element.new)
|
33
|
+
queue << [new_element, child.containers]
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
42
|
+
|
43
|
+
# A class to represent the ItemSearch Operation. See AmazonProductAdvertisingApi::Operations::Base::Request for info relating to all Requests.
|
44
|
+
#
|
45
|
+
# It mixes in AmazonProductAdvertisingApi::Operations::Item::Common for it's parse method.
|
46
|
+
class ItemSearch < AmazonProductAdvertisingApi::Operations::Base::Request
|
47
|
+
|
48
|
+
include Common
|
49
|
+
|
50
|
+
REQUEST_PARAMETERS = :actor, :artist, :audience_rating, :author, :availability, :brand, :browse_node, :city,
|
51
|
+
:composer, :condition, :conductor, :director, :item_page, :keywords, :manufacturer, :maximum_price,
|
52
|
+
:merchant_id, :minimum_price, :neighborhood, :orchestra, :postal_code, :power, :publisher, :related_items_page,
|
53
|
+
:relationship_type, :review_sort, :search_index, :sort, :tag_page, :tags_per_page, :tag_sort, :text_stream, :title,
|
54
|
+
:variation_page, :response_group
|
55
|
+
|
56
|
+
REQUEST_PARAMETERS.each do |param|
|
57
|
+
self.send(:attr_accessor, param)
|
58
|
+
end
|
59
|
+
|
60
|
+
# ItemSearch requires keywords and a search index to be specified.
|
61
|
+
def initialize(keywords, search_index = "Books", region = :uk)
|
62
|
+
super()
|
63
|
+
|
64
|
+
self.keywords = keywords
|
65
|
+
self.search_index = search_index
|
66
|
+
self.operation = "ItemSearch"
|
67
|
+
self.region = region
|
68
|
+
end
|
69
|
+
|
70
|
+
private
|
71
|
+
# This simply looks at the defined parameters and creates a hash of the ones that have values assigned.
|
72
|
+
# Need to work out a way of doing this so I don't need to keep defining exactly the same method in each class.
|
73
|
+
def params
|
74
|
+
REQUEST_PARAMETERS.inject({}) do |parameters, parameter|
|
75
|
+
parameters[parameter] = eval("self.#{parameter}") unless eval("self.#{parameter}.nil?")
|
76
|
+
parameters
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
end
|
81
|
+
|
82
|
+
# A class to represent the ItemLookup Operation. See AmazonProductAdvertisingApi::Operations::Base::Request for info relating to all Requests.
|
83
|
+
#
|
84
|
+
# It mixes in AmazonProductAdvertisingApi::Operations::Item::Common for it's parse method.
|
85
|
+
class ItemLookup < AmazonProductAdvertisingApi::Operations::Base::Request
|
86
|
+
|
87
|
+
include Common
|
88
|
+
|
89
|
+
REQUEST_PARAMETERS = :condition, :id_type, :item_id, :merchant_id, :offer_page, :related_items_page, :relationship_type, :review_page,
|
90
|
+
:review_sort, :search_index, :tag_page, :tags_per_page, :tag_sort, :variation_page, :response_group
|
91
|
+
|
92
|
+
REQUEST_PARAMETERS.each do |param|
|
93
|
+
self.send(:attr_accessor, param)
|
94
|
+
end
|
95
|
+
|
96
|
+
# ItemLookup only requires an item id (ASIN) to be specified.
|
97
|
+
def initialize(item_id, region = :uk)
|
98
|
+
super()
|
99
|
+
|
100
|
+
self.item_id = item_id
|
101
|
+
self.operation = "ItemLookup"
|
102
|
+
self.region = region
|
103
|
+
end
|
104
|
+
|
105
|
+
private
|
106
|
+
# This simply looks at the defined parameters and creates a hash of the ones that have values assigned.
|
107
|
+
# Need to work out a way of doing this so I don't need to keep defining exactly the same method in each class.
|
108
|
+
def params
|
109
|
+
REQUEST_PARAMETERS.inject({}) do |parameters, parameter|
|
110
|
+
parameters[parameter] = eval("self.#{parameter}") unless eval("self.#{parameter}.nil?")
|
111
|
+
parameters
|
112
|
+
end
|
113
|
+
end
|
114
|
+
|
115
|
+
end
|
116
|
+
|
117
|
+
# A class to represent the SimilarityLookup Operation. See AmazonProductAdvertisingApi::Operations::Base::Request for info relating to all Requests.
|
118
|
+
#
|
119
|
+
# Despite not following the same naming convention of other classes in this module, it returns data structured the same way so has been put here.
|
120
|
+
#
|
121
|
+
# It mixes in AmazonProductAdvertisingApi::Operations::Item::Common for it's parse method.
|
122
|
+
class SimilarityLookup < AmazonProductAdvertisingApi::Operations::Base::Request
|
123
|
+
|
124
|
+
include Common
|
125
|
+
|
126
|
+
REQUEST_PARAMETERS = :condition, :item_id, :merchant_id, :similarity_type, :response_group
|
127
|
+
|
128
|
+
REQUEST_PARAMETERS.each do |param|
|
129
|
+
self.send(:attr_accessor, param)
|
130
|
+
end
|
131
|
+
|
132
|
+
# SimilarityLookup only requires an item id (ASIN) to be specified.
|
133
|
+
def initialize(item_id, region = :uk)
|
134
|
+
super()
|
135
|
+
|
136
|
+
self.item_id = item_id
|
137
|
+
self.operation = "SimilarityLookup"
|
138
|
+
self.region = region
|
139
|
+
end
|
140
|
+
|
141
|
+
private
|
142
|
+
# This simply looks at the defined parameters and creates a hash of the ones that have values assigned.
|
143
|
+
# Need to work out a way of doing this so I don't need to keep defining exactly the same method in each class.
|
144
|
+
def params
|
145
|
+
REQUEST_PARAMETERS.inject({}) do |parameters, parameter|
|
146
|
+
parameters[parameter] = eval("self.#{parameter}") unless eval("self.#{parameter}.nil?")
|
147
|
+
parameters
|
148
|
+
end
|
149
|
+
end
|
150
|
+
|
151
|
+
end
|
152
|
+
|
153
|
+
end
|
154
|
+
end
|
155
|
+
end
|
@@ -0,0 +1,560 @@
|
|
1
|
+
module AmazonProductAdvertisingApi #:nodoc:
|
2
|
+
module Operations #:nodoc:
|
3
|
+
module Base #:nodoc:
|
4
|
+
|
5
|
+
# This is a list of all response elements from the API docs dated 2009-03-31.
|
6
|
+
# It is used by the element object so that we can return a nil or an empty elements
|
7
|
+
# if an element is queried for something that isn't in the response.
|
8
|
+
RESPONSE_ELEMENTS = [
|
9
|
+
:about,
|
10
|
+
:about_me,
|
11
|
+
:actor,
|
12
|
+
:additional_name,
|
13
|
+
:address1,
|
14
|
+
:address2,
|
15
|
+
:address3,
|
16
|
+
:alternate_version,
|
17
|
+
:amazon_maximum_age,
|
18
|
+
:amazon_minimum_age,
|
19
|
+
:amount,
|
20
|
+
:aperture_modes,
|
21
|
+
:artist,
|
22
|
+
:asin,
|
23
|
+
:aspect_ratio,
|
24
|
+
:audience_rating,
|
25
|
+
:audio_format,
|
26
|
+
:author,
|
27
|
+
:availability,
|
28
|
+
:availability_attributes,
|
29
|
+
:average_feedback_rating,
|
30
|
+
:average_rating,
|
31
|
+
:back_finding,
|
32
|
+
:band_material_type,
|
33
|
+
:batteries,
|
34
|
+
:batteries_included,
|
35
|
+
:battery_description,
|
36
|
+
:battery_type,
|
37
|
+
:bed_id,
|
38
|
+
:bed_name,
|
39
|
+
:benefit,
|
40
|
+
:benefits,
|
41
|
+
:benefit_type,
|
42
|
+
:benefit_description,
|
43
|
+
:bezel_material_type,
|
44
|
+
:bin,
|
45
|
+
:binding,
|
46
|
+
:bin_item_count,
|
47
|
+
:bin_name,
|
48
|
+
:bin_parameter,
|
49
|
+
:birthday,
|
50
|
+
:body_style_id,
|
51
|
+
:body_style_name,
|
52
|
+
:brake_id,
|
53
|
+
:brake_name,
|
54
|
+
:brand,
|
55
|
+
:browse_node_id,
|
56
|
+
:calendar_type,
|
57
|
+
:camera_manual_features,
|
58
|
+
:cart_id,
|
59
|
+
:cart_item,
|
60
|
+
:cart_item_id,
|
61
|
+
:cart_items,
|
62
|
+
:case_diameter,
|
63
|
+
:case_material_type,
|
64
|
+
:case_thickness,
|
65
|
+
:case_type,
|
66
|
+
:category,
|
67
|
+
:cdrw_description,
|
68
|
+
:chain_type,
|
69
|
+
:city,
|
70
|
+
:clasp_type,
|
71
|
+
:clothing_size,
|
72
|
+
:code,
|
73
|
+
:collection,
|
74
|
+
:collection_item,
|
75
|
+
:collection_parent,
|
76
|
+
:collections,
|
77
|
+
:color,
|
78
|
+
:comment,
|
79
|
+
:compatability,
|
80
|
+
:compnent_tyype,
|
81
|
+
:condition,
|
82
|
+
:condition_note,
|
83
|
+
:content,
|
84
|
+
:corrected_query,
|
85
|
+
:country,
|
86
|
+
:coupon_combination_type,
|
87
|
+
:cpu_manufacturer,
|
88
|
+
:cpu_speed,
|
89
|
+
:cpu_type,
|
90
|
+
:creator,
|
91
|
+
:creation_date,
|
92
|
+
:currency_amount,
|
93
|
+
:currency_code,
|
94
|
+
:customer_id,
|
95
|
+
:customer_name,
|
96
|
+
:customer_nickname,
|
97
|
+
:customer_review,
|
98
|
+
:customer_reviews,
|
99
|
+
:date,
|
100
|
+
:date_added,
|
101
|
+
:date_created,
|
102
|
+
:day,
|
103
|
+
:delay_between_shots,
|
104
|
+
:department,
|
105
|
+
:details,
|
106
|
+
:detail_page_url,
|
107
|
+
:dewey_decimal_number,
|
108
|
+
:dial_color,
|
109
|
+
:dial_window_material_type,
|
110
|
+
:digital_zoom,
|
111
|
+
:director,
|
112
|
+
:display_size,
|
113
|
+
:distinct_users,
|
114
|
+
:drive_type_id,
|
115
|
+
:drive_type_name,
|
116
|
+
:dvd_layers,
|
117
|
+
:dvdrw_description,
|
118
|
+
:dvd_sides,
|
119
|
+
:ean,
|
120
|
+
:edition,
|
121
|
+
:editorial_reviews_link_suppressed,
|
122
|
+
:element,
|
123
|
+
:eligibility_requirement,
|
124
|
+
:eligibility_requirement_description,
|
125
|
+
:eligibility_requirements,
|
126
|
+
:eligibility_requirement_type,
|
127
|
+
:end_date,
|
128
|
+
:engine_id,
|
129
|
+
:engine_name,
|
130
|
+
:episode_sequence,
|
131
|
+
:exchange_id,
|
132
|
+
:esrb_age_rating,
|
133
|
+
:external_display_support_description,
|
134
|
+
:fabric_type,
|
135
|
+
:fax_number,
|
136
|
+
:feature,
|
137
|
+
:feedback,
|
138
|
+
:feedback_rating,
|
139
|
+
:first_issue_lead_time,
|
140
|
+
:first_tagging,
|
141
|
+
:fitment_attribute,
|
142
|
+
:fitment_attributes,
|
143
|
+
:fixed_amount,
|
144
|
+
:flavour_name,
|
145
|
+
:floppy_disk_drive_description,
|
146
|
+
:format,
|
147
|
+
:formatted_price,
|
148
|
+
:genre,
|
149
|
+
:gem_type,
|
150
|
+
:gem_type_set_element,
|
151
|
+
:glance_page,
|
152
|
+
:golf_club_flex,
|
153
|
+
:golf_club_loft,
|
154
|
+
:graphics_card_interface,
|
155
|
+
:graphics_description,
|
156
|
+
:graphics_memory_size,
|
157
|
+
:group_claim_code,
|
158
|
+
:hand_orientation,
|
159
|
+
:hard_disk_count,
|
160
|
+
:hard_disk_size,
|
161
|
+
:hardware_platform,
|
162
|
+
:has_auto_focus,
|
163
|
+
:has_burst_mode,
|
164
|
+
:has_in_camera_editing,
|
165
|
+
:has_redeye_reduction,
|
166
|
+
:has_self_timer,
|
167
|
+
:has_tripod_mode,
|
168
|
+
:has_video_out,
|
169
|
+
:has_viewfinder,
|
170
|
+
:height,
|
171
|
+
:helpful_votes,
|
172
|
+
:hmac,
|
173
|
+
:hours,
|
174
|
+
:hours_of_operation,
|
175
|
+
:image,
|
176
|
+
:included_software,
|
177
|
+
:includes_mp3_player,
|
178
|
+
:ingredients,
|
179
|
+
:ingredients_set_element,
|
180
|
+
:is_autographed,
|
181
|
+
:isbn,
|
182
|
+
:is_category_root,
|
183
|
+
:is_eligible_for_super_save_shipping,
|
184
|
+
:is_email_notify_available,
|
185
|
+
:is_fit,
|
186
|
+
:is_fragile,
|
187
|
+
:is_in_benefit_set,
|
188
|
+
:is_in_eligibility_requirement_set,
|
189
|
+
:is_lab_created,
|
190
|
+
:is_link_suppressed,
|
191
|
+
:is_memorabilia,
|
192
|
+
:is_next,
|
193
|
+
:is_previous,
|
194
|
+
:iso_equivalent,
|
195
|
+
:item,
|
196
|
+
:item_applicability,
|
197
|
+
:issues_per_year,
|
198
|
+
:is_valid,
|
199
|
+
:item_attributes,
|
200
|
+
:keyboard_description,
|
201
|
+
:keywords,
|
202
|
+
:label,
|
203
|
+
:large_image,
|
204
|
+
:last_modified,
|
205
|
+
:last_tagging,
|
206
|
+
:legal_disclaimer,
|
207
|
+
:length,
|
208
|
+
:line_voltage,
|
209
|
+
:list_id,
|
210
|
+
:listing_id,
|
211
|
+
:list_item_id,
|
212
|
+
:list_name,
|
213
|
+
:list_owner,
|
214
|
+
:list_type,
|
215
|
+
:list_url,
|
216
|
+
:location,
|
217
|
+
:long_synopsis,
|
218
|
+
:loyalty_points,
|
219
|
+
:macro_focus_range,
|
220
|
+
:magazine_type,
|
221
|
+
:make_id,
|
222
|
+
:make_name,
|
223
|
+
:manufacturer,
|
224
|
+
:manufacturer_labour_warranty_description,
|
225
|
+
:manufacturer_maximum_age,
|
226
|
+
:manufacturer_minimum_age,
|
227
|
+
:manufacturer_parts_warranty_description,
|
228
|
+
:material_type,
|
229
|
+
:material_type_set_element,
|
230
|
+
:maximum_aperture,
|
231
|
+
:maximum_color_depth,
|
232
|
+
:maximum_focal_length,
|
233
|
+
:maximum_high_resolution_images,
|
234
|
+
:maximum_hours,
|
235
|
+
:maximum_horizontal_resolution,
|
236
|
+
:maximum_low_resolution_images,
|
237
|
+
:maximum_resolution,
|
238
|
+
:maximum_shutter_speed,
|
239
|
+
:maximum_vertical_resolution,
|
240
|
+
:maximum_weight_recommendation,
|
241
|
+
:medium_image,
|
242
|
+
:memory_slots_available,
|
243
|
+
:merchandising_message,
|
244
|
+
:merchandising,
|
245
|
+
:message,
|
246
|
+
:metal_stamp,
|
247
|
+
:metal_type,
|
248
|
+
:minimum_hours,
|
249
|
+
:mini_movie_description,
|
250
|
+
:minimum_focal_length,
|
251
|
+
:minimum_shutter_speed,
|
252
|
+
:missing_vehicle_attributes,
|
253
|
+
:model,
|
254
|
+
:model_description,
|
255
|
+
:monitor_size,
|
256
|
+
:monitor_viewable_diagonal_size,
|
257
|
+
:mouse_description,
|
258
|
+
:mpn,
|
259
|
+
:name,
|
260
|
+
:native_resolution,
|
261
|
+
:neighborhood,
|
262
|
+
:network_interface_description,
|
263
|
+
:nickname,
|
264
|
+
:notebook_display_technology,
|
265
|
+
:notebook_pointing_device_description,
|
266
|
+
:number,
|
267
|
+
:number_of_disks,
|
268
|
+
:number_of_issues,
|
269
|
+
:number_of_items,
|
270
|
+
:number_of_pages,
|
271
|
+
:number_of_pearls,
|
272
|
+
:number_of_rapid_fire_shots,
|
273
|
+
:number_of_stones,
|
274
|
+
:number_of_tracks,
|
275
|
+
:occasion_date,
|
276
|
+
:offer_listing_id,
|
277
|
+
:operating_system,
|
278
|
+
:operation,
|
279
|
+
:optical_zoom,
|
280
|
+
:original_air_date,
|
281
|
+
:original_release_date,
|
282
|
+
:other_categories_similar_products,
|
283
|
+
:owning_merchant_id,
|
284
|
+
:package_quantity,
|
285
|
+
:part,
|
286
|
+
:parameter,
|
287
|
+
:paremter_name,
|
288
|
+
:parent_asin,
|
289
|
+
:part_brand_bins,
|
290
|
+
:part_browse_node_bins,
|
291
|
+
:partner_name,
|
292
|
+
:pearl_lustre,
|
293
|
+
:pearl_minimum_color,
|
294
|
+
:pearl_shape,
|
295
|
+
:pearl_stringing_method,
|
296
|
+
:pearl_surface_blemishes,
|
297
|
+
:pearl_type,
|
298
|
+
:pearl_uniformity,
|
299
|
+
:phone_number,
|
300
|
+
:photo_flash_type,
|
301
|
+
:picture_format,
|
302
|
+
:platform,
|
303
|
+
:postal_code,
|
304
|
+
:price,
|
305
|
+
:price_rating,
|
306
|
+
:processor_codes,
|
307
|
+
:product_group,
|
308
|
+
:product_type_subcategory,
|
309
|
+
:promotion,
|
310
|
+
:promotion_category,
|
311
|
+
:promotion_id,
|
312
|
+
:promotions,
|
313
|
+
:publication_date,
|
314
|
+
:publisher,
|
315
|
+
:purchase_url,
|
316
|
+
:quantity,
|
317
|
+
:quantity_desired,
|
318
|
+
:quantity_received,
|
319
|
+
:rating,
|
320
|
+
:reading_level,
|
321
|
+
:registry_number,
|
322
|
+
:region_code,
|
323
|
+
:registry_name,
|
324
|
+
:related_item,
|
325
|
+
:related_items,
|
326
|
+
:related_items_count,
|
327
|
+
:related_item_page,
|
328
|
+
:related_item_page_count,
|
329
|
+
:relationship,
|
330
|
+
:relationship_type,
|
331
|
+
:release_date,
|
332
|
+
:removeable_memory,
|
333
|
+
:request_id,
|
334
|
+
:resolution_modes,
|
335
|
+
:response_group,
|
336
|
+
:ring_size,
|
337
|
+
:role,
|
338
|
+
:running_time,
|
339
|
+
:sales_rank,
|
340
|
+
:saved_for_later_item,
|
341
|
+
:season_sequence,
|
342
|
+
:scent_name,
|
343
|
+
:search_bin_set,
|
344
|
+
:search_bin_sets,
|
345
|
+
:secondary_cache_size,
|
346
|
+
:seller_id,
|
347
|
+
:seller_legalname,
|
348
|
+
:seller_nick_name,
|
349
|
+
:setting_type,
|
350
|
+
:shaft_material_type,
|
351
|
+
:shipment_items,
|
352
|
+
:shipments,
|
353
|
+
:short_synopsis,
|
354
|
+
:similar_products,
|
355
|
+
:similar_viewed_products,
|
356
|
+
:single_merchant_id,
|
357
|
+
:size,
|
358
|
+
:size_per_pearl,
|
359
|
+
:sku,
|
360
|
+
:small_image,
|
361
|
+
:sound_card_description,
|
362
|
+
:source,
|
363
|
+
:speaker_description,
|
364
|
+
:special_features,
|
365
|
+
:spring_types_id,
|
366
|
+
:spring_types_name,
|
367
|
+
:start_date,
|
368
|
+
:start_year,
|
369
|
+
:state,
|
370
|
+
:status,
|
371
|
+
:stone_clarity,
|
372
|
+
:stone_color,
|
373
|
+
:stone_cut,
|
374
|
+
:stone_shape,
|
375
|
+
:stone_weight,
|
376
|
+
:store_id,
|
377
|
+
:store_name,
|
378
|
+
:steering_id,
|
379
|
+
:steering_name,
|
380
|
+
:studio,
|
381
|
+
:subject,
|
382
|
+
:subcondition,
|
383
|
+
:subscription_length,
|
384
|
+
:summary,
|
385
|
+
:supported_image_type,
|
386
|
+
:swatch_image,
|
387
|
+
:system_bus_speed,
|
388
|
+
:system_memory_size,
|
389
|
+
:system_memory_size_max,
|
390
|
+
:system_memory_type,
|
391
|
+
:tag,
|
392
|
+
:tagged_items,
|
393
|
+
:tag_name,
|
394
|
+
:tags,
|
395
|
+
:tag_type,
|
396
|
+
:terms_of_conditions,
|
397
|
+
:theatrical_release_date,
|
398
|
+
:thumbnail_image,
|
399
|
+
:time,
|
400
|
+
:tiny_image,
|
401
|
+
:title,
|
402
|
+
:top_item,
|
403
|
+
:top_item_set,
|
404
|
+
:total_collectible,
|
405
|
+
:total_diamond_weight,
|
406
|
+
:total_extenal_bays_free,
|
407
|
+
:total_feedback,
|
408
|
+
:total_feedback_pages,
|
409
|
+
:total_firewire_ports,
|
410
|
+
:total_fitments,
|
411
|
+
:total_gem_weight,
|
412
|
+
:total_internal_bays_free,
|
413
|
+
:total_items,
|
414
|
+
:total_metal_weight,
|
415
|
+
:total_new,
|
416
|
+
:total_ntscpal_ports,
|
417
|
+
:total_offer_pages,
|
418
|
+
:total_offers,
|
419
|
+
:total_pages,
|
420
|
+
:total_parallel_ports,
|
421
|
+
:total_pc_card_slots,
|
422
|
+
:total_pci_slots_free,
|
423
|
+
:total_ratings,
|
424
|
+
:total_refurbished,
|
425
|
+
:total_results,
|
426
|
+
:total_review_pages,
|
427
|
+
:total_reviews,
|
428
|
+
:totals,
|
429
|
+
:total_serial_ports,
|
430
|
+
:total_s_video_ports,
|
431
|
+
:total_times_read,
|
432
|
+
:total_usages,
|
433
|
+
:total_usb_ports,
|
434
|
+
:total_usb2_ports,
|
435
|
+
:total_used,
|
436
|
+
:total_vga_out_ports,
|
437
|
+
:total_votes,
|
438
|
+
:track,
|
439
|
+
:transaction_date,
|
440
|
+
:transaction_date_epoch,
|
441
|
+
:transaction_id,
|
442
|
+
:transaction_item,
|
443
|
+
:transaction_item_id,
|
444
|
+
:transaction_items,
|
445
|
+
:transmission_id,
|
446
|
+
:transmissio_name,
|
447
|
+
:trim_id,
|
448
|
+
:trim_name,
|
449
|
+
:type,
|
450
|
+
:unit,
|
451
|
+
:upc,
|
452
|
+
:url,
|
453
|
+
:url_encoded_hmac,
|
454
|
+
:user_ident,
|
455
|
+
:user_id,
|
456
|
+
:value,
|
457
|
+
:variation_denomination,
|
458
|
+
:variation_description,
|
459
|
+
:variation_dimension,
|
460
|
+
:vehicle_bed_options,
|
461
|
+
:vehicle_bed,
|
462
|
+
:vehicle_body_style_options,
|
463
|
+
:vehicle_body_style,
|
464
|
+
:vehicle_brakes_options,
|
465
|
+
:vehicle_brakes,
|
466
|
+
:vehicle_drive_type_options,
|
467
|
+
:vehicle_drive_type,
|
468
|
+
:vehicle_engine_options,
|
469
|
+
:vehicle_engine,
|
470
|
+
:vehicle_make,
|
471
|
+
:vehicle_makes,
|
472
|
+
:vehicle_mfr_body_code_options,
|
473
|
+
:vehicle_mfr_body_code,
|
474
|
+
:vehicle_model,
|
475
|
+
:vehicle_models,
|
476
|
+
:vehicle_options,
|
477
|
+
:vehicle_parts,
|
478
|
+
:vehicle_spring_type_options,
|
479
|
+
:vehicle_spring_types,
|
480
|
+
:vehicle_steering_options,
|
481
|
+
:vehicle_steering,
|
482
|
+
:vehicle_transmission_options,
|
483
|
+
:vehicle_transmission,
|
484
|
+
:vehicle_wheelbase_options,
|
485
|
+
:vehicle_wheelbase,
|
486
|
+
:vehicle_year,
|
487
|
+
:vehicle_years,
|
488
|
+
:versions,
|
489
|
+
:warranty,
|
490
|
+
:watch_movement_type,
|
491
|
+
:water_resistant_depth,
|
492
|
+
:weight,
|
493
|
+
:wheelbase,
|
494
|
+
:wheelbase_id,
|
495
|
+
:wheelbase_name,
|
496
|
+
:width,
|
497
|
+
:will_ship_expedited,
|
498
|
+
:will_ship_international,
|
499
|
+
:wish_list_id,
|
500
|
+
:year
|
501
|
+
]
|
502
|
+
|
503
|
+
# A list of all the container response elements.
|
504
|
+
CONTAINER_RESPONSE_ELEMENTS = [
|
505
|
+
:alternate_version,
|
506
|
+
:availability_attributes,
|
507
|
+
:benefit,
|
508
|
+
:benefits,
|
509
|
+
:bin_parameter,
|
510
|
+
:collection,
|
511
|
+
:collections,
|
512
|
+
:customer_reviews,
|
513
|
+
:details,
|
514
|
+
:eligibility_requirement,
|
515
|
+
:eligibility_requirements,
|
516
|
+
:first_tagging,
|
517
|
+
:fitment_attribute,
|
518
|
+
:fitment_attributes,
|
519
|
+
:item,
|
520
|
+
:item_applicability,
|
521
|
+
:item_attributes,
|
522
|
+
:large_image,
|
523
|
+
:last_tagging,
|
524
|
+
:medium_image,
|
525
|
+
:promotion,
|
526
|
+
:promotions,
|
527
|
+
:related_item,
|
528
|
+
:related_items,
|
529
|
+
:search_bin_sets,
|
530
|
+
:tagged_items,
|
531
|
+
:tags,
|
532
|
+
:thumbnail_image,
|
533
|
+
:top_item,
|
534
|
+
:top_item_set,
|
535
|
+
:totals,
|
536
|
+
:transaction_item,
|
537
|
+
:transaction_items,
|
538
|
+
:variation_dimension,
|
539
|
+
:vehicle_bed_options,
|
540
|
+
:vehicle_body_style_options,
|
541
|
+
:vehicle_brakes_options,
|
542
|
+
:vehicle_drive_type_options,
|
543
|
+
:vehicle_engine_options,
|
544
|
+
:vehicle_make,
|
545
|
+
:vehicle_makes,
|
546
|
+
:vehicle_mfr_body_code_options,
|
547
|
+
:vehicle_model,
|
548
|
+
:vehicle_models,
|
549
|
+
:vehicle_options,
|
550
|
+
:vehicle_parts,
|
551
|
+
:vehicle_spring_type_options,
|
552
|
+
:vehicle_steering_options,
|
553
|
+
:vehicle_transmission_options,
|
554
|
+
:vehicle_wheelbase_options,
|
555
|
+
:vehicle_year,
|
556
|
+
:vehicle_years
|
557
|
+
]
|
558
|
+
end
|
559
|
+
end
|
560
|
+
end
|