NAME
Business::Shipping - Interface for shippers (UPS, USPS)
SYNOPSIS
Rate request example
use Business::Shipping;
my $rate_request = Business::Shipping->rate_request(
shipper => 'Offline::UPS',
service => 'GNDRES',
from_zip => '98682',
to_zip => '98270',
weight => 5.00,
);
$rate_request->submit() or die $rate_request->user_error();
print $rate_request->total_charges();
Shipping tasks implemented at this time
UPS shipment cost calculation using UPS Online WebTools.
UPS shipment cost calculation using offline tables.
USPS shipment cost calculation using USPS Online WebTools.
UPS shipment tracking.
USPS shipment tracking.
Shipping tasks planned for future addition
USPS zip code lookup
USPS address verification
USPS shipment cost estimation via offline tables
FedEX shipment cost estimation
REQUIRED MODULES
Bundle::DBD::CSV (any) Cache::FileCache (any) Class::MethodMaker::Engine (any) Clone (any) Config::IniFiles (any) Crypt::SSLeay (any) Getopt::Mixed (any) Log::Log4perl (any) LWP::UserAgent (any) Math::BaseCnv (any) Scalar::Util (1.10) XML::DOM (any) XML::Simple (2.05)
INSTALLATION
perl -MCPAN -e 'install Bundle::Business::Shipping'
See the INSTALL file for more information.
ERROR/DEBUG HANDLING
Log4perl is used for logging error, debug, etc. messages. See config/log4perl.conf.
METHODS
$self->init( %args )
Generic attribute setter.
$self->user_error( "Error message" )
Log and store errors that should be visibile to the user.
$self->validate()
Confirms that the object is valid. Checks that required attributes are set.
rate_request()
This method is used to request shipping rate information from online providers or offline tables. A hash is accepted as input with the following key values:
shipper
The name of the shipper to use. Must correspond to a module by the name of:
Business::Shipping::SHIPPER
. For example,UPS_Online
.user_id
A user_id, if required by the provider. Online::USPS and Online::UPS require this, while Offline::UPS does not.
password
A password, if required by the provider. Online::USPS and Online::UPS require this, while Offline::UPS does not.
service
A valid service name for the provider. See the corresponding module documentation for a list of services compatible with the shipper.
from_zip
The origin zipcode.
from_state
The origin state in two-letter code format or full-name format. Required for Offline::UPS.
to_zip
The destination zipcode.
to_country
The destination country. Required for international shipments only.
weight
Weight of the shipment, in pounds, as a decimal number.
Business::Shipping->new_subclass( "Subclass::Name", %opt )
Generates a subclass, such as a Shipment object.
AUTHOR
Dan Browning <db@kavod.com>, Kavod Technologies, http://www.kavod.com.
COPYRIGHT AND LICENCE
Copyright (c) 2003-2004 Kavod Technologies, Dan Browning. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See LICENSE for more info.