こんにちは! LIFULLのエンジニアの孫です。
メールやLINEを利用した開発作業をメインにしています。 今回は自分が担当していた物件更新情報LINE受け取り機能の仕組みについて紹介したいと思います。
物件更新情報LINE受け取り機能とは
LIFULL HOME'Sに掲載されている新築マンションでユーザが希望した物件の情報が更新された際にLINEに通知がくる機能です。
▼物件更新情報LINE受け取り機能紹介ページ https://www.homes.co.jp/smp/mansion/shinchiku/line/update-message/about/
ユーザが求めている情報をより早くより近くに届けるための施策となります。 この施策を進める中で一番気を付けていたLINEから受け取る個人情報の扱いがキーになっていたので その個人情報の扱いを中心にどういう仕組みで開発していたのか記載していきます。
処理概要
機能紹介ページに記載されているステップの裏側で動いている処理を簡単に記載しますと以下の流れになります。
全体の構成図
※LINE User IDとは
各LINEチャネルでユーザを識別するための識別子。
構成的にLINEユーザ情報を各システム間で連携する必要だったため 機密チームと綿密に相談しながら考えた上、上記のような構成になりました。 詳細は以降述べます。
LINEログイン認証機能の仕組み
▼LINE側の処理については以下を参照ください。 https://developers.line.biz/ja/docs/line-login/integrate-line-login/
AWS KMS、ElasticCached利用について
現状LINE User 情報を連携する方法としてAWS KMS、ElasticCacheを利用しています。 呼び元にPOST APIを用意し直接更新処理を叩くのも可能でしたが、今後の拡張性を考慮すると当機能を呼び元に属しないものにする必要がありました。 なので許容されたIPのみで利用できるGET API用意し、呼び元からはキーにて暗号化されたLINE User 情報を取得・複合化することで独立的で安全に個人情報を連携できる仕組みになったと思います。
Marketing Cloud 配信処理について
Marketing Cloudとは
Marketing Cloudはセールスフォースが提供するMAツールです。 メールやLINEへの送信自動化や分析する処理を比較的に簡単に作れます。
処理内容
Marketing Cloudではデータを外部からファイルで連携のためにSFTPサイト、SafehouseとGPG暗号化方式などを提供しています。
※Safehouse とは
認証されたユーザのみがアクセスできるファイル保存場所です。
アクセスユーザはMarketing Cloudとは個別で管理されています。
なのでAutomation(Marketing Cloudで言う一連の自動化処理)を作成する際、連携されたGPGファイルをSafehouseへ転送、GPG複合・解凍行うことで個人情報へのアクセスをできるユーザを最大限制限しています。
まとめ
現状この仕組みは「物件更新情報LINE受け取り機能」で使っていますが、他にもLINEを介してユーザへ届けるべき情報があれば活用できるものにしていると思いますので今後、利用される施策が増えていくように頑張りたいです。
また、LIFULLではエンジニアメンバーを募集しております! ご紹介のミッションを担当する求人です。ご興味ある方は是非ご応募ください!