Ever thought about adding shipping tools to your web site or software application? This is a great way to make your e-commerce web site more usable, by including shipping rates up front, and then providing automated package tracking notifications.
I’ve known for a while that there were “shipping APIs” out there, but haven’t really known the details of how they work. I had several questions:
- What services do they offer? Are they all the same?
- What’s involved in integrating them?
- What programming language(s) can we use to integrate them?
- Are some easier to integrate than others?
I’ve been investigating shipping application programming interfaces (APIs) and the programs that the major shipping carriers offer and this is what I’ve found so far.
FedEx offers a Ship Manager API that allows developers to integrate FedEx pricing, shipping, tracking, and reporting services into their web site or online application. The Ship Manager API enables developers to create custom applications to:
- Determine service availability and estimate the cost of delivery
- Request a courier for pickup
- Print FedEx shipping labels
- E-mail the customer when a package has been shipped and include the tracking number
- Integrate tracking data into your own order management system
- Create custom shipping reports
Language options are HTML, C++, Java, or Visual Basic. FedEx requires developers to register before they can download the API software, and once they’ve integrated it, you must contact FedEx and provide your code to allow them to test your application before going live. FedEx also provides test scripts for you to test your integration. Any third-party developer who is integrating the FedEx Shipping Manager into their own application must apply to be a compatible solutions provider, get approved, integrate, and then submit their code to Client Server Labs (CSL) for verification.
UPS offers several services that developers can integrate, most in XML, but a couple are also offered in an HTML version:
- Tracking Tool (offered via HTML and XML): tracks the delivery status of a package. There are actually two tools: a traditional tracking tool and a signature tracking tool that includes delivery confirmation with electronic signature and address delivered to.
- Address Validation Tool (XML only): allows you to verify a shipping address at the time of order.
- UPS Rates & Service Selection (XML): provides rates and allows end users to select the most appropriate service for their needs. They have a separate tool for International shipment pricing that generates cost estimates for duties, taxes, and transportation, locate compliance and licensing information, and identify restricted trading parties.
- UPS Shipping (XML): Integrates UPS web-based shipping into your corporate environment.
Independent software vendors and application service providers who want to integrate the UPS tools into their own software must apply to the UPS Ready program.
DHL offers several tools that allow developers to integrate DHL shipping into their web sites or software applications via XML APIs, including:
- ShipIT: for domestic and International shipping from US addresses. Your web site or software can transmit shipment information to DHL in a standardized format and receive a real-time response that includes all the data required to format and print a return shipment label, including the assigned tracking number, and label image (If desired)
- ReturnIT: for domestic and international returns. Similarly to ShipIT, you transmit return shipment information to DHL with similar response.
- RateIT: get pricing for domestic or international DHL shipping. Send a request to DHL and receive estimates for all DHL services (Express 10:30 AM, Express, Next afternoon, Second day and Ground).
- TrackIT: track DHL packages via your own web site or software. Request and receive the:
- Detailed status and tracking history of a DHL shipment
- Delivery signature (JPEG image) and the date and time of delivery
- DHL also has an Electronic Data Interchange that allows you to get shipment status updated up to 18 times per day.
Corporate developers must have their application certified by DHL support. Independent software vendors must have their software certified by DHL in order to be recognized as a DHL third-party provider.
The USPS offers several web tools for integrating shipping options into your web site or application (and somehow it was easier to find and understand than all the corporate hoo-haa–way to go, USPS!) Here’s what they offer:
Address information: You have to request permission to use these APIs, but once granted, you can use address standardization to correct errors in customer or staff-entered addresses, do a zip code lookup or conversely, a city/state lookup based on the zip code.
Delivery information: track packages shipped via Express Mail, Global Express Guaranteed, or Global Express Mail®, check the delivery status of packages shipped with Delivery Confirmation™ service, Signature Confirmation™ service, Certified Mail or Registered Mail, or check the expected delivery time between two zip codes for other USPS mail services.
Rate calculators: for both domestic and international shipping.
Print shipping labels: for delivery or signature confirmation, priority or express mail, and international shipping (including customs forms). Allow customers to print a return shipping label from their own computer.
Service providers can register to become a USPS Web Tool Service Provider. Once USPS has verified your solution, you can be listed on the USPS site as a service provider.