AD PLATFORM ADAPTER
ad-platform-adapter.ts
Split interface: setup (interactive) + runtime adapter + read-only daemon.
StarkWHAT 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>;
}