仕様・API

MVP仕様

配信・チーム・分析・課金の置き場。

MVP仕様(Swipe LP)

1. 目的

  • 社内でのスワイプLP制作・配信・分析を最優先。
  • 作成するLP(成果物)はスマートフォン(SP)向け(表示・操作設計の正はスマホ。管理画面の端末とは別)。
  • 外販は後から足せるよう、マルチテナントと課金の「置き場」を最初から持つ。

2. 配信

方式内容
埋め込みJSコンテナにマウントし、LP ID と環境設定で読み込み。
ホスト型URL当サーバの /p/{publicId}。OGメタ付き。live 計測キーがあれば計測可。
ZIPindex.html + ランタイム + assets/ + LP定義。すべて相対パス。ベースURL設定は不要。任意の静的ホスティングに配置可能。file:// 直開きは避け、ローカルサーバーまたはホスティング利用を推奨。

確定契約(data属性・ファイル名・公開API): embed-and-zip-v0.1.md · GET/POST・計測キー: api-v0.1.md

3. LP定義(共通)

  • 正本は バージョン付きJSONschemaVersion 必須)。
  • 埋め込み・ZIP・プレビューは同一定義を消費する(二重実装を避ける)。
  • 確定スキーマ: lp-definition-v0.1.md

4. ステップとメディア

  • 種別: 画像 / 動画をMVPで扱う(UIまで同時)。
  • 管理画面からのメディア投入: S3互換ストレージへのアップロードAPI(管理トークン)により公開URLを取得し、media.src に設定可能(詳細は manage-api-v0.1.md)。
  • 編集プレビュー: 保存前の定義を閲覧ランタイムでその場プレビュー(仕様は実装に追随)。
  • ステップごとCTA: ラベル・リンク・開き方など。全ステップ共通CTAのみ、は採用しない。
  • スワイプモード: 縦 / 横 / 全画面をデータモデルとランタイム契約に含める(UIの完成度は段階的でもよい)。
  • ホットスポット: 画像上の矩形リンク。**正規化座標(0–1)**で解像度非依存。クリックは hotspot_clickcta_click を分離。

5. チーム

  • Workspace が親。メンバー・権限(Owner / Admin / Editor / Viewer 等)は実装時に確定。
  • すべてのLP・資産・集計キーは Workspace に紐づける。

6. 分析(必須)

ステップ単位で少なくとも以下をイベント化し、サーバで集計可能にする。

  • lp_view
  • step_view(表示閾値は実装で定義)
  • step_dwell
  • cta_click / hotspot_click
  • 動画: video_play / video_progress(任意の閾値) / video_complete
  • 可能なら swipe_next / swipe_prev(ファネル用)

確定仕様: analytics-events-v0.1.md(閾値・ペイロード・バッチAPI・MVPダッシュボード指標を含む)

管理画面の集計: 取り込みバッチを走査する GET .../analytics/summarymanage-api-v0.1.md)で、到達セッション・ステップ別閲覧などのたたき台を表示可能。

7. 認証

  • 抽象化: 「誰が」「どのWorkspaceに」属するかをドメインで表現。ログイン手段はアダプタで差し替え。
  • MVPは メール+パスワード or マジックリンク 等、開発コストの低い方式から可。SSO/OIDCは後から同じ境界に載せる。

8. 課金(MVP)

  • 実装しない: Stripe・Webhook・請求フロー。
  • 持つ: Workspace の planbilling_statustrial_ends_at 等、nullable フィールド。社内運用では手動変更でもよい。

9. AI機能

詳細は ai-features.md。MVP本体と並行して「プロバイダ差し替え可能な境界」を用意する。

10. 競合型UIとの整合(管理画面)

スワイプ型LP SaaSで一般的な 「サイト制作」+「効果測定」 の二系統ナビに寄せ、説明・導線・未実装の切り分けを product-ui-parity.md に記載する。データ正本は変えず、画面とバックログの参照用とする。

ソース: docs/spec/mvp.md