Akerunを使ってオフィスを快適にしてみたよ!
この記事は何か
Money Forward CorporateIT Advent Calendar 2019 12月18日(水)の記事です。
自己紹介
2019年4月に株式会社マネーフォワード京都開発部へ新卒で入社したぼんぞうです。
今回はAkerunAPIを使って拠点の入退室を便利にしたよ!という話をさせていただきたいと思います。
前置き
私ごとで恐縮ですが、僕は独学でプログラムの勉強をはじめ、エンジニアキャリア未経験で入社しました。
京都開発部が立ち上がる時の話で、京都拠点拠点長(現上長)と出会い、
「「もう、拠点に関する仕事なんでもやるんで、エンジニアとしてやっていきたいです!!!」」
という熱量でお願いし、京都拠点へ入社しました。
実際に入社してからも、エンジニアとして以外にも、冷蔵庫運搬・座布団選定・備品発注など総務的な仕事ももらってやっています。
そのうちの一つが、「来客対応」です。
閑話休題
こちらをみてください。
このオフィス!めちゃくちゃ綺麗じゃないですか。
入社当時の僕は、出社・来客対応の際もここを通るたびにるんるんな気分でした。
1ヶ月目
インターホンが鳴った!来客だ!おでむかえだ!!!!(わいわい)
2ヶ月目
鳴った。。。。行かなきゃ。。。。!
数ヶ月後
。。。。。。
弊拠点の場合、自社・他社の来客が、多い時には1日10回近くあり、その都度、玄関まで歩いていかなければなりませんでした。
入社して、できること・やらないといけないことが増えてくる中では、素直に入社当時みたく、毎回来客を喜べなくなってたのも事実でした(ごめんなさい🙇🏻♂️🙇🏻♂️)
そんなタイミングで上長から
「せっかくエンジニアになったんだし、その辺りを効率化するのを作ろうか」
といただきました。
た し か に !
というわけで実際に作りました。
※ 弊社本社・他拠点のみなさまへ
みなさまが京都拠点へいらっしゃってくれるのは、本当にすごく嬉しいです! この記事でも紹介しますが、気楽に入室できるようになりましたので!
なので、これからも本当にどんどんいらっしゃってください!!!
現状分析と、利用状況の定義
京都拠点では、Akerunを利用しています。その辺りの話については、こちらをご覧ください。
このAkerunのAPIを使ってもっと楽になる方法はないか、と考えていきました。
まずは京都拠点への来客分類を行いました。
・自社内の来客 ← 今回の対象
東京本社・他拠点にいる京都拠点のICカードを持たない方々
・自社以外の来客
宅配便 / ゲスト(面談や、商談で訪れる方々)
今回は自社内の来客対応を、もっと簡便にしていこうと考えていきました。
というのも、京都開発拠点は、ビジネスの上で、東京本社や近隣の関西拠点とのやり取りをはじめ、比較的拠点間交流が多くなっています。
(また、京都市内の観光地のど真ん中にあり、社内の方が休日、プライベートにも関わらず立ち寄ってくださる場所となっており、とてもありがたい限りです!!)
次に利用者と利用状況を考えました。
京都拠点の社員が各自がもつデバイスから、手軽に解錠できる状態にしたいと考え、
AkerunAPIを叩いて、弊社でコミュニケーションツールとして利用しているSlackの社内のワークスペースからのみ解錠を行うことにしました。
(Akerunと執務室との距離では、Akerunスマホアプリで利用できるBluetoothの範囲外でした!残念!)
SlackからAkerunを解錠できるように
利用したAkerunのAPIはこちら
curlでのAPIの利用方法は書いてあるので、こちらを参考にアプリを作成していきます。
当初、RubyファイルでAPIを叩くプログラムを書き、サーバを立てて実現していこうと思いました。
ただし途中で、この後にDBを利用して入退室者管理などを行う拡張性を考え、このタイミングからRailsアプリとして作成していくことにしてます。
エンドポイントを叩くと、Akerunの解錠が行われるアプリを作成できました。やった!
これをSlackで利用するために、Slash Commandを用いました。
Slash Commandについてはこちら
Slashコマンドにした理由は、Slackのサジェスチョンで見えるのでキーを共有しやすい・忘れないというところです。
(※ こちらSlackからのコマンドは、 マネーフォワードの組織に所属してない人は実行できないので、社員のみが実行可能です。)
実行すると
開いたーーー!!!!
できた時の達成感は大きかったです...。
問題発生
さて、そんな形でSlackから /akerunで解錠できるようになったのですが、試練に遭遇しました。
解錠リクエスト送信してから解錠までの時間が長い!
リクエストが処理され、解錠されるまで1分近くかかり、来客時には1分ほどお待ちください、というアナウンスをする次第になり...
お願い
株式会社Photosynth様、もしこちらご覧になっていただけたら、解錠時間ですが、どうにか短くすることは可能でしょうか?? 是非とも、ご検討のほどお願いします。🙇🏻♂️🙇🏻♂️
【追記】2019年12月19日(木)
こちら、記事を投稿した翌日に、株式会社Photosynth、サポート担当者様からお電話いただき、解決することができました!!
株式会社Photosynth様、本当にありがとうございます!
お礼記事はこちら。よろしければご覧ください🙇🏻♂️
解決策
解錠時間について上長と話をしている時に「本社で管理してるICカードのマスターデータをもらえる」という話をいただきました。
確かに、そうすれば、僕が解錠せずとも、本社・他拠点の方々が持ってるICカードで入退室ができるようになり、よりスムーズになります。
ということでデータをいただけたので、そのまま進めていくことにしました。
マスターデータのIDmを登録することで、他拠点のカードで解錠できるように
利用したAkerunのAPIはこちらの3つ
Akerun Developers#add-user
Akerun Developers#create-key
Akerun Developers#register-nfc
AkerunAPIの仕様において、各個人のもつICカードで対象となるAkerunを解錠するためには、ユーザ登録・鍵登録・NFCカード登録の3つのステップが必要になります。というのもユーザ登録をすることで発行される、AkerunのユーザIDを利用して、鍵(使用するAkerun)登録、社員各自のNFC(IC)カード登録を行わねばならないからです。というわけで、その手順に沿って、社内のマスターデータを受け取り、それらを、ユーザ登録・鍵登録・NFCカード登録していくアプリを作成し、完成しました。できた...。
実際に本社の方が来て自身のICカードで解錠を行ってみると...
開いたーーー!!!(2回目)
という訳で、今回の目的として掲げた、入退室できるという条件を達成することができました。
おまけ
以前に京都オフィスを訪れたことのある、本社社員の再来訪時の一言
「しばらく来ないうちに便利になるんですねぇ」
エンジニアとして今回やったことへの達成感を味わいました。やってよかった!!!
おわりに
今回は、AkerunAPIを利用して遠隔解錠、他拠点社員所有のICカードの登録までを実現できました。
今後は、解錠者情報のみを一覧取得してDBへ保存など、実装していきたいなという感じです。
この件以外にも、今後もテクノロジードリブンでオフィスを快適にしていきたいなと思っています。
それはまた別の記事でのお話で。
最後までお読みいただきありがとうございました。
この記事が気に入ったらサポートをしてみませんか?