バリューコマースのAPIの種類や利用する準備、取得・出力の方法

バリューコマースは、日本でもっとも歴史の長いASP(アフィリエイトサービスプロバイダ)です。
ユーザーからの信頼も厚く、多くのユーザーが利用しています。
そんなバリューコマースが提供するアフィリエイト向けAPIでは、商品の情報を検索したり出力したりできます。
工夫の仕方によって、さまざまなウェブサービスが作れるかもしれません。
今回の記事では、バリューコマースのアフィリエイト向けAPIについて解説します。
バリューコマースとは

バリューコマースとは、日本最大級のASP(アフィリエイトサービスプロバイダ)です。
1999年にサービスを開始した日本でもっとも歴史の長いASPで、運営期間が長く、ユーザーからは厚い信頼を得ています。
登録サイトは80万サイト以上で、広告主は6500社以上、ほかのASPと比較してもかなり規模の大きなサービスです。
その他のバリューコマースの特徴としては、次のようなものが挙げられます。
- Yahoo!の独占案件が多い
- ショッピング系の案件が多数
- クローズド案件がある
- 単価の高い案件が多い
- 報酬を受け取りやすい など
APIとは

APIは「Application Programming Interface」の略語で、カタカナでは「アプリケーション・プログラミング・インターフェース」です。
インターフェースとは、何かと何かをつなぐもののことで、APIとは「アプリケーションやソフトウェアとプログラムをつなぐもの」という意味です。
APIはソフトウェアやアプリケーション、プログラム同士を接続する働きを持ち、アプリケーションやソフトウェアの一部を外部に向けて公開し、第三者が開発したソフトウェアと機能を共有できるようにします。
異なるソフトウェアやアプリケーション同士で認証機能やチャット機能を共有したり、片方からデータを取り込んだりすることができます。
アフィリエイトAPIでできること

アフィリエイトAPIの目的は商品検索です。
たとえば、「机」というキーワードで登録されている商品を取得します。
取得するデータの内容は「商品タイトル」「商品説明」「商品画像」「価格」「アフィリエイトURL」などです。
アフィリエイトAPIではこれらのデータを取得し、自分のウェブサイト上に出力できます。
他にも、ウェブサイト上に検索画面を作って商品検索をしたり、カテゴリを絞って商品を取得・出力したりすることが可能です。
さらには、広告を自動で表示させたり、人気ランキングを出力するといった使い方もあります。
アフィリエイトAPIには、今回紹介するバリューコマースAPI以外にも、楽天APIやリンクシェアAPI、AmazonAPIなどが提供されています。
バリューコマースのAPIの種類

バリューコマースのAPIにはいくつかの種類があります。
それぞれのAPIの種類について解説します。
広告主向け
広告主向けに提供されているAPIでは、注文データに関する情報を取得できるレポートAPIがあります。
広告主向けレポートAPIでは、広告主向け管理画面で提供している注文別レポートと同等の情報を提供します。
アフィリエイトサイト向け
アフィリエイトサイト向けにはレポートAPI、ウェブサービスAPIの2種類が提供されています。
それぞれの概要について解説します。
- レポートAPI
レポートAPIは、バリューコマースが提供する注文データに関するAPIです。
アフィリエイトサイト向け管理画面で提供している注文レポートと同等の情報を提供します。
- ウェブサービスAPI
アフィリエイトサイト向けのウェブサービスAPIが、一般的にアフィリエイトAPIと呼ばれているAPIです。
商品APIとも呼ばれており、広告主が持つ商品情報の簡単検索、異なる広告主が持つ同一商品の価格比較、お目当て商品の売り上げ順ランキングなどを取得することができます。
バリューコマースのAPIを利用する準備

バリューコマースのAPIを利用する準備について解説します。
バリューコマースに登録
まず、バリューコマースにアフィリエイトサイトとして登録することが必要です。
登録は以下のウェブページから行ってください。
申し込み手続きが終わると、登録メールアドレスにパスワードが送信されます。
そのパスワードを利用して管理画面に接続しましょう。
なお、この時点ではまだ商品APIを扱えません。
バリューコマースでは登録されたウェブサイトがアフィリエイトの運用に適切かどうか審査している段階だからです。
審査に通過した段階で初めてバリューコマースのAPIを使用することができます。
審査にかかる時間は数日程度で、審査が終了すると結果は登録したメールアドレス宛に届きます。
広告主と提携
アフィリエイトの管理画面にログインし、メニューの「広告」→「対応機能別」→「ウェブサービス」から、ウェブサービスに対応した広告主のプログラムを検索することができます。
広告を選択したら広告主と提携し、広告スペースを作成してください。
自動承認の場合は、広告スペースも自動で作成されます。
トークンを取得
トークンは、バリューコマースのAPIを利用する上で必要な情報です。
バリューコマースのアフィリエイト管理画面にログインし、「広告」→「対応機能別」→「ウェブサービス」から確認できます。
すでに広告を提携して広告スペースが作成されている場合は、広告スペース詳細画面でもトークンを確認可能です。
プログラムの動作確認
バリューコマースのAPIを使用するためには、プログラミング言語を用いて検索ページを作る必要があります。
使用するプログラミング言語は自由に選べますが、一般的にはPHPを利用することが多いです。
PHPを利用するには、PHPが使用できるレンタルサーバーを借りましょう。
ほとんどのレンタルサーバーではPHPが使用できますが、念のために管理者に確認してください。
また、ユーザーレベルでもPHPが使用できるかどうか確認できます。
サーバーに以下の内容の「phpinfo.php」をアップロードして正常に動作するかどうかアクセスしてみましょう。
<?php phpinfo(); ?>
phpinfo.phpにウェブブラウザでアクセスすると、PHPのバージョンやさまざまな情報が表示されます。
正常に表示されれば、バリューコマースのAPIが動作する環境の準備が完了です。
実際にAPIで商品データを取得・出力

実際にバリューコマースのAPIで、商品データを取得・出力してみましょう。
LOHACOの商品データを取得・出力するサンプル
今回は、バリューコマースのAPIを利用してLOHACOサイト内の簡単な商品データを表示します。
取得するデータの条件は、「fooddrink」カテゴリ内を「ボトルコーヒー」というキーワードで検索したときにヒットする3件の商品データとします。
取得したデータからは、「商品タイトル」「商品画像」「商品へのリンク」「広告表示数を確認するadタグ」を出力します。
以下がそのソースコードです。
<?php $value_token = 'XXXXXXXX'; // トークンを指定 $keyword = 'ボトルコーヒー'; // 検索ワードを指定 $category ='fooddrink'; // カテゴリーを指定 $value_shop = 'LOHACO'; // 検索するサイトを指定 $hits = '3'; // 取得する件数を指定 $format = 'json'; // レスポンスデータのフォーマットを指定 // 「商品API」のリクエストURL $url = "http://xn--service-nr4fja48b.valuecommerce.ne.jp/productdb/search?token=%7B%24value_token%7D&keyword=%7B%24keyword%7D&category=%7B%24category%7D&results_per_page=%7B%24hits%7D&merchant=%7B%24value_shop%7D&format=%7B%24format%7D"; // JSONデータを取得・エンコードしオブジェクトに変換 $json = file_get_contents( $url ); $json = mb_convert_encoding( $json, 'UTF-8', 'ASCII, JIS, UTF-8, eucJP-win, SJIS-win' ); $obj = json_decode( $json ); // 取得した商品数 $count = $obj->resultCount; if( $count ){ // 取得した商品データの配列を変数$itemsに格納 $items = $obj->items; foreach( $items as $item ){ $title = $item->title; // 商品タイトルを取得 $image = $item->imageFree->url; // ラージサイズの商品画像を取得 $link = $item->link; // 商品へのリンクを取得 $ad_tag = $item->pvImg; // 広告表示数カウント用のadタグを取得 // 商品情報を出力する際のHTML echo '<div><a href="' . esc_url( $link ) . '" target="_blank">'; echo '<p>' . esc_html( $title ) . '</p>'; echo '<img src="' . esc_url( $image ) . '" alt="' . esc_attr( $title ) . '">'; echo '</a></div>' . $add_tag; } }else{ echo '<p>商品はありません。</p>'; } ?>※WordPress未導入の方は上記のサンプルコードが動作しません。WordPressを導入後
お試しください。
APIのデータをキャッシュする方法
上記のソースコードは商品データを取得するため、アクセスごとにAPIリクエストを行います。
しかし、取得したデータをデータベースにキャッシュして、APIリクエストの回数を減らすことも可能です。
WordPressを利用する場合はTransients APIを利用することで、データをキャッシュできます。
Transients APIでは「set_transient()(データを保存)」「get_transient()(データを取得)」「delete_transient()(データを削除)」という3つの関数を利用してデータベースに保存するキャッシュを管理します。
ソースコードの解説

上述したソースコードのポイントについて解説します。
リクエストURLを指定
以下のポイントでは、トークンや商品データ取得の条件のパラメータを指定したURLを作成します。
$value_token = 'XXXXXXXX'; // トークンを指定 $keyword = 'ボトルコーヒー'; // 検索ワードを指定 $category ='fooddrink'; // カテゴリを指定 $value_shop = 'LOHACO'; // 検索するサイトを指定 $hits = '3'; // 取得する件数を指定 $format = 'json'; // レスポンスデータのフォーマットを指定 // 「商品API」のリクエストURL $url = "http://webservice.valuecommerce.ne.jp/productdb/search?token={$value_token}&keyword={$keyword}&category={$category}&results_per_page={$hits}&merchant={$value_shop}&format={$format}";
JSONデータをオブジェクトに変換
バリューコマースのAPIへのリクエストは、商品データをJSON形式で返します。
以下のポイントでJSONのデータを取得、エンコードしてPHPで扱いやすくします。
// JSONデータを取得・エンコードし、オブジェクトに変換 $json = file_get_contents( $url ); $json = mb_convert_encoding( $json, 'UTF-8', 'ASCII, JIS, UTF-8, eucJP-win, SJIS-win' ); $obj = json_decode( $json );
商品情報を取得・出力
オブジェクトに変換した商品データから、必要な情報を取得するポイントは以下です。
ループを使ってHTMLとして出力し、必要に応じてエスケープします。
$count = $obj->resultCount; if( $count ){ // 取得した商品データの配列を変数$itemsに格納 $items = $obj->items; foreach( $items as $item ){ $title = $item->title; // 商品タイトルを取得 $image = $item->imageFree->url; // ラージサイズの商品画像を取得 $link = $item->link; // 商品へのリンクを取得 $ad_tag = $item->pvImg; // 広告表示数カウント用のadタグを取得 // 商品情報を出力する際のHTML echo '<div><a href="' . esc_url( $link ) . '" target="_blank">'; echo '<p>' . esc_html( $title ) . '</p>'; echo '<img src="' . esc_url( $image ) . '" alt="' . esc_attr( $title ) . '">'; echo '</a></div>' . $add_tag; } }else{ echo '<p>商品はありません。</p>'; }※WordPress未導入の方は上記のサンプルコードが動作しません。WordPressを導入後
お試しください。
まとめ
今回は、バリューコマースが提供するアフィリエイトAPIの扱い方について解説しました。
バリューコマースは、日本でもっとも長い歴史を持つASPで、ユーザーからの信頼が厚く、多くのユーザーがバリューコマースを利用しています。
それだけに、高度な運用を希望するユーザーの数も多く、今回紹介したようなアフィリエイトAPIによる拡張にも対応しています。
バリューコマースのアフィリエイトAPIで商品の見せ方や検索の仕方を工夫して、面白いウェブサービスを作りましょう。
独自ドメインを取得するなら「お名前.com」
「お名前.com」は、国内シェアNo.1のドメイン登録サービスです。
独自ドメインと合わせて、WordPressの自動インストールに対応したレンタルサーバーも利用できます。WordPressや独自ドメインを一度も使ったことのない人でも、スムーズに始められるはずです。
独自ドメインを取得しようと考えている方は、まずは無料で好きなドメイン名を検索してみましょう。
まずは検索!ドメインは早い者勝ち