楽天スーパーセールでランキング取得APIに起きた不具合

楽天スーパーセールでランキング取得APIに起きた不具合

楽天スーパーセールでランキング取得APIに起きた不具合

楽天市場でスーパーセールが始まりました。

他社さんの動向が気になる所ではありますが、うちの店舗では4~5日が通常の3倍程度。
でも土日(6~7日)が非常に悪く通常の半分。
今日はどうかなぁという所です。

推測でしかないですが、土日は時間が有り余って価格調べに十分な時間を使えるのでセールに一切参加していないうちの店舗が購入先からはねられたのかなと。

まぁ、利益を削る程度ならまだしも赤字を出して売る必要もないのでこんなもんかなとも考えてます。
セール前の1週間(セール参加店舗さんが商品を売れない期間)の売上が良かったので、きっと均してトントンでしょう。

スーパーセールで見つかったシステム御不具合

売上が良かった4~5日の2日間。

販売された商品の種類も多かったのですが、ランキング自動取得でデータを取ってこないという事案が発生しました。

「セール参加してる店舗の売上が多くてランキングに入っていなかったのだろう」と思っていたのですが、たtンさんのツールで得ているランキング情報にはウチの店舗商品が記載されています。

と言う事は、ランク外だから取得しなかったのではなくて、何かが起こって取得できなかった。

エラーログには接続エラー、でも深夜帯のリアルタイムランキングは入ってくる

そうなんですよ。ログは接続エラーなのに夜間帯はちゃんと接続してるのです。

深夜帯のリアルタイムランキングはしっかりと獲ってくるし、デイリーランキングも取得してきます。
なのに、日中のリアルタイムランキングだけ接続エラーで取得してこない。
この理由探すのに日曜日を丸々使ってしまったのは超痛かった。

原因はアクセスしすぎ

判明してみれば「何故気づかなかった」という話なのですが、原因はこいつでした。

楽天Developerではランキング情報を1ジャンル1000位まで取得できます。
ページ数で35ページ。
これに端末集計毎とすると35×2=70ページ。

通常はせいぜい3ページ目までしかないので6ページで済むわけですが、さすがスーパーセール『10ページ』ありやがった。コレのお陰で普段出ていない接続制限が発生してました。

楽天Developerは別APIを絡めると接続制限が発生しない

ヘルプでは1秒に1回と記載ありますが、別APIを絡めると接続制限が発生しません。
なので、商品ランキングAPIを実行した後にGenre所得APIを実行する様仕掛けてみました。

結果、取ってくる。
なるほどねぇ。

まとめ

楽天スーパーセールは様々な商品が売れる『切っ掛け』を作る場として優れているのだと思います。
ランキング内の商品点数が増加するのがその証明です。

でも、システム的にはいつもと違う動きとなる為、今回の事例の様な想定外のエラーに見舞われる確率も上がります。

良い経験させてもらったし、理由もわかって改善できたし。
今回のセールはこの経験できたことで(売り上げがどうであれ)良しとしますか。