C1

LINE トーク内 link 経由 → HP 流入

⚠ 完走可・要注意

LINE 友だち済 (KotohiraLineFriend に観測済) だが did-event 未認証

❌forcommunity アカウント
✅@997qsntl 友だち

フロー詳細 (6 ステップ)

  1. 1

    LINE トーク内のリンクを起点に流入

    リッチメニュー / 過去配信メッセージから /c/kotohira を開く。

  2. 4

    LINE Login OAuth (forcommunity 全体用 Channel 2008500248)

    未認証 → /auth/signin にリダイレクト → LINE Login → User レコード作成 + User.lineUserId セット (forcommunity Channel スコープ)。

    src/lib/auth.ts
  3. 3

    POST /api/communities/kotohira-digital-townspeople/join

    CommunityMember レコード作成。response.requiresOnboardingForm を判定 (本番琴平は isRequired=true なので true が返る)。

    src/app/api/communities/[id]/join/route.ts
  4. 4

    アンケート画面 /c/kotohira/onboarding/form へ自動遷移

    P7-1 で新設。MigrationCTA は requiresOnboardingForm=true 時に window.location.href で誘導。マイページ訪問時も onboardingCompletedAt 未設定なら同ページに redirect。

    src/app/c/kotohira/onboarding/form/page.tsxsrc/app/c/kotohira/onboarding/form/OnboardingFormClient.tsx
  5. 5

    アンケート 3 質問 (お名前 / 住所 / 生年月日) を入力 → 送信

    POST /api/communities/[id]/form/respond → CommunityFormResponse upsert + member.onboardingCompletedAt = now。

    src/app/api/communities/[id]/form/respond/route.ts
  6. 6

    /c/kotohira/mypage に遷移 (登録完了)

    町民として活動開始。リッチメニューが tier に応じて切替適用される。

    src/app/c/kotohira/mypage/page.tsx

⚠ 主なブロッカー / 注意点

  • ▶OAuth で取得する userId は forcommunity Channel スコープ。@997qsntl Channel との紐付けは Account(provider=line-kotohira-prod) 経由でのみ正規化される
  • ▶現状 line-kotohira-prod を踏んだ User は shunsuke 1 名のみ (P7-2 移行直後)

静的解析の自信度: Mid (Hi=確定、Mid=要実機検証、Lo=推測のみ)