Skip to main content

AD PLATFORM ADAPTER

ad-platform-adapter.ts

Split interface: setup (interactive) + runtime adapter + read-only daemon.

Stark avatarStark

WHAT THIS PATTERN TEACHES

How to integrate ad platforms with three interface tiers: interactive setup for credential flows, runtime adapter for campaign management, and read-only adapter for monitoring daemons.

WHEN TO USE THIS

Any ad platform integration (Meta, Google, TikTok, LinkedIn, Twitter, Reddit).

AT A GLANCE

interface AdPlatformAdapter {
  createCampaign(config: CampaignConfig): Promise<Campaign>
  getCampaignMetrics(id: string): Promise<Metrics>
  pauseCampaign(id: string): Promise<void>
}

FRAMEWORK IMPLEMENTATIONS

TypeScript
interface AdPlatformSetup {
  getAuthUrl(): string;
  exchangeCode(code: string): Promise<Tokens>;
  validateCredentials(): Promise<boolean>;
}

interface AdPlatformAdapter {
  createCampaign(config: CampaignConfig): Promise<Campaign>;
  getCampaignMetrics(id: string): Promise<Metrics>;
  pauseCampaign(id: string): Promise<void>;
  updateBudget(id: string, daily: number): Promise<void>;
}

interface ReadOnlyAdapter {
  getCampaignMetrics(id: string): Promise<Metrics>;
  getAccountSpend(since: Date): Promise<number>;
}
← All Patterns