File Coverage

lib/eBay/API/XML/DataType/GetRecommendationsRequestContainerType.pm
Criterion Covered Total %
statement 7 9 77.7
branch n/a
condition n/a
subroutine 3 3 100.0
pod n/a
total 10 12 83.3


line stmt bran cond sub pod time code
1             #!/usr/bin/perl
2              
3             package eBay::API::XML::DataType::GetRecommendationsRequestContainerType;
4              
5 1     1   1506 use strict;
  1         2  
  1         36  
6 1     1   6 use warnings;
  1         3  
  1         35  
7              
8             ##########################################################################
9             #
10             # Module: ............... eBay/API/XML
11             # File: ................. GetRecommendationsRequestContainerType.pm
12             # Generated by: ......... genEBayApiDataTypes.pl
13             # Last Generated: ....... 08/24/2008 16:44
14             # API Release Number: ... 579
15             #
16             ##########################################################################
17              
18             =head1 NAME
19              
20             eBay::API::XML::DataType::GetRecommendationsRequestContainerType
21              
22             =head1 DESCRIPTION
23              
24             Specifies the data for a single item and configures the recommendation engines to use
25             when processing the item with GetItemRecommendations.
26              
27              
28              
29             =head1 SYNOPSIS
30              
31             =cut
32              
33              
34             =head1 INHERITANCE
35              
36             eBay::API::XML::DataType::GetRecommendationsRequestContainerType inherits from the L class
37              
38             =cut
39              
40 1     1   49 use eBay::API::XML::BaseDataType;
  0            
  0            
41             our @ISA = ("eBay::API::XML::BaseDataType");
42              
43             use eBay::API::XML::DataType::ItemType;
44             use eBay::API::XML::DataType::Enum::ListingFlowCodeType;
45             use eBay::API::XML::DataType::Enum::RecommendationEngineCodeType;
46              
47              
48             my @gaProperties = ( [ 'CorrelationID', 'xs:string', '', '', '' ]
49             , [ 'DeletedField', 'xs:string', '1', '', '' ]
50             , [ 'Item', 'ns:ItemType', ''
51             ,'eBay::API::XML::DataType::ItemType', '1' ]
52             , [ 'ListingFlow', 'ns:ListingFlowCodeType', ''
53             ,'eBay::API::XML::DataType::Enum::ListingFlowCodeType', '' ]
54             , [ 'Query', 'xs:string', '', '', '' ]
55             , [ 'RecommendationEngine', 'ns:RecommendationEngineCodeType', '1'
56             ,'eBay::API::XML::DataType::Enum::RecommendationEngineCodeType', '' ]
57             );
58             push @gaProperties, @{eBay::API::XML::BaseDataType::getPropertiesList()};
59              
60             my @gaAttributes = (
61             );
62             push @gaAttributes, @{eBay::API::XML::BaseDataType::getAttributesList()};
63              
64             =head1 Subroutines:
65              
66             =cut
67              
68             sub new {
69             my $classname = shift;
70             my %args = @_;
71             my $self = $classname->SUPER::new(%args);
72             return $self;
73             }
74              
75             sub isScalar {
76             return 0;
77             }
78              
79              
80              
81             =head2 setCorrelationID()
82              
83             Unique key to identify the response that matches this recommendation request container.
84             Use this key to distinguish between responses when multiple
85             recommendation containers are specified (i.e., for batch requests).
86             You define the key. To be useful, each correlation ID should be unique within
87             the same call. That is, define a different correlation ID for each recommendation
88             request container. (eBay does not validate the uniqueness of these IDs.)
89             If specified, the same correlation ID will be returned in the corresponding
90             recommendation response (or error response).
91             We recommend that you use this when retrieving recommendations for multiple items at once.
92              
93             Calls: GetItemRecommendations
94             RequiredInput: No
95              
96             # Argument: 'xs:string'
97              
98             =cut
99              
100             sub setCorrelationID {
101             my $self = shift;
102             $self->{'CorrelationID'} = shift
103             }
104              
105             =head2 getCorrelationID()
106              
107             # Returns: 'xs:string'
108              
109             =cut
110              
111             sub getCorrelationID {
112             my $self = shift;
113             return $self->{'CorrelationID'};
114             }
115              
116              
117             =head2 setDeletedField()
118              
119             Specifies the name of the field to remove from a listing.
120             Applicable when the ListingFlow is ReviseItem or RelistItem.
121             See ReviseItem and RelistItem for applicable values.
122              
123             SeeLink: URL: io_RelistItem.html#Request.DeletedField
124             Title: (RelistItem) DeletedField
125             , URL: io_ReviseItem.html#Request.DeletedField
126             Title: (ReviseItem) DeletedField
127              
128              
129             Calls: GetItemRecommendations
130             RequiredInput: Conditionally
131              
132             # Argument: reference to an array
133             of 'xs:string'
134              
135             =cut
136              
137             sub setDeletedField {
138             my $self = shift;
139             $self->{'DeletedField'} =
140             $self->convertArray_To_RefToArrayIfNeeded(@_);
141             }
142              
143             =head2 getDeletedField()
144              
145             # Returns: reference to an array
146             of 'xs:string'
147              
148             =cut
149              
150             sub getDeletedField {
151             my $self = shift;
152             return $self->_getDataTypeArray('DeletedField');
153             }
154              
155              
156             =head2 setItem()
157              
158             Contains fields that describe the item for which you are seeking recommendations.
159            
160             If the Listing Analyzer recommendation engine is run, the applicable fields are
161             the same as the fields for AddItem, ReviseItem, or RelistItem
162             requests, as determined by the value specified in ListingFlow.
163             The item ID (Item.ItemID) is required when the ListingFlow is ReviseItem or RelistItem,
164             and it is not applicable when the ListingFlow is AddItem.
165             All other item fields are optional, even if listed as required for other calls.
166             However, as some tips are dependent on the properties of the item, and as some properties
167             have dependencies on other properties, we strongly recommend that you include all the item properties
168             that will be included in the AddItem, ReviseItem, or RelistItem request.
169             When the Listing Analyzer engine is run, tips will only be returned for fields that are specfied on the item.
170            
171             When the Product Pricing engine is run, pricing data will be based on the catalog product you specify.
172              
173             Calls: GetItemRecommendations
174             RequiredInput: Yes
175              
176             # Argument: 'ns:ItemType'
177              
178             =cut
179              
180             sub setItem {
181             my $self = shift;
182             $self->{'Item'} = shift
183             }
184              
185             =head2 getItem()
186              
187             # Returns: 'ns:ItemType'
188              
189             =cut
190              
191             sub getItem {
192             my $self = shift;
193             return $self->_getDataTypeInstance( 'Item'
194             ,'eBay::API::XML::DataType::ItemType');
195             }
196              
197              
198             =head2 setListingFlow()
199              
200             The listing flow for which the seller is seeking Listing Analyzer recommendations.
201             Not applicable to results from other recommendation engines
202             (i.e., the Suggested Attributes engine or the Product Pricing engine).
203             The default flow is AddItem.
204              
205             Calls: GetItemRecommendations
206             RequiredInput: No
207             Default: AddItem
208              
209             # Argument: 'ns:ListingFlowCodeType'
210              
211             =cut
212              
213             sub setListingFlow {
214             my $self = shift;
215             $self->{'ListingFlow'} = shift
216             }
217              
218             =head2 getListingFlow()
219              
220             # Returns: 'ns:ListingFlowCodeType'
221              
222             =cut
223              
224             sub getListingFlow {
225             my $self = shift;
226             return $self->{'ListingFlow'};
227             }
228              
229              
230             =head2 setQuery()
231              
232             One or more keywords to search for when using the Suggested Attributes engine.
233             Required when SuggestedAttributes is specified as the recommendation engine
234             (including when no recommendation engines are specified). Only the listing title
235             is searched. The words "and" and "or" are treated like any other word.
236             Blank searches are not allowed (and result in a warning).
237              
238             MaxLength: 350 (characters)
239              
240             Calls: GetItemRecommendations
241             RequiredInput: Conditionally
242              
243             # Argument: 'xs:string'
244              
245             =cut
246              
247             sub setQuery {
248             my $self = shift;
249             $self->{'Query'} = shift
250             }
251              
252             =head2 getQuery()
253              
254             # Returns: 'xs:string'
255              
256             =cut
257              
258             sub getQuery {
259             my $self = shift;
260             return $self->{'Query'};
261             }
262              
263              
264             =head2 setRecommendationEngine()
265              
266             A recommendation engine to run. If no engines are specified, all available
267             recommendation engines will run. Some engines require additional fields,
268             such as Item.PrimaryCategory.CategoryID, to be specified.
269             If the ProductPricing engine is specified but Item.ProductListingDetails is not specified,
270             no Product Pricing engine results are returned.
271              
272             Calls: GetItemRecommendations
273             RequiredInput: No
274              
275             # Argument: reference to an array
276             of 'ns:RecommendationEngineCodeType'
277              
278             =cut
279              
280             sub setRecommendationEngine {
281             my $self = shift;
282             $self->{'RecommendationEngine'} =
283             $self->convertArray_To_RefToArrayIfNeeded(@_);
284             }
285              
286             =head2 getRecommendationEngine()
287              
288             # Returns: reference to an array
289             of 'ns:RecommendationEngineCodeType'
290              
291             =cut
292              
293             sub getRecommendationEngine {
294             my $self = shift;
295             return $self->_getDataTypeArray('RecommendationEngine');
296             }
297              
298              
299              
300              
301              
302             ## Attribute and Property lists
303             sub getPropertiesList {
304             my $self = shift;
305             return \@gaProperties;
306             }
307              
308             sub getAttributesList {
309             my $self = shift;
310             return \@gaAttributes;
311             }
312              
313              
314              
315             1;