現在開発中の AamzonLink で価格表示が出来るようにすることを検討しています。取得することは問題なく出来るのですが、規約などでいろいろと条件が定められていて良くわからないのでまとめてみることにしました。Amazon ではアフィリエイトのことをアソシエイトと呼んでいますが、一般的ではないので以降ではアフィリエイトと表記します。
ここでのまとめは一個人の考えによるもので、きちんと公式に確認が取れたわけではありません。参考にするのは構いませんが、内容についての保証はできないことを承知の上でお願いします。
価格の表示条件
アフィリエイトとしての価格表示については、「Amazonアソシエイト・プログラム・リンク設定要件」の「すべてのリンクに適用される一般要件」として次のように書かれています。
製品の価格および在庫は、随時変化します。乙が乙のサイトに掲載した商品の価格および在庫には変動があるため、乙のサイトでは、以下の場合に限り、価格および在庫を表示できるものとします。(a)甲が価格および在庫のデータを表示しているリンクを提供する場合、または(b)乙がProduct Advertising APIを経由して商品の価格および在庫のデータを取得し、かつ当該データに適用されるライセンス契約に定める要件を乙が遵守している場合。さらに、乙が乙のサイトにて商品の価格を「比較」形式(価格比較ツールまたはその他のエンジンの使用による場合を含む。)にて、アマゾン・サイト以外のウェブサイトまたはその他の手段を通じて提供される、同じ、または類似の製品の価格とともに表示することを選択する場合は、乙は、アマゾン・サイトで提供される商品の、「新品」の最低価格、および甲が乙に提供している場合は「中古商品」の最低価格の両方を表示しなければなりません。それ以外の場合は、乙は乙のサイトに価格情報を含めることはできません。
整理しますと、価格と在庫状況を表示する場合は、次の条件 (a) (b) のどちらかを満たす必要があります。
条件 (a)
Amazon が価格および在庫のデータを表示しているリンクを提供している。
これは、下記のようなものを指すと思われます。インラインフレームで Amazon の用意したページを埋め込むものです。
条件 (b)
Product Advertising API によって取得した情報を表示する場合。今回調査の対象となるのはこちらです。Product Advertising API は、一定の条件の下で Amazon が提供している商品情報から必要な情報を取り出して利用するための仕組みです。
こちらの場合は、さらに条件が加わります。その条件とは、楽天など Amazon 以外での販売価格と比較することを目的として利用する場合に、新品および中古の最低価格が Amazon から提供されている限り表示しなくてはならないと言うものです。
現時点では私はこのような使い方をすることは考えていないのですが、想定はしておくべきかもしれません。販売価格はOfferSummary レスポンスグループで取得できるようです。
Product Advertising API で取得した情報の保存期限
Product Advertising API への情報取得要求は、間隔と回数に制限があります。この制限に収めることと表示までの時間短縮を目的として、AmazonLink は現在24時間キャッシュとして保存するようにしています。
「Product Advertising API ライセンス契約(日本語参考訳)」の「4. 利用条件」には次のようにあります。
(n) お客様は、画像で構成される商品関連コンテンツを格納またはキャッシュしてはいけませんが、画像で構成される商品関連コンテンツへのリンクを、24時間まで格納することができます。お客様は、画像で構成されていないコンテンツを、データキャッシュの目的で、24時間まで格納することができますが、それをした場合は、その後直ちに Product Advertising API にリクエスト送信を行うか、または新しいデータフィードを取り込み、お客様のアプリケーション上の商品関連コンテンツを刷新することにより、商品関連コンテンツを直ちに刷新し、再表示しなければなりません。別途当方より通知されない限り、お客様は、個別の Amazon Standard Identification Number (以下、「ASIN」といいます)を、本ライセンス契約の終了まで、期間の制限なく格納することができます。前述に拘わらず、お客様のアプリケーションがクライアント アプリケーションを含む場合、かかるクライアントアプリケーションは、商品関連コンテンツを格納またはキャッシュしてはいけません。当方の要求があれば、お客様は、当方の要求から3営業日以内に、お客様が本ライセンス契約を遵守しているかを確認できるよう、かかるクライアントアプリケーションのコピーを当方に提供するものとします。
(o) お客様が商品関連コンテンツをデータフィードから取得する場合、または、お客様が Product Advertising APIに リクエスト送信をする、もしくはお客様のアプリケーション上の商品関連コンテンツを刷新する頻度が1時間に1回以下の場合は、お客様のアプリケーション上の価格情報または発送可能時期についての情報に隣接して時刻/日付のスタンプを含むものとします。ただし、お客様が、アプリケーション上に表示された価格情報および発送可能時期についての情報を同日中にリクエストおよび刷新した場合は、スタンプの日付部分を省略することができます。許容されるメッセージの例は以下のとおりです。
- Amazon.co.jp 価格: JPY 3,200 (01/07/2008 14:11 JST 時点 -詳細はこちら-)
- Amazon.co.jp 価格: JPY3,200 (14:11 JST時点 -詳しくはこちら-)
また、お客様は、下記の免責事項を、価格情報または発送可能時期についての情報のそばに記載するか、またはハイパーリンク、ポップアップ、スクリプト・ポップアップその他類似の方法で提供しなくてはなりません。「価格および発送可能時期は表示された日付/時刻の時点のものであり、変更される場合があります。商品の販売においては、購入の時点で [Amazon.co.jp または Javari.jp の適用ある方] に表示されている価格および発送可能時期の情報が適用されます。」上記の例において、「詳細はこちら」および「詳しくはこちら」などとすれば、エンドユーザーが免責事項を読むよう仕向けることができます。
(n) では、画像の保存は禁止、ASIN は契約が続く限り永遠に、そのほかのデータは24時間まで保存が可能とあります。価格情報は画像ではありませんので、24時間の保存が可能であると解釈しています。
(o) では、価格情報と発送可能時期の表示について書かれています。1時間以上前に取得した情報を使用する場合には、次の記述をすることが必要になります。
- 情報の取得日時(価格・発送可能時期の近く)
- 免責事項の表示
なお、条約の書き方がわかりにくいので判断が難しいのですが、大元と思われる「Amazon.com Product Advertising API License Agreement」では次のように書かれていることから、免責事項の記述は取得日時の記述に加えて(Additionally)の事項であると判断しています。
Additionally, you must either include the following disclaimer adjacent to the pricing or availability information or provide it via a hyperlink, popup box, scripted popup, or other similar method: “Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on [amazon.com or endless.com, as applicable] at the time of purchase will apply to the purchase of this product.” In the above examples, “Details” and “More info” would provide a method for the end user to read the disclaimer.
まとめ
Amazon アフィリエイトで価格表示をする場合の条件。
- 新品・中古の最低価格を含める。
- 取得した情報を1時間以上使用する場合は、取得時間と免責事項を併記する。
ここから、AmazonLink に導入する場合は次の機能を実装することになります。
- 新品・中古価格・取得日時を表示するためのコード。
- 日時の書式とキャッシュ有効時間を設定する項目。
実装時期は試験運用中の現行バージョンを公開した後になりそうです。このサイトで価格が表示されるようになっていたらそろそろと言うことで。