LIFF × Node.js でできること|外部API連携の実装イメージ
LINE公式アカウントの標準機能だけでは実現できない「独自の仕組み」を作りたいとき、LIFFとLINE Messaging APIの出番です。この記事では、LIFFとは何か、Node.jsと組み合わせると何ができるのかを、実装の流れとともに具体的に解説します。
LIFFとは何か
LIFF(LINE Front-end Framework)は、LINE内でWebアプリを動かす仕組みです。ユーザーはLINEのトーク画面からそのままWebページを開けて、ログインなしでユーザー情報を取得できるのが大きな特徴です。
通常のWebサイトと違い、LINEのユーザーIDと紐づけられるため、「誰がアクセスしているか」を把握したうえで個別の処理ができます。
LIFF × Node.js でできること
フロントにLIFF、サーバー側にNode.js(Express)を置くことで、LINEを入り口にした本格的なシステムが作れます。例えば次のようなことが実現できます。
- ●キャンペーン応募フォームとデータベースの連携
- ●外部APIを呼び出してギフトコードを発行する仕組み
- ●ユーザーごとの予約・申込状況の管理
- ●入力内容に応じた自動メッセージの送信
実際の構築例
あるキャンペーンシステムでは、LIFFで応募を受け付け、Node.js/Expressのサーバーで外部のギフトコード発行APIを呼び出し、発行されたコードをユーザーに返す、という一連の流れを実装しました。データはデータベースに記録し、二重応募を防ぐ仕組みも組み込んでいます。
実装の大まかな流れ
- ●LINE Developersコンソールでチャネルを作成し、LIFFアプリを登録する
- ●フロント側でLIFF SDKを読み込み、ユーザー情報を取得する
- ●Node.js/Expressでサーバーを立て、フロントからのリクエストを受ける
- ●必要に応じて外部APIを呼び出し、結果をデータベースに保存する
- ●サーバーをVPSなどにデプロイし、HTTPS化して公開する
公開にあたっては、サーバー証明書(HTTPS)が必須です。VPS上にWebサーバーを立て、無料のSSL証明書を使ってHTTPS化するのが一般的な構成です。
構築時の注意点
ポイント
- ✓外部APIには署名(ハッシュ)による認証が必要なことが多く、仕様の読み込みが重要
- ✓HTTPS化は必須。証明書の自動更新まで設定しておくと運用が楽
- ✓二重送信・エラー時の挙動を事前に設計しておく
まとめ
LIFFとNode.jsを組み合わせると、LINEを入り口にした独自システムが作れます。標準機能では届かない要件がある場合、この構成が選択肢になります。
システム連携のご相談
LINEと外部システムの連携・独自機能の実装についてのご相談を承っています。実現したい内容をお問い合わせページからお聞かせください。