ヤマト運輸の配送状況をプログラムで確認したかったのでWebAPIを作成しました。
使い方
xml,json,yaml形式に対応しています。
以下のURLでアクセスすると、xml,yaml,json形式で配送状況が返ってきます。(数字の部分は伝票Noです)
http://nanoappli.com/tracking/api/123456789012.json
http://nanoappli.com/tracking/api/123456789012.yaml
http://nanoappli.com/tracking/api/123456789012.xml
※2011/1/24追記:JSONPにも対応しました。詳細は以下のリンクを参照してください。
ヤマトの伝票情報取得APIがJSONP対応しました
※2012/2/1追記:営業所データの取得APIを追加しました
配送状況の情報は、オフィシャルサイトの問い合わせ画面で確認できるものと同じです。
データ構造
応答は、以下のようなデータ構造で帰ってきます。
例はxmlですが、yaml・jsonもルートタグの存在を除いて同じデータ構造ですので、他フォーマットの例は割愛します。
<?xml version=”1.0″ encoding=”UTF-8″?>
<root>
<result>0</result>
<status>投函完了</status>
<slipNo>123456789012</slipNo>
<itemType>クロネコメール便</itemType>
<statusList>
<item>
<status>発送</status>
<date>01/12</date>
<time>11:28</time>
<placeName>赤平センター</placeName>
<placeCode>004440</placeCode>
</item>
<item>
<status>投函完了</status>
<date>01/17</date>
<time>16:44</time>
<placeName>石垣島支店</placeName>
<placeCode>098400</placeCode>
</item>
</statusList>
</root>
<root>
<result>0</result>
<status>投函完了</status>
<slipNo>123456789012</slipNo>
<itemType>クロネコメール便</itemType>
<statusList>
<item>
<status>発送</status>
<date>01/12</date>
<time>11:28</time>
<placeName>赤平センター</placeName>
<placeCode>004440</placeCode>
</item>
<item>
<status>投函完了</status>
<date>01/17</date>
<time>16:44</time>
<placeName>石垣島支店</placeName>
<placeCode>098400</placeCode>
</item>
</statusList>
</root>
resultは0が正常終了0以外が異常終了です。
誤った伝票Noや、ヤマトのシステム未登録の伝票を指定時は、それぞれ以下のような応答となります。(伝票Noの正当性はこちらのチェックデジット算出方法で確認できます)
<?xml version=”1.0″ encoding=”UTF-8″?>
<root version=”2.0″>
<result>-1</result>
<status>伝票番号誤り</status>
<slipNo>123456789012</slipNo>
</root>
<root version=”2.0″>
<result>-1</result>
<status>伝票番号誤り</status>
<slipNo>123456789012</slipNo>
</root>
<?xml version=”1.0″ encoding=”UTF-8″?>
<root version=”2.0″>
<result>-1</result>
<status>伝票番号未登録</status>
<slipNo>123456789013</slipNo>
</root>
<root version=”2.0″>
<result>-1</result>
<status>伝票番号未登録</status>
<slipNo>123456789013</slipNo>
</root>
利用について
どなたでもご自由に使用していただいてかまいません。
アクセスは毎秒1リクエストを超えないようにしてください。
酷い場合はアクセス拒否やAPIの公開中止を行います。仕様変更、サービスの停止、廃止が予告無く行われる”可能性”があります。
基本的にほったらかしにする予定ですが、勝手APIなのでなんとも…本APIを使用してサービスを作成した場合は、本ページへのリンクを張っていただけると有り難いです。
(義務では有りません)個人が特定できない形で、動作ログや統計値の情報等を採取する可能性があります。
関連記事
すばらしいです!仕事でまさにこういうのがほしくて探していたので。
ヤマト自身でも同様のAPIが公開されていればよかったのですが・・・。
ところで、これって配達状況検索のページのHtmlから解析、抽出して結果を作成しているのでしょうか?
20211/9/21 ヤマト側の仕様が変更となり
抽出できなくなりました。
悲しい
使えなくなりました。
[…] 様や制限は、下記のページを参照してください。 xml/json/yamlでのダウンロード ヤマト運輸の配送状況を確認するAPIを作ってみた jsonpの仕様 ヤマトの伝票情報取得APIをJSONP対応しました […]