【PHP】楽天商品検索APIでアフィリエイトリンクを自動生成する

プログラミング

先日、Amazon Product Advertising APIを使ってAmazonアソシエイトの商品リンクを自動生成する手順を紹介しました。今回は、楽天市場商品検索APIを使って楽天市場でも同様に楽天アフィリエイトの商品リンクを自動生成してみたいと思います。

diy-kagu.hatenablog.com

利用登録

まずはじめに、楽天アフィリエイトの利用登録およびアプリIDの発行が必要です。

楽天ウェブサービス: API一覧

こちらの手順は省略します。

使い方

SDKの入手

Amazon Product Advertising APIのように、パラメータ付きのURLを使う方法もありますが、楽天には公式SDKがあります。SDKはPHP版とRuby版があり、PHP版は以下のURLから取得することができます。

GitHub – rakuten-ws/rws-php-sdk: Rakuten Web Service PHP SDK

ダウンロードしたファイルを解凍し、libフォルダautoload.phpを使用します。

libフォルダautoload.phpを同じフォルダにコピーします。

コード例

そのままコピペしてアプリケーションIDだけ変えれば動きます。

以下の例では画像のある商品のうち「うどん」で検索した結果を1件のみ取得して、商品名、アフィリエイトURL、商品価格、商品画像URLをechoで出力しています。

<?php
require_once 'autoload.php'; //autoload.phpを指定する。libフォルダも同じ場所に置く。
 
$client = new RakutenRws_Client();
$client->setApplicationId('アプリケーションID');

//入力パラメータを指定
$response = $client->execute('IchibaItemSearch', array(
 'keyword' => 'うどん',
 'hits' => '1',
 'page' => '1',
 'imageFlag' => '1'
));

if ($response->isOk()) {
//検索結果を1件ずつチェック
 foreach ($response as $item) {
//出力パラメータをキーとして結果を参照する
 echo $item['itemName'];
 echo $item['affiliateUrl'];
 echo $item['itemPrice'];
 echo $item['mediumImageUrls'][0]["imageUrl"];
 }
} else {
 echo 'Error:'.$response->getMessage();
}
?>

入力パラメータ

入力パラメータは以下のページで詳しく解説されています。

楽天ウェブサービス: 楽天商品検索API(version:2017-07-06) | API一覧

項目 パラメータ 説明
検索キーワード keyword UTF-8でURLエンコードした半角2文字~半角128文字の文字列。デフォルトではスペース区切りでAND検索。
ショップコード shopCode ショップURLの末尾のコードを指定してショップを指定可能。
取得件数 hits 1ページ当たりの取得件数。1~30を指定する。
最小価格 minPrice
最大価格 maxPrice
ORフラグ orFlag 1を指定するとスペース区切りの検索キーワードをOR検索する。デフォルトでは0(AND検索)。
画像有無フラグ imageFlag 1を指定すると商品画像がある商品のみ検索する。デフォルトでは0(商品画像がない商品も検索する)。
除外キーワード NGKeyword UTF-8でURLエンコードした半角2文字~半角128文字の文字列。スペース区切りで複数指定可能。
送料フラグ postageFlag 1を指定すると送料無料の商品のみ検索。デフォルトでは0(送料有りの商品も含む)。

出力パラメータ

楽天ウェブサービス: 楽天商品検索API(version:2017-07-06) | API一覧

項目 パラメータ
商品名 itemName
商品価格 itemPrice
商品説明文 itemCaption
商品URL itemUrl
アフィリエイトURL affiliateUrl
商品画像(小) smallImageUrls
商品画像(大) mediumImageUrls
レビュー件数 reviewCount
レビュー平均 reviewAverage
店舗名 shopName
店舗URL shopUrl
店舗コード shopCode
店舗アフィリエイトURL shopAffiliateUrl
タイトルとURLをコピーしました