table of contents
other versions
Vend::Ship::QueryUPS(3pm) | User Contributed Perl Documentation | Vend::Ship::QueryUPS(3pm) |
NAME¶
Vend::Ship::QueryUPS -- calculate UPS costs via www
SYNOPSIS¶
(catalog.cfg) Shipping QueryUPS default_geo 45056 (shipping.asc) ground: UPS Ground Commercial origin 45056 service GNDCOM min 0 max 0 cost e Nothing to ship! min 0 max 150 cost s QueryUPS min 150 max 99999999 cost e Too heavy for UPS.
DESCRIPTION¶
Calculates UPS costs via the WWW using Business::UPS.
To activate, configure any parameter in catalog.cfg. A good choice is the default origin zip.
Options:
- weight
- Weight in pounds. Required -- normally passed via CRIT parameter.
- service
- Any valid Business::UPS mode (required). Example: 1DA,2DA,GNDCOM. Defaults to the mode name.
- geo
- Location of field containing zip code. Default is 'zip'.
- country_field
- Location of field containing country code. Default is 'country'.
- default_geo
- The ZIP code to use if none supplied -- for defaulting shipping to some value in absence of ZIP. No default -- will return 0 and error if no zip.
- default_country
- The country code to use if none supplied -- for defaulting shipping to some value in absence of country. Default US.
- aggregate
- If 1, aggregates by a call to weight=150 (or
$Variable->{UPS_QUERY_MODULO}). Multiplies that
times number necessary, then runs a call for the remainder. In other
words:
[ups-query weight=400 mode=GNDCOM aggregate=1]
is equivalent to:
[calc] [ups-query weight=150 mode=GNDCOM] + [ups-query weight=150 mode=GNDCOM] + [ups-query weight=100 mode=GNDCOM]; [/calc]
If set to a number above 1, will be the modulo to do repeated calls by. So:
[ups-query weight=400 mode=GNDCOM aggregate=100]
is equivalent to:
[calc] [ups-query weight=100 mode=GNDCOM] + [ups-query weight=100 mode=GNDCOM] + [ups-query weight=100 mode=GNDCOM] + [ups-query weight=100 mode=GNDCOM]; [/calc]
To aggregate by 1, use .999999.
- cache_table
- Set to the name of a table (default ups_cache) which can cache the calls
so repeated calls for the same values will not require repeated calls to
UPS.
Table needs to be set up with:
Database ups_cache ship/ups_cache.txt __SQLDSN__ Database ups_cache AUTO_SEQUENCE ups_cache_seq Database ups_cache DEFAULT_TYPE varchar(12) Database ups_cache INDEX weight origin zip shipmode country
And have the fields:
code weight origin zip country shipmode cost updated
Typical cached data will be like:
code weight origin zip country shipmode cost updated 14 11 45056 99501 US 2DA 35.14 1052704130 15 11 45056 99501 US 1DA 57.78 1052704130 16 11 45056 99501 US 2DA 35.14 1052704132 17 11 45056 99501 US 1DA 57.78 1052704133
Cache expires in one day.
2016-08-31 | perl v5.22.2 |