L

アプリの仕組み

アプリはあなたのサーバーで動き、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. 1

    ストアで見つける

    Lokuアプリストアにあなたのアプリが並びます。
  2. 2

    権限を確認してインストール

    アプリが求めるデータアクセスを店舗が承認します。
  3. 3

    サイドバーに追加・課金開始

    店はLokuの中でアプリを使い始めます。無料体験後に月額課金。

いま作れるものデータアクセス (REST API) とイベント受信 (Webhook) は本番稼働済みで、今日から開発できます。管理画面の埋め込み・LIFF・課金を含むストア公開の受付は準備中です。