File Coverage

lib/eBay/API/XML/Call/ReviseItem/ReviseItemRequestType.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::ReviseItem::ReviseItemRequestType;
4              
5 1     1   1529 use strict;
  1         3  
  1         28  
6 1     1   4 use warnings;
  1         2  
  1         27  
7              
8             ##########################################################################
9             #
10             # Module: ............... eBay/API/XML
11             # File: ................. ReviseItemRequestType.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::ReviseItem::ReviseItemRequestType
21              
22             =head1 DESCRIPTION
23              
24             Enables a seller to change the properties of a currently active listing. Inputs
25             are the item ID of the ended item being re-listed and any properties that are
26             being changed for the revision.
27              
28              
29              
30             =head1 SYNOPSIS
31              
32             =cut
33              
34              
35             =head1 INHERITANCE
36              
37             eBay::API::XML::Call::ReviseItem::ReviseItemRequestType inherits from the L class
38              
39             =cut
40              
41 1     1   36 use eBay::API::XML::RequestDataType;
  0            
  0            
42             our @ISA = ("eBay::API::XML::RequestDataType");
43              
44             use eBay::API::XML::DataType::ItemType;
45              
46              
47             my @gaProperties = ( [ 'DeletedField', 'xs:string', '1', '', '' ]
48             , [ 'Item', 'ns:ItemType', ''
49             ,'eBay::API::XML::DataType::ItemType', '1' ]
50             );
51             push @gaProperties, @{eBay::API::XML::RequestDataType::getPropertiesList()};
52              
53             my @gaAttributes = (
54             );
55             push @gaAttributes, @{eBay::API::XML::RequestDataType::getAttributesList()};
56              
57             =head1 Subroutines:
58              
59             =cut
60              
61             sub new {
62             my $classname = shift;
63             my %args = @_;
64             my $self = $classname->SUPER::new(%args);
65             return $self;
66             }
67              
68             sub isScalar {
69             return 0;
70             }
71              
72              
73              
74             =head2 setDeletedField()
75              
76             Specifies the name of a field to delete from a listing.
77             You cannot delete required fields from a listing.

78             Some fields are optional when you first list an item (e.g., ListingEnhancement),
79             but once they are set they cannot be deleted when you revise an item.
80             Some optional fields cannot be deleted if the item has bids and/or ends within 12 hours.
81             Some optional fields cannot be deleted if other fields depend on them.
82             For example, if GalleryType was already set for the item you are revising,
83             you cannot remove it. Therefore, you still need to include at least one picture URL, a gallery URL,
84             or a catalog stock photo in your revised listing.
85             See the eBay Web Services guide for rules on removing values when revising items.
86             Also see the relevant field descriptions for details on when to use DeletedField
87             (and potential consequences).

88             The request can contain zero, one, or many instances of DeletedField (one for each field to be deleted).
89             DeletedField accepts the following path names, which delete the corresponding nodes:

90             Item.ApplicationData
91             Item.AttributeSetArray
92             Item.BuyItNowPrice
93             Item.ItemSpecifics
94             Item.ListingCheckoutRedirectPreference.ProStoresStoreName
95             Item.ListingCheckoutRedirectPreference.SellerThirdPartyUsername
96             Item.ListingDesigner.LayoutID
97             Item.ListingDesigner.ThemeID
98             Item.ListingDetails.MinimumBestOfferMessage
99             Item.ListingDetails.MinimumBestOfferPrice
100             Item.PayPalEmailAddress
101             Item.PictureDetails.GalleryURL
102             Item.PictureDetails.PictureURL
103             Item.PostalCode
104             Item.ProductListingDetails
105             Item.SellerContactDetails
106             Item.SellerContactDetails.CompanyName
107             Item.SellerContactDetails.County
108             Item.SellerContactDetails.InternationalStreet
109             Item.SellerContactDetails.Phone2AreaOrCityCode
110             Item.SellerContactDetails.Phone2CountryCode
111             Item.SellerContactDetails.Phone2CountryPrefix
112             Item.SellerContactDetails.Phone2LocalNumber
113             Item.SellerContactDetails.PhoneAreaOrCityCode
114             Item.SellerContactDetails.PhoneCountryCode
115             Item.SellerContactDetails.PhoneCountryPrefix
116             Item.SellerContactDetails.PhoneLocalNumber
117             Item.SellerContactDetails.Street
118             Item.SellerContactDetails.Street2
119             Item.ShippingDetails.PaymentInstructions
120             Item.SKU
121             These values are case-sensitive. Use values that match the case of the
122             schema element names (Item.PictureDetails.GalleryURL) or make the initial
123             letter of each field name lowercase (item.pictureDetails.galleryURL).
124             However, do not change the case of letters in the middle of a field name.
125             For example, item.picturedetails.galleryUrl is not allowed.
126              
127             RequiredInput: Conditionally
128             # Argument: reference to an array
129             of 'xs:string'
130              
131             =cut
132              
133             sub setDeletedField {
134             my $self = shift;
135             $self->{'DeletedField'} =
136             $self->convertArray_To_RefToArrayIfNeeded(@_);
137             }
138              
139             =head2 getDeletedField()
140              
141             # Returns: reference to an array
142             of 'xs:string'
143              
144             =cut
145              
146             sub getDeletedField {
147             my $self = shift;
148             return $self->_getDataTypeArray('DeletedField');
149             }
150              
151              
152             =head2 setItem()
153              
154             Required. Child elements hold the values for properties that are changing.
155             The Item.ItemID property must always be set to the ID of the item listing being changed. Set values in the Item object only for those properties that are changing. Use DeletedField to remove a property. Also applicable to Half.com.
156              
157             RequiredInput: Yes
158             # Argument: 'ns:ItemType'
159              
160             =cut
161              
162             sub setItem {
163             my $self = shift;
164             $self->{'Item'} = shift
165             }
166              
167             =head2 getItem()
168              
169             # Returns: 'ns:ItemType'
170              
171             =cut
172              
173             sub getItem {
174             my $self = shift;
175             return $self->_getDataTypeInstance( 'Item'
176             ,'eBay::API::XML::DataType::ItemType');
177             }
178              
179              
180              
181              
182              
183             ## Attribute and Property lists
184             sub getPropertiesList {
185             my $self = shift;
186             return \@gaProperties;
187             }
188              
189             sub getAttributesList {
190             my $self = shift;
191             return \@gaAttributes;
192             }
193              
194              
195              
196             1;