7
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

GASを用いてSlack上で購買を構築,運営した

Last updated at Posted at 2017-11-16

私の所属する研究室にて電子マネーの導入を検討しました。
LINE PayやICカードでの取引を検討しましたが、そもそも…

現金払いより手間になっては、電子マネーは普及しない!

やはり誰が買ったのか、何を買ったのかの認証が一番のキモです。
そこで、私はネット通販のようにSlackの専用チャンネルからポチれる電子マネーを導入しました。

slackを活用する利点として,
1.普及している所であれば開くことへの手間が少ない
2.利用者はログインにて認証ができている
3.reactionや豊富なAPIで簡易的な購入コンソールを作ることができる

が挙げられます。早速ご紹介していきましょう。

#商品購入編
実際の商品の購入方法をご紹介します。
sample1.jpg

こちらが私の研究室のshopというchannelの投稿です。
商品の入荷については,担当である僕が入荷時に画像のようなフォーマットで商品情報を投稿します。

そして,どうやってポチるのかと言いますと,商品下の購入っぽいボタンを押せばOKです。このreacitonはbotが勝手に付けてくれます。
実際にペットボトル飲料をポチってみましょう。すると……

sample2.jpg

やりました,botからDirect Message(slackBot)にて支払い処理完了の通知が届きました。

内部的には,GASより毎分channel.Historyへアクセスし,reactionの情報を受け取り,決済を行なっています。
reactionは1種類につき1人1回しか押せないため,基本的には決済が発生した商品の投稿については毎回削除し,再度reactionのないまっさらな状態でbotが再投稿を行います。

これ実はreactionを削除すれば良いわけですが,現状私の実装だとAPI経由でAPI取得者以外のreactionを削除する事ができませんでした。
これはAPIのscopeの問題だと思っているので,もう少し調べてみようと思っています。

<追記:2017/11/28>
やはり現状は他人のreactionを消すことはできないようです。

#マネーチャージ編
電子マネーのチャージの方法をご紹介します。
sample3.png

こちらが,電子マネーのチャージのための画面です。
チャージについては利用者が担当者へ現金を受け渡し,担当者が上記画面より利用者名を選択,金額を入力することでチャージが完了します。

内部的には,誰がいくら持っているかはGoogle SpreadSheetに記録してあります。購入やチャージは基本的にGASを使ってSpreadSheetを弄っているだけですね。上記画面についてもGASからHTMLを吐き出した簡易コンソール画面になります。

sample4.jpg

チャージも同様に,slackbotにてDirect Messageで通知がきます。

LINE Pay等の既存のものも検討しましたが,全員がクレジットカードや銀行口座の登録をしてサービスを使ってくれるビジョンが見えませんでした。これは利用する環境によってもおそらく変わってきますね。

以上,slackは結構電子マネー(購買システム)との相性は意外と良かったよというご紹介でした。

7
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?