beeswax-node-client
Version:
TypeScript/JavaScript client library for the Beeswax DSP API
44 lines • 1.8 kB
TypeScript
import { Method } from 'axios';
import { BeeswaxClientOptions, BeeswaxResponse, UploadCreativeAssetParams, CreativeAsset } from './types';
import { AdvertiserResource, CampaignResource, LineItemResource, CreativeResource, CreativeLineItemResource, TargetingTemplateResource, CreativeAssetResource, SegmentResource, ReportResource } from './resources';
import { CampaignMacros } from './macros/CampaignMacros';
export declare class BeeswaxClient {
private apiRoot;
private creds;
private axiosInstance;
private authPromise?;
private sessionCookies?;
advertisers: AdvertiserResource;
campaigns: CampaignResource;
lineItems: LineItemResource;
creatives: CreativeResource;
creativeLineItems: CreativeLineItemResource;
targetingTemplates: TargetingTemplateResource;
creativeAssets: CreativeAssetResource;
segments: SegmentResource;
reports: ReportResource;
macros: CampaignMacros;
constructor(options: BeeswaxClientOptions);
private setupInterceptors;
authenticate(): Promise<void>;
private performAuthentication;
request<T = any>(method: Method, endpoint: string, options?: {
body?: any;
params?: any;
headers?: any;
}): Promise<BeeswaxResponse<T>>;
uploadCreativeAsset(params: UploadCreativeAssetParams): Promise<CreativeAsset>;
getCurrentUser(): Promise<BeeswaxResponse<any>>;
getAccountInfo(): Promise<BeeswaxResponse<any>>;
createLineItem(params: {
campaign_id: number;
line_item_name: string;
line_item_budget: number;
cpm_bid?: number;
start_date?: string;
end_date?: string;
targeting_expression_id?: number;
active?: boolean;
}): Promise<BeeswaxResponse<any>>;
}
//# sourceMappingURL=BeeswaxClient.d.ts.map