sauladam / shipment-tracker

Parses tracking information for several carriers, like UPS, USPS, DHL and GLS by simply scraping the data. No need for any kind of API access.
93 stars 32 forks source link

DHL Tracking: "No information is currently available for this shipment". #3

Closed organicstart closed 7 years ago

organicstart commented 7 years ago

Unfortunately a hand full of orders shipped from the Netherlands is not working with your amazing project. As seen in example: "https://nolp.dhl.de/nextt-online-public/en/search?piececode=5765159960".

Maybe there is a way to use "http://www.dhl.com/en/hidden/component_library/express/local_express/dhl_de_tracking/en/tracking_dhlde.html?AWB=5765159960&brand=DHL" instead as a source for tracking information.

sauladam commented 7 years ago

Thank your very much for your feedback, @organicstart ! Looks like DHL handles domestic and international shipments quite differently tracking-wise. As far as I understand it, international shipments (at least with destination US) are handled with "DHL Express" rather than just "DHL" so it's kind of like a completely different service after all.

I'll add a DHLExpress Tracker to this package. The tracking you provided is very helpful. If you have any more tracking numbers with different events, feel free to post them here!

Unfortunately, I'm not really familiar with DHL Express. Do you maybe know by chance if there is any way to tell if it's DHL or DHL Express just from the tracking number? It would be great if the package could figure it out automatically for you so you could always just use the DHL tracker.

organicstart commented 7 years ago

Hey @sauladam,

My pleasure. We've opted for trackingex.com now instead. They seem to have figured it out and the status is straight forward. I'm not quite sure what the difference is between the tracking numbers other than their origins. One is from Germany and the other from Netherlands. However they were both shipped using DHL Express labels. I believe the nolp.dhl.de is exclusive to German shipments maybe? Based on the origin there are different domains to use?

This might be related: https://github.com/duckduckgo/zeroclickinfo-goodies/issues/642

sauladam commented 7 years ago

Thank you @organicstart !

trackingex.com looks like an awesome service! Unfortunetely they don't seem to have an API, which is really a bummer. I only knew http://www.17track.net - if I enter your waybill number there, they reduce it down to a few carriers to which that tracking number might belong and you have to choos the right one. Whereas at trackingex.com you have to choose the carrier up front. But both seem to know how to handle the number if you just push them in the right direction.

Anyway, I've also had a look at that link you've posted. As far as I can tell, the information seems outdated. Here's what Amazon (Germany) currently says:

DHL/DHL Global Mail

Length: 10 to 20 characters

Parcel shipments: The shipment number can be 12-digit numerical, 16-digit alphanumeric or 20-digit alphanumeric code

Express shipments:

  • National express shipments have a 20-digit shipment number, known as a license plate
  • International express shipments have a 10-digit shipment number, also known as an air waybill (AWB)
  • The Express Valuepack has a 13-digit shipment number that starts with a W and ends with DE (Example: W 123 456 7890 DE)

DHL Global Mail/DHL eCommerce: 20-digit alphanumeric code (Example: GM605116611000050048)

So it looks like there is no really safe way to tell what you're dealing with just from the tracking number. Yes, and internation express shipment has a 10-digit shipment number (like in your case), but then again the German and the English (/international) DHL sites seem to be decoupled as well, as you pointed out. For instance, I can track the parcel JD014600004444917061 (belonging to that express shipment) through dhl.com, but not through nolp.dhl.de and vice versa.

So as long as it's a 10-digit number, it's most likey a waybill number and should be tracked by DHL Express. But if it's a 20-digit alphanumeric code, it could be either an international parcel number or a domestic parcel number. And I can't really tell them apart, so I don't know how to implement that logic so the package could figure it out (except for maybe simply testing which endpoints responds with sensible data, which seems quite hacky). So I've just implemented a DHL Express tracker and will leave it to the user to decice which one to use.

Thanks again for your input, I highly appreciate that!

I'll close this issue since it should be sort of resolved with version 0.4.0.

MKDan commented 4 years ago

Hey @sauladam How can I install this project on Cpanel?