<< プレイログ:再生履歴取得API | main | アクセス元の国名を判定 >>

2007.07.27 Friday

リンクシェアWebサービス

クロスオーバーサーチ(リンクシェア Webサービス)
が正式開始されたので使ってみました。

リンクシェアはアフィリエイトサービスプロバイダの最大手で、
ソニースタイル、エプソンダイレクト、デル
など大手コンピュータメーカーのアフィリエイトをする際には、外せないASPなのですが、以前からCSVによるデータ配信(マーチャンダイザープログラム)は行っていたのですが、今回始まったクロスオーバーサーチでは、そのCSVデータをWebAPI経由でXML取得できるようになったものです。

使用方法までの手順は、

■リンクシェアに申し込み
リンクシェアをお使いでない場合は、
アフィリエイト リンクシェア ブログ 携帯対応 成果報酬 広告 テンプレート ブログパーツ
このバナーをクリックして、リンクシェアに申し込みます。
しばらくすると、メールが届くので、それにしたがって登録手続きを進めればOKです。
なお、審査があるので、審査終了後まで待つ必要があります。

■クロスオーバーサーチ対応のECサイトと提携
マーチャンダイザー・プログラム対応ECサイトリスト
を見ると、対応ECサイトのリストが表示されるので、使用したいECサイトと提携します。
リストから希望のECサイトを見つけたら、リンクシェアにログイン後、検索窓があるので、そこにECサイト名を入力後、検索ボタンを押せば、ECサイトが表示されるので、条件等を確認後、提携すればOKです。
なお、ECサイトごとに提携条件が異なるので、サイトの内容によっては提携を断られる場合もあります。
無事提携できても、すぐには使えません。だいたい、一週間ほど経ってから、使用できるようになります。


■スペック
クロスオーバーサーチ(リンクシェア Webサービス)
に、マニュアル(PDF)へのリンクがあるので、ダウンロードして確認しておきましょう。
基本的には、
http://feed.linksynergy.com/productsearch
に、各種パラメータを付加してリクエストするとXMLが返却されるREST方式です。

■トークンの取得
スペックを確認すると、トークンが必要なことが分かります。
トークンの取得方法は、
トークン(アフィリエイト識別コード)はどうやって取得するのですか?
に書いてあるので、読みながら取得してください。

■サンプル APIを使用する準備が整ったところで、 ここでは、PCというキーワードにマッチするアイテムを配列にランダムに格納するサンプルを紹介します。
  $ad_keyword = '"PC"';
  $ad_max = 30;
  $ad_req = 'http://feed.linksynergy.com/productsearch';
  $ad_req .= '?token=' . $token . '&keyword=' . urlencode($ad_keyword) . '&max=' . $ad_max;
  $ad_xml = simplexml_load_file($ad_req);
  $ad_max = count($ad_xml->item);
  $ad_link = array();
  foreach($ad_xml->item as $items){
    $data = '<table border="0" style="font-size:x-small;"><tr><td>';
    $data .= '<a target="_blank" href="' . $items->linkurl . '"><img src="' . $items->imageurl . '"></img>' . '</a>';
    $data .= '</td><td>';
    $data .= $items->productname . '<br>';
    $data .= '価格:' . $items->price . '円<br><br>';
    $description = '';
    if(!empty($items->description->short))  $description .= $items->description->short . '<br>';
    if(!empty($items->description->long))  $description .= $items->description->long . '<br>';
    $data .= $description . '<br>';
    $data .= '</td></tr></table>';
    $ad_link[] = $data;
  }
  shuffle($ad_link);
これで、ad_link配列にシャッフルされたデータが格納されるので、必要なタイミングでprint文で表示すればOKです。
----追記、ここから---
(tikaさんから質問があったので、print文の書き方例です。)
例えば、一番最初の広告だけを表示したい場合は、
print $ad_link[0] . "<br>\n";
って感じでしょうか。
数行おきに表示したい場合は配列番号のところをインクリメントしていくだけです。
----追記、ここまで---

マニュアルを読めば分かるのですが、注意点としては、キーワードをダブルコーテーションで括って、全体をurlencodeする、というところでしょうか。 それ以外は一般的なRESTリクエスト方式のWebAPIと変わりありません。

実例は、
WebAPIサーチ
に実装してみました。

自分が現在提携しているECサイトだと、description->shortにはデータは格納されているのですが、longに説明を入れてくれているECサイトはありません。
今後、新規の提携先を考え、longにも対応できるようにしてあります。
(どちらか一方の方がいいのかも)

今回のサンプルでは使っていませんが、特定のECサイトだけをターゲットにしての検索など、意外とパラメータも豊富です。

ECサイトと提携しても、そのECサイトのデータが配信されるまで、結構なタイムラグがあるのが難点ですが、リッチなコンテンツを持つリンクシェアだけに、アフィリエイトを使用しているWebプログラマなら一度試しておいてもよいと思います。
使い方も簡単ですし。

テクノラティお気に入りに追加する

Comments

コメント入力は停止しています

海外からと思われるコメントスパムが横行しているため、全記事のコメント入力を停止しています。メッセージのある方は、ホームページの一番下に連絡欄がありますので、そちらからお願いします。

Trackback URL

トラックバックする場合は、
トラックバック元の記事にこのエントリへのリンクを記載してください
このエントリのタイトル「リンクシェアWebサービス」
このエントリのリンク「http://kommy.s254.xrea.com/blog/log/eid43.html」