セール&クーポンサーチ Webサービスとは
リンクシェアに参加している企業のセール、キャンペーン、クーポンといったアフィリエイトの実績に繋がりやすい情報を検索、取得できるWebサービスです。本サービスはREST(REpresentational State Transfer)インターフェースに対応しています。
※参加企業が提供する情報は、クーポンだけでなく割引やその他購入時の特典なども含みますが、この文書では、便宜上本サービスを介して提供されるリンクを「クーポン」と呼びます。
セール&クーポンサーチ Webサービスの利用申請が必要です。
セール&クーポンサーチ Webサービスの利用に際しては、ダッシュボード(アフィリエイト管理画面)からの利用申請が必要です。
また、セール&クーポンサーチ Webサービスを利用するためにはWebサービス用のトークンが必要になります。
トークンはリンクシェア管理画面から取得可能です。
トークンは変更することも可能であり、管理画面のトークン取得画面にある「トークンを更新」ボタンをクリックすることにより、新しいトークンを発行する事ができます。
その場合それまで使っていたトークンは利用できなくなりますので、ご注意ください。

以下URLに対して、パラメータを付加したRESTインターフェースでアクセスします。
http://feed.linksynergy.com/coupon
| パラメータ名 | 必須 | セットする内容 | 例 |
|---|---|---|---|
| token | ○ | リンクシェア管理画面から取得したトークン | 7c2e392c82912a69442f2eba9dd888ac2563 da78b69d995cce267b49e7d45f9b |
| mid | ECサイトのID番号(提携関係があるECサイトに限ります) 指定しない場合は横断検索になります。 |
2405 (複数指定の場合は半角パイプ「|」で区切って指定) |
|
| category | 取得したいクーポンのカテゴリー | 100301 (複数指定の場合は半角パイプ「|」で区切って指定) |
|
| promotiontype | 取得したいクーポンのプロモーションタイプ | 1001 (複数指定の場合は半角パイプ「|」で区切って指定) |
|
| network | 11 | 11 | |
| promocat | ※ | 1 | 1 |
※カテゴリ、プロモーションタイプマスタを取得する際にセットします。
| 項目名 | 説明 |
|---|---|
| <link type> | リンクの種類を表します。種類は以下の2 つです。 ・TEXTテキストリンク ・BANNERバナー |
| <category> | クーポンのカテゴリIDとカテゴリ名 |
| <promotiontype> | クーポンのタイプIDとタイプ名 |
| <offerdescription> | 表示されたリンクの説明文 |
| <offerstartdate> | 表示されたリンクの情報をエンドユーザが利用できる期間の開始日(yyyy-mm-dd形式) |
| <offerenddate> | 表示されたリンクの情報をエンドユーザが利用できる期間の終了日(yyyy-mm-dd形式) |
| <couponcode> | ECサイトでの注文時に入力するクーポンコード |
| <couponrestriction> | 表示されたリンクに関する注意 |
| <clickurl> | リンクコード。クリックするとEC サイトの指定したページに遷移します。 |
| <imageurl> | バナー画像のURL |
| <impressionpixel> | インプレッションタグ。リンクの表示回数を計測します。 |
| <advertiserid> | ECサイトID(MID) |
| <advertisername> | ECサイト名 |
| <network> | 固定で11が入力されています。 |
| <fault> | エラーの場合は<link>ではなく<fault>でレスポンスが返されます。 |
| <errorcode> | エラーの種別を表すコード |
| <errorstring> | エラー内容のテキスト |
このWebサービスで取得できるレスポンスは大きく2種あります。
1.カテゴリ、プロモーションタイプマスタ一覧を取得する
トークン:813cc94bbxecc6feb3e56dr637w015c3530894c01x3f488q6d62af7405bed1
promocat:1
上記の場合、以下のようなリクエストURLとなります。
http://feed.linksynergy.com/coupon?
token=813cc94bbxecc6feb3e56dr637w015c3530894c01x3f488q6d62af7405bed1&promocat=1
XML データ・サンプル
取得したXML データの文字コードはUTF-8 です。
<?xml version="1.0" encoding="UTF-8"?>
<couponfeed>
<network id="11"><name>Japanese Network</name>
<categories>
<category id="100301">送料無料・送料割引</category>
<category id="100303">特典・プレゼント</category>
<category id="100306">新発売</category>
<category id="100304">初回購入限定</category>
<category id="100302">値引き・割引き</category>
<category id="100305">サプライズ</category>
<category id="100307">クーポン</category>
<category id="100308">その他</category>
</categories>
<promotiontypes>
<promotiontype id="1002">花粉症</promotiontype>
<promotiontype id="3001">秋冬ファッション</promotiontype>
<promotiontype id="3002">秋のセール</promotiontype>
<promotiontype id="4008">福袋</promotiontype>
<promotiontype id="2001">父の日</promotiontype>
<promotiontype id="1008">母の日</promotiontype>
<promotiontype id="1006">春夏ファッション</promotiontype>
<promotiontype id="1004">春休み</promotiontype>
<promotiontype id="1">General Promotion</promotiontype>
</promotiontypes>
</network>
</couponfeed>
2.セール、キャンペーン、クーポン情報を取得する
トークン:813cc94bbxecc6feb3e56dr637w015c3530894c01x3f488q6d62af7405bed1
mid:25089
上記の場合、以下のようなリクエストURLとなります。
http://feed.linksynergy.com/coupon?
token=813cc94bbxecc6feb3e56dr637w015c3530894c01x3f488q6d62af7405bed1&mid=25089
XML データ・サンプル
取得したXML データの文字コードはUTF-8 です。
<?xml version="1.0" encoding="UTF-8"?>
<couponfeed>
<link type="BANNER">
<categories>
<category id="100301">送料無料・送料割引</category>
</categories>
<promotiontypes>
<promotiontype id="2001">父の日</promotiontype>
</promotiontypes>
<offerdescription>228_送料無料・送料割引系_父の日</offerdescription>
<offerstartdate>2010-04-09</offerstartdate><offerenddate>2010-04-30</offerenddate>
<imageurl>http://www.linkshare.ne.jp/images/beginner_ttl_3.gif</imageurl>
<clickurl>http://click.linksynergy.com/fs-bin/click?id=GSFNlAS0O*w&offerid=167830.228&type=4&subid=0
</clickurl>
<impressionpixel>http://ad.linksynergy.com/fs-bin/show?id=GSFNlAS0O*w&bids=167830.228&type=4&subid=0</impressionpixel>
<advertiserid>25089</advertiserid><advertisername>テストECサイト</advertisername>
<network id="11">Japanese Network</network>
</link>
<link type="TEXT">
<categories>
<category id="100301">送料無料・送料割引</category>
</categories>
<promotiontypes>
<promotiontype id="2001">父の日</promotiontype>
</promotiontypes>
<offerdescription>128_送料無料・送料割引系_特集8(80文字まで)</offerdescription>
<offerstartdate>2010-04-09</offerstartdate>
<offerenddate>2010-05-31</offerenddate>
<clickurl>http://click.linksynergy.com/fs-bin/click?id=GSFNlAS0O*w&offerid=167830.128&type=3&subid=0</clickurl>
<impressionpixel>http://ad.linksynergy.com/fs-bin/show?id=GSFNlAS0O*w&bids=167830.128&type=3&subid=0</impressionpixel>
<advertiserid>25089</advertiserid><advertisername>テストECサイト</advertisername>
<network id="11">Japanese Network</network>
</link>
</couponfeed>
リクエストは、一日当たり最大50リクエストまで(エラーの場合は含まず)です。なお、1日とはグリニッジ標準時(GMT)の午前0 時から24 時間(日本時間午前9:00 からの24 時間)を指します。
セール&クーポンサーチ Webサービスには上記のとおり、1日50回のアクセス制限があります。
アプリ開発、検証時にアクセス制限による問題が発生する場合は、開発用のインターフェースをご利用ください。
開発用のインターフェースにはいくつかの制約があり、本番環境ではご利用いただけませんのでご注意ください。
全クーポンフィード取得インタフェース
http://www.bento-box.jp/apps/coupon/allcuponfeed_fordev.php
全クーポンフィード取得インタフェース
http://www.bento-box.jp/apps/coupon/allpromocat_fordev.php
制限事項
データファイルの詳細や、追加属性についてはPDFにて詳細な仕様をご確認いただけます。
下記からダウンロードください。
このサンプルでは、一度取得したクーポンフィードを一定時間キャッシュしておくことで、
当Webサービスの1日の最大リクエスト制限を考慮しつつ、かつパフォーマンスの向上が図れるようにしています。
キャッシュ機構としてPEAR::Cache_Liteを、XMLパーサーとしてPEAR::XML_Serializerを活用しています。
尚、ご利用の環境によってはそのまま動作しないケースがあります。
ご了承ください。
require_once "Cache/Lite.php";
require_once "XML/Unserializer.php";
// Cache_Liteのオプション設定
$cacheOptions = array(
'cacheDir' => 'キャッシュ保存に使うディレクトリ',
'lifeTime' => キャッシュしておく時間,
);
$cacheLite = new Cache_Lite($cacheOptions);
// XMLパース時のオプション設定
$xmlOptions= array(
'encoding' => 'UTF-8',
'parseAttributes' => TRUE,
'forceEnum' => array('link','promotiontypes','categories', 'category', 'promotiontype')
);
$xml = new XML_Unserializer($xmlOptions);
// キャッシュからデータ取得を試みる
$data = $cacheLite->get($token);
if($data) {
// 有効なキャッシュがあった場合はそのデータを利用する
} else {
$req = "セール&クーポン Webサービス用リクエストURL組み立て";
$data = file_get_contents($req);
$xml->unserialize($data, false);
$struct = $xml->getUnserializedData();
if(array_key_exists('errorcode',$struct)) {
// エラーを検出した場合はキャッシュ保存処理は行わない
} else {
// エラーがなかった場合のみキャッシュ保存を行う
$cacheLite->save($data, $token);
}
}