Japan Post Tracking API
WhereParcelの統合追跡APIで日本郵便の荷物を追跡。EMS、eパケットなど全サービスに対応。
クイックスタート
Japan Postの荷物を1回のAPI呼び出しで追跡:
curl -X POST https://api.whereparcel.com/v2/track \
-H "Authorization: Bearer YOUR_API_KEY:YOUR_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{
"trackingItems": [{
"carrier": "jp.post",
"trackingNumber": "EJ123456789JP"
}]
}'Japan Post 追跡番号フォーマット
| サービス | フォーマット | 例 |
|---|---|---|
| EMS | EJ XXXX XXXX JP | EJ123456789JP |
| eパケット / 書留 | RX XXXX XXXX JP | RB123456789JP |
コード例
JavaScript / Node.js
const response = await fetch('https://api.whereparcel.com/v2/track', {
method: 'POST',
headers: {
'Authorization': `Bearer ${API_KEY}:${SECRET_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
trackingItems: [{
carrier: 'jp.post',
trackingNumber: 'EJ123456789JP',
}],
}),
});
const data = await response.json();
console.log(data.trackingItems[0].status);
// → "in_transit", "delivered", etc.Python
import requests
response = requests.post(
'https://api.whereparcel.com/v2/track',
headers={
'Authorization': f'Bearer {API_KEY}:{SECRET_KEY}',
'Content-Type': 'application/json',
},
json={
'trackingItems': [{
'carrier': 'jp.post',
'trackingNumber': 'EJ123456789JP',
}],
},
)
data = response.json()
print(data['trackingItems'][0]['status'])Webhookでリアルタイム更新
ポーリングの代わりにWebhookを登録して、Japan Postのステータス更新を自動的に受信しましょう。追跡番号1件あたり1リクエストのみカウントされます。
// Webhookエンドポイントを登録
await fetch('https://api.whereparcel.com/v2/webhook-endpoints', {
method: 'POST',
headers: {
'Authorization': `Bearer ${API_KEY}:${SECRET_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
url: 'https://yourapp.com/webhooks/tracking',
description: 'Japan Post tracking updates',
}),
});