# definitions: # shipper - sends the shipment # carrier - transports the shipment # recipient - recieves the shipment # configuration info %conf = ( weightUnits => dimensionUnits => currency => shipper => { name => address => ... etc => } carriers => [ { carrier => shipperId => serverUrl => authent => ... etc => },{ carrier => ... etc => } ] ); # configure the module ShipAPI->configure(\%conf); # create a shipping object w/recipient info $pkg = ShipAPI->shipment( carrier => name => company => address => ...etc => ); # validate recipient address $rv = $pkg->validate(); # add package(s) info $rv = $pkg->addPackage( weight => dimensions => [$h, $w, $d] type => ); # get shipping services available(ground, next day etc) $rv = $pkg->availableShipping(); # get transit time $rv = $pkg->transit( service => ); # get add-on services available for this shipment $rv = $pkg->availableAddon() # add add-on services (COD, pickup, etc) $rv = $pkg->addService( type => param => ...etc => ); # get service rates $rv = $pkg->rates( service => ); # add billing info if not billed to shipper $rv = $pkg->billing( account => zipcode => ); # submit for shipment $rv = $pkg->ship( service => ); # cancel shipment $rv = $pkg->cancel(); # cancel shipment $rv = ShipAPI->cancel( carrier => tracknum => ); # track shipment $rv = $pkg->track(); # track shipment $rv = ShipAPI->track( carrier => tracknum => ); # response callbacks: shippingRates trackingResults transitTime addressValidation shipmentAcknowledge