2009年2月 3日

ヤフオク!

オークションの商品IDについて

  • このエントリーをはてなブックマークに追加

オークション事業部 開発部 かいにー です。

今回は、オークションの商品ID(オークションID)について、簡単にお話させていただこうと思います。

オークションIDとは、すべてのオークションの商品一つ一つに出品時に自動的に付与される、識別子です。
よく出品時や入札時に利用される、Yahoo! JAPAN IDと混同される方がいらっしゃいますが、
Yahoo! JAPAN IDは、お客様一人一人を認識するための識別子であり、こちらはYahoo! JAPANすべての サービスに共通して利用されるものです。
一方、オークションIDは、オークションの商品についてのみ利用されます。 このオークションIDは商品詳細ページなどで確認できます。(オークションを利用する為のIDではありませんので、ご注意を)


では、オークションIDについてもう少し細かく見てみましょう。
オークションIDは、ただのランダムな文字列ではありません。よく見るとわかりますが、 アルファベット一文字(数字のみでアルファベットのないオークションIDもあります)と、何けたかの数字によって構成されています。
オークションは、その規模がとてつもなく大きく、扱うオークションデータも大量にあるので、 そのデータを効率よく管理するために、保管するデータベースを分割しています。 その分割したデータベース一つ一つをファームと呼び、オークションデータは各ファームに分散して管理されています。
オークションIDの最初のアルファベットは、このファームを識別するためのIDとなっています。 (数字のみのものは、ファームによってデータベースが区分けされていなかった昔の時代の名残りで、 アルファベットがないこと自体も、ファームの識別として使われています)

このオークションIDは、商品詳細ページにも記載されていますが、Yahoo!デベロッパーネットワークで公開してる商品リストAPI出品リストAPI検索APIなどから取得できます。
また、商品詳細ページのAPIを使用すると、このオークションIDの商品情報を取得することも可能です。

例として、「z9999999999999」というオークションID(実際には存在しないIDです)の商品情報を取得するクエリを下に紹介します。

http://auctions.yahooapis.jp/AuctionWebService/V1/AuctionItem?appid={あなたのアプリケーションID}&auctionID=z9999999999999


リクエストとして必要なパラメータは以下のようになっています。
appid
アプリケーションIDを指定します。未登録の場合は、こちらから登録しておく必要があります。
auctionID
情報を取得したいオークションのオークションIDを指定します。
この例では、「z9999999999999」が指定されています。

クエリを実行すると、以下のような商品情報を取得できます。
(レスポンスの<AuctionItem>の中に以下の情報が含まれています)
<description>
商品説明です。出品者が商品説明として記述した内容がそのまま提供されます。
<seller>
出品者に関する情報です。これの子要素に、出品者のYahoo! JAPAN ID、出品地域、出品者の評価ページへのURLなどの情報が入っています。
<imageX>
商品画像のURLです。image1〜image3まであります。
※このほかにも取得できる商品情報があります。
 レスポンスの詳細は、こちらを参照してみてください。


このように、オークションIDをキーに、商品リストAPIと商品詳細APIを結びつけることによって、より詳細な情報を取得することが可能になります。

オークションIDをランダムな文字列と認識してしまうと、商品詳細APIを利用する場合に指定ミスなどの元にもなると思いますが、 仕組みを理解しておくと、そのようなミスを防ぐこともできるかと思います。

今回は、オークションの商品ID(オークションID)に関して簡単にご紹介させていただきました。
オークションIDについて、皆様のご理解が深まれば光栄です。


今後とも、Yahoo!オークションをよろしくお願いいたします。
Yahoo!デベロッパーネットワーク - Yahoo!オークションAPIはこちら

Yahoo! JAPANでは情報技術を駆使して人々や社会の課題を一緒に解決していける方を募集しています。詳しくは採用情報をご覧ください。

  • このエントリーをはてなブックマークに追加