jkeen / tracking_number

Identifies valid tracking numbers and a little bit more
http://github.com/jkeen/tracking_number
MIT License
188 stars 50 forks source link

Valid DHL eCommerce tracking numbers fail validation #83

Open dan-jensen opened 6 days ago

dan-jensen commented 6 days ago

Problem

This gem seems to support DHL eCommerce, but DHL eCommerce tracking numbers fail validation.

It seems the problem is this gem expects DHL eCommerce tracking numbers to start with a 2-letter prefix [like "GM"](https://github.com/jkeen/tracking_number_data/blob/d536725bede567e878a6b35639f8d6ddb86f22b0/couriers/dhl.json#L56, but in my experience they are all-numeric (14 digits).

These are real DHL eCommerce tracking numbers generated between May and July, 2024:

dhl_ecommerce_tracking_numbers = %w[51087693037816 60120172242323 60120174971147]
dhl_ecommerce_tracking_numbers.map do |tracking_code|
  t = TrackingNumber.new(tracking_code)
  t.valid?
end
=> [false, false, false]

Proposal

DHL eCommerce tracking numbers should pass validation.

Additional info

dan-jensen commented 6 days ago

@jkeen this is an awesome gem, I've been using it for years. Thanks for maintaining it!

If you can point me in the right direction, I'd be happy to submit a PR.