即売会で在庫情報を即時公開
2024-12-30 コミケに初めてサークル参加: https://www.tansu.me/works
移動した先で売り切れだと悲しい
頒布側で告知をする
面倒そう
常に気を配って適宜SNSに投稿
受け渡しに集中したい
在庫管理を電子化できないか
今回のためにSquareを導入した
https://squareup.com/jp/ja
キャッシュレス決済のための端末とか契約とか
公式アプリにPOS機能がある
在庫情報が管理できる
現金決済も記録可
開発者向け機能が充実
https://developer.squareup.com/
Webhooksでも決済情報を取得できる
在庫数の変動を受け取る
https://developer.squareup.com/reference/square/inventory-api/webhooks/inventory.count.updated
Square → IFTTT → Google スプレッドシート+Apps Script
Google Apps Scriptに飛ばすと302 Foundが返る
Square側でエラー扱いされリトライが発生
IFTTTなら302が返されても成功判定
IFTTTの月額会員はWebhooksを扱える
Apps ScriptのコードはChatGPTに書かせた書いてもらった
一発で動いた
JavaScript互換なので自力で修正できる
流れ
在庫情報が更新されるとPOSTが飛ぶ
当日はiPhoneをレジの代わりにした
クレカはSquareリーダー、現金はiPhoneポチポチで記録
接客と同時にレジをやったので忙しかった
JSONを解析して、更新日時と数量をスプレッドシートに転記
Apps Scriptが自動でやってくれる
https://scrapbox.io/files/6776981e41486b0c9d0fca4f.png
今回は1品だけの頒布なので商品の区別はせず
C106で2品頒布、これもChatGPTに書いてもらって解決
Googleサイトで作ったサークルWebサイトに表計算のリンクを貼って告知
携帯だとGoogleドライブ、スプレッドシートのアプリを入れる必要がありそう?
グラフを埋め込んだら携帯で表示が崩れたので断念
表をembedすると携帯でもそのまま見えたので解決
良かったところ
安い
IFTTT Proは普段使いなので考えない
SquareのAPIは基本無料っぽい
API経由で金を動かす操作をすると課金されるかも
Googleの色々も当然無料
簡単
Webhooksは受け取りのために眠らないサーバが必要
自分でやると面倒
Apps Script宛てに送りつければOK
Google スプレッドシートの表がUIを兼ねる
必要に応じてグラフも出せる
告知ポストからの解放
反省点
数字が見やすくない
サイトに直接在庫数を書けるわけではない
Grafanaのクラウド版を使おうとも考えた
おしゃれに見せられる
Google スプレッドシートをデータソースで使う方法がある
外部公開には使えなかった
Google スプレッドシートをDBとして使うのはどうなのか
Cloudflare D1とかが良さそう
https://www.cloudflare.com/ja-jp/developer-platform/products/d1/
原付の走行距離の管理に使っている
Grafanaもいけそう
キャッシュ機能のおかげで無料枠に収まる
ブースに画面を置いて数字を出したい