楽天市場のCabinet画像を整理する効率的なやり方

楽天市場のCabinet画像を整理する効率的なやり方

楽天市場のCabinet画像を整理する効率的なやり方

この2週間、ブログは一切書かずシステムの更新にいそしんでおりました。
理由はタイトルの通り『楽天市場のCabinet整理』に悩んでいたからです。

具体的に言うと、ウチでは次の動きがありました。

  1. 39送料負担の今後の動きを予測し『出品商品の整理』を実行
  2. 出品商品の整理にてアイテム数が少なくなったので出品プランを『がんばれプラン』に変更

この流れの中で廃盤商品の入れ替え等も行ったのですが、画像がUPLOADされないという事態が発生しました。

UpLoadエラーの原因は1フォルダあたりの画像枚数制限

『レギュラープラン』では2000枚可能なフォルダが『がんばれプラン』では500枚。
なんだその格差。

と言う事で、Cabinetの整理整頓の必要性が出てきたのです。

追加した機能について

今回追加実装した機能は6つです。

  1. 楽天cabinetフォルダのAPIによる新規追加機能
  2. 楽天cabinet内のファイル一覧情報保管機能
  3. 楽天cabinetにありシステム内に存在しない画像のシステム内への取込み機能
  4. システム内に存在し楽天cabinet内に無い画像の楽天cabinetへの自動登録(サイズ調整機能あり)
  5. 出品していない商品画像の楽天cabinetトラッシュボックス入れ自動化機能
  6. これら動作のSchedule実行機能

2週間も悩んだ理由は利用画像マーカーの付け方とフォルダの枚数制限

使っている画像は削除してはいけません。当たり前ですよね。

私は次の内容で悩んでいました。

  • 共通で利用している画像はどうマークするか(※このマーキングによって取込の動きが変わる可能性がある)
  • サムネイル~20枚目の画像に利用していない商品販売文のみに利用する画像はどう管理すべきか
  • 画像数がプランによって異なる制限枚数を超えた場合、どのように処理するか
  • 画像削除のタイミング
  • Cabinetトラッシュボックスの整理(削除)指示

楽天cabinetAPIで登録&削除を自動実行する際の弱点

楽天cabinetってトラッシュボックス入れはできるのですが、トラッシュボックスからの削除が指示できないんですよ。スペースを開けようと思うとこれは結構痛い。

後は『自動実行=裏側で動かす』なので、自分で確認しに行かないとinsertエラーが解らない。
お陰で気づかないまま出来てると思い込んで商品更新してました。

もうね、画像が無くてUpLoadの仕組みを壊してしまったかと思って2日がかりで見直してましたよ。
でもどうも問題となる箇所が見当たらない。
んで、使用を確認したら500枚以上は入らないようになっていたと。
…はい、無駄な2日を過ごしました。

共通で利用している画像はどうマークするか

結論を書くと、店舗内商品画像リストを納めるテーブル以外に毎回書き替えるテーブルを用意し、この中に重複データも全て含めて登録しました。

構成としてはこんな感じです。

  • 店舗内商品画像リスト:APIによる操作指示に利用するfileIDやfolderIDを格納。画像削除マーカーも保持。
  • 毎利用画像リストテーブル:毎回書き替える。出品URLから使用している店舗内商品画像リストのIDを記録。

そしてこの2つの差分を出すと、使っていない画像のリストが生成されます。
そして、そのリストに基づきマーカーの値を変化させれば削除指示ができると言う仕組みです。

この方法の利点でもあり弱点でもある事は『商品に絡まない画像はノータッチ』と言う事。

例えば、店舗のバナーは商品情報と紐づいていないので触りません。でも、商品入賞の画像などは商品と紐づいているので操作対象内となります。

商品販売文のみに利用する画像をどうするか

もうね、imageタグ取り出して整理整頓するしかないですよね。

この操作で問題になったのが、商品販売文にバナーを置いていた時の動作。
商品販売文に設置したバナーは商品情報と関連づいてしまうのでノータッチとはなりません。
最初の設計では、不要画像と判断されて削除マーカーが付いてしまいました。

が、上の方式に変えてこの問題も無事にクリアできました。

画像数がプランによって異なる制限枚数を超えた場合の処理

これが超面倒。
プランは作成しましたが、まだ実装していません。だってねぇ、本気でやろうとするとCabinet毎のファイルサイズ総計/ファイル数総計だして、その情報を基に出品操作をコントロールしなきゃいけない。

そして、ファイル数オーバーで別フォルダを作成して画像追加したりという動きになるからどのフォルダに格納したかを自動追尾する仕組みも構築しなきゃならない。
結構な工数あるのに、出品時にしっかりルール作成していたら『無用の長物』という何とも遣る瀬無い状況。

と言う事で、この動きは手動で画像格納ルールを弄って調整するという仕組みに致しました。
私が実際に操作してみた感覚だと、(結構細かい)画像出品ルールを弄って商品毎の採用ルール変更してで約半日。

うん、あれば便利だけどいらないかな、この機能。

画像削除のタイミング

画像削除は商品をどういうときに削除するかで動作変わるなと思うのですが、基本的には「あまり意識しなくてもいいかな」という結論に至りました。

理由は画像の不足を毎日CRONでチェックすれば「削除してしまった画像が欲しかった」という事は起こり得ないだろうと言う事。

ただし、初期値の登録では問題になるかもしれないので、取り合えず差分をダウンロードした後に削除すれば問題ないかと。

まとめ

Cabinetの整理、結構便利な仕組みが出来上がりました。

ただ、作りながら強く思った事。

「効率化には『画像保管ルール』をしっかり作らないとダメよ」

出店初期の画像が残っていたり、店舗ページをどう作るか迷走していた時の画像が残っていたり、ゴミ画像がcabinet内に結構残ってました。

ルール化と整理整頓、必須ですね。