Product · EC自動化

ヤフオク!出品 自動取消・再出品ツール

目標額に届かない出品を終了の直前に自動で取り消し、条件を整えて出し直す Windows アプリ。商品ごとの金額・秒数条件を CSV で管理し、複数のブラウザを並列で動かして数百件を終了前に判定する。10 回以上のバージョンアップを重ねたパッケージ製品。

  • C#
  • .NET
  • Selenium
  • SQLite

ランサーズで販売中

パッケージとして購入できます。導入時の設定や、運用に合わせた条件の追加もご相談ください。

販売ページを見る

Background

依頼の背景・課題

ヤフオク!で多数の商品を継続的に出品しているセラー様向けの製品です。オークションは終了時点の最高額で落札が決まるため、狙った価格に届かないまま終了すると、想定より安く手放すことになります。

数百点を同時に出品していると、一つひとつの現在価格と残り時間を見張り続けるのは現実的ではありません。「この商品は 25,000 円を下回るなら売りたくない」という判断を終了の直前まで待ってから下し、売れ残った商品は条件を整えて出し直す。この 2 つを自動化しました。

Solution

作ったもの

出品中の一覧をブラウザ自動操作で巡回して商品ごとの現在価格と残り時間を取得し、設定した金額に届いていない出品を、終了の指定秒数前に自動で取り消す Windows アプリです。取り消した商品は、指定した条件でそのまま再出品できます。

商品ごとの条件(商品 ID・設定金額・終了の何秒前に判定するか)は CSV で管理します。数百件を Excel でまとめて編集してアプリに読ませるだけで済み、出品のたびに画面を開く必要がありません。税込・税抜の換算にも対応しています。

出品の状態と実行ログは SQLite に記録し、一覧画面で検索・並べ替え・状態別の色分けができます。どの商品がいつ取り消され、どれが失敗したかを後から追えます。

初回リリース後も「この条件も足したい」「サイトの画面が変わって動かなくなった」といった要望に継続して対応し、10 回以上のバージョンアップを重ねてきました。現在は Electron + Vue 3 + TypeScript / Playwright の構成で全面的に作り直しています。

Screens

画面

画面は刷新中のバージョンのイメージです。表示している出品名・価格はサンプルです。

出品一覧画面。見張り中の出品数、目標達成数、まもなく取消の件数と、商品ごとの現在価格・最低価格・入札数・残り時間が並んでいる
見張り中の出品と、取消までの残り時間。最低価格に届いている出品は「達成」としてそのまま落札へ回し、入札が入っている出品は「入札ありで保護」として対象から外れる。右側には判断の履歴が流れる。

Points

工夫した点

  1. 01

    「間に合う」ことが機能の一部

    終了の◯秒前に取り消す以上、その時刻までに全商品の価格を取り終えていなければ意味がありません。情報収集用のブラウザを複数(既定 5 つ)同時に起動して商品を分担させ、取消を実行するブラウザは別に確保しました。残り時間が一定を超える商品は最初から見ないことで、対象を絞りながら間に合わせています。

  2. 02

    条件は CSV、運用はエンジニア以外

    取消条件は「商品 ID・設定金額・設定秒数」の CSV です。Excel で編集して読ませるだけなので、コードもデータベースも触らずに日々の運用が回ります。出品作業の延長でそのまま条件を用意できることを優先しました。

  3. 03

    取り消す前に、必ず試せる

    取り消した出品は元に戻せません。実行前に「試し運転」で対象と件数を確認でき、入札が入っている出品は既定では取り消しません。取り返しのつかない操作ほど、実行までの間に確認を挟む設計にしています。

  4. 04

    パッケージとして配り、更新し続ける

    一つの環境に合わせた一品物ではなく、ライセンス認証を備えたパッケージとして配布しています。ヤフオク!側の画面変更やブラウザの更新で動かなくなるたびに追随し、10 回以上のバージョンを重ねてきました。