何のランキングをゲットする?
いよいよ、もしもAPIでランキングをゲットしようと思いますが、いくつか種類があります。
ランキングといっても、ある一定の条件の商品一覧を売り上げ順にソートしたものを使うだけなので、条件の設定で以下のようなものがあります。
・カテゴリ
フード・ドリンクなどの10種類の親カテゴリの他に、スイーツなどもう少し細かいのもあります。そのカテゴリに属する商品一覧を取り出す。
・タグ
もしも管理画面の商品一覧で下のほうにある「関連ワード: 」です。同じタグをもつ商品の一覧を取り出す。
・商品名
商品名に一定の文字が入っているもの一覧を取り出す。
・グループ
サイズや色違いなどの商品が独自にグルーピングされているので、同じグループの商品一覧を取り出す。
・価格設定済み商品
価格設定済みの商品のみを対象にすることができるので、自分のサイトで扱っている商品は、価格設定しておくと、自分のサイトの商品の絞り込みに利用できる。
今回は、専門店サイトを想定して、タグを使って見ます。
getmoshiapi.phpにタグを扱うための関数を追加します。
$perpageは、1回のリクエストでいくつの商品情報を得るかの指定で(1ぺージ分),$pageは、何ぺージ目の情報か、$sortは並び順を指定します。
config.phpでタグを指定するようにします。
呼び出す、メインのindex.phpは、とりあえずこんな感じ。
売り上げ順に並んだ商品の0ぺージ目(最初のぺージ)の100個を取り出します。
価格設定済み商品の絞り込みをするなら、$sの後に"&has_shop_price=registered"を加えます。

ランキングといっても、ある一定の条件の商品一覧を売り上げ順にソートしたものを使うだけなので、条件の設定で以下のようなものがあります。
・カテゴリ
フード・ドリンクなどの10種類の親カテゴリの他に、スイーツなどもう少し細かいのもあります。そのカテゴリに属する商品一覧を取り出す。
・タグ
もしも管理画面の商品一覧で下のほうにある「関連ワード: 」です。同じタグをもつ商品の一覧を取り出す。
・商品名
商品名に一定の文字が入っているもの一覧を取り出す。
・グループ
サイズや色違いなどの商品が独自にグルーピングされているので、同じグループの商品一覧を取り出す。
・価格設定済み商品
価格設定済みの商品のみを対象にすることができるので、自分のサイトで扱っている商品は、価格設定しておくと、自分のサイトの商品の絞り込みに利用できる。
今回は、専門店サイトを想定して、タグを使って見ます。
getmoshiapi.phpにタグを扱うための関数を追加します。
<?php
function getmoshi_tag ($authorization_code, $tag, $page, $perpage, $sort, $option="") {
$_tag = urlencode($tag);
$options = "&tags=" . $_tag ."&list_per_page=".$perpage . "&page_index=" . $page . "&sort_order=" . $sort . $option;
if(($ArticleSearch = getmoshi_basic($authorization_code, $options)) !== FALSE){
return $ArticleSearch;
}
return false;
}
function getmoshi_basic ($authorization_code, $options="") {
~略~
}
?>
$perpageは、1回のリクエストでいくつの商品情報を得るかの指定で(1ぺージ分),$pageは、何ぺージ目の情報か、$sortは並び順を指定します。
config.phpでタグを指定するようにします。
<?php
$shop_id= "1"; //ショップID
$authorization_code="1234567890123456789"; //認証コード
$max_rank = 10; //ランキング何位まで表示
$tag = "焼肉";
$cache_dir= ""; //キャッシュディレクトリ
$cache_time = 24*3600; //キャッシュ有効時間(秒)
?>
呼び出す、メインのindex.phpは、とりあえずこんな感じ。
売り上げ順に並んだ商品の0ぺージ目(最初のぺージ)の100個を取り出します。
価格設定済み商品の絞り込みをするなら、$sの後に"&has_shop_price=registered"を加えます。
<?php
mb_regex_encoding("UTF-8");
mb_internal_encoding("UTF-8");
require_once('config.php');
require_once('urllist.php');
require_once('getmoshiapi.php');
$p = 0;
$maxnum = 100;
$s = "sales";
if(($ArticleSearch = getmoshi_tag($authorization_code, $tag, $p, $maxnum, $s)) !== FALSE){
}
?>
