Welcome to Shipping

Shipping is a module that connects APIs for various shippers like UPS and FedEx. Shipping currently supports pricing, shipping, labeling and voiding for UPS and FedEx through their XML APIs.

Download

Usage

There is going to be some data that will persist for all connections. For example, you will not want to repeat the fedex account number every time in your implementation code. To set default values, setup a file called .shipping.yml in the home directory of the user who will be using this library. An example file would be:

fedex_url: https://gatewaybeta.fedex.com/GatewayDC
fedex_account: 1234556
fedex_meter: 387878

ups_url: https://wwwcie.ups.com/ups.app/xml
ups_license_number: 7B4F74E3075AEEFF
ups_user: username
ups_password: password
ups_shipper_number: 855AA0

You can set as many default values as you would like in this file.

require 'shipping'

ups = Shipping::UPS.new :zip => 97202, :state => "OR", :sender_zip => 10001, :weight => 2
ups.price => 5.8
ups.valid_address? => false

ups.city = "Portland"
ups.valid_address? => true

Alternately, you can instantiate the base class and then see both UPS and FedEx information.

ship = Shipping::Base.new :zip => 97202, :state => "OR", :sender_zip => 10001, :weight => 2
ship.ups.price => 5.8
ship.fedex.price => 5.8

ship.city = "Portland"
ship.ups.valid_address? => true

Authors

This library is released under the terms of the GNU LGPL.