機能一覧
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_INSIGHTS(handleXInsights, 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/insights は PlaceholderPage です。投稿エディタ・テンプレート・カテゴリ・タグ・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_count や ads 集計など 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-json。X / 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_reviews。Read / 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. |