Keepa APIのリクエストの1つ、「Request Seller Information」の公式レファレンスを日本語訳しました。
他の出品者の販売しているASIN一覧を取得する機能があり、出品者から利益商品をリサーチする(いわゆるセラーリサーチ)際に便利です!
しかし、消費トークンが多い…。
- Keepaのデータベースから取得する場合は10トークン
(データベースの情報は古い可能性あり) - 最新の出品情報を取得する場合は50トークン(!)
ある程度事前にフィルタリングする必要がありそうですね。
それでは、↓から日本語訳スタートです!
- 「参考」で囲った部分は筆者の補足です。
- 適宜サブタイトルの追加や、意訳を実施しています。
- Keepaから翻訳の許可を頂いております。
こちら↓↓↓の記事に全てのKeepa APIに関する日本語訳記事をまとめているので、他のレファレンスも確認したい場合はご参考ください!
リクエストの基本情報
消費トークン
1トークン / 1セラー
セラーID を介してセラーオブジェクトを取得します。データベースにセラーが見つからない場合、トークンは消費されず、データも提供されません。
リクエストのQueryパラメータ
/seller?key=<yourAccessKey>&domain=<domainId>&seller=<sellerId>
- <yourAccessKey>
APIキー - <domainId>
アクセスしたいAmazonエリア[整数]
有効な値: [ 1: com | 2: co.uk | 3: de | 4: fr | 5: co.jp | 6: ca | 8: it | 9: es | 10: in | 11: com.mx ] - <sellerId>
リクエストするセラーID。
バッチリクエストの場合、セラーIdのコンマ区切りリスト (最大 100)。
セラーIDはオファーオブジェクトの一部であり、Amazon の販売者ページのURLにも含まれています。
例 : こちらのページで言えば「A2L77EE7U53NWQ」がセラーIDにあたります。
セラーIDとは、Amazon販売者ページのURLの中で「seller=」の後にくる文字列です。
ストアフロント用追加パラメーターの説明
ストアフロントについて
ストアフロントとは、セラーがAmazonで提供している商品のリストです。
現在出品されているASINと、この販売者が過去7日以内に出品した ASIN を提供します。
データの収集方法
Keepaデータベースからの収集
毎日、出品者が販売した製品のデータベースをスキャンして、出品者の ASIN を収集します。
ASINに人気があり、売り手のオファーが競争力がある場合、リストに含まれる可能性が高くなります。
膨大なオファーデータベースを利用することで、Amazonのストアフロントページで許可されているよりもはるかに多くのASINを収集できますが、出品者が出品しているアイテムが少ないほど、リストに含まれる出品者の出品を最近追跡した可能性は低くなります。
データベースをスキャンしてオファーを探すと、大きな ASINリストが作成されることがありますが、通常、リストは不完全であり、基礎となるデータが数日古い可能性があります。
売り手のストアフロントが (storefrontパラメータを介して) 要求された場合、このリストは、データがないか売り手にアイテムがない場合を除き、常にセラーオブジェクトに含まれます。
要するに、Keepaのデータベースから情報を取得する場合の特徴として、
- よく売れている商品、及びそれを売っているセラーを中心にデータベースを更新している。
(毎日全セラーの情報を更新しているわけではない) - 従って、データが古い場合がある。
(特に、出品数が少ない=更新頻度が少ない セラー)
ということです。
Amazonから取得
データベースリストを補完するために、Amazonの販売者のストアフロントページから ASINのコレクションをリクエストすることができます。
これは、Amazonによって100ストアフロントページに制限されており、これは2,400 ASINに相当します。
さらに、この販売者が販売した製品の総数は、販売者のストアフロントページに記載されているとおりに特定できます。
この追加のコレクションを実行するには、updateパラメーターも指定する必要があります。
要するに、Amazonから情報を取得する場合の特徴として、
- Keepaのデータベースとは違い、最新の情報を取得できる。
- 取得数に制限がある。
- 追加で大量のトークンが必要(後述します。)
ということです。
どの収集方法を使用しても(KeepaのデータベースでもAmazonでも)、完全なストアフロントリストを提供できるとは限りませんのでご注意ください。
ストアフロントのASINリストには合計100,000 個の ASIN を含めることができ、出品者によるアクティブなオファーを最後に確認した日時 (最新のものから順に並べ替えられます) でソートされます。
当社が提供する各ストアフロントASINには、最後に表示されたタイムスタンプが付いています。
ストアフロントをリクエストする場合、セラーIDのバッチリクエストは許可されず、送信するとエラーが発生します。
追加パラメータによるリクエストの詳細
storefront
消費トークン
+9トークン / 1セラー
有効な値: 0 (偽) および 1 (真)。
指定した場合、セラーオブジェクトには、セラーがAmazon に出品している商品に関する追加情報(ASINのリストと、セラーが出品している商品の総数) が含まれます。
データが利用可能な場合、次のセラーオブジェクトフィールドが設定されます:
- asinList
- asinListLastSeen
- totalStorefrontAsinsCSV
利用可能なデータがない場合、追加のトークンは消費されません。
ASINリストには、最大100,000個のアイテムを含めることができます。
storefrontパラメーターを使用しても新しいコレクションがトリガーされないため、要求の処理時間は増加しませんが、応答のサイズははるかに大きくなる可能性があります。
ストアフロントASINの合計数は更新されず、履歴データのみが提供されます(利用可能な場合)。
トークンの合計コスト:
ストアフロントデータが利用可能で、少なくとも 2 つの ASIN が含まれている場合: セラーオブジェクトで1、ストアフロントで+9 = 10。
それ以外の場合はセラーオブジェクトで1。
訳すと分かりづらくなっていますね……
要は、オプション無しの場合で1トークン必要。
オプションをつけたら(&storefront=1)、追加で9トークン(=合計10トークン)必要ということです。
使用例
&storefront=1
update
消費トークン
+40トークン / 1セラー (合計50トークン)
正の整数値[hours]。
Amazonストアフロントページからの最後に取得したデータが、指定した更新時間[hours]よりも古い場合、新しいコレクションを取得します。
updateパラメーターはstorefrontパラメーターと組み合わせて使用します。
トークンの合計コスト:
収集がトリガーされて成功した場合は50、新しい収集が必要なかった場合は10、収集が失敗した場合 (既存のストアフロントデータが提供される)、またはストアフロントデータがまったく利用できず、販売者データのみが提供された場合は1。
中々に難解な書き方ですね…。
整理すると以下のようになります。
- updateはstorefrontとセットで使用する。
- 基本は1トークン消費。
- storfrontオプションをつけて、追加データが取得できたら+9トークン消費。
(これが「keepaデータベースからの収集」にあたります) - updateオプションを付けた場合、keepaデータベースの情報が指定した時間より古い情報だった場合、Amazonから情報を取得する。
- Amazonからの情報取得が成功した場合+40トークン消費。
このパラメーターを使用すると、次のことを実現できます。
- Amazon からデータを取得:
データベースを通じて既に収集されているすべてのASINに加えて、最大2,400のストアフロントのASINリストが取得できます。 - データの更新:
値が0のライブデータを常に取得します。
※筆者注 最新データを取得するということかと。 - セラーの出品総数を取得:
セラーオブジェクトのtotalStorefrontAsinsCSVが更新されます。
備考
ストアフロントのデータ収集には、追加の処理時間が必要です。
処理時間は0.5 ~ 12秒で、出品者の出品数によって異なります。
可能ではありますが、複数の販売者に対する並行リクエストは完全に並行して実行されない可能性があり、合計処理時間が長くなる可能性があるため、可能な限り(並行処理ではなく)順番にストアフロントリクエストを行うことをお勧めします。
使用例
&update=48
上記記述の場合、最後に取得したストアフロントのデータが48時間より古い場合にのみ、最新情報への更新を実行します。
リクエストのレスポンス
sellersフィールドを返します。
sellersフィールドにはseller objectsが含まれます。
セラーが見つからない場合、配列は空になります。
無効なSellerIdsが指定された場合、エラーフィールドが設定されます。
以上です!
リクエストのレスポンスについては、下記の記事で詳しく解説しています。