見出し画像

#007 ハンドメイド販売サイトの在庫連携をどうしていますか?⑥(完成編)

在庫管理について(履歴)

ハンドメイド作品を販売するにあたって、複数の販売サイトを利用して販売を行っている人が少なくないと思います。
販売サイトAとBで在庫が合わないとお悩みの人にお勧めの記事です。
(※少しプログラムの知識がある人向けになっています。)

①(在庫連携につついて) https://note.com/tamaworks/n/n911d62818345
②(ブラウザ操作編) https://note.com/tamaworks/n/nbe954b7b6412
③(selenium導入編) https://note.com/tamaworks/n/nd0c40ef1a2fd
④(minne操作編) https://note.com/tamaworks/n/nd6262ea6c583
⑤(Creema操作編) https://note.com/tamaworks/n/nd6262ea6c583
⑥(完成編) 現在の記事

在庫数調整プログラム

(1) tkinterを使ったGUI作成

前回まで、Seleniumを使ってブラウザを操作する方法をまとめてきました。
今回はPythonのtkinterパッケージを使ってGUI(グラフィカルユーザーインターフェース)を作成して、視覚的にわかりやすくしました。
tkinterについては話が大幅に逸れてしまうので、記事では省略させていただきます。
使用方法ですが、在庫数を比較するために、識別用の作品名と、minneとCreemaのURLをそれぞれ登録します。
このURLを元にそれぞれのサイトの在庫数を比較して、適切な在庫数に変更します。

在庫数調整プログラム

「開始」ボタンを押すと処理に必要なメールアドレスとパスワードの確認画面になります。
今回は事前に保存してあるので、後は「決定」ボタンを押すだけです。
この後、ブラウザが立ち上がって、在庫数の確認→変更を自動で行います。

ログイン設定画面

(2) 実行結果

プログラムの実行前に在庫数を以下の3パターンに調整しておきました。

「銀鬼灯のネックレス」
minne 1個
Creema 1個
処理方法:両方とも1個なので在庫数を変更しない

「アメジストのピアス(イヤリング)」
minne 0個
Creema 2個
処理方法:minneの在庫が0個で在庫がないため、Creemaの在庫をminneに合わせて0個にする。Creemaの場合、在庫0個が設定できないので、「展示」状態に変更する

「タンザナイトのピアス(イヤリング)」
minne 2個
Creema 1個
処理方法:Creemaの在庫が1個しかないため、minneの在庫をCreemaに合わせて1個にする。

実行後の「アメジストのピアス(イヤリング)」をみてみます。
画像右上の在庫数が「残り2点」から「展示」になったら成功です。

プログラム処理前
プログラム処理後

続いて「タンザナイトのピアス(イヤリング)」を確認します。
minne側の在庫が2個から1個になったら成功です。

プログラム処理前
プログラム処理後

他の在庫数に関しても変更がない作品は、そのままの在庫数になっていました。

(3) プログラムの実用に関して

作成したプログラムですが、現時点では「決定」を押すごとに1回確認作業が入るようになっています。
実用にあたっては、指定時間毎に確認作業を行う、又は購入メールが届いた時点で、プログラムを実行する処理を追加する必要があります。
いずれにしても常に監視状態にするには、PC1台をその処理をさせ続ける必要があるため、一日中PCを付けておけない環境では難しくなります。
サービスとして行うならサーバー等を立ててとかもあるかもしれませんが‥。
加えて問題点として、ブラウザ(Chrome)のバージョン更新が早く、製作中にもChromeドライバーの更新が必要になることがありました。
当初、プログラムすべてを公開する予定でしたが、更新で動かなくなることが多く、サポートしきれないので現状公開は考えていません。
今後需要があれば検討いたします。

Python及びSeleniumを使った、複数での販売サイトの在庫管理は以上になります。
質問はお気軽に(*'▽')ドウゾ


この記事が気に入ったらサポートをしてみませんか?