Amazon-MWS
view release on metacpan or search on metacpan
lib/Amazon/MWS/Uploader.pm view on Meta::CPAN
=cut
has job_hours_timeout => (is => 'ro',
isa => Int,
default => sub { 3 });
has order_ack_days_timeout => (is => 'ro',
isa => Int,
default => sub { 30 });
has limit_inventory => (is => 'ro',
isa => Int);
=item schema_dir
The directory where the xsd files for the feed building can be found.
=item feeder
A L<Amazon::MWS::XML::Feed> object. Lazy attribute, you shouldn't pass
this to the constructor, it is lazily built using C<products>,
C<merchant_id> and C<schema_dir>.
=item feed_dir
A working directory where to stash the uploaded feeds for inspection
if problems are detected.
=item schema
The L<XML::Compile::Schema> object, built lazily from C<feed_dir>
=item xml_writer
The xml writer, built lazily.
=item xml_reader
The xml reader, built lazily.
=cut
has schema_dir => (is => 'ro',
required => 1,
isa => sub {
die "$_[0] is not a directory" unless -d $_[0];
});
has feed_dir => (is => 'ro',
required => 1,
isa => sub {
die "$_[0] is not a directory" unless -d $_[0];
});
has schema => (is => 'lazy');
sub _build_schema {
my $self = shift;
my $files = File::Spec->catfile($self->schema_dir, '*.xsd');
my $schema = XML::Compile::Schema->new([glob $files]);
return $schema;
}
has xml_writer => (is => 'lazy');
sub _build_xml_writer {
my $self = shift;
return $self->schema->compile(WRITER => 'AmazonEnvelope');
}
has xml_reader => (is => 'lazy');
sub _build_xml_reader {
my $self = shift;
return $self->schema->compile(READER => 'AmazonEnvelope');
}
=item generic_feeder
Return a L<Amazon::MWS::XML::GenericFeed> object to build a feed using
the XML writer.
=cut
sub generic_feeder {
my $self = shift;
return Amazon::MWS::XML::GenericFeed->new(
xml_writer => $self->xml_writer,
merchant_id => $self->merchant_id,
);
}
=item merchant_id
The merchant ID provided by Amazon.
=item access_key_id
Provided by Amazon.
=item secret_key
Provided by Amazon.
=item marketplace_id
L<http://docs.developer.amazonservices.com/en_US/dev_guide/DG_Endpoints.html>
=item endpoint
Ditto.
=cut
has merchant_id => (is => 'ro', required => 1);
has access_key_id => (is => 'ro', required => 1);
has secret_key => (is => 'ro', required => 1);
has marketplace_id => (is => 'ro', required => 1);
( run in 1.100 second using v1.01-cache-2.11-cpan-0d23b851a93 )