Skip to content

Campaigns (Internal)

Frontend

  • Feature page: src/features/campaigns/components/CampaignsPage.tsx
  • Route: /campaigns
  • Main pattern: left create/list + right selected workspace tabs.

Tabs

  • details
  • planning
  • content
  • performance

Core Behaviors

  • Create campaign (manual)
  • Create + auto-plan campaign (/campaigns/:id/generate-plan)
  • Save/revert details with dirty state
  • Generate content (/campaigns/:id/generate-content)
  • Fetch content (/campaigns/:id/content)
  • Fetch analytics (/campaigns/:id/analytics)

Backend Endpoints Used

  • GET /api/campaigns
  • POST /api/campaigns
  • PUT /api/campaigns/:id
  • POST /api/campaigns/chat
  • POST /api/campaigns/:id/generate-plan
  • POST /api/campaigns/:id/generate-content
  • GET /api/campaigns/:id/content
  • GET /api/campaigns/:id/analytics

Data Mapping Pattern

Keep mapping helpers close to the feature:

  • fromBackend(campaign)
  • toDraft(campaign)
  • toUpdatePayload(draft)

This keeps API format changes isolated from UI controls.

TendSocial Documentation