画面カタログ
Screen catalog
マーケティングポータルに存在する全画面の一覧です。URL・目的・主要操作・呼び出す API を記載しています。
ルーティングのソース・オブ・トゥルースは web/portal/marketing/src/App.tsx の AuthenticatedRoutes()。
A complete inventory of every screen in the marketing portal — with URL, purpose, key actions,
and the API endpoints each page calls. The routing source-of-truth is
AuthenticatedRoutes() in web/portal/marketing/src/App.tsx.
画面 = 薄い page wrapper:
Screens are thin page wrappers:
src/pages/ 直下に存在する実画面は LoginPage / DashboardPage / PlaceholderPage の 3 つだけで、その他のルートは src/features/{x, instagram-legacy, newsletter, campaigns, content, content-pool, calendar, analytics, assets, system, settings, notifications, coming-soon}/pages/ 配下のコンポーネントを直接マウントしています。PlaceholderPage は phase ラベル + 説明だけのスタブ画面です。
Only three real page modules live in src/pages/: LoginPage, DashboardPage, and PlaceholderPage. Every other route mounts a component from src/features/{x, instagram-legacy, newsletter, campaigns, content, content-pool, calendar, analytics, assets, system, settings, notifications, coming-soon}/pages/. PlaceholderPage is a stub that only renders a phase label and a note.
画面マップ
Screen map
flowchart LR
Login([/login]) -->Dash([/ Dashboard])
Dash -->Articles[/articles]
Articles -->ArticleNew[/articles/new]
Articles -->ArticleEdit[/articles/:id/edit]
Articles -->ArtCat[/articles/categories]
Dash -->Ads[/ads]
Ads -->AdNew[/ads/new]
Ads -->AdEdit[/ads/:id]
Dash -->Assets[/assets]
Dash -->Notif[/notifications]
Dash -->NL[/newsletter]
NL -->Subs[/newsletter/subscribers]
NL -->BC[/newsletter/broadcasts]
BC -->BCNew[/newsletter/broadcasts/new]
BC -->BCEdit[/newsletter/broadcasts/:id]
Dash -->IG[/instagram]
IG -->IGPosts[/instagram/posts]
IG -->IGCal[/instagram/calendar]
IG -->IGPostTpl[/instagram/post-templates]
IG -->IGTpl[/instagram/templates]
IG -->IGCat[/instagram/categories]
IG -->IGTags[/instagram/tags]
IG -->IGInsights[/instagram/insights]
IG -->IGComp[/instagram/competitor]
Dash -->X[/x]
X -->XPosts[/x/posts]
XPosts -->XPostNew[/x/posts/new]
XPosts -->XPostEdit[/x/posts/:id]
X -->XCal[/x/calendar]
X -->XTpl[/x/templates]
X -->XAutoSch[/x/automation/schedule]
X -->XAutoListen[/x/automation/listen]
X -->XInsights[/x/insights]
X -->XComp[/x/competitor]
Dash -->Cal[/calendar]
Dash -->Camp[/campaigns]
Camp -->CampNew[/campaigns/new]
Camp -->CampEdit[/campaigns/:id]
Dash -->Pool[/content-pool]
Dash -->Ana[/analytics]
Ana -->AnaArt[/analytics/articles]
Ana -->AnaAds[/analytics/ads]
Dash -->AI[/ai-providers]
Dash -->Int[/integrations]
Dash -->Stores[/stores]
Dash -->Brand[/brand]
Dash -->Users[/users]
Dash -->Settings[/settings]
パブリック画面(認証前)
Public screens (pre-auth)
| URL |
目的Purpose |
/login | メール + パスワードで Supabase Auth 認証。未認証ユーザーはここにリダイレクト。Email + password auth via Supabase. Unauthenticated users redirected here. |
MAIN — ダッシュボード
MAIN — Dashboard
| URL |
目的・主要操作Purpose & key actions |
主な APIKey APIs |
/ |
マーケ KPI 4 タイル(2x2 grid、≤1024px で 1 列): SnsMetricsTile / PostCalendarTile / ArticlePvTile / AdCtrTile。各タイルが個別の dashboard サブ endpoint を叩く。4 KPI tiles in a 2x2 grid (collapses to 1 column at ≤1024px): SnsMetricsTile, PostCalendarTile, ArticlePvTile, AdCtrTile. Each tile calls its own dashboard sub-endpoint. |
GET /v1/marketing/dashboard/sns-metrics
GET /v1/marketing/dashboard/post-calendar?year&month
GET /v1/marketing/dashboard/articles-pv?period
GET /v1/marketing/dashboard/ads-ctr |
ダッシュボードの実データ状況:
Dashboard data reality check:
SnsMetrics は cron 未稼働で 0 埋め (PARKY-SNS-SNAPSHOT-INGEST)、PostCalendar の IG 側は mirror table 未実装で 0 (PARKY-IG-MIRROR)、ArticlesPv は GA4 連携前で view_count 累積上位 10 件 (PARKY-GA4-INTEGRATION)、AdsCtr のみ DB 実数。各レスポンスの _meta.synced / _meta.reason で同期状態を返します。
SnsMetrics returns zero-filled series until the snapshot cron lands (PARKY-SNS-SNAPSHOT-INGEST). PostCalendar IG side is 0 pending the IG mirror table (PARKY-IG-MIRROR). ArticlesPv falls back to top-10 cumulative view_count until GA4 ingest (PARKY-GA4-INTEGRATION). Only AdsCtr reflects real DB values. Inspect _meta.synced / _meta.reason in each response.
CONTENT — コンテンツ管理
CONTENT — Content management
| URL |
画面名Screen |
目的・主要操作Purpose & key actions |
主な APIKey APIs |
/articles | 記事一覧Articles | 記事の一覧。カテゴリ・ステータス・日付でフィルタ。新規作成ボタンあり。List articles. Filter by category, status, or date. New article button. | GET /v1/marketing/articles |
/articles/categories | 記事カテゴリArticle categories | カテゴリの CRUD。code をパス引数として識別(PATCH ではなく PUT)。CRUD for article categories. Identified by code path param (uses PUT, not PATCH). | GET /v1/marketing/article-categories
POST /v1/marketing/article-categories
GET /v1/marketing/article-categories/{code}
PUT /v1/marketing/article-categories/{code}
DELETE /v1/marketing/article-categories/{code} |
/articles/new | 記事作成New article | リッチテキストエディタで記事作成。カテゴリ・タグ・カバー画像・公開日時を設定。Create article with rich text editor. Set category, tags, cover image, and publish date. | POST /v1/marketing/articles |
/articles/:id/edit | 記事編集Edit article | 既存記事の編集・公開・下書き保存・削除。Edit, publish, save as draft, or delete existing article. | PATCH/DELETE /v1/marketing/articles/:id |
/ads | 広告一覧Ads | 広告バナーの一覧。ステータス・掲載期間でフィルタ。List ad banners. Filter by status or display period. | GET /v1/marketing/ads |
/ads/new | 広告作成New ad | 広告バナーの作成。画像・リンク先・掲載期間・掲載場所を設定。Create ad banner. Set image, link, display period, and placement. | POST /v1/marketing/ads |
/ads/:id | 広告編集Edit ad | 既存広告の編集・削除。掲載ステータスの変更。Edit or delete existing ad. Change display status. | PATCH/DELETE /v1/marketing/ads/:id |
/assets | アセットライブラリAsset library | 画像・動画・ドキュメントの一元管理。R2 へアップロード。タグ付き検索。Centralized media storage. Upload to R2. Tag-based search. | GET /v1/marketing/assets
POST /v1/storage/upload-url |
/notifications | マーケ運用通知センターMarketing notification center | マーケチーム内向けの通知(キャンペーン開始 / 配信完了 / 自動投稿エラー等)を一覧・既読化・削除。エンドユーザーへの push 配信機能ではない。In-app notification center for the marketing team (campaign starts, dispatch results, automation errors). Not a tool for sending push to end users. | GET /v1/marketing/notifications
GET /v1/marketing/notifications/summary
POST /v1/marketing/notifications/{id}/read
POST /v1/marketing/notifications/mark-all-read
DELETE /v1/marketing/notifications/{id} |
CONTENT — ニュースレター
CONTENT — Newsletter
| URL |
画面名Screen |
目的・主要操作Purpose & key actions |
主な APIKey APIs |
/newsletter | ニュースレター HUBNewsletter hub | 概要と subscribers / broadcasts への動線。Overview tile linking to subscribers / broadcasts. | GET /v1/marketing/newsletter/subscribers/summary |
/newsletter/subscribers | 購読者一覧Subscribers | 購読者の CRUD・タグサマリ・状態別件数・ダブルオプトイン再送。Subscriber CRUD, tag summary, status counts, double-opt-in re-confirmation. | GET /v1/marketing/newsletter/subscribers
GET /v1/marketing/newsletter/subscribers/tag-summary
GET /v1/marketing/newsletter/subscribers/summary
POST /v1/marketing/newsletter/subscribers
PUT /v1/marketing/newsletter/subscribers/{id}
DELETE /v1/marketing/newsletter/subscribers/{id}
POST /v1/marketing/newsletter/subscribers/verify-reconfirm |
/newsletter/broadcasts | 配信一覧Broadcasts | draft / scheduled / sending / sent / failed / canceled をフィルタ表示。Filter by draft / scheduled / sending / sent / failed / canceled. | GET /v1/marketing/newsletter/broadcasts |
/newsletter/broadcasts/new | 配信作成New broadcast | HTML + テキスト本文 / 件名 / 対象を設定して draft 作成。送信は dry-run トグル + 件数モーダル必須。Compose HTML + text / subject / audience as a draft. Sends require dry-run toggle + recipient-count modal. | POST /v1/marketing/newsletter/broadcasts |
/newsletter/broadcasts/:id | 配信編集 / 送信ライフサイクルEdit & send lifecycle | テスト送信 → 予約 → 即時送信 → 取消 → 複製。実送信は cron EVERY_MINUTE の handleNewsletterBroadcast 経由で Resend。Test → schedule → send-now → cancel → duplicate. Real dispatch happens via handleNewsletterBroadcast on the EVERY_MINUTE cron through Resend. | GET /v1/marketing/newsletter/broadcasts/{id}
PUT /v1/marketing/newsletter/broadcasts/{id}
POST /v1/marketing/newsletter/broadcasts/{id}/send-test
POST /v1/marketing/newsletter/broadcasts/{id}/schedule
POST /v1/marketing/newsletter/broadcasts/{id}/send-now
POST /v1/marketing/newsletter/broadcasts/{id}/cancel
POST /v1/marketing/newsletter/broadcasts/{id}/duplicate |
SNS — Instagram (instagram-legacy)
SNS — Instagram (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・/instagram/calendar・/instagram/insights は PlaceholderPage(route tree のみ)。投稿エディタ・テンプレート・カテゴリ・タグ・competitor は features/instagram-legacy/pages/ の実画面で動作中。Instagram Graph API 連携は Phase 5。
/v1/marketing/instagram/posts, /v1/marketing/instagram/templates, etc. are mounted as aliases of the admin handler — they reuse the legacy IG campaign CRUD stored directly in Supabase. /instagram, /instagram/calendar, and /instagram/insights are PlaceholderPage stubs (route tree only). The editor, templates, categories, tags, and competitor screens live in features/instagram-legacy/pages/. Instagram Graph API hookup is Phase 5.
| URL |
画面名Screen |
目的・主要操作Purpose & key actions |
実装状態Status |
/instagram | IG ダッシュボードIG dashboard | Instagram 全体の統計サマリー(予定)。Instagram overall stats summary (planned). | PlaceholderPage (Phase 3) |
/instagram/posts | 投稿(旧 CampaignsPage)Posts (legacy CampaignsPage) | Instagram 投稿(カルーセルキャンペーン)の管理。features/instagram-legacy/pages/CampaignsPage.tsx を /instagram/posts に再配置。Manage Instagram posts (carousel campaigns). Powered by features/instagram-legacy/pages/CampaignsPage.tsx mounted at /instagram/posts. | live |
/instagram/posts/:id | 投稿エディタPost editor | スライドエディタ・AI 生成・PNG/ZIP エクスポートを含む投稿エディタ。Slide editor with AI generation and PNG / ZIP export. | live |
/instagram/calendar | 予約カレンダーBooking calendar | 投稿予約のカレンダービュー(予定)。Calendar view for scheduled IG posts (planned). | PlaceholderPage (Phase 3) |
/instagram/post-templates | 投稿テンプレートPost templates | Instagram 投稿文のテンプレート CRUD。CRUD for Instagram caption / post templates. | live |
/instagram/templates | スライドテンプレートSlide templates | カルーセル投稿用スライドテンプレートの管理。Manage slide templates for carousel posts. | live |
/instagram/categories | カテゴリ管理Categories | Instagram 投稿のカテゴリ CRUD。CRUD for Instagram post categories. | live |
/instagram/tags | タグ管理Tags | Instagram 投稿のタグ CRUD。CRUD for Instagram post tags. | live |
/instagram/insights | インサイトInsights | Instagram Graph API からインサイトを取得(予定)。Pull insights from Instagram Graph API (planned). | PlaceholderPage (Phase 5) |
/instagram/competitor | 競合分析Competitor | 競合アカウントの公開情報を分析。Analyze public data from competitor accounts. | live |
SNS — X (Twitter)
SNS — X (Twitter)
| URL |
画面名Screen |
目的・主要操作Purpose & key actions |
主な APIKey APIs |
/x | X ダッシュボードX dashboard | 登録済み X アカウントを横断して投稿状況・自動化稼働状況を表示。アカウント切替に x_accounts を使用。Cross-account view of post status and automation activity. Account switcher reads x_accounts. | GET /v1/marketing/x/accounts
GET /v1/marketing/x/posts?status=…
GET /v1/marketing/x/automation-log |
/x/posts | ポスト一覧Posts | X ポスト一覧。status (draft / scheduled / publishing / published / failed / canceled の 6 値) ・account_id・本文 ILIKE 検索。List X posts. Filter by status (6-value enum: draft / scheduled / publishing / published / failed / canceled), account_id, and body ILIKE search. | GET /v1/marketing/x/posts |
/x/posts/new | ポスト作成New post | テキスト・メディアを入力して draft 作成。Compose text + media; saved as draft. | POST /v1/marketing/x/posts |
/x/posts/:id | ポスト編集 / 予約 / 即時公開Edit / schedule / publish-now | draft / scheduled の更新と物理削除、status 遷移は専用 verb で安全側に分離。Update draft / scheduled rows and hard-delete. Status transitions are split into dedicated verbs for safety. | PUT /v1/marketing/x/posts/{id}
DELETE /v1/marketing/x/posts/{id}
POST /v1/marketing/x/posts/{id}/schedule
POST /v1/marketing/x/posts/{id}/publish-now |
/x/calendar | 予約カレンダーCalendar | scheduled ポストを月/週ビューで確認。Month / week view of scheduled posts. | GET /v1/marketing/x/posts?status=scheduled |
/x/templates | ポストテンプレートTemplates | X ポスト用キャプションテンプレート。FE のみ: 専用 BFF endpoint は未提供で、テンプレートは marketing_assets / content_pool 経由で管理。X-post caption templates. Front-end only: no dedicated BFF endpoint; templates are managed through marketing_assets / content_pool. | — |
/x/automation/schedule | 自動投稿ルールAuto-post schedule rules | 曜日・時間帯・コンテンツプールを指定した定期投稿ルール。handleXScheduleRuleFire cron が EVERY_MINUTE で発火。Recurring auto-post rules by day / time / content pool. Fired by the handleXScheduleRuleFire cron (EVERY_MINUTE). | GET /v1/marketing/x/schedule-rules
POST /v1/marketing/x/schedule-rules
PUT /v1/marketing/x/schedule-rules/{id}
PATCH /v1/marketing/x/schedule-rules/{id}/toggle
DELETE /v1/marketing/x/schedule-rules/{id} |
/x/automation/listen | 監視&自動リアクションListen & auto-react | キーワード監視ルールとマッチ時アクション(いいね / リプライ / RT)。handleXListen cron が 5 分毎に発火。Keyword monitoring rules with auto-react (like / reply / RT). Driven by the handleXListen cron (every 5 min). | GET /v1/marketing/x/listen-rules
POST /v1/marketing/x/listen-rules
PUT /v1/marketing/x/listen-rules/{id}
PATCH /v1/marketing/x/listen-rules/{id}/toggle
DELETE /v1/marketing/x/listen-rules/{id}
GET /v1/marketing/x/automation-log |
/x/insights | インサイトInsights | 期間別インプレッション・エンゲージメント・フォロワー推移。scaffold: BFF は現状 stub。実集計は handleXInsights cron (10 分毎) が x_posts を更新する経路で稼働。Period-based impressions / engagement / follower trend. scaffold: BFF currently returns a stub. Live ingestion runs via the handleXInsights cron (every 10 min) which updates x_posts rows. | GET /v1/marketing/x/insights |
/x/competitor | 競合分析Competitor | 競合 X アカウントの登録・削除と公開メトリクス追跡。Register / remove competitor X accounts and track public metrics. | GET /v1/marketing/x/competitors
POST /v1/marketing/x/competitors
DELETE /v1/marketing/x/competitors/{handle} |
SNS — 将来対応 (Placeholder)
SNS — Coming soon (Placeholder)
| URL |
プラットフォームPlatform |
状況Status |
/threads | Threads | Placeholder(将来対応予定)Placeholder — planned for future |
/tiktok | TikTok | Placeholder(将来対応予定)Placeholder — planned for future |
/youtube | YouTube | Placeholder(将来対応予定)Placeholder — planned for future |
/line | LINE 公式 | Placeholder(将来対応予定)Placeholder — planned for future |
CAMPAIGNS — キャンペーン管理
CAMPAIGNS — Campaign management
| URL |
画面名Screen |
目的・主要操作Purpose & key actions |
主な APIKey APIs |
/calendar | 横断カレンダーCross calendar | from-to 範囲の X / Newsletter / IG-legacy / 記事公開を 1 画面に集約。Single view of X / newsletter / IG-legacy / article-publish events in a from-to window. | GET /v1/marketing/calendar?from&to |
/campaigns | キャンペーン一覧Campaigns | status / 期間 / channel フィルタ。items_count は LIMIT 後 ANY+GROUP BY で後付集計。Filter by status / date range / channel. items_count is computed post-LIMIT via ANY() + GROUP BY (no N+1). | GET /v1/marketing/campaigns |
/campaigns/new | キャンペーン作成New campaign | 名前・目的・期間 (start_date / end_date)・初期 status を設定。active 作成時は marketing_notifications を best-effort で発火。Set name, goal, date range, initial status. Creating with status='active' fires a best-effort marketing_notifications entry. | POST /v1/marketing/campaigns |
/campaigns/:id | キャンペーン編集Edit campaign | 編集・削除に加え、関連コンテンツ (article / ad / x_post / newsletter) のリンク追加・解除と metrics 取得。Update / delete plus linked-item add / remove (article / ad / x_post / newsletter) and metrics fetch. | GET /v1/marketing/campaigns/{id}
PUT /v1/marketing/campaigns/{id}
DELETE /v1/marketing/campaigns/{id}
POST /v1/marketing/campaigns/{id}/items
DELETE /v1/marketing/campaigns/{id}/items/{item_kind}/{item_ref}
GET /v1/marketing/campaigns/{id}/metrics |
/content-pool | コンテンツプールContent pool | article / ad / x_post / newsletter を横断検索する再利用候補ビュー。X 自動投稿ルールから参照。専用テーブルは存在せず、検索結果ビューロジックです。Cross-search of article / ad / x_post / newsletter rows for reuse. Referenced by X auto-post rules. No dedicated table — this is a search view. | GET /v1/marketing/content-pool
GET /v1/marketing/content-pool/suggest |
ANALYTICS — アナリティクス
ANALYTICS
| URL |
画面名Screen |
目的・主要操作Purpose & key actions |
主な APIKey APIs |
/analytics | 統合レポートSummary report | 期間指定の総括 (default = 直近 30 日 UTC) + チャネル別。GA4 取込前は articles.view_count 累積値で代替。Period summary (default = last 30 days UTC) + cross-channel slice. Falls back to cumulative articles.view_count until GA4 ingest lands. | GET /v1/marketing/analytics/summary
GET /v1/marketing/analytics/cross-channel |
/analytics/articles | 記事パフォーマンスArticle analytics | 記事別 PV ランキング(最大 ARTICLE_RANKING_MAX_LIMIT)。GA4 連携前は累積値。Per-article PV ranking (capped at ARTICLE_RANKING_MAX_LIMIT). Cumulative fallback until GA4 hookup. | GET /v1/marketing/analytics/articles |
/analytics/ads | 広告配信レポートAd delivery report | 広告ごとの impressions / clicks / CTR。Per-ad impressions / clicks / CTR. | GET /v1/marketing/analytics/ads |
SYSTEM — システム設定
SYSTEM — Configuration
| URL |
画面名Screen |
目的Purpose |
主な APIKey APIs |
/ai-providers | AI プロバイダー(読取専用)AI providers (read-only) | 登録済み AI プロバイダー一覧の閲覧。CRUD は admin portal 側 (/v1/admin/ai-providers) で行うため、Marketing portal 専用の ai-providers endpoint(/v1/marketing 配下)は存在しない。View-only listing of AI providers. CRUD lives in the admin portal (/v1/admin/ai-providers); there is no dedicated ai-providers endpoint under /v1/marketing. | GET /v1/admin/ai-providers (admin alias) |
/integrations | 外部連携Integrations | X / Resend / GA4 等の接続設定。秘匿フィールドは AES-GCM 暗号化保管。OAuth start/callback と GA4 SA JSON 投入は /oauth/* + /integrations/ga4。X / Resend / GA4 connection config. Secret fields stored AES-GCM encrypted. OAuth start/callback and GA4 SA JSON upload sit on /oauth/* + /integrations/ga4. | GET /v1/marketing/integrations
PUT /v1/marketing/integrations/{provider}
GET /v1/marketing/oauth/meta/start / /v1/marketing/oauth/x/start / /v1/marketing/oauth/search-console/start 同 callback 群
POST /v1/marketing/integrations/ga4/upload-sa-json |
/stores | App Store / Play StoreStores | ストア連携設定の取得・更新と手動同期。scaffold: 同期 cron は未稼働で /sync は _meta stub を返す。Get / update store integration config and trigger manual sync. scaffold: no scheduled handler — /sync returns a stub _meta. | GET /v1/marketing/stores/{store}
PUT /v1/marketing/stores/{store}
POST /v1/marketing/stores/{store}/sync |
/brand | ブランド設定Brand | marketing.marketing_brand のロゴ / ブランドカラー / フォントを管理。Manage marketing.marketing_brand (logo / colors / fonts). | GET /v1/marketing/brand
PUT /v1/marketing/brand |
/users | ユーザー管理(参照)Users (view) | マーケポータルにアクセスする admin ユーザー一覧を表示。招待・編集・削除は admin portal で実施(権限管理は admin の RBAC を共有)。Lists admin users with marketing portal access. Invite / edit / delete happen in the admin portal; RBAC is shared with the admin RBAC. | read via admin alias |
/settings | ポータル設定Portal settings | 通知・テーマ・タイムゾーン等のクライアント側設定。サーバ永続化はなし。Client-side preferences (notifications, theme, timezone). Not server-persisted. | — |
CONTENT — アセット
CONTENT — Assets
| URL |
画面名Screen |
目的・主要操作Purpose & key actions |
主な APIKey APIs |
/assets | アセットライブラリAsset library | 画像・動画・PDF を Cloudflare R2 へ presigned PUT でアップロード → confirm で marketing_assets 行確定 → メタ更新/削除。Upload images / video / PDF to Cloudflare R2 via presigned PUT, then confirm to materialize the marketing_assets row; metadata edits / deletes available. | GET /v1/marketing/assets
POST /v1/marketing/assets/upload
POST /v1/marketing/assets/{id}/confirm
GET /v1/marketing/assets/{id}
PUT /v1/marketing/assets/{id}
DELETE /v1/marketing/assets/{id} |
アクティビティログ(ヘッダ表示)
Activity log (header dropdown)
画面ルートはなく、AppLayout のヘッダから読み込まれる活動履歴 (marketing_activity_log) です。
No standalone route — surfaced from the AppLayout header. Reads marketing_activity_log.
| 用途Purpose |
主な APIKey APIs |
| マーケ運用の活動履歴フィードMarketing-ops activity feed |
GET /v1/marketing/activity |
レガシー URL リダイレクト
Legacy URL redirects
以下の旧パスは Instagram セクション配下のパスへ 301 リダイレクトされます(Instagram ツールのリファクタリング前の URL)。
The following old paths redirect (301) to their Instagram-section equivalents, preserved from the pre-refactor Instagram tool.
| 旧 URLOld URL |
リダイレクト先Redirects to |
/posts | /instagram/posts |
/posts/:id | /instagram/posts/:id |
/post-templates | /instagram/post-templates |
/templates | /instagram/templates |
/categories | /instagram/categories |
/tags | /instagram/tags |
/competitor | /instagram/competitor |