According to the documentation, I either have to configure a shipping quotes module, or just to enable it:
…if you want to get tracking information for a specific carrier you MUST have that carrier's shipping quotes module installed, enabled, and configured with the correct authorization information (user id, password) needed to contact the carrier's server. It is NOT necessary to turn on shipping quotes for that carrier - simply enabling the module is sufficient.
I do not understand how this module is supposed to work. If I want to manage an UPS tracking code and thusly enable the "UPS Rates and Services Selection and Shipping Online Tools" Ubercart sub-module, I can not find any means to enter the tracking code into the order page. And what is with tracking codes generated by services like Transglobal Express (TGE)? They use different shipping carriers like UPS or FedEx, and you don't need an UPS or FedEx account to book through TGE, but you get an valid tracing code. Would this even work with this module?
Secondly, I do not quite understand why I would have to configure anything "with the correct authorization information (user id, password)". Tracking interfaces are always publicly accessible and consist just of an URL stub and the tracking code, e.g. http://www.dhl.com/content/g0/en/express/tracking.shtml?brand=DHL&AWB=12... or http://wwwapps.ups.com/WebTracking/processInputRequest?tracknum=1AB2345C.... It would totally suffice for normale use cases, to enter the tracking code and the shipping carrier. What does this module do beyond generating this URL that would justify the effort to run additional modules just to manage a tracking string?
Thanks!
Comments
Comment #1
tr commentedSecond question first: This module uses the carrier's Web Service via their API to obtain detailed tracking information from the carrier. It presents the resulting data within the context of your web site. Of course you could always just use the URL (IF the carrier has one - many don't) and redirect to the carrier's web site - that's much easier and doesn't even require a module. (If you search, I'm pretty sure there's a documentation page here on drupal.org which shows you how to do that in a few steps without code). But redirecting doesn't give you access to the data to present how you want it (unless you scrape the carrier's web page, which is EXTREMELY poor programming practice and is unmaintainable).
The answer to the first question should now be obvious - you need to install, enable and configure the appropriate carrier's module because you need code and credentials to use the carrier's API. Installing and enabling make the code available to Drupal. Configuring provides your user credentials, which are needed for the API calls.
Modules like uc_usps, uc_ups and uc_fedex may provide many different services which may be used separately: shipping quotes, tracking information, prepaid shipping label generation, address verification, etc. Because there's a distinction between enabling the module (a Drupal concept) and turning on shipping quotes for that carrier (an Ubercart concept), I explained that you do not need the shipping quotes turned on, you just need the module enabled and configured so that the API may be used.
Entering tracking information is done through Ubercart, through the back-end order processing screens. I believe you have to have uc_shipping enabled for this. Explaining how to use uc_shipping is outside the scope of this module/issue queue.
If you want to obtain shipping quotes or get tracking information from Transglobal Express, you will need to write a module for that carrier.
Comment #2
asb commentedThanks for the thorough explanation. My point was that we are booking UPS, FedEx, DHL Express and so on through Transglobal Express, so we don't have to maintain numerous accounts for dozends of carriers (and it's even a lot cheaper than booking directly). We get the normal services and tracking codes through TGE, but do not have the data to configure any of the available carrier's modules. Transglobal Express is not a shipping carrier, it's some kind of reseller and doesn't offer an own API we could query.
If it were possible to maintain just the UPS/FedEx/DHL etc. tracking codes through this module, this would totally suffice. The placement of the tracking data is exactly where it should be, so this module would be perfect, if we could enter the data ;-)
As far as I know there is no way to add something like a "field" to D6 Ubercart, without writing another module.