taboola-backstage-sdk 0.2.1 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -20
- package/dist/index.cjs +129 -648
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +549 -830
- package/dist/index.d.ts +549 -830
- package/dist/index.js +129 -648
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -149,23 +149,25 @@ type ItemStatus = 'RUNNING' | 'CRAWLING' | 'CRAWLING_ERROR' | 'NEED_TO_EDIT' | '
|
|
|
149
149
|
/**
|
|
150
150
|
* Pricing models
|
|
151
151
|
*/
|
|
152
|
-
type PricingModel = 'CPC' | 'CPM' | 'VCPM'
|
|
152
|
+
type PricingModel = 'CPC' | 'CPM' | 'VCPM';
|
|
153
153
|
/**
|
|
154
154
|
* Spending limit models
|
|
155
155
|
*/
|
|
156
156
|
type SpendingLimitModel = 'MONTHLY' | 'ENTIRE' | 'DAILY' | 'NONE';
|
|
157
157
|
/**
|
|
158
158
|
* Daily ad delivery models
|
|
159
|
+
*
|
|
160
|
+
* @remarks ACCELERATED is deprecated by Taboola
|
|
159
161
|
*/
|
|
160
162
|
type DailyAdDeliveryModel = 'ACCELERATED' | 'BALANCED' | 'STRICT';
|
|
161
163
|
/**
|
|
162
164
|
* Marketing objectives
|
|
163
165
|
*/
|
|
164
|
-
type MarketingObjective = 'DRIVE_WEBSITE_TRAFFIC' | 'BRAND_AWARENESS' | '
|
|
166
|
+
type MarketingObjective = 'DRIVE_WEBSITE_TRAFFIC' | 'BRAND_AWARENESS' | 'ONLINE_PURCHASES' | 'LEADS_GENERATION' | 'MOBILE_APP_INSTALL' | 'OTHER';
|
|
165
167
|
/**
|
|
166
168
|
* Bid strategies
|
|
167
169
|
*/
|
|
168
|
-
type BidStrategy = 'FIXED' | 'SMART' | 'TARGET_CPA' | 'MAX_CONVERSIONS'
|
|
170
|
+
type BidStrategy = 'FIXED' | 'SMART' | 'TARGET_CPA' | 'MAX_CONVERSIONS';
|
|
169
171
|
/**
|
|
170
172
|
* Traffic allocation modes
|
|
171
173
|
*/
|
|
@@ -197,13 +199,13 @@ type BrandSafetyProvider = 'IAS' | 'DV' | 'MOAT' | 'NONE';
|
|
|
197
199
|
/**
|
|
198
200
|
* Report dimension types
|
|
199
201
|
*/
|
|
200
|
-
type ReportDimension = 'day' | 'by_hour_of_day' | 'week' | 'month' | 'content_provider_breakdown' | 'campaign_breakdown' | '
|
|
202
|
+
type ReportDimension = 'day' | 'by_hour_of_day' | 'week' | 'month' | 'content_provider_breakdown' | 'campaign_breakdown' | 'campaign_hour_breakdown' | 'site_breakdown' | 'country_breakdown' | 'content_provider_country_breakdown' | 'region_breakdown' | 'dma_breakdown' | 'platform_breakdown' | 'campaign_day_breakdown' | 'campaign_site_day_breakdown' | 'user_segment_breakdown' | 'os_family_breakdown' | 'os_version_breakdown' | 'browser_breakdown' | 'contextual_breakdown';
|
|
201
203
|
/**
|
|
202
204
|
* Realtime Campaign Report dimension types
|
|
203
205
|
*
|
|
204
206
|
* @see https://developers.taboola.com/backstage-api/reference/realtime-campaign-report
|
|
205
207
|
*/
|
|
206
|
-
type RealtimeCampaignDimension = 'by_hour' | 'by_campaign' | 'by_site' | 'by_country' | 'by_platform' | 'by_campaign_by_hour' | 'by_campaign_by_site' | 'by_campaign_by_country' | 'by_campaign_by_platform' | 'by_campaign_by_country_by_platform' | 'by_platform_by_country';
|
|
208
|
+
type RealtimeCampaignDimension = 'by_hour' | 'by_campaign' | 'by_site' | 'by_country' | 'by_platform' | 'by_campaign_by_hour' | 'by_campaign_by_site' | 'by_campaign_by_country' | 'by_campaign_by_platform' | 'by_campaign_by_country_by_platform' | 'by_platform_by_country' | 'by_hour_by_smallest_time_bucket' | 'by_campaign_by_smallest_time_bucket' | 'by_site_by_smallest_time_bucket' | 'by_country_by_smallest_time_bucket' | 'by_platform_by_smallest_time_bucket';
|
|
207
209
|
/**
|
|
208
210
|
* Realtime Ads Report dimension types
|
|
209
211
|
*
|
|
@@ -286,6 +288,8 @@ interface Account {
|
|
|
286
288
|
campaign_types: CampaignType[];
|
|
287
289
|
/** Account currency */
|
|
288
290
|
currency: CurrencyCode;
|
|
291
|
+
/** Account time zone name */
|
|
292
|
+
time_zone_name?: string;
|
|
289
293
|
}
|
|
290
294
|
/**
|
|
291
295
|
* Advertiser account in network
|
|
@@ -305,19 +309,17 @@ interface AdvertiserAccount {
|
|
|
305
309
|
campaign_types: CampaignType[];
|
|
306
310
|
/** Account currency */
|
|
307
311
|
currency: CurrencyCode;
|
|
312
|
+
/** Account time zone name */
|
|
313
|
+
time_zone_name?: string;
|
|
308
314
|
}
|
|
309
315
|
/**
|
|
310
316
|
* Response for allowed accounts list
|
|
311
317
|
*/
|
|
312
|
-
|
|
313
|
-
results: Account[];
|
|
314
|
-
}
|
|
318
|
+
type AllowedAccountsResponse = ListResponse<Account>;
|
|
315
319
|
/**
|
|
316
320
|
* Response for network advertisers list
|
|
317
321
|
*/
|
|
318
|
-
|
|
319
|
-
results: AdvertiserAccount[];
|
|
320
|
-
}
|
|
322
|
+
type NetworkAdvertisersResponse = ListResponse<AdvertiserAccount>;
|
|
321
323
|
|
|
322
324
|
/**
|
|
323
325
|
* Campaign types for Taboola Backstage API
|
|
@@ -534,14 +536,16 @@ interface CreateCampaignRequest {
|
|
|
534
536
|
name: string;
|
|
535
537
|
/** Branding text (required) */
|
|
536
538
|
branding_text: string;
|
|
539
|
+
/** Marketing objective (required) */
|
|
540
|
+
marketing_objective: MarketingObjective;
|
|
541
|
+
/** Pricing model */
|
|
542
|
+
pricing_model?: PricingModel;
|
|
537
543
|
/** Cost per click */
|
|
538
544
|
cpc?: number;
|
|
539
545
|
/** Spending limit */
|
|
540
546
|
spending_limit?: number;
|
|
541
547
|
/** Spending limit model */
|
|
542
548
|
spending_limit_model?: SpendingLimitModel;
|
|
543
|
-
/** Marketing objective (required) */
|
|
544
|
-
marketing_objective: MarketingObjective;
|
|
545
549
|
/** Daily cap */
|
|
546
550
|
daily_cap?: number;
|
|
547
551
|
/** Daily ad delivery model */
|
|
@@ -552,29 +556,80 @@ interface CreateCampaignRequest {
|
|
|
552
556
|
cpa_goal?: number;
|
|
553
557
|
/** Country targeting */
|
|
554
558
|
country_targeting?: TargetingValue;
|
|
559
|
+
/** Sub-country (region) targeting */
|
|
560
|
+
sub_country_targeting?: TargetingValue;
|
|
561
|
+
/** DMA targeting (US only) */
|
|
562
|
+
dma_country_targeting?: TargetingValue;
|
|
563
|
+
/** Region targeting */
|
|
564
|
+
region_country_targeting?: TargetingValue;
|
|
565
|
+
/** City targeting */
|
|
566
|
+
city_targeting?: TargetingValue;
|
|
567
|
+
/** Postal code targeting */
|
|
568
|
+
postal_code_targeting?: TargetingValue;
|
|
569
|
+
/** Contextual targeting */
|
|
570
|
+
contextual_targeting?: TargetingValue;
|
|
555
571
|
/** Platform targeting */
|
|
556
572
|
platform_targeting?: TargetingValue;
|
|
573
|
+
/** Publisher targeting (blocking) */
|
|
574
|
+
publisher_targeting?: TargetingValue;
|
|
557
575
|
/** OS targeting */
|
|
558
576
|
os_targeting?: TargetingValue;
|
|
559
|
-
/**
|
|
577
|
+
/** Connection type targeting */
|
|
578
|
+
connection_type_targeting?: TargetingValue;
|
|
579
|
+
/** Browser targeting */
|
|
580
|
+
browser_targeting?: TargetingValue;
|
|
581
|
+
/** Auto publisher targeting */
|
|
582
|
+
auto_publisher_targeting?: TargetingValue;
|
|
583
|
+
/** Publisher bid modifiers */
|
|
584
|
+
publisher_bid_modifier?: PublisherBidModifierCollection;
|
|
585
|
+
/** Publisher bid strategy modifiers */
|
|
586
|
+
publisher_bid_strategy_modifiers?: PublisherBidStrategyModifierCollection;
|
|
587
|
+
/** Start date (defaults to 'now' if omitted) */
|
|
560
588
|
start_date?: DateString;
|
|
561
589
|
/** End date */
|
|
562
590
|
end_date?: DateString;
|
|
591
|
+
/** Whether campaign is active */
|
|
592
|
+
is_active?: boolean;
|
|
563
593
|
/** Tracking code */
|
|
564
594
|
tracking_code?: string;
|
|
565
595
|
/** Comments */
|
|
566
596
|
comments?: string;
|
|
567
597
|
/** Traffic allocation mode */
|
|
568
598
|
traffic_allocation_mode?: TrafficAllocationMode;
|
|
599
|
+
/** A/B test end date */
|
|
600
|
+
traffic_allocation_ab_test_end_date?: DateString | null;
|
|
601
|
+
/** External brand safety config */
|
|
602
|
+
external_brand_safety?: ExternalBrandSafety;
|
|
603
|
+
/** Marketplace audience targeting */
|
|
604
|
+
audience_segments_multi_targeting?: MultiTargeting;
|
|
605
|
+
/** Custom audience targeting */
|
|
606
|
+
custom_audience_targeting?: MultiTargeting;
|
|
607
|
+
/** Marking label targeting */
|
|
608
|
+
marking_label_multi_targeting?: MultiTargeting;
|
|
609
|
+
/** Lookalike audience targeting */
|
|
610
|
+
lookalike_audience_targeting?: MultiTargeting;
|
|
611
|
+
/** Contextual segments targeting */
|
|
612
|
+
contextual_segments_targeting?: MultiTargeting;
|
|
613
|
+
/** Verification pixel config */
|
|
614
|
+
verification_pixel?: VerificationPixel;
|
|
615
|
+
/** Viewability tag config */
|
|
616
|
+
viewability_tag?: ViewabilityTag;
|
|
617
|
+
/** Activity schedule */
|
|
618
|
+
activity_schedule?: ActivitySchedule;
|
|
569
619
|
}
|
|
570
620
|
/**
|
|
571
621
|
* Campaign update request
|
|
622
|
+
*
|
|
623
|
+
* Submit a JSON object with only the fields you want to update.
|
|
624
|
+
* Fields that are omitted or null will not be updated.
|
|
572
625
|
*/
|
|
573
626
|
interface UpdateCampaignRequest {
|
|
574
627
|
/** Campaign name */
|
|
575
628
|
name?: string;
|
|
576
629
|
/** Branding text */
|
|
577
630
|
branding_text?: string;
|
|
631
|
+
/** Pricing model */
|
|
632
|
+
pricing_model?: PricingModel;
|
|
578
633
|
/** Cost per click */
|
|
579
634
|
cpc?: number;
|
|
580
635
|
/** Spending limit */
|
|
@@ -591,20 +646,68 @@ interface UpdateCampaignRequest {
|
|
|
591
646
|
cpa_goal?: number;
|
|
592
647
|
/** Country targeting */
|
|
593
648
|
country_targeting?: TargetingValue;
|
|
649
|
+
/** Sub-country (region) targeting */
|
|
650
|
+
sub_country_targeting?: TargetingValue;
|
|
651
|
+
/** DMA targeting (US only) */
|
|
652
|
+
dma_country_targeting?: TargetingValue;
|
|
653
|
+
/** Region targeting */
|
|
654
|
+
region_country_targeting?: TargetingValue;
|
|
655
|
+
/** City targeting */
|
|
656
|
+
city_targeting?: TargetingValue;
|
|
657
|
+
/** Postal code targeting */
|
|
658
|
+
postal_code_targeting?: TargetingValue;
|
|
659
|
+
/** Contextual targeting */
|
|
660
|
+
contextual_targeting?: TargetingValue;
|
|
594
661
|
/** Platform targeting */
|
|
595
662
|
platform_targeting?: TargetingValue;
|
|
663
|
+
/** Publisher targeting (blocking) */
|
|
664
|
+
publisher_targeting?: TargetingValue;
|
|
596
665
|
/** OS targeting */
|
|
597
666
|
os_targeting?: TargetingValue;
|
|
667
|
+
/** Connection type targeting */
|
|
668
|
+
connection_type_targeting?: TargetingValue;
|
|
669
|
+
/** Browser targeting */
|
|
670
|
+
browser_targeting?: TargetingValue;
|
|
671
|
+
/** Auto publisher targeting */
|
|
672
|
+
auto_publisher_targeting?: TargetingValue;
|
|
673
|
+
/** Publisher bid modifiers */
|
|
674
|
+
publisher_bid_modifier?: PublisherBidModifierCollection;
|
|
675
|
+
/** Publisher bid strategy modifiers */
|
|
676
|
+
publisher_bid_strategy_modifiers?: PublisherBidStrategyModifierCollection;
|
|
677
|
+
/** Campaign profile ID */
|
|
678
|
+
campaign_profile?: string | null;
|
|
598
679
|
/** Start date */
|
|
599
|
-
start_date?: DateString;
|
|
680
|
+
start_date?: DateString | null;
|
|
600
681
|
/** End date */
|
|
601
|
-
end_date?: DateString;
|
|
602
|
-
/** Whether campaign is active */
|
|
682
|
+
end_date?: DateString | null;
|
|
683
|
+
/** Whether campaign is active (use for pause/unpause) */
|
|
603
684
|
is_active?: boolean;
|
|
604
685
|
/** Tracking code */
|
|
605
686
|
tracking_code?: string;
|
|
606
687
|
/** Comments */
|
|
607
688
|
comments?: string;
|
|
689
|
+
/** Traffic allocation mode */
|
|
690
|
+
traffic_allocation_mode?: TrafficAllocationMode;
|
|
691
|
+
/** A/B test end date */
|
|
692
|
+
traffic_allocation_ab_test_end_date?: DateString | null;
|
|
693
|
+
/** External brand safety config */
|
|
694
|
+
external_brand_safety?: ExternalBrandSafety;
|
|
695
|
+
/** Marketplace audience targeting */
|
|
696
|
+
audience_segments_multi_targeting?: MultiTargeting;
|
|
697
|
+
/** Custom audience targeting */
|
|
698
|
+
custom_audience_targeting?: MultiTargeting;
|
|
699
|
+
/** Marking label targeting */
|
|
700
|
+
marking_label_multi_targeting?: MultiTargeting;
|
|
701
|
+
/** Lookalike audience targeting */
|
|
702
|
+
lookalike_audience_targeting?: MultiTargeting;
|
|
703
|
+
/** Contextual segments targeting */
|
|
704
|
+
contextual_segments_targeting?: MultiTargeting;
|
|
705
|
+
/** Marketing objective */
|
|
706
|
+
marketing_objective?: MarketingObjective;
|
|
707
|
+
/** Verification pixel config */
|
|
708
|
+
verification_pixel?: VerificationPixel;
|
|
709
|
+
/** Viewability tag config */
|
|
710
|
+
viewability_tag?: ViewabilityTag;
|
|
608
711
|
/** Activity schedule */
|
|
609
712
|
activity_schedule?: ActivitySchedule;
|
|
610
713
|
}
|
|
@@ -618,35 +721,29 @@ interface CampaignListResponse {
|
|
|
618
721
|
count: number;
|
|
619
722
|
};
|
|
620
723
|
}
|
|
621
|
-
/**
|
|
622
|
-
* Bulk campaign update request item
|
|
623
|
-
*/
|
|
624
|
-
interface BulkCampaignUpdate {
|
|
625
|
-
/** Campaign ID to update */
|
|
626
|
-
campaign_id: string;
|
|
627
|
-
/** Fields to update */
|
|
628
|
-
update: UpdateCampaignRequest;
|
|
629
|
-
}
|
|
630
724
|
/**
|
|
631
725
|
* Bulk campaign update request
|
|
632
726
|
*/
|
|
633
727
|
interface BulkCampaignUpdateRequest {
|
|
634
|
-
|
|
728
|
+
/** Campaign IDs to update */
|
|
729
|
+
campaigns: number[];
|
|
730
|
+
/** Order IDs to update (alternative to campaign IDs) */
|
|
731
|
+
order_ids?: string[];
|
|
732
|
+
/** Fields to update on all specified campaigns */
|
|
733
|
+
update: UpdateCampaignRequest;
|
|
635
734
|
}
|
|
636
735
|
/**
|
|
637
736
|
* Campaign patch operation
|
|
638
737
|
*/
|
|
639
738
|
type PatchOperation = 'ADD' | 'REMOVE' | 'REPLACE';
|
|
640
739
|
/**
|
|
641
|
-
* Campaign patch request
|
|
740
|
+
* Campaign patch request
|
|
642
741
|
*/
|
|
643
742
|
interface CampaignPatchRequest {
|
|
644
|
-
/**
|
|
645
|
-
|
|
646
|
-
/**
|
|
647
|
-
|
|
648
|
-
/** Value to set */
|
|
649
|
-
value: unknown;
|
|
743
|
+
/** Patch operation type */
|
|
744
|
+
patch_operation: PatchOperation;
|
|
745
|
+
/** Additional fields for the patch */
|
|
746
|
+
[key: string]: unknown;
|
|
650
747
|
}
|
|
651
748
|
/**
|
|
652
749
|
* Campaign reach estimation request
|
|
@@ -723,6 +820,24 @@ interface CampaignTargetingCollection {
|
|
|
723
820
|
value: string[];
|
|
724
821
|
href?: string | null;
|
|
725
822
|
}
|
|
823
|
+
/**
|
|
824
|
+
* Settings for campaign duplication
|
|
825
|
+
*/
|
|
826
|
+
interface DuplicateSettings {
|
|
827
|
+
/** Whether to copy items from the source campaign */
|
|
828
|
+
copy_items?: boolean;
|
|
829
|
+
/** Whether to copy targeting from the source campaign */
|
|
830
|
+
copy_targeting?: boolean;
|
|
831
|
+
}
|
|
832
|
+
/**
|
|
833
|
+
* Campaign duplication request
|
|
834
|
+
*/
|
|
835
|
+
interface DuplicateCampaignRequest {
|
|
836
|
+
/** Name for the duplicated campaign */
|
|
837
|
+
name?: string;
|
|
838
|
+
/** Duplication settings */
|
|
839
|
+
duplicate_settings?: DuplicateSettings;
|
|
840
|
+
}
|
|
726
841
|
|
|
727
842
|
/**
|
|
728
843
|
* Campaign Item (Ad) types for Taboola Backstage API
|
|
@@ -842,16 +957,33 @@ interface CampaignItem {
|
|
|
842
957
|
logo?: Record<string, unknown>;
|
|
843
958
|
/** Disclaimer text */
|
|
844
959
|
disclaimer?: string;
|
|
960
|
+
/** Creative type */
|
|
961
|
+
creative_type?: string;
|
|
962
|
+
/** Image orientation */
|
|
963
|
+
orientation?: string;
|
|
964
|
+
/** Performance video data (motion ads) */
|
|
965
|
+
performance_video_data?: PerformanceVideoData;
|
|
966
|
+
/** Item start date */
|
|
967
|
+
start_date?: string;
|
|
968
|
+
/** Item end date */
|
|
969
|
+
end_date?: string;
|
|
845
970
|
}
|
|
846
971
|
/**
|
|
847
|
-
* Create campaign item request
|
|
972
|
+
* Create campaign item request (static ads only)
|
|
848
973
|
*/
|
|
849
974
|
interface CreateItemRequest {
|
|
850
975
|
/** Landing page URL (required) */
|
|
851
976
|
url: string;
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
977
|
+
}
|
|
978
|
+
/**
|
|
979
|
+
* Item data for bulk creation endpoints
|
|
980
|
+
*/
|
|
981
|
+
interface BulkCreateItemData {
|
|
982
|
+
/** Landing page URL (required) */
|
|
983
|
+
url: string;
|
|
984
|
+
/** Ad title/headline */
|
|
985
|
+
title?: string;
|
|
986
|
+
/** Thumbnail image URL (static ads) */
|
|
855
987
|
thumbnail_url?: string;
|
|
856
988
|
/** Ad description */
|
|
857
989
|
description?: string;
|
|
@@ -863,6 +995,27 @@ interface CreateItemRequest {
|
|
|
863
995
|
third_party_tags?: string[];
|
|
864
996
|
/** RSS feed URL (creates RSS item) */
|
|
865
997
|
rss_url?: string;
|
|
998
|
+
/** Performance video data (motion ads only) */
|
|
999
|
+
performance_video_data?: PerformanceVideoData;
|
|
1000
|
+
/** Whether the item is active */
|
|
1001
|
+
is_active?: boolean;
|
|
1002
|
+
/** Creative crop configuration */
|
|
1003
|
+
creative_crop?: Record<string, unknown>;
|
|
1004
|
+
/** Verification pixel */
|
|
1005
|
+
verification_pixel?: ItemVerificationPixel;
|
|
1006
|
+
/** Viewability tag */
|
|
1007
|
+
viewability_tag?: ItemViewabilityTag;
|
|
1008
|
+
}
|
|
1009
|
+
/**
|
|
1010
|
+
* Performance video data for motion ads
|
|
1011
|
+
*/
|
|
1012
|
+
interface PerformanceVideoData {
|
|
1013
|
+
/** URL to the video file (MP4 format) */
|
|
1014
|
+
video_url: string;
|
|
1015
|
+
/** URL to the fallback image (JPG/PNG format) */
|
|
1016
|
+
fallback_url: string;
|
|
1017
|
+
/** URL to the GIF preview */
|
|
1018
|
+
gif_url?: string;
|
|
866
1019
|
}
|
|
867
1020
|
/**
|
|
868
1021
|
* Update campaign item request
|
|
@@ -870,18 +1023,31 @@ interface CreateItemRequest {
|
|
|
870
1023
|
interface UpdateItemRequest {
|
|
871
1024
|
/** Ad title */
|
|
872
1025
|
title?: string;
|
|
1026
|
+
/** Landing page URL */
|
|
1027
|
+
url?: string;
|
|
873
1028
|
/** Ad description */
|
|
874
1029
|
description?: string;
|
|
875
|
-
/** Thumbnail image URL */
|
|
1030
|
+
/** Thumbnail image URL (static items only) */
|
|
876
1031
|
thumbnail_url?: string;
|
|
877
|
-
/** Whether item is active */
|
|
1032
|
+
/** Whether item is active (use for pause/unpause) */
|
|
878
1033
|
is_active?: boolean;
|
|
879
1034
|
/** CTA configuration */
|
|
880
1035
|
cta?: CTA;
|
|
1036
|
+
/**
|
|
1037
|
+
* Creative focus configuration
|
|
1038
|
+
* @deprecated This field has been deprecated
|
|
1039
|
+
*/
|
|
1040
|
+
creative_focus?: CreativeFocus;
|
|
1041
|
+
/** Verification pixel */
|
|
1042
|
+
verification_pixel?: ItemVerificationPixel;
|
|
1043
|
+
/** Viewability tag */
|
|
1044
|
+
viewability_tag?: ItemViewabilityTag;
|
|
881
1045
|
/** Custom tracking data */
|
|
882
1046
|
custom_data?: string;
|
|
883
1047
|
/** Third-party tracking pixels */
|
|
884
1048
|
third_party_tags?: string[];
|
|
1049
|
+
/** Performance video data (motion ads only) */
|
|
1050
|
+
performance_video_data?: PerformanceVideoData;
|
|
885
1051
|
}
|
|
886
1052
|
/**
|
|
887
1053
|
* Campaign item list response
|
|
@@ -894,10 +1060,10 @@ interface CampaignItemListResponse {
|
|
|
894
1060
|
};
|
|
895
1061
|
}
|
|
896
1062
|
/**
|
|
897
|
-
* Bulk item creation request
|
|
1063
|
+
* Bulk item creation request (within a single campaign)
|
|
898
1064
|
*/
|
|
899
1065
|
interface BulkCreateItemsRequest {
|
|
900
|
-
items:
|
|
1066
|
+
items: BulkCreateItemData[];
|
|
901
1067
|
}
|
|
902
1068
|
/**
|
|
903
1069
|
* Bulk item creation response
|
|
@@ -905,7 +1071,7 @@ interface BulkCreateItemsRequest {
|
|
|
905
1071
|
interface BulkCreateItemsResponse {
|
|
906
1072
|
results: CampaignItem[];
|
|
907
1073
|
failed?: {
|
|
908
|
-
item:
|
|
1074
|
+
item: BulkCreateItemData;
|
|
909
1075
|
error: string;
|
|
910
1076
|
}[];
|
|
911
1077
|
}
|
|
@@ -918,8 +1084,18 @@ interface BulkUpdateItemsRequest {
|
|
|
918
1084
|
id: string;
|
|
919
1085
|
/** Campaign ID */
|
|
920
1086
|
campaign_id: string;
|
|
921
|
-
/**
|
|
922
|
-
|
|
1087
|
+
/** Ad title */
|
|
1088
|
+
title?: string;
|
|
1089
|
+
/** Landing page URL */
|
|
1090
|
+
url?: string;
|
|
1091
|
+
/** Ad description */
|
|
1092
|
+
description?: string;
|
|
1093
|
+
/** Thumbnail image URL */
|
|
1094
|
+
thumbnail_url?: string;
|
|
1095
|
+
/** Whether item is active */
|
|
1096
|
+
is_active?: boolean;
|
|
1097
|
+
/** CTA configuration */
|
|
1098
|
+
cta?: CTA;
|
|
923
1099
|
}[];
|
|
924
1100
|
}
|
|
925
1101
|
/**
|
|
@@ -1015,7 +1191,6 @@ interface Country {
|
|
|
1015
1191
|
interface Region {
|
|
1016
1192
|
name: string;
|
|
1017
1193
|
value: string;
|
|
1018
|
-
country: string;
|
|
1019
1194
|
}
|
|
1020
1195
|
/**
|
|
1021
1196
|
* DMA (Designated Market Area) - US only
|
|
@@ -1082,39 +1257,35 @@ interface MinimumCPC {
|
|
|
1082
1257
|
* Marketplace audience segment
|
|
1083
1258
|
*/
|
|
1084
1259
|
interface MarketplaceAudience {
|
|
1085
|
-
|
|
1086
|
-
|
|
1260
|
+
taboola_audience_id: number;
|
|
1261
|
+
audience_name: string;
|
|
1087
1262
|
description: string | null;
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
full_path: string | null;
|
|
1263
|
+
data_partner: string | null;
|
|
1264
|
+
data_partner_audience_id: string | null;
|
|
1265
|
+
allowed_countries: string[];
|
|
1266
|
+
data_partner_group?: string | null;
|
|
1267
|
+
taxonomy_categories?: string[] | null;
|
|
1268
|
+
audience_size?: number | null;
|
|
1095
1269
|
}
|
|
1096
1270
|
/**
|
|
1097
1271
|
* Lookalike audience
|
|
1098
1272
|
*/
|
|
1099
1273
|
interface LookalikeAudience {
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
source_audience_id: string | null;
|
|
1104
|
-
status: string;
|
|
1105
|
-
size: number | null;
|
|
1106
|
-
country: string | null;
|
|
1274
|
+
rule_id: number;
|
|
1275
|
+
audience_name: string;
|
|
1276
|
+
similarity_level_to_size: Record<number, number> | null;
|
|
1107
1277
|
}
|
|
1108
1278
|
/**
|
|
1109
1279
|
* Contextual segment
|
|
1110
1280
|
*/
|
|
1111
1281
|
interface ContextualSegment {
|
|
1112
|
-
id:
|
|
1113
|
-
|
|
1282
|
+
id: number;
|
|
1283
|
+
label: string;
|
|
1114
1284
|
description: string | null;
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1285
|
+
taxonomy: string | null;
|
|
1286
|
+
provider?: string | null;
|
|
1287
|
+
allowed_countries?: string[] | null;
|
|
1288
|
+
size?: number | null;
|
|
1118
1289
|
}
|
|
1119
1290
|
/**
|
|
1120
1291
|
* Campaign property enums response
|
|
@@ -1167,26 +1338,24 @@ interface ImageTaxonomy {
|
|
|
1167
1338
|
* Publisher information
|
|
1168
1339
|
*/
|
|
1169
1340
|
interface Publisher {
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1341
|
+
id: number;
|
|
1342
|
+
name: string;
|
|
1343
|
+
account_id: string;
|
|
1344
|
+
partner_types?: string[];
|
|
1345
|
+
type?: string;
|
|
1346
|
+
campaign_types?: string[];
|
|
1347
|
+
currency?: CurrencyCode;
|
|
1348
|
+
time_zone_name?: string;
|
|
1173
1349
|
}
|
|
1174
1350
|
/**
|
|
1175
1351
|
* Response for listing publishers
|
|
1176
1352
|
*/
|
|
1177
1353
|
type PublisherListResponse = ListResponse<Publisher>;
|
|
1178
|
-
/**
|
|
1179
|
-
* Blocked publisher at account level
|
|
1180
|
-
*/
|
|
1181
|
-
interface BlockedPublisher {
|
|
1182
|
-
site: string;
|
|
1183
|
-
site_id: string;
|
|
1184
|
-
}
|
|
1185
1354
|
/**
|
|
1186
1355
|
* Response for blocked publishers
|
|
1187
1356
|
*/
|
|
1188
1357
|
interface BlockedPublishersResponse {
|
|
1189
|
-
|
|
1358
|
+
sites: string[];
|
|
1190
1359
|
}
|
|
1191
1360
|
/**
|
|
1192
1361
|
* Request to update blocked publishers at account level
|
|
@@ -1201,107 +1370,93 @@ interface UpdateBlockedPublishersRequest {
|
|
|
1201
1370
|
* Types for Taboola Backstage API campaign targeting including
|
|
1202
1371
|
* postal codes, audience segments, and contextual targeting.
|
|
1203
1372
|
*/
|
|
1204
|
-
|
|
1205
1373
|
/**
|
|
1206
|
-
*
|
|
1374
|
+
* Generic targeting restriction with include/exclude
|
|
1207
1375
|
*/
|
|
1208
|
-
interface
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
restrictions: PostalCodeRestrictions | null;
|
|
1376
|
+
interface TargetingRestriction<T> {
|
|
1377
|
+
collection: T[];
|
|
1378
|
+
type: 'INCLUDE' | 'EXCLUDE';
|
|
1212
1379
|
}
|
|
1213
1380
|
/**
|
|
1214
|
-
*
|
|
1381
|
+
* Lookalike audience item for targeting
|
|
1215
1382
|
*/
|
|
1216
|
-
interface
|
|
1217
|
-
|
|
1218
|
-
|
|
1383
|
+
interface LookalikeAudienceItem {
|
|
1384
|
+
rule_id: number;
|
|
1385
|
+
similarity_level: number;
|
|
1219
1386
|
}
|
|
1220
1387
|
/**
|
|
1221
|
-
* Postal code targeting
|
|
1388
|
+
* Postal code targeting configuration
|
|
1222
1389
|
*/
|
|
1223
|
-
interface
|
|
1224
|
-
|
|
1225
|
-
|
|
1390
|
+
interface PostalCodeTargeting {
|
|
1391
|
+
type: 'INCLUDE' | 'EXCLUDE' | 'ALL';
|
|
1392
|
+
collection: string[];
|
|
1226
1393
|
}
|
|
1227
1394
|
/**
|
|
1228
1395
|
* Request to update postal code targeting
|
|
1229
1396
|
*/
|
|
1230
1397
|
interface UpdatePostalCodeTargetingRequest {
|
|
1231
1398
|
type: 'INCLUDE' | 'EXCLUDE' | 'ALL';
|
|
1232
|
-
|
|
1233
|
-
}
|
|
1234
|
-
/**
|
|
1235
|
-
* Audience segment for targeting
|
|
1236
|
-
*/
|
|
1237
|
-
interface AudienceSegment {
|
|
1238
|
-
id: string;
|
|
1239
|
-
name: string | null;
|
|
1399
|
+
collection: string[];
|
|
1240
1400
|
}
|
|
1241
1401
|
/**
|
|
1242
|
-
* Audience targeting configuration (marketplace, custom
|
|
1402
|
+
* Audience targeting configuration (marketplace, custom)
|
|
1243
1403
|
*/
|
|
1244
1404
|
interface AudienceTargeting {
|
|
1245
|
-
collection:
|
|
1246
|
-
type: MultiTargetingState;
|
|
1405
|
+
collection: TargetingRestriction<number>[];
|
|
1247
1406
|
}
|
|
1248
1407
|
/**
|
|
1249
1408
|
* Request to update audience targeting
|
|
1250
1409
|
*/
|
|
1251
1410
|
interface UpdateAudienceTargetingRequest {
|
|
1252
|
-
|
|
1253
|
-
collection?: AudienceSegment[] | undefined;
|
|
1254
|
-
and_collection?: AudienceSegment[][] | undefined;
|
|
1255
|
-
or_collection?: AudienceSegment[][] | undefined;
|
|
1256
|
-
}
|
|
1257
|
-
/**
|
|
1258
|
-
* Contextual segment for targeting
|
|
1259
|
-
*/
|
|
1260
|
-
interface ContextualSegmentValue {
|
|
1261
|
-
id: string;
|
|
1262
|
-
name: string | null;
|
|
1411
|
+
collection: TargetingRestriction<number>[];
|
|
1263
1412
|
}
|
|
1264
1413
|
/**
|
|
1265
1414
|
* Contextual targeting configuration
|
|
1266
1415
|
*/
|
|
1267
1416
|
interface ContextualTargeting {
|
|
1268
|
-
|
|
1269
|
-
collection: ContextualSegmentValue[];
|
|
1417
|
+
collection: TargetingRestriction<number>[];
|
|
1270
1418
|
}
|
|
1271
1419
|
/**
|
|
1272
1420
|
* Request to update contextual targeting
|
|
1273
1421
|
*/
|
|
1274
1422
|
interface UpdateContextualTargetingRequest {
|
|
1275
|
-
|
|
1276
|
-
collection: ContextualSegmentValue[];
|
|
1423
|
+
collection: TargetingRestriction<number>[];
|
|
1277
1424
|
}
|
|
1278
1425
|
/**
|
|
1279
1426
|
* First party audience targeting
|
|
1280
1427
|
*/
|
|
1281
1428
|
interface FirstPartyAudienceTargeting {
|
|
1282
|
-
|
|
1283
|
-
collection: AudienceSegment[];
|
|
1429
|
+
collection: TargetingRestriction<number>[];
|
|
1284
1430
|
}
|
|
1285
1431
|
/**
|
|
1286
1432
|
* Request to update first party audience targeting
|
|
1287
1433
|
*/
|
|
1288
1434
|
interface UpdateFirstPartyAudienceTargetingRequest {
|
|
1289
|
-
|
|
1290
|
-
collection: AudienceSegment[];
|
|
1435
|
+
collection: TargetingRestriction<number>[];
|
|
1291
1436
|
}
|
|
1292
1437
|
/**
|
|
1293
1438
|
* Marking labels (pixel retargeting) targeting configuration
|
|
1294
1439
|
*/
|
|
1295
1440
|
interface MarkingLabelsTargeting {
|
|
1296
|
-
|
|
1297
|
-
collection: string[];
|
|
1441
|
+
collection: TargetingRestriction<string>[];
|
|
1298
1442
|
}
|
|
1299
1443
|
/**
|
|
1300
1444
|
* Request to update marking labels targeting
|
|
1301
1445
|
*/
|
|
1302
1446
|
interface UpdateMarkingLabelsTargetingRequest {
|
|
1303
|
-
|
|
1304
|
-
|
|
1447
|
+
collection: TargetingRestriction<string>[];
|
|
1448
|
+
}
|
|
1449
|
+
/**
|
|
1450
|
+
* Lookalike audience targeting configuration
|
|
1451
|
+
*/
|
|
1452
|
+
interface LookalikeAudienceTargeting {
|
|
1453
|
+
collection: TargetingRestriction<LookalikeAudienceItem>[];
|
|
1454
|
+
}
|
|
1455
|
+
/**
|
|
1456
|
+
* Request to update lookalike audience targeting
|
|
1457
|
+
*/
|
|
1458
|
+
interface UpdateLookalikeAudienceTargetingRequest {
|
|
1459
|
+
collection: TargetingRestriction<LookalikeAudienceItem>[];
|
|
1305
1460
|
}
|
|
1306
1461
|
|
|
1307
1462
|
/**
|
|
@@ -1315,11 +1470,14 @@ interface UpdateMarkingLabelsTargetingRequest {
|
|
|
1315
1470
|
*/
|
|
1316
1471
|
interface CombinedAudience {
|
|
1317
1472
|
id: string;
|
|
1318
|
-
|
|
1473
|
+
display_name: string;
|
|
1319
1474
|
description: string | null;
|
|
1320
1475
|
status: CombinedAudienceStatus;
|
|
1321
1476
|
created_at: string;
|
|
1322
|
-
|
|
1477
|
+
last_modified_at: string;
|
|
1478
|
+
last_modified_by?: string;
|
|
1479
|
+
advertiser_id?: string;
|
|
1480
|
+
audience_size?: number | null;
|
|
1323
1481
|
include_rules: CombinedAudienceRule[];
|
|
1324
1482
|
exclude_rules: CombinedAudienceRule[];
|
|
1325
1483
|
}
|
|
@@ -1337,7 +1495,7 @@ interface CombinedAudienceRule {
|
|
|
1337
1495
|
/**
|
|
1338
1496
|
* Type of audience in a combined audience rule
|
|
1339
1497
|
*/
|
|
1340
|
-
type CombinedAudienceType = '
|
|
1498
|
+
type CombinedAudienceType = 'Custom' | 'Lookalike' | 'Third_Party' | 'First_Party';
|
|
1341
1499
|
/**
|
|
1342
1500
|
* Individual audience item in a rule
|
|
1343
1501
|
*/
|
|
@@ -1353,7 +1511,7 @@ type CombinedAudienceListResponse = ListResponse<CombinedAudience>;
|
|
|
1353
1511
|
* Request to create a combined audience
|
|
1354
1512
|
*/
|
|
1355
1513
|
interface CreateCombinedAudienceRequest {
|
|
1356
|
-
|
|
1514
|
+
display_name: string;
|
|
1357
1515
|
description?: string | undefined;
|
|
1358
1516
|
include_rules: CombinedAudienceRule[];
|
|
1359
1517
|
exclude_rules?: CombinedAudienceRule[] | undefined;
|
|
@@ -1362,7 +1520,7 @@ interface CreateCombinedAudienceRequest {
|
|
|
1362
1520
|
* Request to update a combined audience
|
|
1363
1521
|
*/
|
|
1364
1522
|
interface UpdateCombinedAudienceRequest {
|
|
1365
|
-
|
|
1523
|
+
display_name?: string | undefined;
|
|
1366
1524
|
description?: string | undefined;
|
|
1367
1525
|
include_rules?: CombinedAudienceRule[] | undefined;
|
|
1368
1526
|
exclude_rules?: CombinedAudienceRule[] | undefined;
|
|
@@ -1371,11 +1529,14 @@ interface UpdateCombinedAudienceRequest {
|
|
|
1371
1529
|
* Available audience for combined audience creation
|
|
1372
1530
|
*/
|
|
1373
1531
|
interface AvailableAudience {
|
|
1374
|
-
id:
|
|
1375
|
-
|
|
1376
|
-
|
|
1532
|
+
id: number;
|
|
1533
|
+
audience_name: string;
|
|
1534
|
+
data_type: CombinedAudienceType;
|
|
1377
1535
|
size: number | null;
|
|
1378
1536
|
status: string;
|
|
1537
|
+
provider?: string;
|
|
1538
|
+
description?: string | null;
|
|
1539
|
+
is_archived?: boolean;
|
|
1379
1540
|
}
|
|
1380
1541
|
/**
|
|
1381
1542
|
* Response for listing available audiences
|
|
@@ -1386,15 +1547,22 @@ type AvailableAudiencesResponse = ListResponse<AvailableAudience>;
|
|
|
1386
1547
|
*/
|
|
1387
1548
|
interface FirstPartyAudience {
|
|
1388
1549
|
id: string;
|
|
1389
|
-
|
|
1550
|
+
display_name: string;
|
|
1390
1551
|
description: string | null;
|
|
1391
1552
|
status: FirstPartyAudienceStatus;
|
|
1392
|
-
|
|
1553
|
+
audience_size: number | null;
|
|
1393
1554
|
match_rate: number | null;
|
|
1394
1555
|
created_at: string;
|
|
1395
|
-
|
|
1396
|
-
|
|
1556
|
+
last_modified_at: string;
|
|
1557
|
+
last_modified_by?: string;
|
|
1558
|
+
ttl_in_hours: number | null;
|
|
1559
|
+
ttl_type?: string;
|
|
1397
1560
|
source_type: FirstPartyAudienceSourceType;
|
|
1561
|
+
look_back_window?: number | null;
|
|
1562
|
+
category?: string | null;
|
|
1563
|
+
event_name?: string | null;
|
|
1564
|
+
exclude_from_campaigns?: boolean;
|
|
1565
|
+
advertiser_id?: string;
|
|
1398
1566
|
}
|
|
1399
1567
|
/**
|
|
1400
1568
|
* First party audience status
|
|
@@ -1408,44 +1576,32 @@ type FirstPartyAudienceSourceType = 'CRM' | 'EMAIL' | 'PHONE' | 'DEVICE_ID' | 'C
|
|
|
1408
1576
|
* Request to create a first party audience
|
|
1409
1577
|
*/
|
|
1410
1578
|
interface CreateFirstPartyAudienceRequest {
|
|
1411
|
-
|
|
1579
|
+
display_name: string;
|
|
1412
1580
|
description?: string | undefined;
|
|
1413
|
-
|
|
1581
|
+
ttl_in_hours?: number | undefined;
|
|
1414
1582
|
source_type: FirstPartyAudienceSourceType;
|
|
1415
1583
|
}
|
|
1416
1584
|
/**
|
|
1417
|
-
* User
|
|
1585
|
+
* User identity item within a cluster
|
|
1418
1586
|
*/
|
|
1419
|
-
interface
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
/**
|
|
1424
|
-
* Type of user identifier
|
|
1425
|
-
*/
|
|
1426
|
-
type FirstPartyIdentifierType = 'EMAIL' | 'EMAIL_SHA256' | 'PHONE' | 'PHONE_SHA256' | 'DEVICE_ID' | 'DEVICE_ID_SHA256';
|
|
1427
|
-
/**
|
|
1428
|
-
* Request to add or remove users from first party audience
|
|
1429
|
-
*/
|
|
1430
|
-
interface AddRemoveUsersRequest {
|
|
1431
|
-
add?: FirstPartyAudienceUser[] | undefined;
|
|
1432
|
-
remove?: FirstPartyAudienceUser[] | undefined;
|
|
1587
|
+
interface AudienceUserClusterItem {
|
|
1588
|
+
user_id: string;
|
|
1589
|
+
type: string;
|
|
1590
|
+
is_hashed: boolean;
|
|
1433
1591
|
}
|
|
1434
1592
|
/**
|
|
1435
|
-
*
|
|
1593
|
+
* User identity cluster
|
|
1436
1594
|
*/
|
|
1437
|
-
interface
|
|
1438
|
-
|
|
1439
|
-
removed_count: number;
|
|
1440
|
-
failed_count: number;
|
|
1441
|
-
errors: AddRemoveUserError[];
|
|
1595
|
+
interface AudienceUserIdentity {
|
|
1596
|
+
cluster: AudienceUserClusterItem[];
|
|
1442
1597
|
}
|
|
1443
1598
|
/**
|
|
1444
|
-
*
|
|
1599
|
+
* Request to add or remove users from first party audience
|
|
1445
1600
|
*/
|
|
1446
|
-
interface
|
|
1447
|
-
|
|
1448
|
-
|
|
1601
|
+
interface AudienceUsersRequest {
|
|
1602
|
+
operation: 'ADD' | 'REMOVE';
|
|
1603
|
+
audience_id: number;
|
|
1604
|
+
identities: AudienceUserIdentity[];
|
|
1449
1605
|
}
|
|
1450
1606
|
|
|
1451
1607
|
/**
|
|
@@ -1459,74 +1615,62 @@ interface AddRemoveUserError {
|
|
|
1459
1615
|
* Conversion rule for tracking conversions
|
|
1460
1616
|
*/
|
|
1461
1617
|
interface ConversionRule {
|
|
1462
|
-
id:
|
|
1618
|
+
id: number;
|
|
1463
1619
|
display_name: string;
|
|
1464
|
-
|
|
1620
|
+
advertiser_id: string;
|
|
1465
1621
|
type: ConversionRuleType;
|
|
1466
|
-
|
|
1467
|
-
include_in_total_value: boolean;
|
|
1468
|
-
category: ConversionCategory | null;
|
|
1469
|
-
conversion_window_days: number;
|
|
1470
|
-
view_through_window_days: number;
|
|
1471
|
-
counting_method: CountingMethod;
|
|
1472
|
-
aggregation_type: AggregationType;
|
|
1473
|
-
default_conversion_value: number | null;
|
|
1474
|
-
conditions: Condition[];
|
|
1475
|
-
effect: Effect;
|
|
1622
|
+
status: ConversionRuleStatus;
|
|
1476
1623
|
event_name: string | null;
|
|
1477
|
-
|
|
1478
|
-
|
|
1624
|
+
category: ConversionCategory | null;
|
|
1625
|
+
description: string | null;
|
|
1626
|
+
look_back_window: number;
|
|
1627
|
+
view_through_look_back_window: number | null;
|
|
1628
|
+
condition: ConversionCondition;
|
|
1629
|
+
effects: ConversionEffect[];
|
|
1630
|
+
include_in_total_conversions: boolean;
|
|
1631
|
+
exclude_from_campaigns: boolean;
|
|
1632
|
+
last_modified_by: string;
|
|
1633
|
+
last_modified_at: string;
|
|
1479
1634
|
}
|
|
1480
1635
|
/**
|
|
1481
1636
|
* Conversion rule status
|
|
1482
1637
|
*/
|
|
1483
|
-
type ConversionRuleStatus = 'ACTIVE' | 'ARCHIVED';
|
|
1638
|
+
type ConversionRuleStatus = 'ACTIVE' | 'DISABLED' | 'ARCHIVED';
|
|
1484
1639
|
/**
|
|
1485
1640
|
* Conversion rule type
|
|
1641
|
+
*
|
|
1642
|
+
* - BASIC: URL-based conversion rules using the condition object
|
|
1643
|
+
* - EVENT_BASED: Custom event-based rules using event_name
|
|
1486
1644
|
*/
|
|
1487
|
-
type ConversionRuleType = '
|
|
1645
|
+
type ConversionRuleType = 'BASIC' | 'EVENT_BASED';
|
|
1488
1646
|
/**
|
|
1489
1647
|
* Conversion category
|
|
1490
1648
|
*/
|
|
1491
|
-
type ConversionCategory = '
|
|
1492
|
-
/**
|
|
1493
|
-
* Counting method for conversions
|
|
1494
|
-
*/
|
|
1495
|
-
type CountingMethod = 'ALL' | 'ONE';
|
|
1496
|
-
/**
|
|
1497
|
-
* Aggregation type for conversion values
|
|
1498
|
-
*/
|
|
1499
|
-
type AggregationType = 'SUM' | 'COUNT';
|
|
1649
|
+
type ConversionCategory = 'VIEW_CONTENT' | 'SEARCH' | 'ADD_TO_CART' | 'ADD_TO_WISHLIST' | 'START_CHECKOUT' | 'ADD_PAYMENT_INFO' | 'MAKE_PURCHASE' | 'LEAD' | 'COMPLETE_REGISTRATION' | 'APP_INSTALL' | 'OTHER';
|
|
1500
1650
|
/**
|
|
1501
|
-
* Condition for matching conversions
|
|
1651
|
+
* Condition for matching conversions (tree structure)
|
|
1652
|
+
*
|
|
1653
|
+
* For a single condition, property/predicate/value are set directly.
|
|
1654
|
+
* For multiple conditions, the parent has predicate 'OR' and individual
|
|
1655
|
+
* conditions are in the children array.
|
|
1502
1656
|
*/
|
|
1503
|
-
interface
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
value: string;
|
|
1507
|
-
|
|
1657
|
+
interface ConversionCondition {
|
|
1658
|
+
property: string | null;
|
|
1659
|
+
predicate: ConversionConditionPredicate;
|
|
1660
|
+
value: string | null;
|
|
1661
|
+
children: ConversionCondition[];
|
|
1508
1662
|
}
|
|
1509
1663
|
/**
|
|
1510
|
-
* Condition
|
|
1664
|
+
* Condition predicate
|
|
1511
1665
|
*/
|
|
1512
|
-
type
|
|
1513
|
-
/**
|
|
1514
|
-
* Condition operator
|
|
1515
|
-
*/
|
|
1516
|
-
type ConditionOperator = 'EQUALS' | 'NOT_EQUALS' | 'CONTAINS' | 'NOT_CONTAINS' | 'STARTS_WITH' | 'ENDS_WITH' | 'REGEX';
|
|
1666
|
+
type ConversionConditionPredicate = 'CONTAINS' | 'EQUALS' | 'OR';
|
|
1517
1667
|
/**
|
|
1518
1668
|
* Effect of matching a conversion rule
|
|
1519
1669
|
*/
|
|
1520
|
-
interface
|
|
1521
|
-
type:
|
|
1522
|
-
|
|
1523
|
-
currency: string | null;
|
|
1524
|
-
value_parameter: string | null;
|
|
1670
|
+
interface ConversionEffect {
|
|
1671
|
+
type: string;
|
|
1672
|
+
data: string;
|
|
1525
1673
|
}
|
|
1526
|
-
/**
|
|
1527
|
-
* Effect type
|
|
1528
|
-
*/
|
|
1529
|
-
type EffectType = 'FIXED_VALUE' | 'DYNAMIC_VALUE' | 'NO_VALUE';
|
|
1530
1674
|
/**
|
|
1531
1675
|
* Response for listing conversion rules
|
|
1532
1676
|
*/
|
|
@@ -1537,34 +1681,32 @@ type ConversionRuleListResponse = ListResponse<ConversionRule>;
|
|
|
1537
1681
|
interface CreateConversionRuleRequest {
|
|
1538
1682
|
display_name: string;
|
|
1539
1683
|
type: ConversionRuleType;
|
|
1540
|
-
include_in_total_conversions?: boolean | undefined;
|
|
1541
|
-
include_in_total_value?: boolean | undefined;
|
|
1542
|
-
category?: ConversionCategory | undefined;
|
|
1543
|
-
conversion_window_days?: number | undefined;
|
|
1544
|
-
view_through_window_days?: number | undefined;
|
|
1545
|
-
counting_method?: CountingMethod | undefined;
|
|
1546
|
-
aggregation_type?: AggregationType | undefined;
|
|
1547
|
-
default_conversion_value?: number | undefined;
|
|
1548
|
-
conditions: Condition[];
|
|
1549
|
-
effect: Effect;
|
|
1550
1684
|
event_name?: string | undefined;
|
|
1685
|
+
category?: ConversionCategory | undefined;
|
|
1686
|
+
description?: string | undefined;
|
|
1687
|
+
look_back_window?: number | undefined;
|
|
1688
|
+
view_through_look_back_window?: number | undefined;
|
|
1689
|
+
condition?: ConversionCondition | undefined;
|
|
1690
|
+
effects?: ConversionEffect[] | undefined;
|
|
1691
|
+
include_in_total_conversions?: boolean | undefined;
|
|
1692
|
+
exclude_from_campaigns?: boolean | undefined;
|
|
1551
1693
|
}
|
|
1552
1694
|
/**
|
|
1553
1695
|
* Request to update a conversion rule
|
|
1696
|
+
*
|
|
1697
|
+
* Note: type and advertiser_id are final and cannot be changed after creation.
|
|
1554
1698
|
*/
|
|
1555
1699
|
interface UpdateConversionRuleRequest {
|
|
1556
1700
|
display_name?: string | undefined;
|
|
1557
1701
|
status?: ConversionRuleStatus | undefined;
|
|
1558
|
-
include_in_total_conversions?: boolean | undefined;
|
|
1559
|
-
include_in_total_value?: boolean | undefined;
|
|
1560
1702
|
category?: ConversionCategory | undefined;
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
|
-
|
|
1703
|
+
description?: string | undefined;
|
|
1704
|
+
look_back_window?: number | undefined;
|
|
1705
|
+
view_through_look_back_window?: number | undefined;
|
|
1706
|
+
condition?: ConversionCondition | undefined;
|
|
1707
|
+
effects?: ConversionEffect[] | undefined;
|
|
1708
|
+
include_in_total_conversions?: boolean | undefined;
|
|
1709
|
+
exclude_from_campaigns?: boolean | undefined;
|
|
1568
1710
|
}
|
|
1569
1711
|
/**
|
|
1570
1712
|
* Custom audience rule for building audiences from pixel data
|
|
@@ -1573,7 +1715,7 @@ interface CustomAudienceRule {
|
|
|
1573
1715
|
id: string;
|
|
1574
1716
|
display_name: string;
|
|
1575
1717
|
status: CustomAudienceRuleStatus;
|
|
1576
|
-
conditions:
|
|
1718
|
+
conditions: CustomAudienceCondition[];
|
|
1577
1719
|
ttl_days: number;
|
|
1578
1720
|
size: number | null;
|
|
1579
1721
|
created_at: string;
|
|
@@ -1583,6 +1725,23 @@ interface CustomAudienceRule {
|
|
|
1583
1725
|
* Custom audience rule status
|
|
1584
1726
|
*/
|
|
1585
1727
|
type CustomAudienceRuleStatus = 'ACTIVE' | 'PAUSED' | 'ARCHIVED';
|
|
1728
|
+
/**
|
|
1729
|
+
* Condition for custom audience rules
|
|
1730
|
+
*/
|
|
1731
|
+
interface CustomAudienceCondition {
|
|
1732
|
+
type: CustomAudienceConditionType;
|
|
1733
|
+
operator: CustomAudienceConditionOperator;
|
|
1734
|
+
value: string;
|
|
1735
|
+
parameter?: string | undefined;
|
|
1736
|
+
}
|
|
1737
|
+
/**
|
|
1738
|
+
* Custom audience condition type
|
|
1739
|
+
*/
|
|
1740
|
+
type CustomAudienceConditionType = 'URL' | 'URL_PARAMETER' | 'EVENT_NAME' | 'EVENT_PARAMETER';
|
|
1741
|
+
/**
|
|
1742
|
+
* Custom audience condition operator
|
|
1743
|
+
*/
|
|
1744
|
+
type CustomAudienceConditionOperator = 'EQUALS' | 'NOT_EQUALS' | 'CONTAINS' | 'NOT_CONTAINS' | 'STARTS_WITH' | 'ENDS_WITH' | 'REGEX';
|
|
1586
1745
|
/**
|
|
1587
1746
|
* Response for listing custom audience rules
|
|
1588
1747
|
*/
|
|
@@ -1592,7 +1751,7 @@ type CustomAudienceRuleListResponse = ListResponse<CustomAudienceRule>;
|
|
|
1592
1751
|
*/
|
|
1593
1752
|
interface CreateCustomAudienceRuleRequest {
|
|
1594
1753
|
display_name: string;
|
|
1595
|
-
conditions:
|
|
1754
|
+
conditions: CustomAudienceCondition[];
|
|
1596
1755
|
ttl_days?: number | undefined;
|
|
1597
1756
|
}
|
|
1598
1757
|
/**
|
|
@@ -1601,16 +1760,19 @@ interface CreateCustomAudienceRuleRequest {
|
|
|
1601
1760
|
interface UpdateCustomAudienceRuleRequest {
|
|
1602
1761
|
display_name?: string | undefined;
|
|
1603
1762
|
status?: CustomAudienceRuleStatus | undefined;
|
|
1604
|
-
conditions?:
|
|
1763
|
+
conditions?: CustomAudienceCondition[] | undefined;
|
|
1605
1764
|
ttl_days?: number | undefined;
|
|
1606
1765
|
}
|
|
1607
1766
|
/**
|
|
1608
|
-
* Conversion rule with
|
|
1767
|
+
* Conversion rule wrapped with performance data
|
|
1768
|
+
*
|
|
1769
|
+
* Returned by the /data endpoint which wraps each rule
|
|
1770
|
+
* with last_received and total_received metrics.
|
|
1609
1771
|
*/
|
|
1610
|
-
interface ConversionRuleWithData
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
|
|
1772
|
+
interface ConversionRuleWithData {
|
|
1773
|
+
last_received: string | null;
|
|
1774
|
+
total_received: number;
|
|
1775
|
+
unip_conversion_rule: ConversionRule;
|
|
1614
1776
|
}
|
|
1615
1777
|
/**
|
|
1616
1778
|
* Response for listing conversion rules with data
|
|
@@ -1904,6 +2066,10 @@ interface CampaignSummaryRow {
|
|
|
1904
2066
|
conversions_value: number;
|
|
1905
2067
|
/** Return on ad spend */
|
|
1906
2068
|
roas: number;
|
|
2069
|
+
/** ROAS from clicks */
|
|
2070
|
+
roas_clicks?: number | undefined;
|
|
2071
|
+
/** ROAS from views */
|
|
2072
|
+
roas_views?: number | undefined;
|
|
1907
2073
|
/** Cost per action (all) */
|
|
1908
2074
|
cpa: number;
|
|
1909
2075
|
/** CPA from clicks */
|
|
@@ -1928,6 +2094,16 @@ interface CampaignSummaryRow {
|
|
|
1928
2094
|
audience_name?: string | undefined;
|
|
1929
2095
|
/** Data partner audience ID (for user_segment_breakdown dimension) */
|
|
1930
2096
|
data_partner_audience_id?: string | undefined;
|
|
2097
|
+
/** Campaign learning state */
|
|
2098
|
+
campaign_learning_state?: string | undefined;
|
|
2099
|
+
/** Audience description */
|
|
2100
|
+
audience_description?: string | undefined;
|
|
2101
|
+
/** OS family (for os_family_breakdown dimension) */
|
|
2102
|
+
os_family?: string | undefined;
|
|
2103
|
+
/** OS version (for os_version_breakdown dimension) */
|
|
2104
|
+
os_version?: string | undefined;
|
|
2105
|
+
/** Browser (for browser_breakdown dimension) */
|
|
2106
|
+
browser?: string | undefined;
|
|
1931
2107
|
/** Custom conversion columns (dynamic based on include_conversions) */
|
|
1932
2108
|
[key: string]: unknown;
|
|
1933
2109
|
}
|
|
@@ -1959,6 +2135,16 @@ interface TopCampaignContentRow {
|
|
|
1959
2135
|
/** Content provider (publisher) */
|
|
1960
2136
|
content_provider?: string | undefined;
|
|
1961
2137
|
content_provider_name?: string | undefined;
|
|
2138
|
+
/** Ad description */
|
|
2139
|
+
description?: string | undefined;
|
|
2140
|
+
/** Creation time */
|
|
2141
|
+
create_time?: string | undefined;
|
|
2142
|
+
/** Learning display status */
|
|
2143
|
+
learning_display_status?: string | undefined;
|
|
2144
|
+
/** Ad name */
|
|
2145
|
+
ad_name?: string | undefined;
|
|
2146
|
+
/** Custom ID */
|
|
2147
|
+
custom_id?: string | undefined;
|
|
1962
2148
|
/** Metrics */
|
|
1963
2149
|
clicks: number;
|
|
1964
2150
|
impressions: number;
|
|
@@ -1977,8 +2163,6 @@ interface TopCampaignContentRow {
|
|
|
1977
2163
|
conversions_value: number;
|
|
1978
2164
|
roas: number;
|
|
1979
2165
|
cpa: number;
|
|
1980
|
-
cpa_actions_num: number;
|
|
1981
|
-
cpa_conversion_rate: number;
|
|
1982
2166
|
/** Custom conversion columns */
|
|
1983
2167
|
[key: string]: unknown;
|
|
1984
2168
|
}
|
|
@@ -1999,22 +2183,24 @@ interface RealtimeCampaignReport {
|
|
|
1999
2183
|
* Fields present depend on the chosen dimension.
|
|
2000
2184
|
*/
|
|
2001
2185
|
interface RealtimeCampaignRow {
|
|
2002
|
-
/**
|
|
2003
|
-
|
|
2186
|
+
/** Date/time bucket */
|
|
2187
|
+
date?: string | undefined;
|
|
2004
2188
|
/** Campaign ID (for by_campaign dimensions) */
|
|
2005
|
-
|
|
2189
|
+
campaign_id?: string | undefined;
|
|
2006
2190
|
campaign_name?: string | undefined;
|
|
2007
2191
|
/** Site name (for by_site dimensions) */
|
|
2008
|
-
|
|
2192
|
+
site_name?: string | undefined;
|
|
2009
2193
|
site_id?: string | undefined;
|
|
2010
2194
|
/** Country code (for by_country dimensions) */
|
|
2011
2195
|
country?: string | undefined;
|
|
2196
|
+
/** Country name */
|
|
2197
|
+
country_name?: string | undefined;
|
|
2012
2198
|
/** Platform (for by_platform dimensions) */
|
|
2013
2199
|
platform?: string | undefined;
|
|
2200
|
+
/** Platform name */
|
|
2201
|
+
platform_name?: string | undefined;
|
|
2014
2202
|
/** Number of clicks */
|
|
2015
2203
|
clicks: number;
|
|
2016
|
-
/** Number of impressions */
|
|
2017
|
-
impressions: number;
|
|
2018
2204
|
/** Number of visible impressions */
|
|
2019
2205
|
visible_impressions: number;
|
|
2020
2206
|
/** Total spend */
|
|
@@ -2037,6 +2223,10 @@ interface RealtimeCampaignRow {
|
|
|
2037
2223
|
cpa_conversion_rate: number;
|
|
2038
2224
|
/** Cost per action */
|
|
2039
2225
|
cpa: number;
|
|
2226
|
+
/** Total conversion value */
|
|
2227
|
+
conversions_value?: number | undefined;
|
|
2228
|
+
/** Return on ad spend */
|
|
2229
|
+
roas?: number | undefined;
|
|
2040
2230
|
/** Dynamic fields (e.g. from fetch_config) */
|
|
2041
2231
|
[key: string]: unknown;
|
|
2042
2232
|
}
|
|
@@ -2056,17 +2246,23 @@ interface RealtimeAdsReport {
|
|
|
2056
2246
|
*/
|
|
2057
2247
|
interface RealtimeAdsRow {
|
|
2058
2248
|
/** Item (ad) ID */
|
|
2059
|
-
|
|
2249
|
+
item_id: string;
|
|
2060
2250
|
item_name: string;
|
|
2061
2251
|
/** Thumbnail URL */
|
|
2062
2252
|
thumbnail_url: string;
|
|
2063
2253
|
/** Campaign ID */
|
|
2064
|
-
|
|
2254
|
+
campaign_id: string;
|
|
2065
2255
|
campaign_name: string;
|
|
2256
|
+
/** Ad description */
|
|
2257
|
+
description?: string | undefined;
|
|
2258
|
+
/** Landing page URL */
|
|
2259
|
+
url?: string | undefined;
|
|
2260
|
+
/** Item type */
|
|
2261
|
+
item_type?: string | undefined;
|
|
2262
|
+
/** Date/time bucket */
|
|
2263
|
+
date?: string | undefined;
|
|
2066
2264
|
/** Number of clicks */
|
|
2067
2265
|
clicks: number;
|
|
2068
|
-
/** Number of impressions */
|
|
2069
|
-
impressions: number;
|
|
2070
2266
|
/** Number of visible impressions */
|
|
2071
2267
|
visible_impressions: number;
|
|
2072
2268
|
/** Total spend */
|
|
@@ -2089,6 +2285,10 @@ interface RealtimeAdsRow {
|
|
|
2089
2285
|
cpa_conversion_rate: number;
|
|
2090
2286
|
/** Cost per action */
|
|
2091
2287
|
cpa: number;
|
|
2288
|
+
/** Total conversion value */
|
|
2289
|
+
conversions_value?: number | undefined;
|
|
2290
|
+
/** Return on ad spend */
|
|
2291
|
+
roas?: number | undefined;
|
|
2092
2292
|
/** Dynamic fields */
|
|
2093
2293
|
[key: string]: unknown;
|
|
2094
2294
|
}
|
|
@@ -2111,7 +2311,7 @@ interface ReportField {
|
|
|
2111
2311
|
/**
|
|
2112
2312
|
* Report data type
|
|
2113
2313
|
*/
|
|
2114
|
-
type ReportDataType = '
|
|
2314
|
+
type ReportDataType = 'STRING' | 'FLOAT' | 'MONEY' | 'PERCENT' | 'NUMERIC' | 'DATA' | 'DATE' | 'TIMESTAMP' | 'URL' | 'BOOLEAN';
|
|
2115
2315
|
|
|
2116
2316
|
/**
|
|
2117
2317
|
* Account API for Taboola Backstage
|
|
@@ -2205,217 +2405,69 @@ declare class CampaignsAPI {
|
|
|
2205
2405
|
constructor(http: HttpClient);
|
|
2206
2406
|
/**
|
|
2207
2407
|
* List all campaigns for an account
|
|
2208
|
-
*
|
|
2209
|
-
* @param accountId - Account ID
|
|
2210
|
-
* @param options - Pagination and filter options
|
|
2211
|
-
*
|
|
2212
|
-
* @example
|
|
2213
|
-
* ```typescript
|
|
2214
|
-
* const { results } = await client.campaigns.list('my-account');
|
|
2215
|
-
* for (const campaign of results) {
|
|
2216
|
-
* console.log(campaign.name, campaign.status);
|
|
2217
|
-
* }
|
|
2218
|
-
* ```
|
|
2219
2408
|
*/
|
|
2220
2409
|
list(accountId: string, options?: ListCampaignsOptions): Promise<CampaignListResponse>;
|
|
2221
2410
|
/**
|
|
2222
2411
|
* List all campaigns with base (partial) fields only
|
|
2223
|
-
*
|
|
2224
|
-
* Returns a lighter-weight response with fewer fields per campaign.
|
|
2225
|
-
* Useful for listing/overview pages where full campaign data is not needed.
|
|
2226
|
-
*
|
|
2227
|
-
* @param accountId - Account ID
|
|
2228
|
-
*
|
|
2229
|
-
* @example
|
|
2230
|
-
* ```typescript
|
|
2231
|
-
* const { results } = await client.campaigns.listBase('my-account');
|
|
2232
|
-
* for (const campaign of results) {
|
|
2233
|
-
* console.log(campaign.name, campaign.status);
|
|
2234
|
-
* }
|
|
2235
|
-
* ```
|
|
2236
2412
|
*/
|
|
2237
2413
|
listBase(accountId: string): Promise<CampaignBaseListResponse>;
|
|
2238
2414
|
/**
|
|
2239
2415
|
* Get a single campaign by ID
|
|
2240
|
-
*
|
|
2241
|
-
* @param accountId - Account ID
|
|
2242
|
-
* @param campaignId - Campaign ID
|
|
2243
|
-
*
|
|
2244
|
-
* @example
|
|
2245
|
-
* ```typescript
|
|
2246
|
-
* const campaign = await client.campaigns.get('my-account', '12345');
|
|
2247
|
-
* console.log(campaign.name, campaign.cpc);
|
|
2248
|
-
* ```
|
|
2249
2416
|
*/
|
|
2250
2417
|
get(accountId: string, campaignId: string): Promise<Campaign>;
|
|
2251
2418
|
/**
|
|
2252
2419
|
* Create a new campaign
|
|
2253
|
-
*
|
|
2254
|
-
* @param accountId - Account ID
|
|
2255
|
-
* @param campaign - Campaign data
|
|
2256
|
-
*
|
|
2257
|
-
* @example
|
|
2258
|
-
* ```typescript
|
|
2259
|
-
* const campaign = await client.campaigns.create('my-account', {
|
|
2260
|
-
* name: 'My New Campaign',
|
|
2261
|
-
* branding_text: 'My Brand',
|
|
2262
|
-
* cpc: 0.50,
|
|
2263
|
-
* spending_limit: 1000,
|
|
2264
|
-
* spending_limit_model: 'MONTHLY',
|
|
2265
|
-
* marketing_objective: 'DRIVE_WEBSITE_TRAFFIC',
|
|
2266
|
-
* });
|
|
2267
|
-
* console.log('Created campaign:', campaign.id);
|
|
2268
|
-
* ```
|
|
2269
2420
|
*/
|
|
2270
2421
|
create(accountId: string, campaign: CreateCampaignRequest): Promise<Campaign>;
|
|
2271
2422
|
/**
|
|
2272
2423
|
* Update an existing campaign
|
|
2273
|
-
*
|
|
2274
|
-
* @param accountId - Account ID
|
|
2275
|
-
* @param campaignId - Campaign ID
|
|
2276
|
-
* @param updates - Fields to update
|
|
2277
|
-
*
|
|
2278
|
-
* @example
|
|
2279
|
-
* ```typescript
|
|
2280
|
-
* const campaign = await client.campaigns.update('my-account', '12345', {
|
|
2281
|
-
* cpc: 0.75,
|
|
2282
|
-
* daily_cap: 500,
|
|
2283
|
-
* });
|
|
2284
|
-
* ```
|
|
2285
2424
|
*/
|
|
2286
2425
|
update(accountId: string, campaignId: string, updates: UpdateCampaignRequest): Promise<Campaign>;
|
|
2287
2426
|
/**
|
|
2288
2427
|
* Delete a campaign
|
|
2289
|
-
*
|
|
2290
|
-
* @param accountId - Account ID
|
|
2291
|
-
* @param campaignId - Campaign ID
|
|
2292
|
-
*
|
|
2293
|
-
* @example
|
|
2294
|
-
* ```typescript
|
|
2295
|
-
* await client.campaigns.delete('my-account', '12345');
|
|
2296
|
-
* ```
|
|
2297
2428
|
*/
|
|
2298
2429
|
delete(accountId: string, campaignId: string): Promise<void>;
|
|
2299
2430
|
/**
|
|
2300
2431
|
* Duplicate a campaign
|
|
2301
2432
|
*
|
|
2302
|
-
* Creates a copy of an existing campaign with a new name.
|
|
2303
|
-
*
|
|
2304
2433
|
* @param accountId - Account ID
|
|
2305
2434
|
* @param campaignId - Campaign ID to duplicate
|
|
2306
|
-
* @param
|
|
2307
|
-
*
|
|
2308
|
-
* @example
|
|
2309
|
-
* ```typescript
|
|
2310
|
-
* const newCampaign = await client.campaigns.duplicate(
|
|
2311
|
-
* 'my-account',
|
|
2312
|
-
* '12345',
|
|
2313
|
-
* 'My Campaign - Copy'
|
|
2314
|
-
* );
|
|
2315
|
-
* ```
|
|
2435
|
+
* @param request - Duplication request with optional name and settings
|
|
2436
|
+
* @param destinationAccount - Optional destination account ID for cross-account duplication
|
|
2316
2437
|
*/
|
|
2317
|
-
duplicate(accountId: string, campaignId: string,
|
|
2438
|
+
duplicate(accountId: string, campaignId: string, request: DuplicateCampaignRequest, destinationAccount?: string): Promise<Campaign>;
|
|
2318
2439
|
/**
|
|
2319
2440
|
* Pause a campaign
|
|
2320
|
-
*
|
|
2321
|
-
* @param accountId - Account ID
|
|
2322
|
-
* @param campaignId - Campaign ID
|
|
2323
|
-
*
|
|
2324
|
-
* @example
|
|
2325
|
-
* ```typescript
|
|
2326
|
-
* await client.campaigns.pause('my-account', '12345');
|
|
2327
|
-
* ```
|
|
2328
2441
|
*/
|
|
2329
2442
|
pause(accountId: string, campaignId: string): Promise<Campaign>;
|
|
2330
2443
|
/**
|
|
2331
2444
|
* Unpause (resume) a campaign
|
|
2332
|
-
*
|
|
2333
|
-
* @param accountId - Account ID
|
|
2334
|
-
* @param campaignId - Campaign ID
|
|
2335
|
-
*
|
|
2336
|
-
* @example
|
|
2337
|
-
* ```typescript
|
|
2338
|
-
* await client.campaigns.unpause('my-account', '12345');
|
|
2339
|
-
* ```
|
|
2340
2445
|
*/
|
|
2341
2446
|
unpause(accountId: string, campaignId: string): Promise<Campaign>;
|
|
2342
2447
|
/**
|
|
2343
2448
|
* Bulk update multiple campaigns
|
|
2344
|
-
*
|
|
2345
|
-
* @param accountId - Account ID
|
|
2346
|
-
* @param updates - Array of campaign updates
|
|
2347
|
-
*
|
|
2348
|
-
* @example
|
|
2349
|
-
* ```typescript
|
|
2350
|
-
* await client.campaigns.bulkUpdate('my-account', {
|
|
2351
|
-
* campaigns: [
|
|
2352
|
-
* { campaign_id: '12345', update: { is_active: false } },
|
|
2353
|
-
* { campaign_id: '12346', update: { is_active: false } },
|
|
2354
|
-
* ],
|
|
2355
|
-
* });
|
|
2356
|
-
* ```
|
|
2357
2449
|
*/
|
|
2358
2450
|
bulkUpdate(accountId: string, updates: BulkCampaignUpdateRequest): Promise<CampaignListResponse>;
|
|
2359
2451
|
/**
|
|
2360
|
-
* Patch a campaign
|
|
2452
|
+
* Patch a campaign
|
|
2361
2453
|
*
|
|
2362
2454
|
* @param accountId - Account ID
|
|
2363
2455
|
* @param campaignId - Campaign ID
|
|
2364
|
-
* @param
|
|
2365
|
-
* @param patches - Patch operations
|
|
2366
|
-
*
|
|
2367
|
-
* @example
|
|
2368
|
-
* ```typescript
|
|
2369
|
-
* await client.campaigns.patch('my-account', '12345', 'publisher_targeting', [
|
|
2370
|
-
* { op: 'ADD', path: '/value', value: ['pub-123'] },
|
|
2371
|
-
* ]);
|
|
2372
|
-
* ```
|
|
2456
|
+
* @param patch - Patch operation
|
|
2373
2457
|
*/
|
|
2374
|
-
patch(accountId: string, campaignId: string,
|
|
2458
|
+
patch(accountId: string, campaignId: string, patch: CampaignPatchRequest): Promise<Campaign>;
|
|
2375
2459
|
/**
|
|
2376
2460
|
* Get all campaigns across a network
|
|
2377
2461
|
*
|
|
2378
2462
|
* @param networkAccountId - Network account ID
|
|
2379
|
-
*
|
|
2380
|
-
* @example
|
|
2381
|
-
* ```typescript
|
|
2382
|
-
* const { results } = await client.campaigns.listNetwork('my-network');
|
|
2383
|
-
* ```
|
|
2384
2463
|
*/
|
|
2385
|
-
listNetwork(networkAccountId: string): Promise<
|
|
2464
|
+
listNetwork(networkAccountId: string): Promise<CampaignBaseListResponse>;
|
|
2386
2465
|
/**
|
|
2387
2466
|
* Estimate campaign reach
|
|
2388
|
-
*
|
|
2389
|
-
* Get estimated impressions, clicks, and reach for a campaign configuration.
|
|
2390
|
-
*
|
|
2391
|
-
* @param accountId - Account ID
|
|
2392
|
-
* @param params - Targeting and budget parameters
|
|
2393
|
-
*
|
|
2394
|
-
* @example
|
|
2395
|
-
* ```typescript
|
|
2396
|
-
* const estimate = await client.campaigns.estimateReach('my-account', {
|
|
2397
|
-
* country_targeting: ['US'],
|
|
2398
|
-
* platform_targeting: ['DESK', 'PHON'],
|
|
2399
|
-
* daily_cap: 100,
|
|
2400
|
-
* cpc: 0.50,
|
|
2401
|
-
* });
|
|
2402
|
-
* console.log('Estimated clicks:', estimate.estimated_clicks);
|
|
2403
|
-
* ```
|
|
2404
2467
|
*/
|
|
2405
2468
|
estimateReach(accountId: string, params: CampaignReachEstimatorRequest): Promise<CampaignReachEstimatorResponse>;
|
|
2406
2469
|
/**
|
|
2407
2470
|
* Get publisher targeting whitelist for a campaign
|
|
2408
|
-
*
|
|
2409
|
-
* Returns the list of publishers that are whitelisted for this campaign.
|
|
2410
|
-
*
|
|
2411
|
-
* @param accountId - Account ID
|
|
2412
|
-
* @param campaignId - Campaign ID
|
|
2413
|
-
*
|
|
2414
|
-
* @example
|
|
2415
|
-
* ```typescript
|
|
2416
|
-
* const whitelist = await client.campaigns.getTargetingWhitelist('my-account', '12345');
|
|
2417
|
-
* console.log('Whitelisted publishers:', whitelist.value);
|
|
2418
|
-
* ```
|
|
2419
2471
|
*/
|
|
2420
2472
|
getTargetingWhitelist(accountId: string, campaignId: string): Promise<CampaignTargetingCollection>;
|
|
2421
2473
|
}
|
|
@@ -2474,40 +2526,68 @@ declare class ItemsAPI {
|
|
|
2474
2526
|
*/
|
|
2475
2527
|
get(accountId: string, campaignId: string, itemId: string): Promise<CampaignItem>;
|
|
2476
2528
|
/**
|
|
2477
|
-
* Create a new item (ad) in a campaign
|
|
2529
|
+
* Create a new item (static ad) in a campaign
|
|
2530
|
+
*
|
|
2531
|
+
* Only the `url` field is accepted. The item is created with a status of CRAWLING
|
|
2532
|
+
* (read-only). Poll until the status changes to RUNNING or NEED_TO_EDIT, then
|
|
2533
|
+
* use `update()` to modify fields.
|
|
2534
|
+
*
|
|
2535
|
+
* For creating items with more fields upfront, or for motion ads,
|
|
2536
|
+
* use `bulkCreateAcrossCampaigns()` instead.
|
|
2478
2537
|
*
|
|
2479
2538
|
* @param accountId - Account ID
|
|
2480
2539
|
* @param campaignId - Campaign ID
|
|
2481
|
-
* @param item - Item data
|
|
2540
|
+
* @param item - Item data (only `url` is accepted)
|
|
2482
2541
|
*
|
|
2483
2542
|
* @example
|
|
2484
2543
|
* ```typescript
|
|
2485
2544
|
* const item = await client.items.create('my-account', '12345', {
|
|
2486
2545
|
* url: 'https://example.com/landing-page',
|
|
2487
|
-
* title: 'Check Out Our Amazing Product!',
|
|
2488
|
-
* thumbnail_url: 'https://example.com/image.jpg',
|
|
2489
|
-
* description: 'Learn more about our product',
|
|
2490
|
-
* cta: { cta_type: 'LEARN_MORE' },
|
|
2491
2546
|
* });
|
|
2492
|
-
*
|
|
2547
|
+
* // Item starts in CRAWLING state - poll until status changes
|
|
2548
|
+
* console.log('Created item:', item.id, item.status); // CRAWLING
|
|
2493
2549
|
* ```
|
|
2494
2550
|
*/
|
|
2495
2551
|
create(accountId: string, campaignId: string, item: CreateItemRequest): Promise<CampaignItem>;
|
|
2496
2552
|
/**
|
|
2497
|
-
* Update an existing item
|
|
2553
|
+
* Update an existing item (static or motion ad)
|
|
2554
|
+
*
|
|
2555
|
+
* Submit only the fields you want to update. Fields that are omitted or null
|
|
2556
|
+
* will remain unchanged. The endpoint automatically detects the item type.
|
|
2557
|
+
*
|
|
2558
|
+
* Note: While status is CRAWLING, the Item is in a read-only state - no fields can be modified.
|
|
2498
2559
|
*
|
|
2499
2560
|
* @param accountId - Account ID
|
|
2500
2561
|
* @param campaignId - Campaign ID
|
|
2501
2562
|
* @param itemId - Item ID
|
|
2502
|
-
* @param updates - Fields to update
|
|
2563
|
+
* @param updates - Fields to update (partial)
|
|
2503
2564
|
*
|
|
2504
|
-
* @example
|
|
2565
|
+
* @example Update a static item
|
|
2505
2566
|
* ```typescript
|
|
2506
2567
|
* const item = await client.items.update('my-account', '12345', '67890', {
|
|
2507
2568
|
* title: 'Updated Title!',
|
|
2508
2569
|
* is_active: true,
|
|
2509
2570
|
* });
|
|
2510
2571
|
* ```
|
|
2572
|
+
*
|
|
2573
|
+
* @example Update a motion ad
|
|
2574
|
+
* ```typescript
|
|
2575
|
+
* const item = await client.items.update('my-account', '12345', '67890', {
|
|
2576
|
+
* title: 'Updated Motion Ad Title',
|
|
2577
|
+
* description: 'New description',
|
|
2578
|
+
* performance_video_data: {
|
|
2579
|
+
* video_url: 'https://example.com/video.mp4',
|
|
2580
|
+
* fallback_url: 'https://example.com/fallback.jpg',
|
|
2581
|
+
* },
|
|
2582
|
+
* });
|
|
2583
|
+
* ```
|
|
2584
|
+
*
|
|
2585
|
+
* @example Pause an item (alternatively, use pause() method)
|
|
2586
|
+
* ```typescript
|
|
2587
|
+
* const item = await client.items.update('my-account', '12345', '67890', {
|
|
2588
|
+
* is_active: false,
|
|
2589
|
+
* });
|
|
2590
|
+
* ```
|
|
2511
2591
|
*/
|
|
2512
2592
|
update(accountId: string, campaignId: string, itemId: string, updates: UpdateItemRequest): Promise<CampaignItem>;
|
|
2513
2593
|
/**
|
|
@@ -2550,11 +2630,13 @@ declare class ItemsAPI {
|
|
|
2550
2630
|
*/
|
|
2551
2631
|
unpause(accountId: string, campaignId: string, itemId: string): Promise<CampaignItem>;
|
|
2552
2632
|
/**
|
|
2553
|
-
* Create multiple items at once (mass create)
|
|
2633
|
+
* Create multiple items at once within a single campaign (mass create)
|
|
2634
|
+
*
|
|
2635
|
+
* Supports both static ads and motion ads via the bulk item data format.
|
|
2554
2636
|
*
|
|
2555
2637
|
* @param accountId - Account ID
|
|
2556
2638
|
* @param campaignId - Campaign ID
|
|
2557
|
-
* @param
|
|
2639
|
+
* @param request - Bulk create request with items array
|
|
2558
2640
|
*
|
|
2559
2641
|
* @example
|
|
2560
2642
|
* ```typescript
|
|
@@ -2571,18 +2653,35 @@ declare class ItemsAPI {
|
|
|
2571
2653
|
/**
|
|
2572
2654
|
* Bulk create items across multiple campaigns
|
|
2573
2655
|
*
|
|
2656
|
+
* Unified endpoint that supports both static ads and motion ads.
|
|
2657
|
+
*
|
|
2574
2658
|
* @param accountId - Account ID
|
|
2575
2659
|
* @param items - Array of items with campaign IDs
|
|
2576
2660
|
*
|
|
2577
|
-
* @example
|
|
2661
|
+
* @example Static ads
|
|
2662
|
+
* ```typescript
|
|
2663
|
+
* await client.items.bulkCreateAcrossCampaigns('my-account', [
|
|
2664
|
+
* { campaign_id: '12345', url: 'https://example.com/1', title: 'Title 1' },
|
|
2665
|
+
* { campaign_id: '12346', url: 'https://example.com/2', title: 'Title 2' },
|
|
2666
|
+
* ]);
|
|
2667
|
+
* ```
|
|
2668
|
+
*
|
|
2669
|
+
* @example Motion ads
|
|
2578
2670
|
* ```typescript
|
|
2579
2671
|
* await client.items.bulkCreateAcrossCampaigns('my-account', [
|
|
2580
|
-
* {
|
|
2581
|
-
*
|
|
2672
|
+
* {
|
|
2673
|
+
* campaign_id: '12345',
|
|
2674
|
+
* url: 'https://example.com/1',
|
|
2675
|
+
* title: 'Motion Ad',
|
|
2676
|
+
* performance_video_data: {
|
|
2677
|
+
* video_url: 'https://example.com/video.mp4',
|
|
2678
|
+
* fallback_url: 'https://example.com/fallback.jpg',
|
|
2679
|
+
* },
|
|
2680
|
+
* },
|
|
2582
2681
|
* ]);
|
|
2583
2682
|
* ```
|
|
2584
2683
|
*/
|
|
2585
|
-
bulkCreateAcrossCampaigns(accountId: string, items: (
|
|
2684
|
+
bulkCreateAcrossCampaigns(accountId: string, items: (BulkCreateItemData & {
|
|
2586
2685
|
campaign_id: string;
|
|
2587
2686
|
})[]): Promise<BulkCreateItemsResponse>;
|
|
2588
2687
|
/**
|
|
@@ -2673,22 +2772,14 @@ declare class DictionaryAPI {
|
|
|
2673
2772
|
getCountries(): Promise<Country[]>;
|
|
2674
2773
|
/**
|
|
2675
2774
|
* Get regions/states within a country
|
|
2676
|
-
*
|
|
2677
|
-
* @param countryCode - Country code (e.g., 'US', 'GB')
|
|
2678
2775
|
*/
|
|
2679
2776
|
getRegions(countryCode: string): Promise<Region[]>;
|
|
2680
2777
|
/**
|
|
2681
2778
|
* Get DMAs (Designated Market Areas) for a country
|
|
2682
|
-
* Note: Only available for US
|
|
2683
|
-
*
|
|
2684
|
-
* @param countryCode - Country code (typically 'US')
|
|
2685
2779
|
*/
|
|
2686
2780
|
getDMAs(countryCode: string): Promise<DMA[]>;
|
|
2687
2781
|
/**
|
|
2688
2782
|
* Get postal codes for a country
|
|
2689
|
-
*
|
|
2690
|
-
* @param countryCode - Country code (e.g., 'US', 'GB')
|
|
2691
|
-
* @param params - Optional search and pagination parameters
|
|
2692
2783
|
*/
|
|
2693
2784
|
getPostalCodes(countryCode: string, params?: PostalCodeSearchParams): Promise<PostalCode[]>;
|
|
2694
2785
|
/**
|
|
@@ -2745,40 +2836,26 @@ declare class DictionaryAPI {
|
|
|
2745
2836
|
getImageLibraryLanguages(): Promise<ImageLibraryLanguage[]>;
|
|
2746
2837
|
/**
|
|
2747
2838
|
* Get image taxonomies for categorizing images
|
|
2748
|
-
*
|
|
2749
|
-
* @param accountId - Account ID
|
|
2750
2839
|
*/
|
|
2751
2840
|
getImageTaxonomies(accountId: string): Promise<ImageTaxonomy[]>;
|
|
2752
2841
|
/**
|
|
2753
2842
|
* Get marketplace audience segments available for targeting
|
|
2754
|
-
*
|
|
2755
|
-
* @param accountId - Account ID
|
|
2756
2843
|
*/
|
|
2757
2844
|
getMarketplaceAudiences(accountId: string): Promise<MarketplaceAudience[]>;
|
|
2758
2845
|
/**
|
|
2759
2846
|
* Get marketplace audience segments for a specific country
|
|
2760
|
-
*
|
|
2761
|
-
* @param accountId - Account ID
|
|
2762
|
-
* @param countryCode - Country code (e.g., 'US', 'GB')
|
|
2763
2847
|
*/
|
|
2764
2848
|
getMarketplaceAudiencesByCountry(accountId: string, countryCode: string): Promise<MarketplaceAudience[]>;
|
|
2765
2849
|
/**
|
|
2766
2850
|
* Get lookalike audiences available for targeting
|
|
2767
|
-
*
|
|
2768
|
-
* @param accountId - Account ID
|
|
2769
2851
|
*/
|
|
2770
2852
|
getLookalikeAudiences(accountId: string): Promise<LookalikeAudience[]>;
|
|
2771
2853
|
/**
|
|
2772
2854
|
* Get lookalike audiences for a specific country
|
|
2773
|
-
*
|
|
2774
|
-
* @param accountId - Account ID
|
|
2775
|
-
* @param countryCode - Country code (e.g., 'US', 'GB')
|
|
2776
2855
|
*/
|
|
2777
2856
|
getLookalikeAudiencesByCountry(accountId: string, countryCode: string): Promise<LookalikeAudience[]>;
|
|
2778
2857
|
/**
|
|
2779
2858
|
* Get contextual segments available for targeting
|
|
2780
|
-
*
|
|
2781
|
-
* @param accountId - Account ID
|
|
2782
2859
|
*/
|
|
2783
2860
|
getContextualSegments(accountId: string): Promise<ContextualSegment[]>;
|
|
2784
2861
|
}
|
|
@@ -2799,84 +2876,31 @@ declare class PublishersAPI {
|
|
|
2799
2876
|
constructor(http: HttpClient);
|
|
2800
2877
|
/**
|
|
2801
2878
|
* List all available publishers for an account
|
|
2802
|
-
*
|
|
2803
|
-
* @param accountId - Account ID
|
|
2804
|
-
* @returns List of publishers with blocking status
|
|
2805
|
-
*
|
|
2806
|
-
* @example
|
|
2807
|
-
* ```typescript
|
|
2808
|
-
* const publishers = await client.publishers.list('my-account');
|
|
2809
|
-
* console.log(`Found ${publishers.length} publishers`);
|
|
2810
|
-
* ```
|
|
2811
2879
|
*/
|
|
2812
2880
|
list(accountId: string): Promise<Publisher[]>;
|
|
2813
2881
|
/**
|
|
2814
2882
|
* Get blocked publishers at the account level
|
|
2815
|
-
*
|
|
2816
|
-
* @param accountId - Account ID
|
|
2817
|
-
* @returns List of blocked publishers
|
|
2818
|
-
*
|
|
2819
|
-
* @example
|
|
2820
|
-
* ```typescript
|
|
2821
|
-
* const blocked = await client.publishers.getBlocked('my-account');
|
|
2822
|
-
* console.log(`${blocked.length} publishers blocked at account level`);
|
|
2823
|
-
* ```
|
|
2824
2883
|
*/
|
|
2825
|
-
getBlocked(accountId: string): Promise<
|
|
2884
|
+
getBlocked(accountId: string): Promise<string[]>;
|
|
2826
2885
|
/**
|
|
2827
2886
|
* Update blocked publishers at the account level
|
|
2828
2887
|
*
|
|
2829
2888
|
* This replaces the current list of blocked publishers with the
|
|
2830
|
-
* provided list.
|
|
2831
|
-
* list and append.
|
|
2832
|
-
*
|
|
2833
|
-
* @param accountId - Account ID
|
|
2834
|
-
* @param sites - Array of site names to block
|
|
2835
|
-
* @returns Updated list of blocked publishers
|
|
2836
|
-
*
|
|
2837
|
-
* @example
|
|
2838
|
-
* ```typescript
|
|
2839
|
-
* // Block specific publishers
|
|
2840
|
-
* await client.publishers.updateBlocked('my-account', {
|
|
2841
|
-
* sites: ['site1.com', 'site2.com']
|
|
2842
|
-
* });
|
|
2843
|
-
*
|
|
2844
|
-
* // Add to existing blocks
|
|
2845
|
-
* const current = await client.publishers.getBlocked('my-account');
|
|
2846
|
-
* const currentSites = current.map(p => p.site);
|
|
2847
|
-
* await client.publishers.updateBlocked('my-account', {
|
|
2848
|
-
* sites: [...currentSites, 'newsite.com']
|
|
2849
|
-
* });
|
|
2850
|
-
* ```
|
|
2889
|
+
* provided list.
|
|
2851
2890
|
*/
|
|
2852
|
-
updateBlocked(accountId: string, request: UpdateBlockedPublishersRequest): Promise<
|
|
2891
|
+
updateBlocked(accountId: string, request: UpdateBlockedPublishersRequest): Promise<string[]>;
|
|
2853
2892
|
/**
|
|
2854
2893
|
* Block a single publisher at the account level
|
|
2855
|
-
*
|
|
2856
|
-
* Convenience method that adds a publisher to the existing block list.
|
|
2857
|
-
*
|
|
2858
|
-
* @param accountId - Account ID
|
|
2859
|
-
* @param site - Site name to block
|
|
2860
|
-
* @returns Updated list of blocked publishers
|
|
2861
2894
|
*/
|
|
2862
|
-
blockPublisher(accountId: string, site: string): Promise<
|
|
2895
|
+
blockPublisher(accountId: string, site: string): Promise<string[]>;
|
|
2863
2896
|
/**
|
|
2864
2897
|
* Unblock a single publisher at the account level
|
|
2865
|
-
*
|
|
2866
|
-
* Convenience method that removes a publisher from the block list.
|
|
2867
|
-
*
|
|
2868
|
-
* @param accountId - Account ID
|
|
2869
|
-
* @param site - Site name to unblock
|
|
2870
|
-
* @returns Updated list of blocked publishers
|
|
2871
2898
|
*/
|
|
2872
|
-
unblockPublisher(accountId: string, site: string): Promise<
|
|
2899
|
+
unblockPublisher(accountId: string, site: string): Promise<string[]>;
|
|
2873
2900
|
/**
|
|
2874
2901
|
* Clear all blocked publishers at the account level
|
|
2875
|
-
*
|
|
2876
|
-
* @param accountId - Account ID
|
|
2877
|
-
* @returns Empty list
|
|
2878
2902
|
*/
|
|
2879
|
-
clearBlocked(accountId: string): Promise<
|
|
2903
|
+
clearBlocked(accountId: string): Promise<string[]>;
|
|
2880
2904
|
}
|
|
2881
2905
|
|
|
2882
2906
|
/**
|
|
@@ -2895,192 +2919,58 @@ declare class TargetingAPI {
|
|
|
2895
2919
|
constructor(http: HttpClient);
|
|
2896
2920
|
/**
|
|
2897
2921
|
* Get postal code targeting for a campaign
|
|
2898
|
-
*
|
|
2899
|
-
* @param accountId - Account ID
|
|
2900
|
-
* @param campaignId - Campaign ID
|
|
2901
|
-
* @returns Postal code targeting configuration
|
|
2902
|
-
*
|
|
2903
|
-
* @example
|
|
2904
|
-
* ```typescript
|
|
2905
|
-
* const targeting = await client.targeting.getPostalCodes('my-account', '12345');
|
|
2906
|
-
* console.log(`Targeting type: ${targeting.type}`);
|
|
2907
|
-
* console.log(`Postal codes: ${targeting.values.length}`);
|
|
2908
|
-
* ```
|
|
2909
2922
|
*/
|
|
2910
2923
|
getPostalCodes(accountId: string, campaignId: string): Promise<PostalCodeTargeting>;
|
|
2911
2924
|
/**
|
|
2912
2925
|
* Update postal code targeting for a campaign
|
|
2913
|
-
*
|
|
2914
|
-
* @param accountId - Account ID
|
|
2915
|
-
* @param campaignId - Campaign ID
|
|
2916
|
-
* @param targeting - Postal code targeting configuration
|
|
2917
|
-
* @returns Updated targeting configuration
|
|
2918
|
-
*
|
|
2919
|
-
* @example
|
|
2920
|
-
* ```typescript
|
|
2921
|
-
* await client.targeting.updatePostalCodes('my-account', '12345', {
|
|
2922
|
-
* type: 'INCLUDE',
|
|
2923
|
-
* values: [
|
|
2924
|
-
* { postal_code: '10001', country: 'US' },
|
|
2925
|
-
* { postal_code: '10002', country: 'US' },
|
|
2926
|
-
* ]
|
|
2927
|
-
* });
|
|
2928
|
-
* ```
|
|
2929
2926
|
*/
|
|
2930
2927
|
updatePostalCodes(accountId: string, campaignId: string, targeting: UpdatePostalCodeTargetingRequest): Promise<PostalCodeTargeting>;
|
|
2931
2928
|
/**
|
|
2932
2929
|
* Get marketplace audience targeting for a campaign
|
|
2933
|
-
*
|
|
2934
|
-
* Marketplace audiences are third-party audience segments
|
|
2935
|
-
* available for targeting through Taboola's marketplace.
|
|
2936
|
-
*
|
|
2937
|
-
* @param accountId - Account ID
|
|
2938
|
-
* @param campaignId - Campaign ID
|
|
2939
|
-
* @returns Audience targeting configuration
|
|
2940
2930
|
*/
|
|
2941
2931
|
getMarketplaceAudiences(accountId: string, campaignId: string): Promise<AudienceTargeting>;
|
|
2942
2932
|
/**
|
|
2943
2933
|
* Update marketplace audience targeting for a campaign
|
|
2944
|
-
*
|
|
2945
|
-
* @param accountId - Account ID
|
|
2946
|
-
* @param campaignId - Campaign ID
|
|
2947
|
-
* @param targeting - Audience targeting configuration
|
|
2948
|
-
* @returns Updated targeting configuration
|
|
2949
|
-
*
|
|
2950
|
-
* @example
|
|
2951
|
-
* ```typescript
|
|
2952
|
-
* await client.targeting.updateMarketplaceAudiences('my-account', '12345', {
|
|
2953
|
-
* type: 'INCLUDE',
|
|
2954
|
-
* collection: [
|
|
2955
|
-
* { id: 'segment-1', name: null },
|
|
2956
|
-
* { id: 'segment-2', name: null },
|
|
2957
|
-
* ]
|
|
2958
|
-
* });
|
|
2959
|
-
* ```
|
|
2960
2934
|
*/
|
|
2961
2935
|
updateMarketplaceAudiences(accountId: string, campaignId: string, targeting: UpdateAudienceTargetingRequest): Promise<AudienceTargeting>;
|
|
2962
2936
|
/**
|
|
2963
2937
|
* Get custom audience targeting for a campaign
|
|
2964
|
-
*
|
|
2965
|
-
* Custom audiences are audiences created from pixel data
|
|
2966
|
-
* or uploaded lists.
|
|
2967
|
-
*
|
|
2968
|
-
* @param accountId - Account ID
|
|
2969
|
-
* @param campaignId - Campaign ID
|
|
2970
|
-
* @returns Audience targeting configuration
|
|
2971
2938
|
*/
|
|
2972
2939
|
getCustomAudiences(accountId: string, campaignId: string): Promise<AudienceTargeting>;
|
|
2973
2940
|
/**
|
|
2974
2941
|
* Update custom audience targeting for a campaign
|
|
2975
|
-
*
|
|
2976
|
-
* @param accountId - Account ID
|
|
2977
|
-
* @param campaignId - Campaign ID
|
|
2978
|
-
* @param targeting - Audience targeting configuration
|
|
2979
|
-
* @returns Updated targeting configuration
|
|
2980
2942
|
*/
|
|
2981
2943
|
updateCustomAudiences(accountId: string, campaignId: string, targeting: UpdateAudienceTargetingRequest): Promise<AudienceTargeting>;
|
|
2982
2944
|
/**
|
|
2983
2945
|
* Get lookalike audience targeting for a campaign
|
|
2984
|
-
*
|
|
2985
|
-
* Lookalike audiences are modeled after your existing
|
|
2986
|
-
* custom audiences to find similar users.
|
|
2987
|
-
*
|
|
2988
|
-
* @param accountId - Account ID
|
|
2989
|
-
* @param campaignId - Campaign ID
|
|
2990
|
-
* @returns Audience targeting configuration
|
|
2991
2946
|
*/
|
|
2992
|
-
getLookalikeAudiences(accountId: string, campaignId: string): Promise<
|
|
2947
|
+
getLookalikeAudiences(accountId: string, campaignId: string): Promise<LookalikeAudienceTargeting>;
|
|
2993
2948
|
/**
|
|
2994
2949
|
* Update lookalike audience targeting for a campaign
|
|
2995
|
-
*
|
|
2996
|
-
* @param accountId - Account ID
|
|
2997
|
-
* @param campaignId - Campaign ID
|
|
2998
|
-
* @param targeting - Audience targeting configuration
|
|
2999
|
-
* @returns Updated targeting configuration
|
|
3000
2950
|
*/
|
|
3001
|
-
updateLookalikeAudiences(accountId: string, campaignId: string, targeting:
|
|
2951
|
+
updateLookalikeAudiences(accountId: string, campaignId: string, targeting: UpdateLookalikeAudienceTargetingRequest): Promise<LookalikeAudienceTargeting>;
|
|
3002
2952
|
/**
|
|
3003
2953
|
* Get contextual targeting for a campaign
|
|
3004
|
-
*
|
|
3005
|
-
* Contextual targeting allows you to target based on the
|
|
3006
|
-
* content of the pages where your ads appear.
|
|
3007
|
-
*
|
|
3008
|
-
* @param accountId - Account ID
|
|
3009
|
-
* @param campaignId - Campaign ID
|
|
3010
|
-
* @returns Contextual targeting configuration
|
|
3011
2954
|
*/
|
|
3012
2955
|
getContextual(accountId: string, campaignId: string): Promise<ContextualTargeting>;
|
|
3013
2956
|
/**
|
|
3014
2957
|
* Update contextual targeting for a campaign
|
|
3015
|
-
*
|
|
3016
|
-
* @param accountId - Account ID
|
|
3017
|
-
* @param campaignId - Campaign ID
|
|
3018
|
-
* @param targeting - Contextual targeting configuration
|
|
3019
|
-
* @returns Updated targeting configuration
|
|
3020
|
-
*
|
|
3021
|
-
* @example
|
|
3022
|
-
* ```typescript
|
|
3023
|
-
* await client.targeting.updateContextual('my-account', '12345', {
|
|
3024
|
-
* type: 'INCLUDE',
|
|
3025
|
-
* collection: [
|
|
3026
|
-
* { id: 'context-1', name: null },
|
|
3027
|
-
* { id: 'context-2', name: null },
|
|
3028
|
-
* ]
|
|
3029
|
-
* });
|
|
3030
|
-
* ```
|
|
3031
2958
|
*/
|
|
3032
2959
|
updateContextual(accountId: string, campaignId: string, targeting: UpdateContextualTargetingRequest): Promise<ContextualTargeting>;
|
|
3033
2960
|
/**
|
|
3034
2961
|
* Get first party audience targeting for a campaign
|
|
3035
|
-
*
|
|
3036
|
-
* First party audiences are your own uploaded audience data.
|
|
3037
|
-
*
|
|
3038
|
-
* @param accountId - Account ID
|
|
3039
|
-
* @param campaignId - Campaign ID
|
|
3040
|
-
* @returns First party audience targeting configuration
|
|
3041
2962
|
*/
|
|
3042
2963
|
getFirstPartyAudiences(accountId: string, campaignId: string): Promise<FirstPartyAudienceTargeting>;
|
|
3043
2964
|
/**
|
|
3044
2965
|
* Update first party audience targeting for a campaign
|
|
3045
|
-
*
|
|
3046
|
-
* @param accountId - Account ID
|
|
3047
|
-
* @param campaignId - Campaign ID
|
|
3048
|
-
* @param targeting - First party audience targeting configuration
|
|
3049
|
-
* @returns Updated targeting configuration
|
|
3050
2966
|
*/
|
|
3051
2967
|
updateFirstPartyAudiences(accountId: string, campaignId: string, targeting: UpdateFirstPartyAudienceTargetingRequest): Promise<FirstPartyAudienceTargeting>;
|
|
3052
2968
|
/**
|
|
3053
2969
|
* Get marking labels (pixel retargeting) targeting for a campaign
|
|
3054
|
-
*
|
|
3055
|
-
* Marking labels allow you to target users based on pixel-tracked
|
|
3056
|
-
* behavior using custom labels.
|
|
3057
|
-
*
|
|
3058
|
-
* @param accountId - Account ID
|
|
3059
|
-
* @param campaignId - Campaign ID
|
|
3060
|
-
* @returns Marking labels targeting configuration
|
|
3061
|
-
*
|
|
3062
|
-
* @example
|
|
3063
|
-
* ```typescript
|
|
3064
|
-
* const targeting = await client.targeting.getMarkingLabels('my-account', '12345');
|
|
3065
|
-
* console.log('Labels:', targeting.collection);
|
|
3066
|
-
* ```
|
|
3067
2970
|
*/
|
|
3068
2971
|
getMarkingLabels(accountId: string, campaignId: string): Promise<MarkingLabelsTargeting>;
|
|
3069
2972
|
/**
|
|
3070
2973
|
* Update marking labels targeting for a campaign
|
|
3071
|
-
*
|
|
3072
|
-
* @param accountId - Account ID
|
|
3073
|
-
* @param campaignId - Campaign ID
|
|
3074
|
-
* @param targeting - Marking labels targeting configuration
|
|
3075
|
-
* @returns Updated targeting configuration
|
|
3076
|
-
*
|
|
3077
|
-
* @example
|
|
3078
|
-
* ```typescript
|
|
3079
|
-
* await client.targeting.updateMarkingLabels('my-account', '12345', {
|
|
3080
|
-
* type: 'EXISTS',
|
|
3081
|
-
* collection: ['label-1', 'label-2'],
|
|
3082
|
-
* });
|
|
3083
|
-
* ```
|
|
3084
2974
|
*/
|
|
3085
2975
|
updateMarkingLabels(accountId: string, campaignId: string, targeting: UpdateMarkingLabelsTargetingRequest): Promise<MarkingLabelsTargeting>;
|
|
3086
2976
|
}
|
|
@@ -3100,82 +2990,22 @@ declare class CombinedAudiencesAPI {
|
|
|
3100
2990
|
constructor(http: HttpClient);
|
|
3101
2991
|
/**
|
|
3102
2992
|
* List available audiences for combining
|
|
3103
|
-
*
|
|
3104
|
-
* Returns all audiences that can be used in combined audience rules,
|
|
3105
|
-
* including custom, lookalike, marketplace, and first-party audiences.
|
|
3106
|
-
*
|
|
3107
|
-
* @param accountId - Account ID
|
|
3108
|
-
* @returns List of available audiences
|
|
3109
|
-
*
|
|
3110
|
-
* @example
|
|
3111
|
-
* ```typescript
|
|
3112
|
-
* const available = await client.combinedAudiences.listAvailable('my-account');
|
|
3113
|
-
* console.log(`${available.length} audiences available for combining`);
|
|
3114
|
-
* ```
|
|
3115
2993
|
*/
|
|
3116
2994
|
listAvailable(accountId: string): Promise<AvailableAudience[]>;
|
|
3117
2995
|
/**
|
|
3118
2996
|
* List all combined audiences
|
|
3119
|
-
*
|
|
3120
|
-
* @param accountId - Account ID
|
|
3121
|
-
* @returns List of combined audiences
|
|
3122
|
-
*
|
|
3123
|
-
* @example
|
|
3124
|
-
* ```typescript
|
|
3125
|
-
* const audiences = await client.combinedAudiences.list('my-account');
|
|
3126
|
-
* for (const audience of audiences) {
|
|
3127
|
-
* console.log(`${audience.name}: ${audience.status}`);
|
|
3128
|
-
* }
|
|
3129
|
-
* ```
|
|
3130
2997
|
*/
|
|
3131
2998
|
list(accountId: string): Promise<CombinedAudience[]>;
|
|
3132
2999
|
/**
|
|
3133
3000
|
* Get a single combined audience
|
|
3134
|
-
*
|
|
3135
|
-
* @param accountId - Account ID
|
|
3136
|
-
* @param audienceId - Combined audience ID
|
|
3137
|
-
* @returns Combined audience details
|
|
3138
3001
|
*/
|
|
3139
3002
|
get(accountId: string, audienceId: string): Promise<CombinedAudience>;
|
|
3140
3003
|
/**
|
|
3141
3004
|
* Create a combined audience
|
|
3142
|
-
*
|
|
3143
|
-
* @param accountId - Account ID
|
|
3144
|
-
* @param audience - Combined audience configuration
|
|
3145
|
-
* @returns Created combined audience
|
|
3146
|
-
*
|
|
3147
|
-
* @example
|
|
3148
|
-
* ```typescript
|
|
3149
|
-
* const audience = await client.combinedAudiences.create('my-account', {
|
|
3150
|
-
* name: 'High-Value Engaged Users',
|
|
3151
|
-
* description: 'Users who are both high-value and engaged',
|
|
3152
|
-
* include_rules: [
|
|
3153
|
-
* {
|
|
3154
|
-
* audience_type: 'CUSTOM_AUDIENCE',
|
|
3155
|
-
* audiences: [{ id: 'custom-1', name: null }]
|
|
3156
|
-
* },
|
|
3157
|
-
* {
|
|
3158
|
-
* audience_type: 'LOOKALIKE_AUDIENCE',
|
|
3159
|
-
* audiences: [{ id: 'lookalike-1', name: null }]
|
|
3160
|
-
* }
|
|
3161
|
-
* ],
|
|
3162
|
-
* exclude_rules: [
|
|
3163
|
-
* {
|
|
3164
|
-
* audience_type: 'CUSTOM_AUDIENCE',
|
|
3165
|
-
* audiences: [{ id: 'converters', name: null }]
|
|
3166
|
-
* }
|
|
3167
|
-
* ]
|
|
3168
|
-
* });
|
|
3169
|
-
* ```
|
|
3170
3005
|
*/
|
|
3171
3006
|
create(accountId: string, audience: CreateCombinedAudienceRequest): Promise<CombinedAudience>;
|
|
3172
3007
|
/**
|
|
3173
3008
|
* Update a combined audience
|
|
3174
|
-
*
|
|
3175
|
-
* @param accountId - Account ID
|
|
3176
|
-
* @param audienceId - Combined audience ID
|
|
3177
|
-
* @param updates - Fields to update
|
|
3178
|
-
* @returns Updated combined audience
|
|
3179
3009
|
*/
|
|
3180
3010
|
update(accountId: string, audienceId: string, updates: UpdateCombinedAudienceRequest): Promise<CombinedAudience>;
|
|
3181
3011
|
}
|
|
@@ -3195,98 +3025,20 @@ declare class FirstPartyAudiencesAPI {
|
|
|
3195
3025
|
constructor(http: HttpClient);
|
|
3196
3026
|
/**
|
|
3197
3027
|
* List all first party audiences
|
|
3198
|
-
*
|
|
3199
|
-
* @param accountId - Account ID
|
|
3200
|
-
* @returns List of first party audiences
|
|
3201
|
-
*
|
|
3202
|
-
* @example
|
|
3203
|
-
* ```typescript
|
|
3204
|
-
* const audiences = await client.firstPartyAudiences.list('my-account');
|
|
3205
|
-
* for (const audience of audiences) {
|
|
3206
|
-
* console.log(`${audience.name}: ${audience.status} (${audience.size} users)`);
|
|
3207
|
-
* }
|
|
3208
|
-
* ```
|
|
3209
3028
|
*/
|
|
3210
3029
|
list(accountId: string): Promise<FirstPartyAudience[]>;
|
|
3211
3030
|
/**
|
|
3212
3031
|
* Get a single first party audience
|
|
3213
|
-
*
|
|
3214
|
-
* @param accountId - Account ID
|
|
3215
|
-
* @param audienceId - Audience ID
|
|
3216
|
-
* @returns First party audience details
|
|
3217
3032
|
*/
|
|
3218
3033
|
get(accountId: string, audienceId: string): Promise<FirstPartyAudience>;
|
|
3219
3034
|
/**
|
|
3220
3035
|
* Create a first party audience
|
|
3221
|
-
*
|
|
3222
|
-
* After creation, use addUsers() to populate the audience with identifiers.
|
|
3223
|
-
*
|
|
3224
|
-
* @param accountId - Account ID
|
|
3225
|
-
* @param audience - Audience configuration
|
|
3226
|
-
* @returns Created audience
|
|
3227
|
-
*
|
|
3228
|
-
* @example
|
|
3229
|
-
* ```typescript
|
|
3230
|
-
* const audience = await client.firstPartyAudiences.create('my-account', {
|
|
3231
|
-
* name: 'High-Value Customers',
|
|
3232
|
-
* description: 'Customers with LTV > $1000',
|
|
3233
|
-
* source_type: 'CRM',
|
|
3234
|
-
* ttl_days: 90
|
|
3235
|
-
* });
|
|
3236
|
-
*
|
|
3237
|
-
* // Then add users
|
|
3238
|
-
* await client.firstPartyAudiences.addUsers('my-account', audience.id, {
|
|
3239
|
-
* add: [
|
|
3240
|
-
* { identifier_type: 'EMAIL_SHA256', identifier_value: 'sha256hash1' },
|
|
3241
|
-
* { identifier_type: 'EMAIL_SHA256', identifier_value: 'sha256hash2' },
|
|
3242
|
-
* ]
|
|
3243
|
-
* });
|
|
3244
|
-
* ```
|
|
3245
3036
|
*/
|
|
3246
3037
|
create(accountId: string, audience: CreateFirstPartyAudienceRequest): Promise<FirstPartyAudience>;
|
|
3247
3038
|
/**
|
|
3248
3039
|
* Add or remove users from a first party audience
|
|
3249
|
-
*
|
|
3250
|
-
* Users are identified by hashed identifiers (email, phone, device ID).
|
|
3251
|
-
* It's recommended to use SHA256 hashed values for privacy.
|
|
3252
|
-
*
|
|
3253
|
-
* @param accountId - Account ID
|
|
3254
|
-
* @param audienceId - Audience ID
|
|
3255
|
-
* @param request - Add/remove request with user identifiers
|
|
3256
|
-
* @returns Operation result with counts
|
|
3257
|
-
*
|
|
3258
|
-
* @example
|
|
3259
|
-
* ```typescript
|
|
3260
|
-
* // Add users
|
|
3261
|
-
* const result = await client.firstPartyAudiences.addUsers('my-account', 'audience-1', {
|
|
3262
|
-
* add: [
|
|
3263
|
-
* { identifier_type: 'EMAIL_SHA256', identifier_value: 'sha256hash1' },
|
|
3264
|
-
* { identifier_type: 'EMAIL_SHA256', identifier_value: 'sha256hash2' },
|
|
3265
|
-
* ]
|
|
3266
|
-
* });
|
|
3267
|
-
* console.log(`Added ${result.added_count} users`);
|
|
3268
|
-
*
|
|
3269
|
-
* // Remove users
|
|
3270
|
-
* const result2 = await client.firstPartyAudiences.addUsers('my-account', 'audience-1', {
|
|
3271
|
-
* remove: [
|
|
3272
|
-
* { identifier_type: 'EMAIL_SHA256', identifier_value: 'sha256hash3' },
|
|
3273
|
-
* ]
|
|
3274
|
-
* });
|
|
3275
|
-
* console.log(`Removed ${result2.removed_count} users`);
|
|
3276
|
-
* ```
|
|
3277
3040
|
*/
|
|
3278
|
-
|
|
3279
|
-
/**
|
|
3280
|
-
* Remove users from a first party audience
|
|
3281
|
-
*
|
|
3282
|
-
* Convenience method that wraps addUsers with only remove operations.
|
|
3283
|
-
*
|
|
3284
|
-
* @param accountId - Account ID
|
|
3285
|
-
* @param audienceId - Audience ID
|
|
3286
|
-
* @param request - Remove request with user identifiers
|
|
3287
|
-
* @returns Operation result with counts
|
|
3288
|
-
*/
|
|
3289
|
-
removeUsers(accountId: string, audienceId: string, request: Pick<AddRemoveUsersRequest, 'remove'>): Promise<AddRemoveUsersResponse>;
|
|
3041
|
+
manageUsers(accountId: string, request: AudienceUsersRequest): Promise<void>;
|
|
3290
3042
|
}
|
|
3291
3043
|
|
|
3292
3044
|
/**
|
|
@@ -3325,7 +3077,7 @@ declare class PixelAPI {
|
|
|
3325
3077
|
* @param ruleId - Conversion rule ID
|
|
3326
3078
|
* @returns Conversion rule details
|
|
3327
3079
|
*/
|
|
3328
|
-
getConversionRule(accountId: string, ruleId:
|
|
3080
|
+
getConversionRule(accountId: string, ruleId: number): Promise<ConversionRule>;
|
|
3329
3081
|
/**
|
|
3330
3082
|
* List conversion rules with performance data
|
|
3331
3083
|
*
|
|
@@ -3348,23 +3100,17 @@ declare class PixelAPI {
|
|
|
3348
3100
|
* // URL-based conversion rule
|
|
3349
3101
|
* const rule = await client.pixel.createConversionRule('my-account', {
|
|
3350
3102
|
* display_name: 'Purchase Completed',
|
|
3351
|
-
* type: '
|
|
3352
|
-
* category: '
|
|
3353
|
-
*
|
|
3354
|
-
*
|
|
3355
|
-
*
|
|
3356
|
-
*
|
|
3357
|
-
*
|
|
3358
|
-
* }
|
|
3359
|
-
* ],
|
|
3360
|
-
* effect: {
|
|
3361
|
-
* type: 'DYNAMIC_VALUE',
|
|
3362
|
-
* value: null,
|
|
3363
|
-
* currency: 'USD',
|
|
3364
|
-
* value_parameter: 'order_total'
|
|
3103
|
+
* type: 'BASIC',
|
|
3104
|
+
* category: 'MAKE_PURCHASE',
|
|
3105
|
+
* condition: {
|
|
3106
|
+
* property: 'URL',
|
|
3107
|
+
* predicate: 'CONTAINS',
|
|
3108
|
+
* value: '/thank-you',
|
|
3109
|
+
* children: [],
|
|
3365
3110
|
* },
|
|
3366
|
-
*
|
|
3367
|
-
*
|
|
3111
|
+
* effects: [{ type: 'REVENUE', data: '15' }],
|
|
3112
|
+
* look_back_window: 30,
|
|
3113
|
+
* view_through_look_back_window: 1,
|
|
3368
3114
|
* });
|
|
3369
3115
|
*
|
|
3370
3116
|
* // Event-based conversion rule
|
|
@@ -3373,13 +3119,7 @@ declare class PixelAPI {
|
|
|
3373
3119
|
* type: 'EVENT_BASED',
|
|
3374
3120
|
* category: 'ADD_TO_CART',
|
|
3375
3121
|
* event_name: 'add_to_cart',
|
|
3376
|
-
*
|
|
3377
|
-
* effect: {
|
|
3378
|
-
* type: 'FIXED_VALUE',
|
|
3379
|
-
* value: 10,
|
|
3380
|
-
* currency: 'USD',
|
|
3381
|
-
* value_parameter: null
|
|
3382
|
-
* }
|
|
3122
|
+
* effects: [{ type: 'REVENUE', data: '10' }],
|
|
3383
3123
|
* });
|
|
3384
3124
|
* ```
|
|
3385
3125
|
*/
|
|
@@ -3392,7 +3132,7 @@ declare class PixelAPI {
|
|
|
3392
3132
|
* @param updates - Fields to update
|
|
3393
3133
|
* @returns Updated conversion rule
|
|
3394
3134
|
*/
|
|
3395
|
-
updateConversionRule(accountId: string, ruleId:
|
|
3135
|
+
updateConversionRule(accountId: string, ruleId: number, updates: UpdateConversionRuleRequest): Promise<ConversionRule>;
|
|
3396
3136
|
/**
|
|
3397
3137
|
* Archive a conversion rule
|
|
3398
3138
|
*
|
|
@@ -3403,7 +3143,7 @@ declare class PixelAPI {
|
|
|
3403
3143
|
* @param ruleId - Conversion rule ID
|
|
3404
3144
|
* @returns Archived conversion rule
|
|
3405
3145
|
*/
|
|
3406
|
-
archiveConversionRule(accountId: string, ruleId:
|
|
3146
|
+
archiveConversionRule(accountId: string, ruleId: number): Promise<ConversionRule>;
|
|
3407
3147
|
/**
|
|
3408
3148
|
* Unarchive a conversion rule
|
|
3409
3149
|
*
|
|
@@ -3413,7 +3153,7 @@ declare class PixelAPI {
|
|
|
3413
3153
|
* @param ruleId - Conversion rule ID
|
|
3414
3154
|
* @returns Reactivated conversion rule
|
|
3415
3155
|
*/
|
|
3416
|
-
unarchiveConversionRule(accountId: string, ruleId:
|
|
3156
|
+
unarchiveConversionRule(accountId: string, ruleId: number): Promise<ConversionRule>;
|
|
3417
3157
|
/**
|
|
3418
3158
|
* List all custom audience rules
|
|
3419
3159
|
*
|
|
@@ -3449,37 +3189,16 @@ declare class PixelAPI {
|
|
|
3449
3189
|
*
|
|
3450
3190
|
* @example
|
|
3451
3191
|
* ```typescript
|
|
3452
|
-
* // All visitors audience
|
|
3453
3192
|
* const allVisitors = await client.pixel.createCustomAudienceRule('my-account', {
|
|
3454
3193
|
* display_name: 'All Visitors - 30 Days',
|
|
3455
3194
|
* conditions: [],
|
|
3456
|
-
* ttl_days: 30
|
|
3195
|
+
* ttl_days: 30,
|
|
3457
3196
|
* });
|
|
3458
3197
|
*
|
|
3459
|
-
* // Product page visitors
|
|
3460
3198
|
* const productViewers = await client.pixel.createCustomAudienceRule('my-account', {
|
|
3461
3199
|
* display_name: 'Product Page Viewers',
|
|
3462
|
-
* conditions: [
|
|
3463
|
-
*
|
|
3464
|
-
* type: 'URL',
|
|
3465
|
-
* operator: 'CONTAINS',
|
|
3466
|
-
* value: '/products/'
|
|
3467
|
-
* }
|
|
3468
|
-
* ],
|
|
3469
|
-
* ttl_days: 14
|
|
3470
|
-
* });
|
|
3471
|
-
*
|
|
3472
|
-
* // Cart abandoners
|
|
3473
|
-
* const cartAbandoners = await client.pixel.createCustomAudienceRule('my-account', {
|
|
3474
|
-
* display_name: 'Cart Abandoners',
|
|
3475
|
-
* conditions: [
|
|
3476
|
-
* {
|
|
3477
|
-
* type: 'EVENT_NAME',
|
|
3478
|
-
* operator: 'EQUALS',
|
|
3479
|
-
* value: 'add_to_cart'
|
|
3480
|
-
* }
|
|
3481
|
-
* ],
|
|
3482
|
-
* ttl_days: 7
|
|
3200
|
+
* conditions: [{ type: 'URL', operator: 'CONTAINS', value: '/products/' }],
|
|
3201
|
+
* ttl_days: 14,
|
|
3483
3202
|
* });
|
|
3484
3203
|
* ```
|
|
3485
3204
|
*/
|
|
@@ -3981,4 +3700,4 @@ declare class TaboolaServerError extends TaboolaError {
|
|
|
3981
3700
|
*/
|
|
3982
3701
|
declare function parseApiError(statusCode: number, response: unknown, url: string): TaboolaError;
|
|
3983
3702
|
|
|
3984
|
-
export { type Account, type AccountType, AccountsAPI, type ActivitySchedule, type ActivityScheduleRule, type
|
|
3703
|
+
export { type Account, type AccountType, AccountsAPI, type ActivitySchedule, type ActivityScheduleRule, type AdvertiserAccount, type AllowedAccountsResponse, type ApprovalState, type AudienceTargeting, type AudienceUserClusterItem, type AudienceUserIdentity, type AudienceUsersRequest, type AvailableAudience, type AvailableAudiencesResponse, type BidStrategy, type BlockedPublishersResponse, type BrandSafetyProvider, type Browser, type BulkCampaignUpdateRequest, type BulkCreateItemsRequest, type BulkCreateItemsResponse, type BulkDeleteItemsRequest, type BulkUpdateItemsRequest, type CTA, type CTAType, type Campaign, type CampaignBase, type CampaignBaseListResponse, type CampaignEnums, type CampaignItem, type CampaignItemListResponse, type CampaignListResponse, type CampaignPatchRequest, type CampaignReachEstimatorRequest, type CampaignReachEstimatorResponse, type CampaignStatus, type CampaignSummaryReport, type CampaignSummaryReportParams, type CampaignSummaryRow, type CampaignTargetingCollection, type CampaignType, CampaignsAPI, type CombinedAudience, type CombinedAudienceListResponse, type CombinedAudienceRule, CombinedAudiencesAPI, type ConnectionType, type ContextualSegment, type ContextualTargeting, type ConversionCategory, type ConversionCondition, type ConversionConditionPredicate, type ConversionEffect, type ConversionRule, type ConversionRuleListResponse, type ConversionRuleStatus, type ConversionRuleType, type ConversionRuleWithData, type ConversionRuleWithDataListResponse, type Coordinates, type Country, type CreateCampaignRequest, type CreateCombinedAudienceRequest, type CreateConversionRuleRequest, type CreateCustomAudienceRuleRequest, type CreateFirstPartyAudienceRequest, type CreateItemRequest, type CreateSharedBudgetRequest, type CreativeFocus, type CreativeFocusType, type CurrencyCode, type CustomAudienceCondition, type CustomAudienceConditionOperator, type CustomAudienceConditionType, type CustomAudienceRule, type CustomAudienceRuleListResponse, type CustomAudienceRuleStatus, DEFAULT_BASE_URL, type DMA, type DailyAdDeliveryModel, type DateString, type DayOfWeek, DictionaryAPI, type DuplicateCampaignRequest, type DuplicateSettings, type ExternalBrandSafety, type FirstPartyAudience, type FirstPartyAudienceTargeting, FirstPartyAudiencesAPI, HttpClient, type HttpClientOptions, type ImageLibraryItem, type ImageLibrarySearchParams, type ImageLibrarySearchResponse, type ImageUploadResponse, type ItemEnums, type ItemPolicyReview, type ItemStatus, type ItemType, type ItemVerificationPixel, type ItemViewabilityTag, ItemsAPI, type ListCampaignsOptions, type ListItemsOptions, type ListResponse, type LookalikeAudience, type LookalikeAudienceItem, type LookalikeAudienceTargeting, type MarketingObjective, type MarketplaceAudience, type MarkingLabelsTargeting, type MinimumCPC, type MultiTargeting, type MultiTargetingState, type NetworkAdvertisersResponse, OAuthManager, type OSVersion, type OperatingSystem, type OperatingSystemInfo, type PaginationParams, type PartnerType, type PatchOperation, PixelAPI, type Platform, type PlatformType, type PolicyReview, type PostalCode, type PostalCodeTargeting, type PricingModel, type Publisher, type PublisherBidModifier, type PublisherBidModifierCollection, type PublisherBidStrategyModifier, type PublisherBidStrategyModifierCollection, type PublisherListResponse, PublishersAPI, type RSSChildItem, type RSSChildrenListResponse, type RealtimeAdsDimension, type RealtimeAdsReport, type RealtimeAdsReportParams, type RealtimeAdsRow, type RealtimeCampaignDimension, type RealtimeCampaignReport, type RealtimeCampaignReportParams, type RealtimeCampaignRow, type Region, type ReportDimension, type ReportMetadata, ReportsAPI, type SharedBudget, SharedBudgetAPI, type SharedBudgetBase, type SharedBudgetBaseListResponse, type SharedBudgetCampaign, type SharedBudgetCampaignAttribute, type SpendingLimitModel, type StoredToken, TaboolaAuthError, TaboolaClient, type TaboolaConfig, TaboolaError, TaboolaForbiddenError, TaboolaNotFoundError, TaboolaRateLimitError, TaboolaServerError, TaboolaValidationError, TargetingAPI, type TargetingRestriction, type TargetingType, type TargetingValue, type TokenResponse, type TopCampaignContentReport, type TopCampaignContentReportParams, type TopCampaignContentRow, type TrafficAllocationMode, type UpdateAudienceTargetingRequest, type UpdateBlockedPublishersRequest, type UpdateCampaignRequest, type UpdateCombinedAudienceRequest, type UpdateContextualTargetingRequest, type UpdateConversionRuleRequest, type UpdateCustomAudienceRuleRequest, type UpdateFirstPartyAudienceTargetingRequest, type UpdateItemRequest, type UpdateLookalikeAudienceTargetingRequest, type UpdateMarkingLabelsTargetingRequest, type UpdatePostalCodeTargetingRequest, type UpdateSharedBudgetRequest, type VerificationPixel, type ViewabilityTag, createClient, parseApiError };
|