ヤマト・佐川・日本郵便の配送追跡を1つのAPIに統一する「荷物追跡API」を使ってみた
ECサイトや業務システムを作っていると、「注文した荷物が今どこにあるか」を画面に出したい場面がよくあります。 ところが、これを自前でやろうとすると意外に手間がかかります。今回は、その面倒を肩代わりしてくれる 荷物追跡API(trackingapi.jp) を試してみたので、感想をメモしておきます。
配送状況の取得は、地味に面倒
日本の主要配送会社であるヤマト運輸・佐川急便・日本郵便は、それぞれ追跡ページの作りもデータの持ち方もバラバラです。 公式APIが整備されていないケースもあり、多くの現場では追跡ページをスクレイピング(Webページから情報を抜き出す処理)して対応しています。 しかしこの方法は、各社がページの構造を変えるたびに壊れ、そのたびに修正が必要になります。 「一度作れば終わり」にならない、典型的な保守コストのかかる処理です。
どんなサービスか
ひとことで言うと、追跡番号を渡すと、主要3社(ヤマト運輸・佐川急便・日本郵便)の配送状況を、統一されたJSON形式で返してくれるREST APIです。
いちばんありがたいのは、配送会社ごとの仕様の違いをサービス側が吸収してくれる点です。 利用する側は、どの会社の荷物であっても同じ1つのフォーマットを見るだけで済みます。会社ごとに条件分岐を書く必要がありません。
実際のリクエストとレスポンス
使い方はシンプルで、APIキーを付けて追跡番号を送るだけです。イメージとしては次のような形です。
curl "https://trackingapi.jp/api/tracking?number=123456789012" \
-H "Authorization: Bearer YOUR_API_KEY"
返ってくるレスポンスは、次のような素直な構造のJSONです。
{
"courierName": "ヤマト運輸",
"deliveryStatus": "in_transit",
"deliveryStatusText": "輸送中"
}
deliveryStatus(機械処理向けのステータス)と deliveryStatusText(そのまま画面に出せる日本語表記)の
両方が返るので、システム側の分岐にも、ユーザーへの表示にも、どちらにも使いやすい設計になっています。
気に入った点
- 統一されたレスポンス形式 ― 3社の違いを意識せず、同じコードで処理できる。スクレイピングの保守から解放されるのが最大のメリット。
- Webhook通知に対応 ― 配送状況が変化したタイミングで通知を飛ばしてくれるので、こちらから定期的に問い合わせ続ける(ポーリングする)仕組みを組まなくてよい。サーバー負荷も無駄なリクエストも減らせる。
- レスポンスが速い ― 平均300ms程度。キャッシュ機能も搭載されていて、同じ番号への問い合わせが軽い。
- 導入のハードルが低い ― クレジットカード不要、認証はAPIキーだけ。登録から3分ほどで動かし始められる。
料金と無料枠
無料プランでは、月3,000リクエストまで利用できます。この枠内で、主要3社の配送状況取得とWebhook通知の両方が使えます。 小規模なサービスや、まず試してみたい検証フェーズであれば、これだけでも十分に実用になる範囲です。
有料プランは用意されておらず、まずは無料で始められる構成になっています。
こんな場面で役立ちそう
- ECサイトのマイページに「配送状況」を表示したいとき
- 出荷後のステータス変化を検知して、顧客に自動でメール/通知を送りたいとき
- 複数の配送会社を使い分けていて、追跡処理を1本化したいとき
まとめ
「配送状況の表示を組み込みたいけれど、各社ごとの対応やスクレイピングの保守まではやりたくない」 ―― そんなケースで、荷物追跡APIは有力な選択肢になりそうです。
対応配送会社は現在3社ですが、西濃運輸・福山通運・日本通運などが準備中とのことで、今後さらに使いどころが広がっていくことも期待できます。 まずは無料枠で小さく試せるので、追跡処理に悩んでいる方は一度触ってみると、感触がつかめると思います。
荷物追跡API(trackingapi.jp)を見る ヤマト・佐川・日本郵便の配送状況を統一APIで取得/無料枠 月3,000リクエスト・クレジットカード不要