アプリの仕組み
アプリはあなたのサーバーで動き、Lokuの中に画面を持ちます。何をどこに出すかは、マニフェスト1枚で宣言します。
店から見るとこうなる
店舗がストアからアプリをインストールすると、店のサイドバーにあなたのアプリのページが追加されます。ページの中身はあなたのWebアプリで、Lokuのヘッダーとメニューを保ったまま埋め込まれます — 店にとっては「Lokuの機能がひとつ増えた」ように見えます。
アンインストールすると画面と権限は即時に外れ、課金も止まります。
店舗のサイドバー
予約管理
クーポン
Lokuショップ
順番待ちボード ← あなたのアプリ
分析
アプリを構成する5つの部品
すべて使う必要はありません。イベントとAPIだけの「画面を持たないアプリ」も作れます。
| 管理画面 | 店のサイドバーに追加されるページ。待ち一覧・設定画面など、店のスタッフが触るUI。宣言は sidebar。 |
| LIFFページ | お客様がLINEの中で開く画面。受付・回答・注文・チケット提示など。宣言は liff。 |
| イベント受信 | 友だち追加・予約確定・決済完了など14種のイベントであなたのエンドポイントが呼ばれます。宣言は hooks。 |
| データアクセス | REST APIで友だち・タグ・メッセージ・予約を読み書き。アクセスできるのはインストールした店舗のデータだけ。宣言は scopes。 |
| 課金 | 月額・無料体験を設定。請求と回収はLokuが店舗のLoku利用料とまとめて行います。宣言は pricing。 |
マニフェスト
アプリの宣言はすべて loku-app.json に書きます。ここに書いた権限・価格・画面が、そのまま審査とインストール時の確認画面になります。仕様は公開受付の開始時に確定版を出します。
{
"id": "junban-board",
"name": "順番待ちボード",
"pricing": { "model": "monthly", "amount": 3980, "trial_days": 14 },
"scopes": ["friends:read", "messages:send"],
"sidebar": [{ "label": "順番待ち", "path": "/board" }],
"liff": [{ "label": "受付", "path": "/checkin" }],
"hooks": [{ "event": "friend.checkin", "endpoint": "/hooks/checkin" }]
}データと安全の考え方
| 店舗ごとに分離 | アプリがアクセスできるのは、インストールした店舗のデータだけです。店舗をまたぐアクセスはできません。 |
| 権限は最小から | スコープはインストール時に店舗へ表示され、店舗が承認します。使わない権限は宣言しないのが審査の基本です。 |
| 解約で全部止まる | アンインストールで画面・権限・課金が同時に外れます。 |
店舗から見たインストール
- 1
ストアで見つける
Lokuアプリストアにあなたのアプリが並びます。 - 2
権限を確認してインストール
アプリが求めるデータアクセスを店舗が承認します。 - 3
サイドバーに追加・課金開始
店はLokuの中でアプリを使い始めます。無料体験後に月額課金。
いま作れるもの — データアクセス (REST API) とイベント受信 (Webhook) は本番稼働済みで、今日から開発できます。管理画面の埋め込み・LIFF・課金を含むストア公開の受付は準備中です。