商品APIリファレンス(アフィリエイトサイト向け)
第1章:商品APIを導入してみよう
始めに
本書では、商品APIを簡単に利用するための準備やステップ、そのほか基本的な説明をします。
バリューコマースのAPIを利用して、次のことができます。
- 広告主が持つ商品情報の簡単検索
- 異なる広告主が持つ同一商品の価格比較
- お目当て商品の売り上げ順ランキングなど
自由なアイデアとバリューコマースの持つコンテンツを組み合わせて、あなたのWebサイトに新しいサービスを生み出してください。
※商品APIの利用にはプログラミングのスキルが必要です。バリューコマースではプログラミングに関するサポートは行っていません。
商品APIを利用するための準備
商品APIを利用し、広告主が持つ商品情報を取得するには、下記4つの準備が必要です。
- バリューコマースのアフィリエイトサイトとして登録し、審査を通過する
- 商品情報を持つ広告主と提携する
- トークンを取得する
- 使用するプログラム言語 (PHPなど)の動作確認
バリューコマースのアフィリエイトサイトとして登録し、審査を通過する
商品APIを利用するために、まずはバリューコマースにアフィリエイトサイトとして登録しましょう。下記のページから申し込みます。
- バリューコマース:https://www.valuecommerce.ne.jp/
申し込み手続きが終わると、登録Emailアドレス宛に仮パスワードが送信され、本パスワードを作成し管理画面に接続できます。
しかし、この時点ではまだ商品APIを使うことはできません。バリューコマースではあなたのサイトが適切かどうかの審査を行っており、審査に通過すると商品APIが利用できます。
審査終了のお知らせは、登録Emailアドレス宛に届きます。
※審査終了まで数日かかります。
商品情報を持つ広告主と提携する
管理画面にログインし、メニューの「広告」→「対応機能別」→「Webサービス」からWebサービス対応プログラムを提供している広告主を探すことができます。
この中から利用したい広告主を探して提携し、広告スペースを作成してください。自動承認の場合は、広告スペースも自動で作成されます。
トークンを取得する
トークンは商品APIを利用する上で必ず必要になる情報です。管理画面にログインし、メニューの「広告」→「対応機能別」→「Webサービス」から確認できます。
すでに提携し、広告スペースが作成されている場合は、広告スペース詳細画面でも確認できます。
使用するプログラミング言語(PHP)の動作確認
商品APIを利用するためには、プログラミング言語を用いて検索ページを制作する必要があります。使用するプログラミング言語は好きなものを使ってください。
以下にPHPを用いた場合の例を記載します。
PHPを使用できるサーバーを用意する
これからレンタルホスティングサービスなど契約しサーバーを用意する場合は、PHPが使用できるサーバーを用意するようにします。
すでにレンタルホスティングサービスと契約、もしくはサーバーを用意している場合は、そのサーバーでPHPが使えるかサーバー管理者等に確認してください。
PHPが正しく動作するか、簡単なスクリプトを使って動作テストをする
あなたが用意したサーバーにphpinfo.php
をアップロードし、正常に動作するかどうかをアクセスして確認します。
- ファイル名:
phpinfo.php
- PHPファイルが置かれているディレクトリーのパーミッション:
drwxr-xr-x(755)
- PHPファイルのパーミッション:
-rw-r--r--(644)
これで、バリューコマースが提供している商品APIが動作する環境の準備が完了となります。
続いて、商品APIの基本的ルールを検索例やフォーマットの特長を確認しながら理解していきましょう。
第2章:商品APIの基本ルール
商品APIでは、検索パラメーターとその値をブラウザーのアドレスバーに入力することによって、検索結果を受け取ります。
バリューコマースで作成した検索ページを例に、下記の項目について確認し理解していきましょう。
- 基本ルール
- 検索例
- フォーマットの特徴と指定方法
- 検索結果 (format=rss)
- エラーの場合
- 検索結果をPHPで表示できるように解析する
実際にAPIのパラメーターを使って検索してみる
検索ページ:http://webservice.valuecommerce.ne.jp/productdb/
検索項目に必要な値(トークンや検索キーワード)を入力し「Search me!」をクリックしてください。検索結果が表示されブラウザーのアドレスバーには検索パラメーターと入力した値がはいっていることが分かります。これが商品APIの検索のしくみです。
パラメーターとその値を手動で入力して、検索結果を表示させることもできます。
第3章『商品APIリファレンスガイド』の検索パラメーターを参照し、検索パラメーターとそれぞれの値についてのルールを確認し、基本ルールに沿ってブラウザーのアドレスバーに入力してみてください。
※パラメーターの値に全角文字を使用する場合、その文字をエンコードする必要があります。詳しくは検索例を参照してください。
基本ルール
http://webservice.valuecommerce.ne.jp/productdb/search?token=123456789&keyword=japan
URLの後ろに「?
」を付け、"token"
パラメーターからスタートします。「123456789
」の部分にあなたのトークンが入ります。
※トークンの取得方法はトークンを取得するをご参照ください。
「=
」でパラメーターの値を入力し、「&
」でパラメーターをつなげます。
"token"
パラメーターとその値がない場合や値が間違っている場合には、検索結果は表示されません。
リクエスト回数の制限はありません。ただし短期間に大量のリクエストが確認できた場合は、利用を制限する可能性がありますので、ご注意ください。
検索例
【例1】検索キーワードを「bicycle」として検索リクエストを送信した場合
http://webservice.valuecommerce.ne.jp/productdb/search?token=123456789&serv_type=1&keyword=bicycle
キーワード検索をするパラメーターとして"keyword"
を入力します。「=
」でパラメーターの値の"bicycle"
を入力します。
【例2】検索キーワードを全角(自転車)で検索リクエストを送信した場合
http://webservice.valuecommerce.ne.jp/productdb/search?token=123456789&serv_type=1&keyword=%E8%87%AA%E8%BB%A2%E8%BB%8A
文字コードはUTF-8にして、URLエンコードする必要があります。
【例3】検索キーワード「自転車(全角)」で指定し、月の売上順で商品を並べるよう検索リクエストを送信した場合
http://webservice.valuecommerce.ne.jp/productdb/search?token=123456789&keyword=%E8%87%AA%E8%BB%A2%E8%BB%8A&rank=monthly&rank_from=1&rank_to=5
"rank"
パラメーターで月、週、日いずれのランキングにするか指定します。"rank_from"
および"rank_to"
で、開始順位と終了順位を指定します。
フォーマットの特徴と指定方法
商品APIを使いリクエストして取得した検索結果は、RSS、JSON、JSONPのいずれかのフォーマットで返されます。
検索リクエストを送信する際、レスポンスのフォーマットを"format"
パラメーターを使って指定します。(指定しなかった場合は、デフォルト値として設定されているRSSフォーマットで返されます)
RSS(xml)フォーマット
RSSリーダーで読む事が可能で、ライブラリー拡張が容易なのが特徴です。レスポンスをRSSバナーとして配信することも可能です。
http://webservice.valuecommerce.ne.jp/productdb/search?token=123456789&serv_type=1&keyword=japan&format=rss
JSONフォーマット
JavaScriptに組み込んで直接扱えるので、JavaScriptを利用している方はもちろん、その記述方式からそのほかの言語(Perl, PHP, Ruby等)を使用する方にも扱いやすいフォーマットです。 データサイズが軽量なのも特徴です。
http://webservice.valuecommerce.ne.jp/productdb/search?token=123456789&serv_type=1&keyword=japan&format=json
JSONPフォーマット
JSONと同様の特徴に加えて、コールバック関数を指定できます。
http://webservice.valuecommerce.ne.jp/productdb/search?token=123456789&serv_type=1&keyword=japan&format=jsonp&callback=pdb_results
検索結果(format=rss)
ブラウザーのアドレスバーを使ってRSSフォーマットを指定し検索リクエストを送信した場合、XML RSS2.0形式で検索結果が返ります。このページのソースを見ると下記のように表示されます。ここに表示されているパラメーターについては、第3章『商品APIリファレンスガイド』の検索結果を参照してください。
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:vc="http://valuecommerce.com/pdb/rss/">
<channel>
<title>ValueCommerce Product Database Search Results</title>
<link>http://www.valuecommerce.com</link>
<description>Processing time: 45 ms</description>
<language>ja</language>
<copyright>Copyright 2010, ValueCommerce Co. Ltd.</copyright>
<vc:keyword>japan</vc:keyword>
<vc:adult>n</vc:adult>
<vc:resultPerPage>20</vc:resultPerPage>
<vc:sortBy>score</vc:sortBy>
<vc:sortOrder>desc</vc:sortOrder>
<vc:page>1</vc:page>
<vc:resultcount>42144</vc:resultcount>
<vc:pagecount>2108</vc:pagecount>
<vc:mediaType>Web</vc:mediaType>
<vc:status>OK</vc:status>
<item>
<title>【Japan】 USB-IRL08</title>
<link>http://ck.jp.ap.valuecommerce.com/servlet/referral?vs=1234567&vp=123456789&vc_url=http%3A%2F%2Fwww.sample.com</link>
<description>USBケーブル〔0.8m〕(ホワイト)</description>
<guid>http://www.sample.com</guid>
<vc:pvImg>
<![CDATA[<img src="http://ad.jp.ap.valuecommerce.com/servlet/gifbanner?vs=1234567&vp=123456789" height="1" width="1" Border="0">]]>
</vc:pvImg>
<vc:merchantName>ABC電機</vc:merchantName>
<vc:ecCode>*****</vc:ecCode>
<vc:janCode>*************</vc:janCode>
<vc:markCode></vc:markCode>
<vc:productCode></vc:productCode>
<vc:modelCode>***-****</vc:modelCode>
<vc:subStoreId>abc1234567</vc:subStoreId>
<vc:subStoreName>ABC電機</vc:subStoreName>
<vc:adult>n</vc:adult>
<vc:startdate>20100524</vc:startdate>
<vc:category>electronics,audio,audio</vc:category>
<vc:image class="small" url="" height="" width=""/>
<vc:image class="large" url="http://www.sample.com/item_img//1.jpg" height="100" width="100"/>
<vc:image class="free" url="http://www.sample.com/item_img//2.jpg" height="" width=""/>
<vc:price>1470</vc:price>
<vc:commissionValue>0</vc:commissionValue>
<vc:commissionPercent>0.00</vc:commissionPercent>
<vc:commissionFixed>0</vc:commissionFixed>
<vc:latitude></vc:latitude>
<vc:longitude></vc:longitude>
</item>
(省略)
</channel>
</rss>
エラーの場合
何らかの原因でエラーになり検索結果が返ってこなかった場合には、下図のように表示されます。
※画面デザインはブラウザーおよびそのバージョンによって異なります。
"keyword"
パラメーターを、誤ってkeyward
と入力した場合
【例】このページのソースを見ると、"vc:status"
パラメーターに「INVALID_SEARCH_PARAMETERS
」と表示されます。
※エラーの内容によって表示されるステータスは異なります。詳しくは商品APIリファレンスガイドの検索結果を参照してください。
ステータスはOKなのに結果が表示されない場合は、次の原因が考えられます。
- 広告主と提携したが、「広告作成」ボタンを押していない
- 検索している広告主(
ecCode
)と提携がない - 検索条件数を減らしてみてください
検索結果をPHPで表示できるように解析する
ブラウザーのアドレスバーを使ってRSSフォーマットを指定し検索リクエストを送信した場合、XML RSS2.0形式で検索結果が返ります。ここに表示されているパラメーターについては、商品APIリファレンスの検索結果パラメーターを参照してください。
phpinfo
に下図の記述があったら、SimpleXMLモジュールは有効になっています。
SimpleXMLモジュールが使えない場合は、お好きなライブラリーを使ってください。
※ SimpleXMLの詳細についてはPHP Manualを参照してください。
第3章:商品APIリファレンスガイド
商品検索
商品検索は指定のURLにアクセスすることによって実行します。入力データの文字コードはUTF-8にして、URLエンコードする必要があります。検索URLパラメーターは下記の通りです。
商品検索:検索パラメーター
パラメーター名 | 意味 | データータイプ | データーの制限範囲 | 必須 | デフォルト値 | マッチタイプ | 無効の場合 |
---|---|---|---|---|---|---|---|
token | バリューコマースより発行されたアフィリエイトサイトのアクセスキー | 文字列 | 0-256 bytes | はい | - | マッチされない | リクエストが無効 |
Keyword (検索ページでの項目名はSearch Termです)(*8) | 検索キーワード | 文字列 | 0-256文字 | いいえ(*2) | - | トークン(分割) | 無視 |
Category(*5) | 検索する商品カテゴリー | 文字列 | 0-255文字 | いいえ(*2) | - | 前方一致 | 無視 |
ecCode (ec_code)(1)(3) | 検索対象の広告主サイトコード | 半角英数 “0-9”,“A-Z”,“a-z” | 1-50文字 | いいえ | - | 完全(大文字と小文字を区別する) | 存在しないecCodeが指定された場合、空の検索結果が返る。 |
Merchant(*3) | 検索対象の広告主サイトを指定 | 文字列 | 0-255文字 | いいえ | - | 完全(大文字と小文字を区別する) | 存在しない広告主サイト名が指定された場合、空の検索結果が返る。 |
sub_store(*6) | 広告主サイトのサブストアID | 文字列 | 0-256文字 | いいえ(*2) | 完全 | 無視 | |
adult | アダルト商品を検索結果に含めるかどうかの指定 | 文字列 | “y”,“n” | いいえ | “n” | 完全 | デフォルト値を使用 |
price_max | 最大価格 | 0以上の浮動小数 | 0-999999999 | いいえ | - | 範囲 | 無視 |
price_min | 最小価格 | 0以上の浮動小数 | 0-999999999 | いいえ | - | 範囲 | 無視 |
size | 検索対象のサイズを指定 | 文字列 | 0-255 byte | いいえ | トークン(分割) | 無視 | |
color | 検索対象の色を指定 | 文字列 | 0-255 byte | いいえ | トークン(分割) | 無視 | |
stock | 検索対象の在庫状況 | 0(なし),1(在庫有り),2(お取り寄せ),3(予約受付) | 1byte | いいえ | 完全 | 無視 | |
gender | 検索対象の性別 | 0(メンズ),1(レディース),2(ユニセックス) | 1byte | いいえ | 完全 | 無視 | |
vcptn(*4) | 注文の際に入力するポイント システム パラメーター | ASCII “,(カンマ)”, “=”, “&”, “[”, “]”, “<”, “>”は除く | 0-255文字 | いいえ | - | - | 無視 |
page | 表示する検索結果のページ番号 | 正の整数 | 1-1000 | いいえ | 1 | 無視 | |
results_per_page | 1ページ毎の結果件数 | 正の整数 | 1-50 | いいえ | 20 | 無視 | |
sort_by | ソートの属性 | 文字列 | “price”, “score”(*7) | いいえ | “score” | 無視 | |
sort_order | ソート順(昇順または降順) | 文字列 | “asc(昇順)”,“desc(降順)” | いいえ | “desc” | 無視 | |
lat_min | 最小緯度 | 度 (浮動小数), 世界測地系(WGS84) | +/- 90度 | いいえ(*2) | - | 範囲 | 無視 |
lat_max | 最大緯度 | 度(浮動小数), 世界測地系(WGS84) | +/- 90度 | いいえ(*2) | - | 範囲 | 無視 |
lng_min | 最小経度 | 度(浮動小数), 世界測地系(WGS84) | +/- 180度 | いいえ(*2) | - | 範囲 | 無視 |
lng_max | 最大経度 | 度(浮動小数), 世界測地系(WGS84) | +/- 180度 | いいえ(*2) | - | 範囲 | 無視 |
product_id | 商品識別コード | 文字列 | 300文字 | いいえ(*2) | 完全 | 無視 | |
format | 検索結果のフォーマット | 文字列 | “rss”,“json”,“jsonp” | いいえ | “rss” | デフォルト値を使用 | |
callback | “jsonp”が指定された時のコールバックファンクション名 | 文字列 | 0-256 bytes. | ||||
(A-Z,a-z),(0-9),“.(ドット)”, “_(アンダーバー)”,“[”,“]”([ ]はエンコードする) | format=jsonp以外の場合は無視 | 無視 |
(*1)複数の広告主サイトコード(ecCode
)を検索する場合は、カンマ区切り(,
)で指定してください(例:123,456,789)。また、ecCode
は大文字・小文字を区別するのでご注意ください。
ecCode一覧
http://report.valuecommerce.ne.jp/mylink/EC_CODE/list.xls
(*2)下記いずれか最低一つは、有効な値が必要です。そうでない場合、リクエストは無効となります。
keyword, category, 位置情報 (lat_min, lat_max, lng_min, lng_max),
sub_store, product_id
(*3)merchant
および ecCode
の両方が指定された場合は、OR検索になります。
(*4)vcptn
はポイントサイトのみが利用します。一般のアフィリエイトサイトで利用することはありません。
(*5)第一カテゴリー、第二カテゴリー、第三カテゴリーはカンマ区切り(,
)で指定してください。スペースを含んだカテゴリー名を指定する場合はスペースの前に¥
を加えてください。
例:recreationoutdoor,golf,golf¥boston¥bags
カテゴリーを複数指定することはできません。
カテゴリーリスト
https://www.valuecommerce.ne.jp/feature/download-sdk/CategoryList.xlsx
(*6)sub_store
は、Yahoo!ショッピング内のストアを絞り込むためのパラメーターです。あらかじめsub_storeID
をご確認の上ご利用ください。
sub_storeIDの確認方法
絞り込みたいストアのURLが http://store.shopping.yahoo.co.jp/○○○○/
の場合、sub_storeID
は「store-○○○○
」となります。
(*7)score
は、お勧め順です。
すべてのフィルター結果はその値を含みます。したがって、price_min=100
の検索結果には、価格が100の商品も含まれます。
(*8)Keyword
を複数指定する際には検索キーワードを半角スペースで区切ってください。
token
(アフィリエイトサイトのアクセスキー)に無効なデーターが含まれている場合、全体の要求が無効とみなされます。そのほかのパラメーターが無効の場合は、無視されます。
要求が無効とみなされるか、あるいはパラメーターが無視されるかは上記の表にも示しています。指定されたすべての検索パラメーターに一致する検索結果のみが返されます。つまり、パラメーターは、OR
クエリーではなくAND
クエリーとして処理されます。
以下に検索URLの例を示します。
http://webservice.valuecommerce.ne.jp/productdb/search?token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&keyword=Gucci&category=fashion&vcptn=YASubAff11&page=1&sort_by=score&sort_order=desc
また、以下のURLにて各種パラメーターの動作テストを行うことができます。
http://webservice.valuecommerce.ne.jp/productdb/
商品検索:検索結果
商品検索の検索結果は、UTF-8でエンコーディングされたXML RSS2.0ファイル、またはJSON/JSONPフォーマットで提供されます。ヘッダー情報には次のパラメーターが含まれます。
パラメーター名 | 意味 | データータイプ | データー制限範囲 |
---|---|---|---|
title | タイトル | 文字列 | ValueCommerce Service Database Search Results |
link | ホームリンク | URL | http://www.valuecommerce.com |
description | 内容の説明 | 文字列 | 処理時間等の時間が含まれます。 |
language | 結果を表示する言語 | 文字列 | “ja” |
copyright | 著作権情報 | 文字列 | “Copyright 20**, ValueCommerce Co. Ltd.” |
vc:status | 検索結果のステータス | 文字列 | 表3.3:vc:status一覧 参照 |
vc:status一覧
コード | 意味 |
---|---|
OK | 正常動作 |
INTERNAL_SERVER_ERROR | サーバーの内部エラー |
INVALID_TOKEN | token(アクセスキー) が無効 |
INVALID_CONFIGURATION | 商品オファーが使用できるよう正しく設定されていない |
INVALID_SEARCH_PARAMETERS | 検索パラメーターが無効 |
SERVICE_UNAVAILABLE | 何らかの理由(メンテナンス等)によりサービスが停止している |
INVALID_GADGET_ID | ガジェットIDが無効 |
INVALID_SEARCH_VALUE | 検索の値が無効 |
結果のヘッダー情報には次のパラメーターが含まれます。
結果のヘッダー情報
パラメーター名 | 意味 | データータイプ | データーの制限範囲 |
---|---|---|---|
vc:keyword | 検索されたキーワード文字列 | 文字列 | 0-256文字 |
vc:subStoreId | フィルターに使用する広告主サイトのサブストアID | 文字列 | 0-256文字 |
vc:category | 検索された商品カテゴリー | 文字列 | 0-255文字 |
vc:merchantName | クエリーで指定された広告主サイト名 | 文字列 | 0-256文字 |
vc:ecCode | 検索された広告主サイトコード | 整数[0-9], テキスト[A-Z] [a-z] | 1-50文字 |
vc:adult | アダルト商品を表示するかどうかを指定するフラグ | 文字列 | “y” または “n” |
vc:priceMax | フィルターに使用する最大商品価格 | 負でない浮動小数点 | 0-999999999 |
vc:priceMin | フィルターに使用する最小商品価格 | 負でない浮動小数点 | 0-999999999 |
vc:latMin | フィルターに使用する最小緯度 | 度(浮動小数)、世界測地系(WGS84) | +/- 90度 |
vc:latMax | フィルターに使用する最大緯度 | 度(浮動小数)、世界測地系(WGS84) | +/- 90度 |
vc:lngMin | フィルターに使用する最小経度 | 度(浮動小数)、世界測地系(WGS84) | +/- 180度 |
vc:lngMax | フィルターに使用する最大経度 | 度(浮動小数)、世界測地系(WGS84) | +/- 180度 |
vc:size | フィルターに使用するサイズ | 文字列 | 0-255文字 |
vc:color | フィルターに使用する色 | 文字列 | 0-255文字 |
vc:stock | フィルターに使用する在庫 | 0,"1","2""3" | 1byte |
vc:gender | フィルターに使用する性別 | 0"1,"2" | 1byte |
vc:resultPerPage | 1ページに表示される結果数 | 正の整数 | 1-100 |
vc:sortBy | ソートに使用する属性 | 文字列 | “price”, “score” |
vc:sortOrder | ソート順(昇順または降順) | 文字列 | “asc”,“desc” |
vc:page | 現在表示されている検索結果のページ番号 | 正の整数 | 1-1000 |
vc:resultcount | 商品の検索結果の合計件数 | 負でない整数 | 0-1000 |
vc:pagecount | 合計ページ数 | 正の整数 | 1-100 |
vc:mediaType | アフィリエイトサイトのメディアタイプ | 文字列 | “Web”,“i-mode ”,“EZweb”, “Yahoo!keitai” |
vc:status | 応答の状態 | 文字列 | 0-256 bytes |
商品ごとに以下の値が戻ります。
戻り値
パラメーター名 | 意味 | データータイプ | データーの制限範囲 |
---|---|---|---|
title | 商品のタイトル | 文字列 | 0-256文字 |
link | 広告主サイトの商品へのクリックスルーリンク | URL | 0-2048文字 |
description | 商品の説明 | 文字列 | 0-4096文字 |
guid | 商品ページのURL | UR | 0-2048文字 |
vc:pvImg | PV用のimgタグ | 文字列 | 0-2048文字 |
vc:merchantName | 広告主サイト名 | 文字列 | 0-256文字 |
vc:ecCode | 検索された広告主サイトコード | 半角英数 “0-9”, “A-Z”, “a-z” | 1-50文字 |
vc:janCode | 商品のJANコード | 文字列 | 300文字 |
vc:markCode | 商品の業界コード | 文字列 | 300文字 |
vc:productCode | 商品の商品コード | 文字列 | 300文字 |
vc:modelCode | 商品の製品型番 | 文字列 | 300文字 |
vc:subStoreId | 広告主サイトのサブストアID | 文字列 | 0-256文字 |
vc:subStoreName | 広告主サイト名 | 文字列 | 0-256文字 |
vc:adult | アダルトフラグ | 1文字 | “y”, “n” |
vc:startDate | 商品の提供開始日(日本時間) | 日付文字列 | YYYYMMDD |
vc:category | 商品カテゴリー | 文字列 | 0-255文字 |
vc:image class="small" | 小さい商品イメージ、可能であれば150×150ピクセルより小さいイメージ | URLとサイズ | URL:0-2048文字、サイズ:正の整数 |
vc:image class="large" | 大きい商品イメージ | URLとサイズ | URL:0-2048文字、サイズ:正の整数 |
vc:image class="free" | フリーサイズの商品イメージ | URLとサイズ | URL:0-2048文字、サイズ:正の整数 |
vc:price | 商品の価格 | 負でない浮動小数点 | 0-999999999 |
vc:commissionValue | アフィリエイトサイトがその商品から得られる報酬額※一律0が表示されます | 負でない浮動小数点 | 0-999999999 |
vc:commissionPercent | 報酬率※一律0が表示されます | 負でない浮動小数点 | 0.00 |
vc:commissionFixed | 定額報酬料※一律0が表示されます | 負でない浮動小数点 | 0-999999999 |
vc:latitude | 地理位置情報(緯度) | 度(浮動小数), 世界測地系(WGS84) | +/- 90度 |
vc:longitude | 地理位置情報(経度) | 度(浮動小数), 世界測地系(WGS84) | +/- 180度 |
vc:product_category | 商品区分 | 文字列 | "新品", "中古", "訳あり" |
vc:brand_name | ブランド名 | 文字列 | 0-255文字 |
vc:brand_url | ブランドURL | URL | 0-2048文字 |
vc:stock | 在庫 | 文字列 | "なし", "在庫有り", "お取り寄せ", "予約受付" |
vc:postage | 送料 | 文字 | "なし", "あり" |
vc:point | ポイント | 負でない浮動小数点 | 0-999999999 |
vc:size | サイズ | 文字列 | 0-255文字 |
vc:color | 色 | 文字列 | 0-255文字 |
vc:gender | 性別 | 文字列 | "メンズ", "レディース", "ユニセックス" |
vc:shipping_arrangement | 発送手配 | 文字列 | "当日", "明日","5営業日以内" |
vc:sale_price | セール価格 | 負でない浮動小数点 | 0-999999999 |
vc:sale_start_date | セール開始日時 | 日付 | YYYYMMDDTTTT |
vc:sale_end_date | セール終了日時 | 日付 | YYYYMMDDTTTT |
vc:product_update_day | 商品更新日 | 日付 | YYYYMMDD |
※検索結果として取得可能な商品件数は最大100,000件です。たとえば1ページ100件表示の場合は1,000ページまでとなり、1,001ページ以降に表示されるデーターは、1ページのものと同一データーになりますのでご注意ください。
※パラメーター名はRSS2.0フォーマットで記載されています。JSON/JSONPフォーマットを選択した場合、vc namespace
("vc:"
)のプリフィックスは省きます。
検索結果例(for xml)
<?xml version=“1.0” encoding=“utf-8”?>
<rss version="“2.0”" xmlns:vc="“http://valuecommerce.com/pdb/rss/”">
<channel>
<title>ValueCommerce Product Database Search Results</title>
<link>http://www.valuecommerce.com</link>
<description>Processing time: 32 ms</description>
<language>ja</language>
<copyright>Copyright 2012, ValueCommerce Co. Ltd.</copyright>
<vc:category>book</vc:category>
<vc:adult>n</vc:adult>
<vc:resultPerPage>20</vc:resultPerPage>
<vc:sortBy>score</vc:sortBy>
<vc:sortOrder>desc</vc:sortOrder>
<vc:page>1</vc:page>
<vc:resultcount>1</vc:resultcount>
<vc:pagecount>87570</vc:pagecount>
<vc:mediaType>Web</vc:mediaType>
<vc:status>OK</vc:status>
<item>
<title>香港</title>
<link>http://ck.jp.ap.valuecommerce.com/servlet/referral?vs=1234567&vp=123456789&vc_url=http%3A%2F%2FdpDasn</link>
<description>香港旅行記</description>
<guid>http://webservice.valuecommerce.ne.jp/db/hongkong/index.api</guid>
<vc:pvImg>
<![CDATA[<img Src=“http://ad.jp.ap.valuecommerce.com/servlet/gifbanner?vs=1234567&vp=123456789” height=“1” width=“1” Border=“0”>]]>
</vc:pvImg>
<vc:merchantName>通販サイト</vc:merchantName>
<vc:ecCode>AB001</vc:ecCode>
<vc:janCode>1234567</vc:janCode>
<vc:markCode></vc:markCode>
<vc:productCode></vc:productCode>
<vc:modelCode></vc:modelCode>
<vc:subStoreId>0</vc:subStoreId>
<vc:subStoreName>通販サイト</vc:subStoreName>
<vc:adult>n</vc:adult>
<vc:startdate>20090409</vc:startdate>
<vc:category>books</vc:category>
<vc:image class="“small" url="" http://webservice.valuecommerce.ne.jp/images/s46x75.jpg”="http://webservice.valuecommerce.ne.jp/images/s46x75.jpg”" height="“75”" width="“46”"/>
<vc:image class="“large”" url="“http://webservice.valuecommerce.ne.jp/images/l97x160.jpg”" height="“160”" width="“97”"/>
<vc:image class="free" url="“http://webservice.valuecommerce.ne.jp/images/g302x500.jpg”" height="500" width="302"/>
<vc:price>1570</vc:price>
<vc:commissionValue>0</vc:commissionValue>
<vc:commissionPercent>0.00</vc:commissionPercent>
<vc:commissionFixed>0</vc:commissionFixed>
<vc:latitude/>
<vc:longitude/>
<vc:product_category/>
<vc:brand_name/>
<vc:brand_url/>
<vc:stock/>
<vc:postage/>
<vc:point/>
<vc:size/>
<vc:color/>
<vc:gender/>
<vc:shipping_arrangement/>
<vc:sale_price/>
<vc:sale_start_date/>
<vc:sale_end_date/>
<vc:product_update_day/>
</item>
</channel>
</rss>
検索結果例(for json)
{
"encoding": “UTF-8”,
"title": “ValueCommerce Product Database Search Results”,
"link": “http://www.valuecommerce.com”,
"description": “Processing time: 31 ms”,
"language": “ja”,
"copyright": “Copyright 2012, ValueCommerce Co.Ltd.”,
"category": “book”,
"adult": “n”,
"resultPerPage": 20,
"sortBy": “score”,
"sortOrder": “desc”,
"page": 1,
"resultCount": 17,
"pageCount": 1,
"mediaType": “Web”,
"status": “OK”,
"items": [{
"title": “香港”,
"link": “http://ck.jp.ap.valuecommerce.com/servlet/referral?vs=1234567&vp=123456789&vc_url=http%3A%2F%2FdpDasn”,
"description": “香港旅行記”,
"guid": “http://webservice.valuecommerce.ne.jp/db/hongkong/index.api”,
"pvImg": “<img src=“http: //ad.jp.ap.valuecommerce.com/servlet/gifbanner?vs=1234567&vp=123456789” height=“1” width=“1” border=“0”>”,
"merchantName": “abcbook 通販サイト”,
"ecCode": “AB001”,
"janCode": “1234567”,
"markCode": “”,
"productCode": “”,
"modelCode": “”,
"subStoreId": “0”,
"subStoreName": “abcbook 通販サイト”,
"adult": “n”,
"startDate": “20080409”,
"category": “books - jp, travel”,
"imageSmall": {
"url”: “http://webservice.valuecommerce.ne.jp/images/s46x75.jpg”,
"height": 75,
"width": 46
},
"imageLarge": {
"url": “http://webservice.valuecommerce.ne.jp/images/l97x160.jpg”,
"height": 160,
"width": 197
},
"imageFree": {
"url": “http://webservice.valuecommerce.ne.jp/images/g302x500.jpg”,
"height": 500,
"width": 302
},
"price": 1570,
"commissionValue": 0,
"commissionPercent": 0,
"commissionFixed": 0,
"latitude": "",
"product_category": "",
"brand_name": "",
"brand_url": "",
"stock": "",
"postage": "",
"point": "",
"size": "",
"color": "",
"gender": "",
"shipping_arrangement": "",
"sale_price": "",
"sale_start_date": "",
"sale_end_date": "",
"product_update_day": ""
}]
}
検索結果例(for json&callback=pdb_results)
pdb_results(
{
"encoding":“utf-8”,
"page":1,
(以下「商品検索:検索結果例(for output=json)」と同様の為省略)
カテゴリー検索
カテゴリー検索は指定のURLにアクセスすることによって実行します。入力データーの文字コードはUTF-8にして、URLエンコードする必要があります。カテゴリー検索URLパラメーターは以下のとおりです。
カテゴリー検索パラメーター
パラメーター名 | 意味 | データータイプ | データーの制限範囲 | 必須? | デフォルト値 | マッチタイプ | 無効の場合 |
---|---|---|---|---|---|---|---|
token | バリューコマースより発行されたアフィリエイトサイトのアクセスキー | 文字列 | 0-256 bytes | はい | マッチされない | リクエストが無効 | |
category_name(*1) | 商品カテゴリー | 文字列 | 0-256文字 | いいえ(*2) | 前方一致 | 無視 | |
category_level | カテゴリーレベル数 | 数字 | 1-3 | いいえ(*2) | 完全 | 無視(*3) | |
format | レスポンスフォーマット | 文字列 | “rss” , “json”, “jsonp” | いいえ | “rss” | 完全 | デフォルト値を使用 |
callback | “jsonp” が指定された時のコールバックファンクション名 | 文字列 | 0-256 bytes | ||||
(A-Z,a-z),(0-9), “.(ドット)”, “_(アンダーバー)”, “[”, “]” ([ ]はエンコードする) | format=jsonp以外の場合は無視 | - | 無視 | ||||
childless(*4) | 指定されたカテゴリーレベルのみのデーターを返す | - | - | いいえ | 無効なリクエスト |
- (*1)カテゴリー項目のフォーマットは
"親カテゴリー, 子カテゴリー, ..."
の順でカンマ区切りで指定できます。ただし、子カテゴリーを指定した場合、category_level
は子カテゴリーを含んだ階層よりも大きい数字を指定するか、ブランクにする必要があります。(例;books-jp, art
とした場合、category_level
は2か3、およびブランクとする) - (*2)最低1つのパラメーターが必要です。
- (*3)全カテゴリーレベルから検索します。
- (*4)このパラメーターを利用する場合は、必ず
category_level
も利用してください。childless
のみで利用した場合INVALID_SEARCH_PARAMETERS
が返ります。下記のように検索URLの末尾で利用します。
以下に、検索URLの例を示します。
http://webservice.valuecommerce.ne.jp/productdb/category?token=xxxxxxxxx..
childlessを利用した場合の例
http://webservice.valuecommerce.ne.jp/productdb/category?token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&category_level=1&childless
また、以下のURLにて各種パラメーターの動作テストを行うことができます。
http://webservice.valuecommerce.ne.jp/productdb/category.html
カテゴリー検索:検索結果
カテゴリー検索の検索結果は、UTF-8でエンコーディングされたXML RSS2.0ファイル、またはJSON/JSONPフォーマットで提供されます。ヘッダー情報には次のパラメーターが含まれます。
カテゴリー検索:検索結果
パラメーター名 | 意味 | データータイプ | データーの制限範囲 |
---|---|---|---|
title | タイトル | テキスト | ValueCommerce Product Database Search Results |
link | ホームリンク | URL | http://www.valuecommerce.com |
description | 内容の説明 | テキスト | 処理時間等の時間が含まれます。 |
language | 結果を表示する言語 | 文字列 | “ja” |
copyright | 著作権情報 | 文字列 | “Copyright 2***, ValueCommerce Co. Ltd.” |
status | 検索結果のステータス | 文字列 | 下記参照 |
vc:status一覧
コード | 意味 |
---|---|
OK | 正常動作 |
INTERNAL_SERVER_ERROR | サーバーの内部エラー |
INVALID_TOKEN | token(アクセスキー)が無効 |
INVALID_CONFIGURATION | カテゴリー検索を使用できるよう正しく設定されていない |
INVALID_SEARCH_PARAMETERS | 検索パラメーターが無効 |
SERVICE_UNAVAILABLE | 何らかの理由(メンテナンス等)によりサービスが停止している |
結果のヘッダー情報には次のパラメーターが含まれます。
ヘッダー情報
パラメーター名 | 意味 | データータイプ | データーの制限範囲 |
---|---|---|---|
vc:categoryName | 検索した商品カテゴリー | 文字列 | 0-256 bytes |
vc:categoryLevel | 検索したカテゴリーレベル | 負でない整数 | 1-3 |
vc:resultcount | カテゴリーアイテムの検索結果の合計数 | 負でない整数 | 0-999999999 |
vc:status | 応答の状況 | 文字列 | 0-256 bytes |
カテゴリーごとに以下の値が戻ります。
戻り値
パラメーター名 | 意味 | データータイプ | データーの制限範囲 |
---|---|---|---|
title | カテゴリー名 | 文字列 | 0-256文字 |
link | カテゴリーに入っている商品を検索する為のURL | URL | 0-2048文字 |
description | カテゴリー名(日本語) | 文字列 | 0-4096文字 |
guid | カテゴリー検索APIでそのカテゴリー を検索する為のURL | URL | 0-2048文字 |
vc:childCategoryCount | 子カテゴリー数 | 数字 | 子カテゴリー数の正の整数 |
vc:parentCategory | 親カテゴリーの情報が含まれる | - | - |
vc:childCategory | 子カテゴリーの情報が含まれる | - | - |
vc:categoryLevel | カテゴリーレベル | 数字 | 1-3 |
※パラメーター名はRSS 2.0フォーマットで記載されています。JSON/JSONPフォーマットを選択した場合、vc namespace
(vc:
)のプリフィックスは省きます。
第4章:API使用ガイドライン
バリューコマースの「広告表示」および「ユーザーのクリック」の原則は、画面に広告が表示され、ユーザーがクリックするというものです。広告がユーザーの画面に表示される場合、その表示数をカウントしています。APIを使用する場合には広告を自ら構築できるため自由度が上がりますが、広告を構築する際には以下のガイドラインにしたがってください。
★広告を表示する場合は、不正防止のため、adタグ(表示数カウント用)も同時に使用してください。
ad
タグは広告表示数をカウントするものです。APIの結果として返ってきたvc:pvImg
値をそのまま ad
タグとして利用してください。ad
タグを使用しない場合、表示数がカウントできません。その為、サイトの構成によっては不正と見なされ、提携解除・退会となりうる場合もありますので十分ご注意ください。
*モバイルの場合、ad
タグをvcads
タグに置き換えてご確認ください。
以下のように、返ってきたvc:pvImg
値をck
タグに埋め込んでください。
モバイル
<vc:pvImg>
<![CDATA[<img src="http://i.vcads.com/servlet/gifbanner?vs=*******&vp=*********" height="1" width="1" Border="0">]]>
</vc:pvImg>
Web
<vc:pvImg>
<![CDATA[<img src="http://ad.jp.ap.valuecommerce.com/servlet/gifbanner?vs=*******&vp=*********" height="1" width="1" Border="0">]]>
</vc:pvImg>
モバイル(iモード、Yahoo!ケータイ、EZweb)完成例その1(画像を使った場合)
<a href="http://i.vcads.com/servlet/referral?vs=xxxxxxx&vp=xxxxxxxxx">
<img src="images/sample.gif" width="96" height="24" border="0">
<img src="http://i.vcads.com/servlet/gifbanner?vs=*******&vp=*********" height="1" width="1" border="0">
</a>
完成例その2(テキストを使った場合)
<a href="http://i.vcads.com/servlet/referral?vs=xxxxxxx&vp=xxxxxxxxx">
自由テキスト
<img src="http://i.vcads.com/servlet/gifbanner?vs=*******&vp=*********" height="1" width="1" border="0">
</a>
Web完成例その1(画像を使った場合)
<a href="http://ck.jp.ap.valuecommerce.com/servlet/referral?vs=xxxxxxx&vp=xxxxxxxxx" target="_blank">
<img src="images/sample.gif" height="60" width="468" border="0">
<img src="http://ad.jp.ap.valuecommerce.com//servlet/gifbanner?vs=*******&vp=*********" height="1" width="1" Border="0">
</a>
完成例その2(テキストを使った場合)
<a href="http://ck.jp.ap.valuecommerce.com/servlet/referral?vs=xxxxxxx&vp=xxxxxxxxx" target="_blank">
自由テキスト
<img src="http://ad.jp.ap.valuecommerce.com//servlet/gifbanner?vs=*******&vp=*********" height="1" width="1" border="0">
</a>
*返ってくるvc:pvlmg
値は、利用するToken
のメディアタイプ(iモード、Yahoo!ケータイ、EZweb、Web)により異なります。また、Link
で返るURLもメディアタイプにより異なりますのでご注意ください。
第5章:FAQ
Web/モバイル
Q: APIで取得したckタグ(Web)/vcadsタグ(モバイル)を10個、クライアントのHTML画面上に表示させたい場合、adタグ(Web)/vcadsタグ(モバイル)も10個必要ですか?
A: はい。原則として「表示されるバナーのckタグ(Web)/vcadsタグ(モバイル)とadタグ(Web)/vcadsタグ(モバイル)は1対1の関係」です。そのため『表示数分』必要となります。つまり10個必要です。
Q: プログラム中において、APIで取得したckタグ(Web)/vcadsタグ(モバイル)にリダイレクトさせたい場合は?
A: ckタグ(Web)/vcadsタグ(モバイル)をクリックさせるのではなく、独自スクリプト中でリダイレクトさせたい場合は、リダイレクトさせたいページのリンクがある場所にadタグ(Web)/vcadsタグ(モバイル)を使用してください。これにより、表示数をカウントできます。
モバイル
<a href="redirect.cgi" target="_blank">
クリックでリダイレクト
<img src="http://i.vcads.com/servlet/gifbanner?vs=xxxxxxx&vp=xxxxxxxxx" height="1" width="1" border="0">
</a>
redirect.cgi
の中で
http://i.vcads.com/servlet/referral?vs=xxxxxxx&vp=xxxxxxxxx&vc\_url=http%3A%2F%2Fstore.vctsuhan.co.jp%2Fmmi-eshop%2Ffr8000f.html
にリダイレクトさせます。
Web
<a href="redirect.cgi" target="_blank">
クリックでリダイレクト
<img src="http://ad.jp.ap.valuecommerce.com/servlet/gifbanner?vs=xxxxxxx&vp=xxxxxxxxx" height="1" width="1" border="0">
</a>
redirect.cgi
の中で
http://ck.jp.ap.valuecommerce.com/servlet/referral?vs=xxxxxxx&vp=xxxxxxxxx&vc\_url=http%3A%2F%2Fstore.vctsuhan.co.jp%2Fmmi-eshop%2Ffr8000f.html
にリダイレクトさせます。
*モバイルはキャリアによってリダイレクトの回数制限があります。あらかじめご了承ください。
Q: APIで取得した結果数(vc:resultcount
)は1,000件以上あるが、1,001件以降のデーターが正しくない。(同じ商品が返ってくる)
A: APIで取得できる商品数の上限は1,000件までです。検索結果件数が1,000件以上になった場合は、1,000件までの表示にするなどのご対応をお願いします。
Q: 上記以外の使用方法について確認したい場合は?
A: 管理画面内「お問い合わせフォーム」にてお問い合わせください。
Web
Q: APIで取得したckタグを10個、クライアントのHTML画面上にローテーション表示させたい場合、adタグは10個必要ですか?
A:(クライアントサイド・サーバーサイド両方含む)スクリプトを使用してのローテーションは、以下の基準を満たす必要があります。
- ローテーション表示を認めるのは、CPAプロモーションでAPI使用時のみ
- 過度にローテーションさせない(1つのバナーは10秒以上表示させること)
- ローテーション表示の最大値は、1回のページロードに対して10個以内とすること
- ckタグが表示された場合に、adタグを表示すること
- adタグ呼び出しは、API取得のckタグ数を超えないこと
ローテーションで表示された場合にadタグの呼び出しが1回必要です。ローテーションの無限ループを行っている場合は、APIで取得したckタグ数を超えてadタグを呼び出してはいけません。
つまり上記の質問例では、下記例のようにadタグ呼び出しは10回を超えないようにします。以下の3つの例を参考にしてください。
- ローテーションで3個目のckタグの場合は、adタグは3回の呼び出し
- ローテーションで13個目(10個からは最初に戻る)のckタグの場合は、adタグは10回の呼び出し
- ローテーションで113個目(10個からは最初に戻る)のckタグの場合は、adタグは10回の呼び出しとなります
* モバイルはローテーション設定できません。
Q: APIで取得したckタグを10個、クライアントのHTML画面上にティッカー表示させたい場合、adタグは10個必要ですか?
A: ティッカー表示もローテーション表示とみなします。同等のガイドラインに沿ってください。