Opentaps Shipping Setup
opentaps can access the web API's for UPS, US Postal Service, DHL, and Federal Express. To use opentaps with these shipping services, contact your representative and obtain the necessary shipping credentials. Then edit the file applications/product/config/shipment.properties and modify them as needed.
IMPORTANT NOTE: For external shipping rate estimates services to work properly, you must configure warehouses with the correct ZIP code.
Contents
Setting up US Postal Service
You can register for an shipping API key on the USPS Web Site. There you can also apply for permission to use the Address Validation API on the USPS API Request Page, so that you can set up opentaps for address validation.
USPS may ask you to test your service. If so, see USPS Rate Calculator Setup for their specific instructions on how test it.
Once you have the production API keys, you will need to modify the file applications/product/config/shipment.properties to set the USPS webtools key and the production access URL.
When trying to get USPS rate estimates, make sure that you do not pass a <Container> tag in your string if you are requesting a rate for the Express and the Priority. Otherwise, you will get error messages like: "Invalid container type. Valid container types for Priority Mail are Flat Rate Envelope and Flat Rate Box." or "Valid container type for Express Mail is Flat Rate Envelope." See USPS Rate Estimate API.
Setting up UPS Shipping
You will need your UPS account number, license key number, and user ID and password. Edit the file application/products/config/shipment.properties and put those attributes there.
If you want to schedule shipments with UPS, ou must be approved to use the Premium Shipping Tools from UPS. Otherwise, you will not be able to generate labels with opentaps. If when trying to schedule a shipment with UPS in opentaps you see the error:
An error occurred [code:250003] with severity Hard: Invalid Access License number.
then your shipping credentials have not yet been approved for online shipping.
Setting up Federal Express
To use opentaps with FedEx, you would first need to register for a meter number by calling the fedexSubscriptionRequest request with a contact person name and the partyId of your company. Then, edit the file applications/product/config/shipment.properties and put in the meter number and your account number. You should now be able to create shipments with FedEx and schedule them on the FedEx test server. Note that the FedEx test server will return a label with test addresses for express service but real addresses for ground service.
Once you're satisfied, change the FedEx URL setting in applications/product/config/shipment.properties to the production URL, and you should be able to schedule real shipments with FedEx.
If you plan to use FedEx to get rate estimates, you also need to configure the drop off and package types in shipment.properties.
Setting up Live Rate Estimates
To set up live rate estimates for your shipping methods, update the ProductStoreShipmentMeth entity and fill in the value of the serviceName field with the following services:
* UPS - upsRateEstimate * FedEx - opentaps.fedexRateRequest * DHL - dhlRateEstimate * USPS - uspsRateInquire
This could be most easily done with a SQL query:
UPDATE PRODUCT_STORE_SHIPMENT_METH SET SERVICE_NAME='upsRateEstimate' WHERE PARTY_ID = 'UPS'
IMPORTANT WARNING - Live rate estimates depend on the availability of the carrier's web servers, which may be slow or unavailable at times. If this were to happen, your users might see "Rate Not Available" or a 0 or -1 for the shipping estimate, and they will be able to create an order with no shipping charges. You would have to later modify the order and manually enter a shipping charge.