アメリカ国内 or アメリカ向けの EC サービスを提供するときに USPS (United States Postal Service) の利用は欠かせません。
その USPS が発行する Tracking Number はユニークな値ではなく、配達完了 (Delivered) 後に再利用 (Recycle) されるということを覚えておかないと、思いもよらないシステムエラーを引き起こすかもしれません。
USPS Tracking Number Reused という検索ワードで Google 検索すると、以下のようにいくつか同じような疑問をもった方々の記事が見つかります。
- USPS Tracking Numbers Recycled - Amazon Seller Forums
- USPS "recycled" Tracking numbers - The eBay Community
- Why does USPS show my package as Delivered if I just shipped it? – ShippingEasy Knowledge Base
開発で USPS のトラッキングコードを扱う上で気をつけるべき点は、トラッキングコードは再利用されるということです。過去にユーザーAの配送に割当てたトラッキングコードが、1年後にユーザーBの配送に割当てられることが充分に発生します。
そのため、トラッキングコードを key で一意を期待したロジックの実装はバグの温床となります。もちろんユニーク制約なんてしては絶対にいけません。
だったら、トラッキングコードをユニークになるような進数と桁数で提供すればいいのでは?と考えもしますが、桁数が多くなりすぎて手入力の場合の UX が最悪になるので、ユーザー目線だと再利用してもらう方がいいのでしょうね。