機能一覧 Features

マーケティングポータルが提供する機能を 7 つのカテゴリに整理しました。 「何ができるか」を把握してから、必要なページを 画面カタログ で探す流れを想定しています。

The marketing portal's capabilities organized into 7 categories. Start here to understand what's possible, then jump to the screen catalog for the exact page.

実装ステータスの読み方: How to read implementation status: 実装済み = 画面 + BFF + DB が揃って動く / scaffold = BFF endpoint はあるが外部連携 or 集計が未稼働 / PlaceholderPage = 画面ツリーだけ確保した features/coming-soon もしくは PlaceholderPage ラッパー。 Live = screen + BFF + DB all wired / scaffold = BFF endpoint exists but the external integration or aggregation is dormant / PlaceholderPage = route tree reserved by features/coming-soon or the PlaceholderPage wrapper.

1. コンテンツ管理Content management

機能Capability 画面Screen 概要Details
記事の CRUDArticle CRUD /articles リッチテキストエディタで記事を作成・編集・公開・削除。カテゴリ・タグ・カバー画像・公開日時を設定。Create, edit, publish, and delete articles with a rich text editor. Set category, tags, cover image, and publish date.
記事カテゴリ管理Article category management /articles/categories 記事分類用カテゴリの CRUD。CRUD for article categories.
広告バナー管理Ad banner management /ads 広告バナーの作成・編集・削除。掲載期間・掲載場所・リンク先・ステータス管理。Create, edit, and delete ad banners. Manage display period, placement, link, and status.
アセットライブラリAsset library /assets 画像・動画・ドキュメントを Cloudflare R2 へ一元管理。タグ付け・検索に対応。Centralize images, videos, and documents in Cloudflare R2. Supports tagging and search.
マーケ運用通知Marketing ops notifications /notifications マーケチーム内向けの通知センター(キャンペーン開始 / 配信完了 / 自動投稿エラー等)。marketing.marketing_notifications を未読・既読・一括既読・削除する GET/POST /v1/marketing/notificationsエンドユーザー向けの push 配信機能ではない — それは /v1/admin/user-notifications(FCM)。In-app notification center for the marketing team itself (campaign starts, dispatch results, automation errors). Backed by marketing.marketing_notifications via GET/POST /v1/marketing/notifications with read / mark-all-read / delete. Not end-user push delivery — that lives under /v1/admin/user-notifications (FCM).

2. ニュースレターNewsletter

機能Capability 画面Screen 概要Details
ニュースレター HUBNewsletter hub /newsletter 購読者数・直近配信のサマリーから subscribers / broadcasts へ動線。Overview tile linking to subscribers + broadcasts.
購読者管理Subscriber management /newsletter/subscribers 購読者一覧。タグサマリ・状態別件数 (/summary) とダブルオプトイン再送 (POST /verify-reconfirm) を備える。List subscribers with tag summary and status counts (/summary) plus double-opt-in re-confirmation (POST /verify-reconfirm).
配信作成・送信Broadcast composition & send /newsletter/broadcasts HTML + テキストのメール本文・件名を編集し、テスト送信 → 予約 (/schedule) → 即時送信 (/send-now) → 取消 (/cancel) → 複製 (/duplicate) のライフサイクルで Resend 配信。送信は dry-run トグル + 件数モーダルの二段確認。Compose HTML / text email and subject; lifecycle is test-send (/send-test) → schedule (/schedule) → send-now (/send-now) → cancel (/cancel) → duplicate (/duplicate) via Resend. Sends are gated by a dry-run toggle and recipient-count modal.

3. X (Twitter) 運用X (Twitter) operations

機能Capability 画面Screen 概要Details
投稿作成・即時送信Post & publish /x/posts テキスト・画像・動画で X ポストを作成し、即時送信または日時指定スケジュール。Compose with text, image, or video. Publish now or schedule for a specific time.
スケジュール管理Scheduled posts /x/calendar スケジュール済みポストをカレンダービューで俯瞰・並び替え。View and rearrange scheduled posts in a calendar view.
投稿テンプレートPost templates /x/templates 定型文テンプレートを作成して投稿作成を効率化。Save caption templates to speed up post composition.
自動投稿ルールAuto-post rules /x/automation/schedule 曜日・時間帯・コンテンツプールを指定した自動投稿ルールを設定。Cron Worker が実行。Define recurring auto-post rules by day, time, and content pool. Cron Worker fires them.
監視&自動リアクションListen & auto-react /x/automation/listen キーワードを監視し、マッチしたツイートへ自動でいいね・リプライ・リツイートを実行。Monitor keywords and auto-react (like, reply, RT) to matching tweets.
インサイトX insights /x/insights 期間別インプレッション・エンゲージメント・フォロワー推移を表示。scaffold: BFF (GET /v1/marketing/x/insights) は現状 stub レスポンスで、本番 API 取込は cron X_INSIGHTShandleXInsights, 10 分毎)で x_posts 行を更新する経路だけ稼働中。Impressions / engagement / follower trend by period. scaffold: GET /v1/marketing/x/insights currently returns a stub. Live ingestion only runs via the X_INSIGHTS cron (handleXInsights, every 10 min) which updates x_posts rows.
競合分析Competitor tracking /x/competitor 競合 X アカウントのフォロワー数・投稿頻度・エンゲージメントを追跡。Track followers, post frequency, and engagement of competitor X accounts.

4. Instagram 運用 (instagram-legacy)Instagram operations (instagram-legacy)

現状は admin alias の旧 instagram-legacy: Currently the admin-aliased instagram-legacy stack: /v1/marketing/instagram/posts/v1/marketing/instagram/templates 等は admin handler の alias mount で、Supabase 直管理の旧 IG キャンペーン CRUD を流用しています。Instagram Graph API 連携 / 公式公開 / インサイト取得は Phase 5 予定で、/instagram / /instagram/calendar / /instagram/insightsPlaceholderPage です。投稿エディタ・テンプレート・カテゴリ・タグ・competitor は実画面で動作中。 /v1/marketing/instagram/posts, /v1/marketing/instagram/templates, etc. are mounted as aliases for the admin handler — they reuse the legacy IG campaign CRUD stored directly in Supabase. Instagram Graph API publishing and insights are Phase 5. The screens /instagram, /instagram/calendar, and /instagram/insights are PlaceholderPage; the editor, templates, categories, tags, and competitor screens are live.
機能Capability 画面Screen 概要Details
投稿管理 (CRUD)Post management /instagram/posts Instagram 投稿の作成・編集・削除。テンプレートから生成可。カテゴリ/タグで整理。Create, edit, and delete Instagram posts. Generate from templates. Organize by category/tag.
スライドテンプレートSlide templates /instagram/templates カルーセル投稿向けスライドテンプレートの管理。Manage slide templates for carousel-style posts.
カテゴリ・タグ管理Category & tag management /instagram/categories, /instagram/tags 投稿の分類・整理用カテゴリとタグの CRUD。CRUD for post categories and tags.
競合分析Competitor analysis /instagram/competitor 競合 Instagram アカウントの公開情報を分析。Analyze public data from competitor Instagram accounts.

5. キャンペーン管理Campaign management

機能Capability 画面Screen 概要Details
横断カレンダーCross-channel calendar /calendar 全 SNS チャネルの投稿スケジュールを一画面で俯瞰。チャネルフィルタ付き。Unified view of all SNS channel schedules. Channel filter included.
キャンペーン CRUDCampaign CRUD /campaigns マーケキャンペーンの作成・編集・削除。目的・期間・関連コンテンツを設定。Create, edit, and delete marketing campaigns with goals, date ranges, and linked content.
コンテンツプールContent pool /content-pool 再利用可能なコンテンツの保管庫。X 自動投稿ルールからランダムに参照される。Repository of reusable content items. Randomly sampled by X auto-post rules.

6. アナリティクスAnalytics

GA4 連携は scaffold のみ: GA4 hookup is scaffolded only: SA JSON 投入 (POST /v1/marketing/integrations/ga4/upload-sa-json) と OAuth start/callback は実装済みですが、ダッシュボード/analytics は articles.view_countads 集計など DB 直集計の累積値を返します(GA4 Reporting API 取込は PARKY-GA4-INTEGRATION)。各レスポンスの _meta.synced / _meta.reason で確認可能。 The SA JSON upload (POST /v1/marketing/integrations/ga4/upload-sa-json) and OAuth start/callback are wired, but the dashboard / analytics endpoints currently return cumulative values from direct DB aggregation (articles.view_count, ads stats). Real GA4 ingestion is tracked under PARKY-GA4-INTEGRATION. Check each response's _meta.synced / _meta.reason.
機能Capability 画面Screen 概要Details
統合レポートUnified report /analytics 期間指定の総括 (GET /v1/marketing/analytics/summary) + チャネル別 (/cross-channel)。default は直近 30 日 (UTC)。Period summary (GET /v1/marketing/analytics/summary) + cross-channel slice (/cross-channel). Default window: last 30 days (UTC).
記事アナリティクスArticle analytics /analytics/articles 記事別 PV ランキング (GET /v1/marketing/analytics/articles)。GA4 取込前は累積 view_count。Per-article PV ranking (GET /v1/marketing/analytics/articles). Falls back to cumulative view_count until GA4 ingest lands.
広告配信レポートAd report /analytics/ads 広告別 impressions / clicks / CTR (GET /v1/marketing/analytics/ads)。Per-ad impressions / clicks / CTR (GET /v1/marketing/analytics/ads).

7. システム設定System configuration

機能Capability 画面Screen 概要Details
AI モデル一覧(読取専用)AI providers (read-only) /ai-providers コンテンツ生成で使う AI プロバイダー / モデル一覧の閲覧。Marketing 側は読取専用で、登録・編集・キー投入は admin の /v1/admin/ai-providers 経由。Marketing portal 専用の ai-providers endpoint(/v1/marketing 配下)は存在しない。View-only listing of AI providers / models used by content generation. Marketing portal is read-only; CRUD and key registration happen through /v1/admin/ai-providers. There is no dedicated ai-providers endpoint under /v1/marketing.
外部 API 連携External integrations /integrations marketing.marketing_integrations に格納された X / Resend / GA4 等の接続設定 (GET /v1/marketing/integrations, PUT /v1/marketing/integrations/{provider})。秘匿フィールドは config_enc に AES-GCM 暗号化保管され、復号は BFF 内に閉じる。OAuth start/callback と GA4 SA JSON 投入は /v1/marketing/oauth/meta/start/v1/marketing/oauth/x/start/v1/marketing/oauth/search-console/start 等の oauth 系 + /v1/marketing/integrations/ga4/upload-sa-jsonX / Resend / GA4 connections held in marketing.marketing_integrations (GET /v1/marketing/integrations, PUT /v1/marketing/integrations/{provider}). Secret fields live in config_enc (AES-GCM); decryption stays inside the BFF. OAuth start/callback and GA4 SA JSON upload sit on oauth endpoints (/v1/marketing/oauth/meta/start, /v1/marketing/oauth/x/start, /v1/marketing/oauth/search-console/start, etc.) plus /v1/marketing/integrations/ga4/upload-sa-json.
App Store / Play Store 連携Store integration /stores marketing.store_integrations 設定の取得・更新と手動同期トリガ (GET/PUT /v1/marketing/stores/{store}, POST /v1/marketing/stores/{store}/sync)。scaffold: 同期 cron は未実装で /sync_meta stub を返すのみ。実書込先は marketing.store_sales_daily / store_reviewsRead / update marketing.store_integrations rows and trigger manual sync (GET/PUT /v1/marketing/stores/{store}, POST /v1/marketing/stores/{store}/sync). scaffold: there's no scheduled handler yet — /sync just returns a stub _meta. Real writes target marketing.store_sales_daily / store_reviews.
ブランド設定Brand settings /brand ロゴ・ブランドカラー・フォントなどのブランドガイドラインを一元管理。Centrally manage brand guidelines: logo, colors, fonts.
ポータルユーザー管理(参照)Portal user management (view) /users マーケティングポータルへアクセスする admin ユーザーの一覧。招待・編集・削除は admin portal 側で行う(権限管理は admin の RBAC を共有)。Lists admin users with marketing portal access. Invite / edit / delete are handled in the admin portal — RBAC is shared with the admin RBAC.
ポータル設定Portal settings /settings 通知・テーマ・タイムゾーン等のクライアント側設定。サーバ永続化なし。Client-side preferences (notifications, theme, timezone). Not server-persisted.