File Coverage

blib/lib/Regru/API/Shop.pm
Criterion Covered Total %
statement 13 13 100.0
branch n/a
condition n/a
subroutine 5 5 100.0
pod n/a
total 18 18 100.0


line stmt bran cond sub pod time code
1             package Regru::API::Shop;
2              
3             # ABSTRACT: REG.API v2 domain shop management functions
4              
5 1     1   709 use strict;
  1         2  
  1         32  
6 1     1   6 use warnings;
  1         1  
  1         25  
7 1     1   6 use Moo;
  1         2  
  1         12  
8 1     1   2836 use namespace::autoclean;
  1         3  
  1         9  
9              
10             our $VERSION = '0.051'; # VERSION
11             our $AUTHORITY = 'cpan:CHIM'; # AUTHORITY
12              
13             with 'Regru::API::Role::Client';
14              
15             has '+namespace' => (
16             default => sub { 'shop' },
17             );
18              
19 1     1   4 sub available_methods {[qw(
20             nop
21             add_lot
22             update_lot
23             delete_lot
24             get_info
25             get_lot_list
26             get_category_list
27             get_suggested_tags
28             )]}
29              
30             __PACKAGE__->namespace_methods;
31             __PACKAGE__->meta->make_immutable;
32              
33             1; # End of Regru::API::Shop
34              
35             __END__
36              
37             =pod
38              
39             =encoding UTF-8
40              
41             =head1 NAME
42              
43             Regru::API::Shop - REG.API v2 domain shop management functions
44              
45             =head1 VERSION
46              
47             version 0.051
48              
49             =head1 DESCRIPTION
50              
51             REG.API domain shop management.
52              
53             =head1 ATTRIBUTES
54              
55             =head2 namespace
56              
57             Always returns the name of category: C<shop>. For internal uses only.
58              
59             =head1 REG.API METHODS
60              
61             =head2 nop
62              
63             For testing purposes. Scope: B<clients>. Typical usage:
64              
65             $resp = $client->shop->nop;
66              
67             Returns success response.
68              
69             More info at L<Shop management: nop|https://www.reg.com/support/help/api2#shop_nop>.
70              
71             =head2 add_lot
72              
73             Puts one or more lots to domain shop.
74              
75             Scope B<clients>. Typical usage:
76              
77             $resp = $client->shop->add_lot(
78             description => 'great deal: two by one!',
79             category_ids => [qw( 10 15 )],
80             rent => 0,
81             keywords => [qw( foo bar baz )],
82             price => 200,
83             lots => [
84             { price => 201, rent_price => 0, dname => 'foo.com' },
85             { price => 203, rent_price => 0, dname => 'bar.net' },
86             ],
87             sold_with => '',
88             deny_bids_lower_rejected => 1,
89             lot_price_type => 'fixed',
90             );
91              
92             Returns success response if lots was added or error otherwise.
93              
94             More info at L<Shop management: add_lot|https://www.reg.com/support/help/api2#shop_add_lot>.
95              
96             =head2 update_lot
97              
98             Updates a lot entry at domain shop.
99              
100             Scope B<clients>. Typical usage:
101              
102             $resp = $client->shop->update_lot(
103             dname => 'underwood.com',
104             description => 'For the House of Cards fans only!',
105             category_ids => [qw( 4 10 )],
106             rent => 0,
107             keywords => [qw( spacey hoc vp potus )],
108             price => 2000,
109             sold_with => 'tm',
110             deny_bids_lower_rejected => 1,
111             lot_price_type => 'offer',
112             );
113              
114             Returns success response if lots was updated or error otherwise.
115              
116             More info at L<Shop management: update_lot|https://www.reg.com/support/help/api2#shop_update_lot>.
117              
118             =head2 delete_lot
119              
120             Deletes the lots from domain shop.
121              
122             Scope B<clients>. Typical usage:
123              
124             $resp = $client->shop->delete_lot(
125             dname => [qw( foo.com bar.net )],
126             );
127              
128             Returns success response if lots was deleted or error otherwise.
129              
130             More info at L<Shop management: delete_lot|https://www.reg.com/support/help/api2#shop_delete_lot>.
131              
132             =head2 get_info
133              
134             Retrieves an information on the lot.
135              
136             Scope B<clients>. Typical usage:
137              
138             $resp = $client->shop->get_info(
139             dname => 'quux.ru',
140             );
141              
142             Answer will contain the set of metrics (such as C<keywords>, C<start_price>, C<rent_price> etc) for requested
143             lot.
144              
145             More info at L<Shop management: get_info|https://www.reg.com/support/help/api2#shop_get_info>.
146              
147             =head2 get_lot_list
148              
149             Retrieves a current list of lots.
150              
151             Scope B<clients>. Typical usage:
152              
153             $resp = $client->shop->get_lot_list(
154             show_my_lots => 1,
155             itemsonpage => 25,
156             pg => 2,
157             );
158              
159             Answer will contain a C<lots> field with a list of lots and a C<lots_cnt> pointed to total available items.
160              
161             More info at L<Shop management: |https://www.reg.com/support/help/api2#shop_get_lot_list>.
162              
163             =head2 get_category_list
164              
165             Retrieves a categories/subcategories list. Categories are divided into subcategories.
166              
167             Scope B<clients>. Typical usage:
168              
169             $resp = $client->shop->get_category_list;
170              
171             Answer will contain a C<category_list> field with a list of categories each of divided into subcategories. Every
172             subcategory will contain the name and the identiefer.
173              
174             More info at L<Shop management: get_category_list|https://www.reg.com/support/help/api2#shop_get_category_list>.
175              
176             =head2 get_suggested_tags
177              
178             Retrieves a list of buzz tags.
179              
180             Scope B<clients>. Typical usage:
181              
182             $resp = $client->shop->get_suggested_tags(
183             limit => 25,
184             );
185              
186             Answer will contain a C<tags> field with a list of popular tags.
187              
188             More info at L<Shop management: get_suggested_tags|https://www.reg.com/support/help/api2#shop_get_suggested_tags>.
189              
190             =head1 SEE ALSO
191              
192             L<Regru::API>
193              
194             L<Regru::API::Role::Client>
195              
196             L<REG.API Domain shop management|https://www.reg.com/support/help/api2#shop_functions>
197              
198             L<REG.API Common error codes|https://www.reg.com/support/help/api2#common_errors>
199              
200             =head1 BUGS
201              
202             Please report any bugs or feature requests on the bugtracker website
203             L<https://github.com/regru/regru-api-perl/issues>
204              
205             When submitting a bug or request, please include a test-file or a
206             patch to an existing test-file that illustrates the bug or desired
207             feature.
208              
209             =head1 AUTHORS
210              
211             =over 4
212              
213             =item *
214              
215             Polina Shubina <shubina@reg.ru>
216              
217             =item *
218              
219             Anton Gerasimov <a.gerasimov@reg.ru>
220              
221             =back
222              
223             =head1 COPYRIGHT AND LICENSE
224              
225             This software is copyright (c) 2013 by REG.RU LLC.
226              
227             This is free software; you can redistribute it and/or modify it under
228             the same terms as the Perl 5 programming language system itself.
229              
230             =cut