仕様・API
MVP仕様
配信・チーム・分析・課金の置き場。
MVP仕様(Swipe LP)
1. 目的
- 社内でのスワイプLP制作・配信・分析を最優先。
- 作成するLP(成果物)はスマートフォン(SP)向け(表示・操作設計の正はスマホ。管理画面の端末とは別)。
- 外販は後から足せるよう、マルチテナントと課金の「置き場」を最初から持つ。
2. 配信
| 方式 | 内容 |
|---|---|
| 埋め込みJS | コンテナにマウントし、LP ID と環境設定で読み込み。 |
| ホスト型URL | 当サーバの /p/{publicId}。OGメタ付き。live 計測キーがあれば計測可。 |
| ZIP | index.html + ランタイム + assets/ + LP定義。すべて相対パス。ベースURL設定は不要。任意の静的ホスティングに配置可能。file:// 直開きは避け、ローカルサーバーまたはホスティング利用を推奨。 |
確定契約(data属性・ファイル名・公開API): embed-and-zip-v0.1.md · GET/POST・計測キー: api-v0.1.md
3. LP定義(共通)
- 正本は バージョン付きJSON(
schemaVersion必須)。 - 埋め込み・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_clickとcta_clickを分離。
5. チーム
- Workspace が親。メンバー・権限(Owner / Admin / Editor / Viewer 等)は実装時に確定。
- すべてのLP・資産・集計キーは Workspace に紐づける。
6. 分析(必須)
ステップ単位で少なくとも以下をイベント化し、サーバで集計可能にする。
lp_viewstep_view(表示閾値は実装で定義)step_dwellcta_click/hotspot_click- 動画:
video_play/video_progress(任意の閾値) /video_complete等 - 可能なら
swipe_next/swipe_prev(ファネル用)
確定仕様: analytics-events-v0.1.md(閾値・ペイロード・バッチAPI・MVPダッシュボード指標を含む)
管理画面の集計: 取り込みバッチを走査する GET .../analytics/summary(manage-api-v0.1.md)で、到達セッション・ステップ別閲覧などのたたき台を表示可能。
7. 認証
- 抽象化: 「誰が」「どのWorkspaceに」属するかをドメインで表現。ログイン手段はアダプタで差し替え。
- MVPは メール+パスワード or マジックリンク 等、開発コストの低い方式から可。SSO/OIDCは後から同じ境界に載せる。
8. 課金(MVP)
- 実装しない: Stripe・Webhook・請求フロー。
- 持つ: Workspace の
plan・billing_status・trial_ends_at等、nullable フィールド。社内運用では手動変更でもよい。
9. AI機能
詳細は ai-features.md。MVP本体と並行して「プロバイダ差し替え可能な境界」を用意する。
10. 競合型UIとの整合(管理画面)
スワイプ型LP SaaSで一般的な 「サイト制作」+「効果測定」 の二系統ナビに寄せ、説明・導線・未実装の切り分けを product-ui-parity.md に記載する。データ正本は変えず、画面とバックログの参照用とする。