File Coverage

lib/eBay/API/XML/Call/GetProducts.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::Call::GetProducts;
4              
5 1     1   2467 use strict;
  1         4  
  1         32  
6 1     1   5 use warnings;
  1         2  
  1         40  
7              
8             ##########################################################################
9             #
10             # Module: ............... eBay/API/XML
11             # File: ................. GetProducts.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::Call::GetProducts
21              
22             =head1 DESCRIPTION
23              
24              
25              
26             =head1 SYNOPSIS
27              
28             =cut
29              
30              
31             =head1 INHERITANCE
32              
33             eBay::API::XML::Call::GetProducts inherits from the L class
34              
35             =cut
36              
37 1     1   36 use eBay::API::XML::BaseCall;
  0            
  0            
38             our @ISA = ("eBay::API::XML::BaseCall");
39              
40             use eBay::API::XML::Call::GetProducts::GetProductsRequestType;
41             use eBay::API::XML::Call::GetProducts::GetProductsResponseType;
42              
43              
44             =head1 Subroutines:
45              
46             =cut
47              
48             sub getApiCallName {
49             return 'GetProducts';
50             }
51             sub getRequestDataTypeFullPackage {
52             return 'eBay::API::XML::Call::GetProducts::GetProductsRequestType';
53             }
54             sub getResponseDataTypeFullPackage {
55             return 'eBay::API::XML::Call::GetProducts::GetProductsResponseType';
56             }
57              
58             #
59             # input properties
60             #
61              
62             =head2 setAffiliateTrackingDetails()
63              
64             See the
65             eBay Partner Network.
66             eBay uses the specified details to build a View Item URL
67             string in the response that includes your
68             affiliate tracking information in the correct format.
69             When a user clicks through the URL to eBay and performs
70             certain tasks, you may get a commission (see the URL above).
71             Only applicable when IncludeItemArray is specified
72             (because the View Item URL is only returned in item information,
73             not in product information).
74              
75             SeeLink: URL: http://developer.ebay.com/DevZone/XML/docs/WebHelp/index.htm?context=eBay_XML_API&topic=AffiliateTrackingConcepts
76             Title: Affiliate Tracking Concepts
77              
78             RequiredInput: No
79             # Argument: 'ns:AffiliateTrackingDetailsType'
80              
81             =cut
82            
83             sub setAffiliateTrackingDetails {
84             my $self = shift;
85             my $pAffiliateTrackingDetails = shift;
86             $self->getRequestDataType()->setAffiliateTrackingDetails($pAffiliateTrackingDetails);
87             }
88              
89             =head2 setIncludeBuyingGuideDetails()
90              
91             If true, the response includes up to 5 buying guides (if any)
92             for the product specified in ExternalProductID or
93             ProductReferenceID.
94             Not applicable with QueryKeywords.
95              
96             RequiredInput: No
97             Default: false
98             # Argument: 'xs:boolean'
99              
100             =cut
101            
102             sub setIncludeBuyingGuideDetails {
103             my $self = shift;
104             my $sIncludeBuyingGuideDetails = shift;
105             $self->getRequestDataType()->setIncludeBuyingGuideDetails($sIncludeBuyingGuideDetails);
106             }
107              
108             =head2 setIncludeHistogram()
109              
110             If true, the response includes a histogram that lists the
111             number of matching products found and the domains in which
112             they were found. (A domain is like a high-level category.)
113             Including the histogram can affect the call's performance.
114             You may see significantly slower response times when many
115             matching products are found.
116              
117             RequiredInput: No
118             Default: false
119             # Argument: 'xs:boolean'
120              
121             =cut
122            
123             sub setIncludeHistogram {
124             my $self = shift;
125             my $sIncludeHistogram = shift;
126             $self->getRequestDataType()->setIncludeHistogram($sIncludeHistogram);
127             }
128              
129             =head2 setIncludeItemArray()
130              
131             If true, the response includes items (if any) that match the
132             product specified in ExternalProductID or ProductReferenceID.
133             Not applicable with QueryKeywords.
134              
135             RequiredInput: No
136             Default: false
137             # Argument: 'xs:boolean'
138              
139             =cut
140            
141             sub setIncludeItemArray {
142             my $self = shift;
143             my $sIncludeItemArray = shift;
144             $self->getRequestDataType()->setIncludeItemArray($sIncludeItemArray);
145             }
146              
147             =head2 setIncludeReviewDetails()
148              
149             If true, the response includes up to 20 reviews (if any)
150             for the product specified in ExternalProductID or
151             ProductReferenceID.
152             The reviews are sorted by most helpful (most votes) first.
153             When you include review details, please note that
154             response times may be longer than 60 seconds.
155             Not applicable with QueryKeywords.
156              
157             RequiredInput: No
158             Default: false
159             # Argument: 'xs:boolean'
160              
161             =cut
162            
163             sub setIncludeReviewDetails {
164             my $self = shift;
165             my $sIncludeReviewDetails = shift;
166             $self->getRequestDataType()->setIncludeReviewDetails($sIncludeReviewDetails);
167             }
168              
169             =head2 setProductSearch()
170              
171             Contains the fields that form the search query. You can query
172             against keywords, an eBay product reference ID (not to be confused
173             with an eBay product ID), or external product ID (like an ISBN).
174              
175             RequiredInput: Yes
176             # Argument: 'ns:ProductSearchType'
177              
178             =cut
179            
180             sub setProductSearch {
181             my $self = shift;
182             my $pProductSearch = shift;
183             $self->getRequestDataType()->setProductSearch($pProductSearch);
184             }
185              
186             =head2 setProductSort()
187              
188             Sorts the list of products returned. This is mostly only useful
189             with QueryKeywords. (When you use ExternalProductID or
190             ProductReferenceID, eBay usually only returns one product.)
191              
192             RequiredInput: No
193             # Argument: 'ns:ProductSortCodeType'
194              
195             =cut
196            
197             sub setProductSort {
198             my $self = shift;
199             my $sProductSort = shift;
200             $self->getRequestDataType()->setProductSort($sProductSort);
201             }
202              
203              
204              
205             #
206             # output properties
207             #
208              
209             =head2 getApproximatePages()
210              
211             The total number of pages that can be returned, given the same query and
212             filters in the request. As GetProducts only returns up to 2000 products,
213             the maximum possible value is theoretically 2000 (if you were to set
214             EntriesPerPage to 1 in the request).
215              
216             Returned: Always
217             # Returns: 'xs:int'
218              
219             =cut
220            
221             sub getApproximatePages {
222             my $self = shift;
223             return $self->getResponseDataType()->getApproximatePages();
224             }
225              
226             =head2 getBuyingGuideDetails()
227              
228             Contains information for up to 5 buying guides that match the
229             query. Only returned when you set IncludeBuyingGuideDetails to
230             true. Buying guides provide useful information about shopping
231             in a particular domain, like Digital Cameras.
232             For example, a digital camera buying guide
233             could help a buyer determine what kind of digital camera
234             is right for them.
235             If no buying guides are associated with the product, this only
236             returns a link to the buying guide hub (the main Guides page).
237              
238             Returned: Conditionally
239             # Returns: 'ns:BuyingGuideDetailsType'
240              
241             =cut
242            
243             sub getBuyingGuideDetails {
244             my $self = shift;
245             return $self->getResponseDataType()->getBuyingGuideDetails();
246             }
247              
248             =head2 getCharacteristicsSetProductHistogram()
249              
250             A histogram that lists the number of matching products found
251             and the domains in which they were found.
252             A domain is essentially
253             a set of categories that share certain common features
254             (as determined by eBay). Each domain has its own name and ID.
255              
256             Returned: Always
257             # Returns: 'ns:CharacteristicsSetProductHistogramType'
258              
259             =cut
260            
261             sub getCharacteristicsSetProductHistogram {
262             my $self = shift;
263             return $self->getResponseDataType()->getCharacteristicsSetProductHistogram();
264             }
265              
266             =head2 isHasMore()
267              
268             If true, more pages of results are available.
269             That is, PageNumber is less than ApproximatePages.
270              
271             Returned: Always
272             # Returns: 'xs:boolean'
273              
274             =cut
275            
276             sub isHasMore {
277             my $self = shift;
278             return $self->getResponseDataType()->isHasMore();
279             }
280              
281             =head2 getItemArray()
282              
283             A list of items (if any) that match the product identified in
284             ExternalProductID or ProductReferenceID in the request.
285             Only returned when you set IncludeItemArray to true.
286             The items are sorted by end time (ending soonest), and this order
287             is not configurable in the request.
288             Up to 200 items can be returned. All items are returned on
289             the first page (page 1). Not returned when you use
290             QueryKeywords.
291            
292             If ItemCount is greater than 200, use GetSearchResults if you
293             want to retrieve more matching items.
294            
295             Note:
296             GetSearchResults doesn't currently support ProductReferenceID
297             queries. So, you can use ExternalProductID (if present) as input
298             to GetSearchResults. Otherwise, see Product.DetailsURL for
299             a workaround to determine a ProductID value to use with
300             GetSearchResults.
301              
302             Returned: Conditionally
303             # Returns: 'ns:ItemArrayType'
304              
305             =cut
306            
307             sub getItemArray {
308             my $self = shift;
309             return $self->getResponseDataType()->getItemArray();
310             }
311              
312             =head2 getPageNumber()
313              
314             The number of the page of data returned. If many products
315             are found and multiple pages of results are available, use
316             this in combination with ApproximatePages and HasMore to decide
317             which page to retrieve next. As GetProducts only returns
318             up to 2000 products, the maximum possible value is theoretically
319             2000 (if you were to set EntriesPerPage to 1 in the request).
320              
321             Returned: Always
322             # Returns: 'xs:int'
323              
324             =cut
325            
326             sub getPageNumber {
327             my $self = shift;
328             return $self->getResponseDataType()->getPageNumber();
329             }
330              
331             =head2 getProduct()
332              
333             An eBay catalog product. This contains stock information about a
334             particular DVD, camera, set of golf clubs, or other product.
335             When you use QueryKeywords in the request, GetProducts returns a
336             maximum of 20 products per page.
337             When you use ExternalProductID or ProductReferenceID in the
338             request, GetProducts usually only returns 1 product.
339             (If more than one product matches the same ExternalProductID,
340             GetProducts will return all of those products. As of the time
341             of this writing, we expect this to be a rare case.)
342              
343             Returned: Always
344             # Returns: reference to an array
345             of 'ns:CatalogProductType'
346              
347             =cut
348            
349             sub getProduct {
350             my $self = shift;
351             return $self->getResponseDataType()->getProduct();
352             }
353              
354             =head2 getTotalProducts()
355              
356             The total number of matching products found.
357             (If more than 2000 products are found, the call fails
358             with an error.)
359              
360             Returned: Always
361             # Returns: 'xs:int'
362              
363             =cut
364            
365             sub getTotalProducts {
366             my $self = shift;
367             return $self->getResponseDataType()->getTotalProducts();
368             }
369              
370              
371              
372              
373              
374             1;