0
Estimate reach
One script reply has been approved by the moderators Verified
Created by hugo697 42 days ago Viewed 3790 times
0
Submitted by hugo697 Bun
Verified 42 days ago
1
//native
2
type Adhook = {
3
	token: string
4
}
5

6
export async function main(
7
	auth: Adhook,
8
	adhookToken: string,
9
	body: {
10
		placement?:
11
			| 'GOOGLE_SEARCH_NETWORK'
12
			| 'FACEBOOK_TIMELINE'
13
			| 'GOOGLE_DISPLAY_NETWORK'
14
			| 'FACEBOOK_AUDIENCE_NETWORK'
15
			| 'YOUTUBE'
16
			| 'INSTAGRAM_TIMELINE'
17
			| 'GOOGLE_SHOPPING'
18
			| 'FACEBOOK_MESSENGER'
19
			| 'LINKEDIN_CONTENT'
20
			| 'LINKEDIN_TEXT'
21
			| 'LINKEDIN_INMAIL'
22
			| 'LINKEDIN_DYNAMIC'
23
			| 'FACEBOOK_STORIES'
24
			| 'FACEBOOK_INSTANT_ARTICLES'
25
			| 'FACEBOOK_RIGHT_HAND_COLUMN'
26
			| 'FACEBOOK_MARKETPLACE'
27
			| 'INSTAGRAM_STORIES'
28
			| 'FACEBOOK_MESSENGER_STORIES'
29
			| 'FACEBOOK_SEARCH'
30
			| 'FACEBOOK_INSTREAM_VIDEO'
31
			| 'FACEBOOK_REELS'
32
			| 'INSTAGRAM_EXPLORE_HOME'
33
			| 'INSTAGRAM_PROFILE_FEED'
34
			| 'INSTAGRAM_PROFILE_REELS'
35
			| 'LINKEDIN_AUDIENCE_NETWORK'
36
			| 'TWITTER_ALL'
37
			| 'TWITTER_PUBLISHER_NETWORK'
38
			| 'TWITTER_SEARCH'
39
			| 'TWITTER_TIMELINE'
40
			| 'TWITTER_PROFILE'
41
			| 'GOOGLE_MY_BUSINESS'
42
			| 'FACEBOOK_UNKNOWN'
43
			| 'FACEBOOK_VIDEO_FEED'
44
			| 'INSTAGRAM_REELS'
45
			| 'INSTAGRAM_SHOP'
46
			| 'INSTAGRAM_EXPLORE'
47
			| 'TIKTOK_FEED'
48
			| 'META_AUTOMATIC'
49
		promotionId?: string
50
		target?: {
51
			id?: string
52
			name?: string
53
			namingTemplateElementValues?: { elementId?: string; value?: string }[]
54
			gender?: 'ALL' | 'MALE' | 'FEMALE'
55
			language?:
56
				| 'ALL'
57
				| 'DE'
58
				| 'FR'
59
				| 'EN'
60
				| 'IT'
61
				| 'ES'
62
				| 'PT'
63
				| 'NL'
64
				| 'SV'
65
				| 'RO'
66
				| 'CS'
67
				| 'EL'
68
				| 'TR'
69
				| 'PL'
70
				| 'DA'
71
				| 'EU'
72
				| 'CY'
73
				| 'CA'
74
				| 'HU'
75
				| 'SK'
76
				| 'SL'
77
				| 'SQ'
78
				| 'HY'
79
				| 'BS'
80
				| 'BG'
81
				| 'HR'
82
				| 'UK'
83
				| 'NO'
84
				| 'FI'
85
			additionalLanguages?:
86
				| 'ALL'
87
				| 'DE'
88
				| 'FR'
89
				| 'EN'
90
				| 'IT'
91
				| 'ES'
92
				| 'PT'
93
				| 'NL'
94
				| 'SV'
95
				| 'RO'
96
				| 'CS'
97
				| 'EL'
98
				| 'TR'
99
				| 'PL'
100
				| 'DA'
101
				| 'EU'
102
				| 'CY'
103
				| 'CA'
104
				| 'HU'
105
				| 'SK'
106
				| 'SL'
107
				| 'SQ'
108
				| 'HY'
109
				| 'BS'
110
				| 'BG'
111
				| 'HR'
112
				| 'UK'
113
				| 'NO'
114
				| 'FI'[]
115
			linkedInTargetingEntityLinkOperator?: 'AND' | 'OR'
116
			linkedInTargetingCriterias?: {
117
				facetUrn?: string
118
				urn?: string
119
				name?: string
120
				children?: {}[]
121
				parentUrn?: string
122
			}[]
123
			linkedInTargetingCriteriaGroups?: {
124
				linkedInTargetingEntityLinkOperator?: 'AND' | 'OR'
125
				linkedInTargetingCriterias?: {
126
					facetUrn?: string
127
					urn?: string
128
					name?: string
129
					children?: {}[]
130
					parentUrn?: string
131
				}[]
132
			}[]
133
			googleAdGroups?: {
134
				id?: string
135
				name?: string
136
				type?: 'STANDARD' | 'DYNAMIC'
137
				googleKeywords?: {
138
					name?: string
139
					competition?: 'LOW' | 'MEDIUM' | 'HIGH' | 'UNKNOWN'
140
					averageMonghtlySearchVolume?: number
141
					averageCpc?: number
142
					cpc?: number
143
					cpm?: number
144
					link?: string
145
					status?:
146
						| 'IS_RUNNING'
147
						| 'STOP'
148
						| 'IN_REVIEW'
149
						| 'REMOVED'
150
						| 'COMPLETED'
151
						| 'DISAPPROVED'
152
						| 'IS_STOPPING'
153
					bid?: number
154
					finalUrl?: string
155
					averageImpressionsPerMonth?: number
156
				}[]
157
				status?:
158
					| 'IS_RUNNING'
159
					| 'STOP'
160
					| 'IN_REVIEW'
161
					| 'REMOVED'
162
					| 'COMPLETED'
163
					| 'DISAPPROVED'
164
					| 'IS_STOPPING'
165
				bid?: number
166
				targetCpa?: number
167
				targetReturnOnAdSpendPercentage?: number
168
				trackingUrlTemplate?: string
169
				customParameters?: { key?: string; value?: string }[]
170
				adGroupExclusion?: {
171
					googleKeywords?: {
172
						name?: string
173
						competition?: 'LOW' | 'MEDIUM' | 'HIGH' | 'UNKNOWN'
174
						averageMonghtlySearchVolume?: number
175
						averageCpc?: number
176
						cpc?: number
177
						cpm?: number
178
						link?: string
179
						status?:
180
							| 'IS_RUNNING'
181
							| 'STOP'
182
							| 'IN_REVIEW'
183
							| 'REMOVED'
184
							| 'COMPLETED'
185
							| 'DISAPPROVED'
186
							| 'IS_STOPPING'
187
						bid?: number
188
						finalUrl?: string
189
						averageImpressionsPerMonth?: number
190
					}[]
191
					retargeting?: {
192
						googleUserLists?: {
193
							retargetingList?: {
194
								googleCustomerId?: string
195
								facebookAccountId?: string
196
								channel?:
197
									| 'GOOGLE_DISPLAY_NETWORK'
198
									| 'YOUTUBE'
199
									| 'GOOGLE_MY_BUSINESS'
200
									| 'FACEBOOK'
201
									| 'INSTAGRAM'
202
									| 'GOOGLE_ADWORDS'
203
									| 'GOOGLE_ANALYTICS'
204
									| 'XING'
205
									| 'LINKED_IN'
206
									| 'TWITTER'
207
									| 'TIKTOK'
208
									| 'BITLY'
209
								name?: string
210
								status?: 'OPEN' | 'NOT_ENOUGH_USERS' | 'CLOSED'
211
								userId?: string
212
								googleRetargetingListId?: string
213
								facebookCustomAudienceId?: string
214
								linkedInAudienceId?: string
215
								twitterAudienceId?: string
216
								tikTokAudienceId?: string
217
								urlPath?: string
218
								engagementSource?:
219
									| 'GOOGLE_DISPLAY_NETWORK'
220
									| 'YOUTUBE'
221
									| 'GOOGLE_MY_BUSINESS'
222
									| 'FACEBOOK'
223
									| 'INSTAGRAM'
224
									| 'GOOGLE_ADWORDS'
225
									| 'GOOGLE_ANALYTICS'
226
									| 'XING'
227
									| 'LINKED_IN'
228
									| 'TWITTER'
229
									| 'TIKTOK'
230
									| 'BITLY'
231
								engagementType?: 'ENGAGED' | 'FOLLOWER'
232
								description?: string
233
								audienceSize?: number
234
								retentionDays?: number
235
							}
236
							bidModifier?: number
237
							bidModifierType?: 'INCREASE' | 'DECREASE'
238
						}[]
239
						facebookCustomAudiences?: {
240
							retargetingList?: {
241
								googleCustomerId?: string
242
								facebookAccountId?: string
243
								channel?:
244
									| 'GOOGLE_DISPLAY_NETWORK'
245
									| 'YOUTUBE'
246
									| 'GOOGLE_MY_BUSINESS'
247
									| 'FACEBOOK'
248
									| 'INSTAGRAM'
249
									| 'GOOGLE_ADWORDS'
250
									| 'GOOGLE_ANALYTICS'
251
									| 'XING'
252
									| 'LINKED_IN'
253
									| 'TWITTER'
254
									| 'TIKTOK'
255
									| 'BITLY'
256
								name?: string
257
								status?: 'OPEN' | 'NOT_ENOUGH_USERS' | 'CLOSED'
258
								userId?: string
259
								googleRetargetingListId?: string
260
								facebookCustomAudienceId?: string
261
								linkedInAudienceId?: string
262
								twitterAudienceId?: string
263
								tikTokAudienceId?: string
264
								urlPath?: string
265
								engagementSource?:
266
									| 'GOOGLE_DISPLAY_NETWORK'
267
									| 'YOUTUBE'
268
									| 'GOOGLE_MY_BUSINESS'
269
									| 'FACEBOOK'
270
									| 'INSTAGRAM'
271
									| 'GOOGLE_ADWORDS'
272
									| 'GOOGLE_ANALYTICS'
273
									| 'XING'
274
									| 'LINKED_IN'
275
									| 'TWITTER'
276
									| 'TIKTOK'
277
									| 'BITLY'
278
								engagementType?: 'ENGAGED' | 'FOLLOWER'
279
								description?: string
280
								audienceSize?: number
281
								retentionDays?: number
282
							}
283
						}[]
284
						linkedInMatchedAudiences?: {
285
							retargetingList?: {
286
								googleCustomerId?: string
287
								facebookAccountId?: string
288
								channel?:
289
									| 'GOOGLE_DISPLAY_NETWORK'
290
									| 'YOUTUBE'
291
									| 'GOOGLE_MY_BUSINESS'
292
									| 'FACEBOOK'
293
									| 'INSTAGRAM'
294
									| 'GOOGLE_ADWORDS'
295
									| 'GOOGLE_ANALYTICS'
296
									| 'XING'
297
									| 'LINKED_IN'
298
									| 'TWITTER'
299
									| 'TIKTOK'
300
									| 'BITLY'
301
								name?: string
302
								status?: 'OPEN' | 'NOT_ENOUGH_USERS' | 'CLOSED'
303
								userId?: string
304
								googleRetargetingListId?: string
305
								facebookCustomAudienceId?: string
306
								linkedInAudienceId?: string
307
								twitterAudienceId?: string
308
								tikTokAudienceId?: string
309
								urlPath?: string
310
								engagementSource?:
311
									| 'GOOGLE_DISPLAY_NETWORK'
312
									| 'YOUTUBE'
313
									| 'GOOGLE_MY_BUSINESS'
314
									| 'FACEBOOK'
315
									| 'INSTAGRAM'
316
									| 'GOOGLE_ADWORDS'
317
									| 'GOOGLE_ANALYTICS'
318
									| 'XING'
319
									| 'LINKED_IN'
320
									| 'TWITTER'
321
									| 'TIKTOK'
322
									| 'BITLY'
323
								engagementType?: 'ENGAGED' | 'FOLLOWER'
324
								description?: string
325
								audienceSize?: number
326
								retentionDays?: number
327
							}
328
						}[]
329
						twitterCustomAudiences?: {
330
							retargetingList?: {
331
								googleCustomerId?: string
332
								facebookAccountId?: string
333
								channel?:
334
									| 'GOOGLE_DISPLAY_NETWORK'
335
									| 'YOUTUBE'
336
									| 'GOOGLE_MY_BUSINESS'
337
									| 'FACEBOOK'
338
									| 'INSTAGRAM'
339
									| 'GOOGLE_ADWORDS'
340
									| 'GOOGLE_ANALYTICS'
341
									| 'XING'
342
									| 'LINKED_IN'
343
									| 'TWITTER'
344
									| 'TIKTOK'
345
									| 'BITLY'
346
								name?: string
347
								status?: 'OPEN' | 'NOT_ENOUGH_USERS' | 'CLOSED'
348
								userId?: string
349
								googleRetargetingListId?: string
350
								facebookCustomAudienceId?: string
351
								linkedInAudienceId?: string
352
								twitterAudienceId?: string
353
								tikTokAudienceId?: string
354
								urlPath?: string
355
								engagementSource?:
356
									| 'GOOGLE_DISPLAY_NETWORK'
357
									| 'YOUTUBE'
358
									| 'GOOGLE_MY_BUSINESS'
359
									| 'FACEBOOK'
360
									| 'INSTAGRAM'
361
									| 'GOOGLE_ADWORDS'
362
									| 'GOOGLE_ANALYTICS'
363
									| 'XING'
364
									| 'LINKED_IN'
365
									| 'TWITTER'
366
									| 'TIKTOK'
367
									| 'BITLY'
368
								engagementType?: 'ENGAGED' | 'FOLLOWER'
369
								description?: string
370
								audienceSize?: number
371
								retentionDays?: number
372
							}
373
						}[]
374
						tikTokAudiences?: {
375
							retargetingList?: {
376
								googleCustomerId?: string
377
								facebookAccountId?: string
378
								channel?:
379
									| 'GOOGLE_DISPLAY_NETWORK'
380
									| 'YOUTUBE'
381
									| 'GOOGLE_MY_BUSINESS'
382
									| 'FACEBOOK'
383
									| 'INSTAGRAM'
384
									| 'GOOGLE_ADWORDS'
385
									| 'GOOGLE_ANALYTICS'
386
									| 'XING'
387
									| 'LINKED_IN'
388
									| 'TWITTER'
389
									| 'TIKTOK'
390
									| 'BITLY'
391
								name?: string
392
								status?: 'OPEN' | 'NOT_ENOUGH_USERS' | 'CLOSED'
393
								userId?: string
394
								googleRetargetingListId?: string
395
								facebookCustomAudienceId?: string
396
								linkedInAudienceId?: string
397
								twitterAudienceId?: string
398
								tikTokAudienceId?: string
399
								urlPath?: string
400
								engagementSource?:
401
									| 'GOOGLE_DISPLAY_NETWORK'
402
									| 'YOUTUBE'
403
									| 'GOOGLE_MY_BUSINESS'
404
									| 'FACEBOOK'
405
									| 'INSTAGRAM'
406
									| 'GOOGLE_ADWORDS'
407
									| 'GOOGLE_ANALYTICS'
408
									| 'XING'
409
									| 'LINKED_IN'
410
									| 'TWITTER'
411
									| 'TIKTOK'
412
									| 'BITLY'
413
								engagementType?: 'ENGAGED' | 'FOLLOWER'
414
								description?: string
415
								audienceSize?: number
416
								retentionDays?: number
417
							}
418
						}[]
419
					}
420
				}
421
				retargeting?: {
422
					googleUserLists?: {
423
						retargetingList?: {
424
							googleCustomerId?: string
425
							facebookAccountId?: string
426
							channel?:
427
								| 'GOOGLE_DISPLAY_NETWORK'
428
								| 'YOUTUBE'
429
								| 'GOOGLE_MY_BUSINESS'
430
								| 'FACEBOOK'
431
								| 'INSTAGRAM'
432
								| 'GOOGLE_ADWORDS'
433
								| 'GOOGLE_ANALYTICS'
434
								| 'XING'
435
								| 'LINKED_IN'
436
								| 'TWITTER'
437
								| 'TIKTOK'
438
								| 'BITLY'
439
							name?: string
440
							status?: 'OPEN' | 'NOT_ENOUGH_USERS' | 'CLOSED'
441
							userId?: string
442
							googleRetargetingListId?: string
443
							facebookCustomAudienceId?: string
444
							linkedInAudienceId?: string
445
							twitterAudienceId?: string
446
							tikTokAudienceId?: string
447
							urlPath?: string
448
							engagementSource?:
449
								| 'GOOGLE_DISPLAY_NETWORK'
450
								| 'YOUTUBE'
451
								| 'GOOGLE_MY_BUSINESS'
452
								| 'FACEBOOK'
453
								| 'INSTAGRAM'
454
								| 'GOOGLE_ADWORDS'
455
								| 'GOOGLE_ANALYTICS'
456
								| 'XING'
457
								| 'LINKED_IN'
458
								| 'TWITTER'
459
								| 'TIKTOK'
460
								| 'BITLY'
461
							engagementType?: 'ENGAGED' | 'FOLLOWER'
462
							description?: string
463
							audienceSize?: number
464
							retentionDays?: number
465
						}
466
						bidModifier?: number
467
						bidModifierType?: 'INCREASE' | 'DECREASE'
468
					}[]
469
					facebookCustomAudiences?: {
470
						retargetingList?: {
471
							googleCustomerId?: string
472
							facebookAccountId?: string
473
							channel?:
474
								| 'GOOGLE_DISPLAY_NETWORK'
475
								| 'YOUTUBE'
476
								| 'GOOGLE_MY_BUSINESS'
477
								| 'FACEBOOK'
478
								| 'INSTAGRAM'
479
								| 'GOOGLE_ADWORDS'
480
								| 'GOOGLE_ANALYTICS'
481
								| 'XING'
482
								| 'LINKED_IN'
483
								| 'TWITTER'
484
								| 'TIKTOK'
485
								| 'BITLY'
486
							name?: string
487
							status?: 'OPEN' | 'NOT_ENOUGH_USERS' | 'CLOSED'
488
							userId?: string
489
							googleRetargetingListId?: string
490
							facebookCustomAudienceId?: string
491
							linkedInAudienceId?: string
492
							twitterAudienceId?: string
493
							tikTokAudienceId?: string
494
							urlPath?: string
495
							engagementSource?:
496
								| 'GOOGLE_DISPLAY_NETWORK'
497
								| 'YOUTUBE'
498
								| 'GOOGLE_MY_BUSINESS'
499
								| 'FACEBOOK'
500
								| 'INSTAGRAM'
501
								| 'GOOGLE_ADWORDS'
502
								| 'GOOGLE_ANALYTICS'
503
								| 'XING'
504
								| 'LINKED_IN'
505
								| 'TWITTER'
506
								| 'TIKTOK'
507
								| 'BITLY'
508
							engagementType?: 'ENGAGED' | 'FOLLOWER'
509
							description?: string
510
							audienceSize?: number
511
							retentionDays?: number
512
						}
513
					}[]
514
					linkedInMatchedAudiences?: {
515
						retargetingList?: {
516
							googleCustomerId?: string
517
							facebookAccountId?: string
518
							channel?:
519
								| 'GOOGLE_DISPLAY_NETWORK'
520
								| 'YOUTUBE'
521
								| 'GOOGLE_MY_BUSINESS'
522
								| 'FACEBOOK'
523
								| 'INSTAGRAM'
524
								| 'GOOGLE_ADWORDS'
525
								| 'GOOGLE_ANALYTICS'
526
								| 'XING'
527
								| 'LINKED_IN'
528
								| 'TWITTER'
529
								| 'TIKTOK'
530
								| 'BITLY'
531
							name?: string
532
							status?: 'OPEN' | 'NOT_ENOUGH_USERS' | 'CLOSED'
533
							userId?: string
534
							googleRetargetingListId?: string
535
							facebookCustomAudienceId?: string
536
							linkedInAudienceId?: string
537
							twitterAudienceId?: string
538
							tikTokAudienceId?: string
539
							urlPath?: string
540
							engagementSource?:
541
								| 'GOOGLE_DISPLAY_NETWORK'
542
								| 'YOUTUBE'
543
								| 'GOOGLE_MY_BUSINESS'
544
								| 'FACEBOOK'
545
								| 'INSTAGRAM'
546
								| 'GOOGLE_ADWORDS'
547
								| 'GOOGLE_ANALYTICS'
548
								| 'XING'
549
								| 'LINKED_IN'
550
								| 'TWITTER'
551
								| 'TIKTOK'
552
								| 'BITLY'
553
							engagementType?: 'ENGAGED' | 'FOLLOWER'
554
							description?: string
555
							audienceSize?: number
556
							retentionDays?: number
557
						}
558
					}[]
559
					twitterCustomAudiences?: {
560
						retargetingList?: {
561
							googleCustomerId?: string
562
							facebookAccountId?: string
563
							channel?:
564
								| 'GOOGLE_DISPLAY_NETWORK'
565
								| 'YOUTUBE'
566
								| 'GOOGLE_MY_BUSINESS'
567
								| 'FACEBOOK'
568
								| 'INSTAGRAM'
569
								| 'GOOGLE_ADWORDS'
570
								| 'GOOGLE_ANALYTICS'
571
								| 'XING'
572
								| 'LINKED_IN'
573
								| 'TWITTER'
574
								| 'TIKTOK'
575
								| 'BITLY'
576
							name?: string
577
							status?: 'OPEN' | 'NOT_ENOUGH_USERS' | 'CLOSED'
578
							userId?: string
579
							googleRetargetingListId?: string
580
							facebookCustomAudienceId?: string
581
							linkedInAudienceId?: string
582
							twitterAudienceId?: string
583
							tikTokAudienceId?: string
584
							urlPath?: string
585
							engagementSource?:
586
								| 'GOOGLE_DISPLAY_NETWORK'
587
								| 'YOUTUBE'
588
								| 'GOOGLE_MY_BUSINESS'
589
								| 'FACEBOOK'
590
								| 'INSTAGRAM'
591
								| 'GOOGLE_ADWORDS'
592
								| 'GOOGLE_ANALYTICS'
593
								| 'XING'
594
								| 'LINKED_IN'
595
								| 'TWITTER'
596
								| 'TIKTOK'
597
								| 'BITLY'
598
							engagementType?: 'ENGAGED' | 'FOLLOWER'
599
							description?: string
600
							audienceSize?: number
601
							retentionDays?: number
602
						}
603
					}[]
604
					tikTokAudiences?: {
605
						retargetingList?: {
606
							googleCustomerId?: string
607
							facebookAccountId?: string
608
							channel?:
609
								| 'GOOGLE_DISPLAY_NETWORK'
610
								| 'YOUTUBE'
611
								| 'GOOGLE_MY_BUSINESS'
612
								| 'FACEBOOK'
613
								| 'INSTAGRAM'
614
								| 'GOOGLE_ADWORDS'
615
								| 'GOOGLE_ANALYTICS'
616
								| 'XING'
617
								| 'LINKED_IN'
618
								| 'TWITTER'
619
								| 'TIKTOK'
620
								| 'BITLY'
621
							name?: string
622
							status?: 'OPEN' | 'NOT_ENOUGH_USERS' | 'CLOSED'
623
							userId?: string
624
							googleRetargetingListId?: string
625
							facebookCustomAudienceId?: string
626
							linkedInAudienceId?: string
627
							twitterAudienceId?: string
628
							tikTokAudienceId?: string
629
							urlPath?: string
630
							engagementSource?:
631
								| 'GOOGLE_DISPLAY_NETWORK'
632
								| 'YOUTUBE'
633
								| 'GOOGLE_MY_BUSINESS'
634
								| 'FACEBOOK'
635
								| 'INSTAGRAM'
636
								| 'GOOGLE_ADWORDS'
637
								| 'GOOGLE_ANALYTICS'
638
								| 'XING'
639
								| 'LINKED_IN'
640
								| 'TWITTER'
641
								| 'TIKTOK'
642
								| 'BITLY'
643
							engagementType?: 'ENGAGED' | 'FOLLOWER'
644
							description?: string
645
							audienceSize?: number
646
							retentionDays?: number
647
						}
648
					}[]
649
				}
650
				devices?: {
651
					showOnMobile?: false | true
652
					showOnTablet?: false | true
653
					showOnDesktop?: false | true
654
					mobileBidModifier?: number
655
					mobileBidModifierType?: 'INCREASE' | 'DECREASE'
656
					tabletBidModifier?: number
657
					tabletBidModifierType?: 'INCREASE' | 'DECREASE'
658
					desktopBidModifier?: number
659
					desktopBidModifierType?: 'INCREASE' | 'DECREASE'
660
				}
661
				extension?: {
662
					sitelinkExtensions?: {
663
						feedId?: number
664
						feedItemId?: number
665
						assetId?: number
666
						adwordsCustomerId?: string
667
						extensionStatus?: 'ACCOUNT' | 'CAMPAIGN' | 'ADGROUP' | 'NONE'
668
						extensionRunStatus?:
669
							| 'ADDED_CAMPAIGN'
670
							| 'ADDED_ADGROUP'
671
							| 'ADDED_ACCOUNT'
672
							| 'IS_CAMPAIGN_LINKED'
673
							| 'IS_ADGROUP_LINKED'
674
							| 'UNLINKING'
675
							| 'UNLINKED'
676
						sitelinkName?: string
677
						sitelinkUrl?: string
678
						sitelinkDescription1?: string
679
						sitelinkDescription2?: string
680
						finalUrls?: string[]
681
						finalMobileUrls?: string[]
682
						sitelinkTrackingUrl?: string
683
					}[]
684
					calloutExtensions?: {
685
						feedId?: number
686
						feedItemId?: number
687
						assetId?: number
688
						adwordsCustomerId?: string
689
						extensionStatus?: 'ACCOUNT' | 'CAMPAIGN' | 'ADGROUP' | 'NONE'
690
						extensionRunStatus?:
691
							| 'ADDED_CAMPAIGN'
692
							| 'ADDED_ADGROUP'
693
							| 'ADDED_ACCOUNT'
694
							| 'IS_CAMPAIGN_LINKED'
695
							| 'IS_ADGROUP_LINKED'
696
							| 'UNLINKING'
697
							| 'UNLINKED'
698
						calloutText?: string
699
					}[]
700
					callExtensions?: {
701
						feedId?: number
702
						feedItemId?: number
703
						assetId?: number
704
						adwordsCustomerId?: string
705
						extensionStatus?: 'ACCOUNT' | 'CAMPAIGN' | 'ADGROUP' | 'NONE'
706
						extensionRunStatus?:
707
							| 'ADDED_CAMPAIGN'
708
							| 'ADDED_ADGROUP'
709
							| 'ADDED_ACCOUNT'
710
							| 'IS_CAMPAIGN_LINKED'
711
							| 'IS_ADGROUP_LINKED'
712
							| 'UNLINKING'
713
							| 'UNLINKED'
714
						phoneNumber?: string
715
						country?: string
716
					}[]
717
				}
718
				adRotationMode?: 'OPTIMIZE' | 'CONVERSION_OPTIMIZE' | 'ROTATE' | 'ROTATE_INDEFINITELY'
719
				createdFromTargetingTemplateId?: string
720
			}[]
721
			twitterTargetingCriterias?: {
722
				type?: 'KEYWORD' | 'FOLLOWER_LOOKALIKE'
723
				value?: string
724
				twitterId?: string
725
			}[]
726
			tikTokTargetingCriterias?: {
727
				id?: string
728
				name?: string
729
				type?:
730
					| 'INTEREST_CATEGORY'
731
					| 'INTEREST_KEYWORD'
732
					| 'ACTION_CATEGORY_VIDEO'
733
					| 'ACTION_CATEGORY_CREATOR'
734
					| 'HASHTAG'
735
				children?: {}[]
736
			}[]
737
			facebookInterestGroups?: {
738
				facebookInterests?: {
739
					id?: string
740
					type?: string
741
					name?: string
742
					audience_size?: number
743
					children?: {}[]
744
					path?: string[]
745
				}[]
746
			}[]
747
			facebookInterests?: {
748
				id?: string
749
				type?: string
750
				name?: string
751
				audience_size?: number
752
				children?: {}[]
753
				path?: string[]
754
			}[]
755
			facebookAdGroups?: {
756
				id?: string
757
				name?: string
758
				facebookInterests?: {
759
					id?: string
760
					type?: string
761
					name?: string
762
					audience_size?: number
763
					children?: {}[]
764
					path?: string[]
765
				}[]
766
				status?:
767
					| 'IS_RUNNING'
768
					| 'STOP'
769
					| 'IN_REVIEW'
770
					| 'REMOVED'
771
					| 'COMPLETED'
772
					| 'DISAPPROVED'
773
					| 'IS_STOPPING'
774
				bid?: number
775
				retargeting?: {
776
					googleUserLists?: {
777
						retargetingList?: {
778
							googleCustomerId?: string
779
							facebookAccountId?: string
780
							channel?:
781
								| 'GOOGLE_DISPLAY_NETWORK'
782
								| 'YOUTUBE'
783
								| 'GOOGLE_MY_BUSINESS'
784
								| 'FACEBOOK'
785
								| 'INSTAGRAM'
786
								| 'GOOGLE_ADWORDS'
787
								| 'GOOGLE_ANALYTICS'
788
								| 'XING'
789
								| 'LINKED_IN'
790
								| 'TWITTER'
791
								| 'TIKTOK'
792
								| 'BITLY'
793
							name?: string
794
							status?: 'OPEN' | 'NOT_ENOUGH_USERS' | 'CLOSED'
795
							userId?: string
796
							googleRetargetingListId?: string
797
							facebookCustomAudienceId?: string
798
							linkedInAudienceId?: string
799
							twitterAudienceId?: string
800
							tikTokAudienceId?: string
801
							urlPath?: string
802
							engagementSource?:
803
								| 'GOOGLE_DISPLAY_NETWORK'
804
								| 'YOUTUBE'
805
								| 'GOOGLE_MY_BUSINESS'
806
								| 'FACEBOOK'
807
								| 'INSTAGRAM'
808
								| 'GOOGLE_ADWORDS'
809
								| 'GOOGLE_ANALYTICS'
810
								| 'XING'
811
								| 'LINKED_IN'
812
								| 'TWITTER'
813
								| 'TIKTOK'
814
								| 'BITLY'
815
							engagementType?: 'ENGAGED' | 'FOLLOWER'
816
							description?: string
817
							audienceSize?: number
818
							retentionDays?: number
819
						}
820
						bidModifier?: number
821
						bidModifierType?: 'INCREASE' | 'DECREASE'
822
					}[]
823
					facebookCustomAudiences?: {
824
						retargetingList?: {
825
							googleCustomerId?: string
826
							facebookAccountId?: string
827
							channel?:
828
								| 'GOOGLE_DISPLAY_NETWORK'
829
								| 'YOUTUBE'
830
								| 'GOOGLE_MY_BUSINESS'
831
								| 'FACEBOOK'
832
								| 'INSTAGRAM'
833
								| 'GOOGLE_ADWORDS'
834
								| 'GOOGLE_ANALYTICS'
835
								| 'XING'
836
								| 'LINKED_IN'
837
								| 'TWITTER'
838
								| 'TIKTOK'
839
								| 'BITLY'
840
							name?: string
841
							status?: 'OPEN' | 'NOT_ENOUGH_USERS' | 'CLOSED'
842
							userId?: string
843
							googleRetargetingListId?: string
844
							facebookCustomAudienceId?: string
845
							linkedInAudienceId?: string
846
							twitterAudienceId?: string
847
							tikTokAudienceId?: string
848
							urlPath?: string
849
							engagementSource?:
850
								| 'GOOGLE_DISPLAY_NETWORK'
851
								| 'YOUTUBE'
852
								| 'GOOGLE_MY_BUSINESS'
853
								| 'FACEBOOK'
854
								| 'INSTAGRAM'
855
								| 'GOOGLE_ADWORDS'
856
								| 'GOOGLE_ANALYTICS'
857
								| 'XING'
858
								| 'LINKED_IN'
859
								| 'TWITTER'
860
								| 'TIKTOK'
861
								| 'BITLY'
862
							engagementType?: 'ENGAGED' | 'FOLLOWER'
863
							description?: string
864
							audienceSize?: number
865
							retentionDays?: number
866
						}
867
					}[]
868
					linkedInMatchedAudiences?: {
869
						retargetingList?: {
870
							googleCustomerId?: string
871
							facebookAccountId?: string
872
							channel?:
873
								| 'GOOGLE_DISPLAY_NETWORK'
874
								| 'YOUTUBE'
875
								| 'GOOGLE_MY_BUSINESS'
876
								| 'FACEBOOK'
877
								| 'INSTAGRAM'
878
								| 'GOOGLE_ADWORDS'
879
								| 'GOOGLE_ANALYTICS'
880
								| 'XING'
881
								| 'LINKED_IN'
882
								| 'TWITTER'
883
								| 'TIKTOK'
884
								| 'BITLY'
885
							name?: string
886
							status?: 'OPEN' | 'NOT_ENOUGH_USERS' | 'CLOSED'
887
							userId?: string
888
							googleRetargetingListId?: string
889
							facebookCustomAudienceId?: string
890
							linkedInAudienceId?: string
891
							twitterAudienceId?: string
892
							tikTokAudienceId?: string
893
							urlPath?: string
894
							engagementSource?:
895
								| 'GOOGLE_DISPLAY_NETWORK'
896
								| 'YOUTUBE'
897
								| 'GOOGLE_MY_BUSINESS'
898
								| 'FACEBOOK'
899
								| 'INSTAGRAM'
900
								| 'GOOGLE_ADWORDS'
901
								| 'GOOGLE_ANALYTICS'
902
								| 'XING'
903
								| 'LINKED_IN'
904
								| 'TWITTER'
905
								| 'TIKTOK'
906
								| 'BITLY'
907
							engagementType?: 'ENGAGED' | 'FOLLOWER'
908
							description?: string
909
							audienceSize?: number
910
							retentionDays?: number
911
						}
912
					}[]
913
					twitterCustomAudiences?: {
914
						retargetingList?: {
915
							googleCustomerId?: string
916
							facebookAccountId?: string
917
							channel?:
918
								| 'GOOGLE_DISPLAY_NETWORK'
919
								| 'YOUTUBE'
920
								| 'GOOGLE_MY_BUSINESS'
921
								| 'FACEBOOK'
922
								| 'INSTAGRAM'
923
								| 'GOOGLE_ADWORDS'
924
								| 'GOOGLE_ANALYTICS'
925
								| 'XING'
926
								| 'LINKED_IN'
927
								| 'TWITTER'
928
								| 'TIKTOK'
929
								| 'BITLY'
930
							name?: string
931
							status?: 'OPEN' | 'NOT_ENOUGH_USERS' | 'CLOSED'
932
							userId?: string
933
							googleRetargetingListId?: string
934
							facebookCustomAudienceId?: string
935
							linkedInAudienceId?: string
936
							twitterAudienceId?: string
937
							tikTokAudienceId?: string
938
							urlPath?: string
939
							engagementSource?:
940
								| 'GOOGLE_DISPLAY_NETWORK'
941
								| 'YOUTUBE'
942
								| 'GOOGLE_MY_BUSINESS'
943
								| 'FACEBOOK'
944
								| 'INSTAGRAM'
945
								| 'GOOGLE_ADWORDS'
946
								| 'GOOGLE_ANALYTICS'
947
								| 'XING'
948
								| 'LINKED_IN'
949
								| 'TWITTER'
950
								| 'TIKTOK'
951
								| 'BITLY'
952
							engagementType?: 'ENGAGED' | 'FOLLOWER'
953
							description?: string
954
							audienceSize?: number
955
							retentionDays?: number
956
						}
957
					}[]
958
					tikTokAudiences?: {
959
						retargetingList?: {
960
							googleCustomerId?: string
961
							facebookAccountId?: string
962
							channel?:
963
								| 'GOOGLE_DISPLAY_NETWORK'
964
								| 'YOUTUBE'
965
								| 'GOOGLE_MY_BUSINESS'
966
								| 'FACEBOOK'
967
								| 'INSTAGRAM'
968
								| 'GOOGLE_ADWORDS'
969
								| 'GOOGLE_ANALYTICS'
970
								| 'XING'
971
								| 'LINKED_IN'
972
								| 'TWITTER'
973
								| 'TIKTOK'
974
								| 'BITLY'
975
							name?: string
976
							status?: 'OPEN' | 'NOT_ENOUGH_USERS' | 'CLOSED'
977
							userId?: string
978
							googleRetargetingListId?: string
979
							facebookCustomAudienceId?: string
980
							linkedInAudienceId?: string
981
							twitterAudienceId?: string
982
							tikTokAudienceId?: string
983
							urlPath?: string
984
							engagementSource?:
985
								| 'GOOGLE_DISPLAY_NETWORK'
986
								| 'YOUTUBE'
987
								| 'GOOGLE_MY_BUSINESS'
988
								| 'FACEBOOK'
989
								| 'INSTAGRAM'
990
								| 'GOOGLE_ADWORDS'
991
								| 'GOOGLE_ANALYTICS'
992
								| 'XING'
993
								| 'LINKED_IN'
994
								| 'TWITTER'
995
								| 'TIKTOK'
996
								| 'BITLY'
997
							engagementType?: 'ENGAGED' | 'FOLLOWER'
998
							description?: string
999
							audienceSize?: number
1000
							retentionDays?: number
1001
						}
1002
					}[]
1003
				}
1004
				devices?: {
1005
					showOnMobile?: false | true
1006
					showOnTablet?: false | true
1007
					showOnDesktop?: false | true
1008
					mobileBidModifier?: number
1009
					mobileBidModifierType?: 'INCREASE' | 'DECREASE'
1010
					tabletBidModifier?: number
1011
					tabletBidModifierType?: 'INCREASE' | 'DECREASE'
1012
					desktopBidModifier?: number
1013
					desktopBidModifierType?: 'INCREASE' | 'DECREASE'
1014
				}
1015
			}[]
1016
			targetRegions?: {
1017
				type?: 'CITY' | 'REGION' | 'ZIP' | 'COORDINATE'
1018
				city?: string
1019
				useRadius?: false | true
1020
				radiusInKm?: number
1021
				countryCode?: string
1022
				lat?: number
1023
				lon?: number
1024
				bidModifier?: number
1025
				bidModifierType?: 'INCREASE' | 'DECREASE'
1026
				linkedInUrn?: string
1027
				twitterTargetingValue?: string
1028
				tikTokLocationId?: string
1029
				channel?:
1030
					| 'GOOGLE_DISPLAY_NETWORK'
1031
					| 'YOUTUBE'
1032
					| 'GOOGLE_MY_BUSINESS'
1033
					| 'FACEBOOK'
1034
					| 'INSTAGRAM'
1035
					| 'GOOGLE_ADWORDS'
1036
					| 'GOOGLE_ANALYTICS'
1037
					| 'XING'
1038
					| 'LINKED_IN'
1039
					| 'TWITTER'
1040
					| 'TIKTOK'
1041
					| 'BITLY'
1042
				externalPlaceId?: string
1043
				regionReviewEnabled?: false | true
1044
				regionReviewStatus?: 'PENDING_APPROVAL' | 'APPROVED' | 'NOT_APPROVED'
1045
			}[]
1046
			targetRegionBehaviour?: {
1047
				interestedInThatRegion?: false | true
1048
				locatedInThatRegion?: false | true
1049
			}
1050
			age?: { value?: number[] }
1051
			yearsOfExperience?: { enabled?: false | true; value?: number[] }
1052
			devices?: {
1053
				showOnMobile?: false | true
1054
				showOnTablet?: false | true
1055
				showOnDesktop?: false | true
1056
				mobileBidModifier?: number
1057
				mobileBidModifierType?: 'INCREASE' | 'DECREASE'
1058
				tabletBidModifier?: number
1059
				tabletBidModifierType?: 'INCREASE' | 'DECREASE'
1060
				desktopBidModifier?: number
1061
				desktopBidModifierType?: 'INCREASE' | 'DECREASE'
1062
			}
1063
			targetExclusion?: {
1064
				facebookInterests?: {
1065
					id?: string
1066
					type?: string
1067
					name?: string
1068
					audience_size?: number
1069
					children?: {}[]
1070
					path?: string[]
1071
				}[]
1072
				linkedInTargetingCriterias?: {
1073
					facetUrn?: string
1074
					urn?: string
1075
					name?: string
1076
					children?: {}[]
1077
					parentUrn?: string
1078
				}[]
1079
				googleKeywords?: {
1080
					name?: string
1081
					competition?: 'LOW' | 'MEDIUM' | 'HIGH' | 'UNKNOWN'
1082
					averageMonghtlySearchVolume?: number
1083
					averageCpc?: number
1084
					cpc?: number
1085
					cpm?: number
1086
					link?: string
1087
					status?:
1088
						| 'IS_RUNNING'
1089
						| 'STOP'
1090
						| 'IN_REVIEW'
1091
						| 'REMOVED'
1092
						| 'COMPLETED'
1093
						| 'DISAPPROVED'
1094
						| 'IS_STOPPING'
1095
					bid?: number
1096
					finalUrl?: string
1097
					averageImpressionsPerMonth?: number
1098
				}[]
1099
				targetRegions?: {
1100
					type?: 'CITY' | 'REGION' | 'ZIP' | 'COORDINATE'
1101
					city?: string
1102
					useRadius?: false | true
1103
					radiusInKm?: number
1104
					countryCode?: string
1105
					lat?: number
1106
					lon?: number
1107
					bidModifier?: number
1108
					bidModifierType?: 'INCREASE' | 'DECREASE'
1109
					linkedInUrn?: string
1110
					twitterTargetingValue?: string
1111
					tikTokLocationId?: string
1112
					channel?:
1113
						| 'GOOGLE_DISPLAY_NETWORK'
1114
						| 'YOUTUBE'
1115
						| 'GOOGLE_MY_BUSINESS'
1116
						| 'FACEBOOK'
1117
						| 'INSTAGRAM'
1118
						| 'GOOGLE_ADWORDS'
1119
						| 'GOOGLE_ANALYTICS'
1120
						| 'XING'
1121
						| 'LINKED_IN'
1122
						| 'TWITTER'
1123
						| 'TIKTOK'
1124
						| 'BITLY'
1125
					externalPlaceId?: string
1126
					regionReviewEnabled?: false | true
1127
					regionReviewStatus?: 'PENDING_APPROVAL' | 'APPROVED' | 'NOT_APPROVED'
1128
				}[]
1129
				retargeting?: {
1130
					googleUserLists?: {
1131
						retargetingList?: {
1132
							googleCustomerId?: string
1133
							facebookAccountId?: string
1134
							channel?:
1135
								| 'GOOGLE_DISPLAY_NETWORK'
1136
								| 'YOUTUBE'
1137
								| 'GOOGLE_MY_BUSINESS'
1138
								| 'FACEBOOK'
1139
								| 'INSTAGRAM'
1140
								| 'GOOGLE_ADWORDS'
1141
								| 'GOOGLE_ANALYTICS'
1142
								| 'XING'
1143
								| 'LINKED_IN'
1144
								| 'TWITTER'
1145
								| 'TIKTOK'
1146
								| 'BITLY'
1147
							name?: string
1148
							status?: 'OPEN' | 'NOT_ENOUGH_USERS' | 'CLOSED'
1149
							userId?: string
1150
							googleRetargetingListId?: string
1151
							facebookCustomAudienceId?: string
1152
							linkedInAudienceId?: string
1153
							twitterAudienceId?: string
1154
							tikTokAudienceId?: string
1155
							urlPath?: string
1156
							engagementSource?:
1157
								| 'GOOGLE_DISPLAY_NETWORK'
1158
								| 'YOUTUBE'
1159
								| 'GOOGLE_MY_BUSINESS'
1160
								| 'FACEBOOK'
1161
								| 'INSTAGRAM'
1162
								| 'GOOGLE_ADWORDS'
1163
								| 'GOOGLE_ANALYTICS'
1164
								| 'XING'
1165
								| 'LINKED_IN'
1166
								| 'TWITTER'
1167
								| 'TIKTOK'
1168
								| 'BITLY'
1169
							engagementType?: 'ENGAGED' | 'FOLLOWER'
1170
							description?: string
1171
							audienceSize?: number
1172
							retentionDays?: number
1173
						}
1174
						bidModifier?: number
1175
						bidModifierType?: 'INCREASE' | 'DECREASE'
1176
					}[]
1177
					facebookCustomAudiences?: {
1178
						retargetingList?: {
1179
							googleCustomerId?: string
1180
							facebookAccountId?: string
1181
							channel?:
1182
								| 'GOOGLE_DISPLAY_NETWORK'
1183
								| 'YOUTUBE'
1184
								| 'GOOGLE_MY_BUSINESS'
1185
								| 'FACEBOOK'
1186
								| 'INSTAGRAM'
1187
								| 'GOOGLE_ADWORDS'
1188
								| 'GOOGLE_ANALYTICS'
1189
								| 'XING'
1190
								| 'LINKED_IN'
1191
								| 'TWITTER'
1192
								| 'TIKTOK'
1193
								| 'BITLY'
1194
							name?: string
1195
							status?: 'OPEN' | 'NOT_ENOUGH_USERS' | 'CLOSED'
1196
							userId?: string
1197
							googleRetargetingListId?: string
1198
							facebookCustomAudienceId?: string
1199
							linkedInAudienceId?: string
1200
							twitterAudienceId?: string
1201
							tikTokAudienceId?: string
1202
							urlPath?: string
1203
							engagementSource?:
1204
								| 'GOOGLE_DISPLAY_NETWORK'
1205
								| 'YOUTUBE'
1206
								| 'GOOGLE_MY_BUSINESS'
1207
								| 'FACEBOOK'
1208
								| 'INSTAGRAM'
1209
								| 'GOOGLE_ADWORDS'
1210
								| 'GOOGLE_ANALYTICS'
1211
								| 'XING'
1212
								| 'LINKED_IN'
1213
								| 'TWITTER'
1214
								| 'TIKTOK'
1215
								| 'BITLY'
1216
							engagementType?: 'ENGAGED' | 'FOLLOWER'
1217
							description?: string
1218
							audienceSize?: number
1219
							retentionDays?: number
1220
						}
1221
					}[]
1222
					linkedInMatchedAudiences?: {
1223
						retargetingList?: {
1224
							googleCustomerId?: string
1225
							facebookAccountId?: string
1226
							channel?:
1227
								| 'GOOGLE_DISPLAY_NETWORK'
1228
								| 'YOUTUBE'
1229
								| 'GOOGLE_MY_BUSINESS'
1230
								| 'FACEBOOK'
1231
								| 'INSTAGRAM'
1232
								| 'GOOGLE_ADWORDS'
1233
								| 'GOOGLE_ANALYTICS'
1234
								| 'XING'
1235
								| 'LINKED_IN'
1236
								| 'TWITTER'
1237
								| 'TIKTOK'
1238
								| 'BITLY'
1239
							name?: string
1240
							status?: 'OPEN' | 'NOT_ENOUGH_USERS' | 'CLOSED'
1241
							userId?: string
1242
							googleRetargetingListId?: string
1243
							facebookCustomAudienceId?: string
1244
							linkedInAudienceId?: string
1245
							twitterAudienceId?: string
1246
							tikTokAudienceId?: string
1247
							urlPath?: string
1248
							engagementSource?:
1249
								| 'GOOGLE_DISPLAY_NETWORK'
1250
								| 'YOUTUBE'
1251
								| 'GOOGLE_MY_BUSINESS'
1252
								| 'FACEBOOK'
1253
								| 'INSTAGRAM'
1254
								| 'GOOGLE_ADWORDS'
1255
								| 'GOOGLE_ANALYTICS'
1256
								| 'XING'
1257
								| 'LINKED_IN'
1258
								| 'TWITTER'
1259
								| 'TIKTOK'
1260
								| 'BITLY'
1261
							engagementType?: 'ENGAGED' | 'FOLLOWER'
1262
							description?: string
1263
							audienceSize?: number
1264
							retentionDays?: number
1265
						}
1266
					}[]
1267
					twitterCustomAudiences?: {
1268
						retargetingList?: {
1269
							googleCustomerId?: string
1270
							facebookAccountId?: string
1271
							channel?:
1272
								| 'GOOGLE_DISPLAY_NETWORK'
1273
								| 'YOUTUBE'
1274
								| 'GOOGLE_MY_BUSINESS'
1275
								| 'FACEBOOK'
1276
								| 'INSTAGRAM'
1277
								| 'GOOGLE_ADWORDS'
1278
								| 'GOOGLE_ANALYTICS'
1279
								| 'XING'
1280
								| 'LINKED_IN'
1281
								| 'TWITTER'
1282
								| 'TIKTOK'
1283
								| 'BITLY'
1284
							name?: string
1285
							status?: 'OPEN' | 'NOT_ENOUGH_USERS' | 'CLOSED'
1286
							userId?: string
1287
							googleRetargetingListId?: string
1288
							facebookCustomAudienceId?: string
1289
							linkedInAudienceId?: string
1290
							twitterAudienceId?: string
1291
							tikTokAudienceId?: string
1292
							urlPath?: string
1293
							engagementSource?:
1294
								| 'GOOGLE_DISPLAY_NETWORK'
1295
								| 'YOUTUBE'
1296
								| 'GOOGLE_MY_BUSINESS'
1297
								| 'FACEBOOK'
1298
								| 'INSTAGRAM'
1299
								| 'GOOGLE_ADWORDS'
1300
								| 'GOOGLE_ANALYTICS'
1301
								| 'XING'
1302
								| 'LINKED_IN'
1303
								| 'TWITTER'
1304
								| 'TIKTOK'
1305
								| 'BITLY'
1306
							engagementType?: 'ENGAGED' | 'FOLLOWER'
1307
							description?: string
1308
							audienceSize?: number
1309
							retentionDays?: number
1310
						}
1311
					}[]
1312
					tikTokAudiences?: {
1313
						retargetingList?: {
1314
							googleCustomerId?: string
1315
							facebookAccountId?: string
1316
							channel?:
1317
								| 'GOOGLE_DISPLAY_NETWORK'
1318
								| 'YOUTUBE'
1319
								| 'GOOGLE_MY_BUSINESS'
1320
								| 'FACEBOOK'
1321
								| 'INSTAGRAM'
1322
								| 'GOOGLE_ADWORDS'
1323
								| 'GOOGLE_ANALYTICS'
1324
								| 'XING'
1325
								| 'LINKED_IN'
1326
								| 'TWITTER'
1327
								| 'TIKTOK'
1328
								| 'BITLY'
1329
							name?: string
1330
							status?: 'OPEN' | 'NOT_ENOUGH_USERS' | 'CLOSED'
1331
							userId?: string
1332
							googleRetargetingListId?: string
1333
							facebookCustomAudienceId?: string
1334
							linkedInAudienceId?: string
1335
							twitterAudienceId?: string
1336
							tikTokAudienceId?: string
1337
							urlPath?: string
1338
							engagementSource?:
1339
								| 'GOOGLE_DISPLAY_NETWORK'
1340
								| 'YOUTUBE'
1341
								| 'GOOGLE_MY_BUSINESS'
1342
								| 'FACEBOOK'
1343
								| 'INSTAGRAM'
1344
								| 'GOOGLE_ADWORDS'
1345
								| 'GOOGLE_ANALYTICS'
1346
								| 'XING'
1347
								| 'LINKED_IN'
1348
								| 'TWITTER'
1349
								| 'TIKTOK'
1350
								| 'BITLY'
1351
							engagementType?: 'ENGAGED' | 'FOLLOWER'
1352
							description?: string
1353
							audienceSize?: number
1354
							retentionDays?: number
1355
						}
1356
					}[]
1357
				}
1358
				linkedInTargetingEntityLinkOperator?: 'AND' | 'OR'
1359
				twitterTargetingCriterias?: {
1360
					type?: 'KEYWORD' | 'FOLLOWER_LOOKALIKE'
1361
					value?: string
1362
					twitterId?: string
1363
				}[]
1364
			}
1365
			retargeting?: {
1366
				googleUserLists?: {
1367
					retargetingList?: {
1368
						googleCustomerId?: string
1369
						facebookAccountId?: string
1370
						channel?:
1371
							| 'GOOGLE_DISPLAY_NETWORK'
1372
							| 'YOUTUBE'
1373
							| 'GOOGLE_MY_BUSINESS'
1374
							| 'FACEBOOK'
1375
							| 'INSTAGRAM'
1376
							| 'GOOGLE_ADWORDS'
1377
							| 'GOOGLE_ANALYTICS'
1378
							| 'XING'
1379
							| 'LINKED_IN'
1380
							| 'TWITTER'
1381
							| 'TIKTOK'
1382
							| 'BITLY'
1383
						name?: string
1384
						status?: 'OPEN' | 'NOT_ENOUGH_USERS' | 'CLOSED'
1385
						userId?: string
1386
						googleRetargetingListId?: string
1387
						facebookCustomAudienceId?: string
1388
						linkedInAudienceId?: string
1389
						twitterAudienceId?: string
1390
						tikTokAudienceId?: string
1391
						urlPath?: string
1392
						engagementSource?:
1393
							| 'GOOGLE_DISPLAY_NETWORK'
1394
							| 'YOUTUBE'
1395
							| 'GOOGLE_MY_BUSINESS'
1396
							| 'FACEBOOK'
1397
							| 'INSTAGRAM'
1398
							| 'GOOGLE_ADWORDS'
1399
							| 'GOOGLE_ANALYTICS'
1400
							| 'XING'
1401
							| 'LINKED_IN'
1402
							| 'TWITTER'
1403
							| 'TIKTOK'
1404
							| 'BITLY'
1405
						engagementType?: 'ENGAGED' | 'FOLLOWER'
1406
						description?: string
1407
						audienceSize?: number
1408
						retentionDays?: number
1409
					}
1410
					bidModifier?: number
1411
					bidModifierType?: 'INCREASE' | 'DECREASE'
1412
				}[]
1413
				facebookCustomAudiences?: {
1414
					retargetingList?: {
1415
						googleCustomerId?: string
1416
						facebookAccountId?: string
1417
						channel?:
1418
							| 'GOOGLE_DISPLAY_NETWORK'
1419
							| 'YOUTUBE'
1420
							| 'GOOGLE_MY_BUSINESS'
1421
							| 'FACEBOOK'
1422
							| 'INSTAGRAM'
1423
							| 'GOOGLE_ADWORDS'
1424
							| 'GOOGLE_ANALYTICS'
1425
							| 'XING'
1426
							| 'LINKED_IN'
1427
							| 'TWITTER'
1428
							| 'TIKTOK'
1429
							| 'BITLY'
1430
						name?: string
1431
						status?: 'OPEN' | 'NOT_ENOUGH_USERS' | 'CLOSED'
1432
						userId?: string
1433
						googleRetargetingListId?: string
1434
						facebookCustomAudienceId?: string
1435
						linkedInAudienceId?: string
1436
						twitterAudienceId?: string
1437
						tikTokAudienceId?: string
1438
						urlPath?: string
1439
						engagementSource?:
1440
							| 'GOOGLE_DISPLAY_NETWORK'
1441
							| 'YOUTUBE'
1442
							| 'GOOGLE_MY_BUSINESS'
1443
							| 'FACEBOOK'
1444
							| 'INSTAGRAM'
1445
							| 'GOOGLE_ADWORDS'
1446
							| 'GOOGLE_ANALYTICS'
1447
							| 'XING'
1448
							| 'LINKED_IN'
1449
							| 'TWITTER'
1450
							| 'TIKTOK'
1451
							| 'BITLY'
1452
						engagementType?: 'ENGAGED' | 'FOLLOWER'
1453
						description?: string
1454
						audienceSize?: number
1455
						retentionDays?: number
1456
					}
1457
				}[]
1458
				linkedInMatchedAudiences?: {
1459
					retargetingList?: {
1460
						googleCustomerId?: string
1461
						facebookAccountId?: string
1462
						channel?:
1463
							| 'GOOGLE_DISPLAY_NETWORK'
1464
							| 'YOUTUBE'
1465
							| 'GOOGLE_MY_BUSINESS'
1466
							| 'FACEBOOK'
1467
							| 'INSTAGRAM'
1468
							| 'GOOGLE_ADWORDS'
1469
							| 'GOOGLE_ANALYTICS'
1470
							| 'XING'
1471
							| 'LINKED_IN'
1472
							| 'TWITTER'
1473
							| 'TIKTOK'
1474
							| 'BITLY'
1475
						name?: string
1476
						status?: 'OPEN' | 'NOT_ENOUGH_USERS' | 'CLOSED'
1477
						userId?: string
1478
						googleRetargetingListId?: string
1479
						facebookCustomAudienceId?: string
1480
						linkedInAudienceId?: string
1481
						twitterAudienceId?: string
1482
						tikTokAudienceId?: string
1483
						urlPath?: string
1484
						engagementSource?:
1485
							| 'GOOGLE_DISPLAY_NETWORK'
1486
							| 'YOUTUBE'
1487
							| 'GOOGLE_MY_BUSINESS'
1488
							| 'FACEBOOK'
1489
							| 'INSTAGRAM'
1490
							| 'GOOGLE_ADWORDS'
1491
							| 'GOOGLE_ANALYTICS'
1492
							| 'XING'
1493
							| 'LINKED_IN'
1494
							| 'TWITTER'
1495
							| 'TIKTOK'
1496
							| 'BITLY'
1497
						engagementType?: 'ENGAGED' | 'FOLLOWER'
1498
						description?: string
1499
						audienceSize?: number
1500
						retentionDays?: number
1501
					}
1502
				}[]
1503
				twitterCustomAudiences?: {
1504
					retargetingList?: {
1505
						googleCustomerId?: string
1506
						facebookAccountId?: string
1507
						channel?:
1508
							| 'GOOGLE_DISPLAY_NETWORK'
1509
							| 'YOUTUBE'
1510
							| 'GOOGLE_MY_BUSINESS'
1511
							| 'FACEBOOK'
1512
							| 'INSTAGRAM'
1513
							| 'GOOGLE_ADWORDS'
1514
							| 'GOOGLE_ANALYTICS'
1515
							| 'XING'
1516
							| 'LINKED_IN'
1517
							| 'TWITTER'
1518
							| 'TIKTOK'
1519
							| 'BITLY'
1520
						name?: string
1521
						status?: 'OPEN' | 'NOT_ENOUGH_USERS' | 'CLOSED'
1522
						userId?: string
1523
						googleRetargetingListId?: string
1524
						facebookCustomAudienceId?: string
1525
						linkedInAudienceId?: string
1526
						twitterAudienceId?: string
1527
						tikTokAudienceId?: string
1528
						urlPath?: string
1529
						engagementSource?:
1530
							| 'GOOGLE_DISPLAY_NETWORK'
1531
							| 'YOUTUBE'
1532
							| 'GOOGLE_MY_BUSINESS'
1533
							| 'FACEBOOK'
1534
							| 'INSTAGRAM'
1535
							| 'GOOGLE_ADWORDS'
1536
							| 'GOOGLE_ANALYTICS'
1537
							| 'XING'
1538
							| 'LINKED_IN'
1539
							| 'TWITTER'
1540
							| 'TIKTOK'
1541
							| 'BITLY'
1542
						engagementType?: 'ENGAGED' | 'FOLLOWER'
1543
						description?: string
1544
						audienceSize?: number
1545
						retentionDays?: number
1546
					}
1547
				}[]
1548
				tikTokAudiences?: {
1549
					retargetingList?: {
1550
						googleCustomerId?: string
1551
						facebookAccountId?: string
1552
						channel?:
1553
							| 'GOOGLE_DISPLAY_NETWORK'
1554
							| 'YOUTUBE'
1555
							| 'GOOGLE_MY_BUSINESS'
1556
							| 'FACEBOOK'
1557
							| 'INSTAGRAM'
1558
							| 'GOOGLE_ADWORDS'
1559
							| 'GOOGLE_ANALYTICS'
1560
							| 'XING'
1561
							| 'LINKED_IN'
1562
							| 'TWITTER'
1563
							| 'TIKTOK'
1564
							| 'BITLY'
1565
						name?: string
1566
						status?: 'OPEN' | 'NOT_ENOUGH_USERS' | 'CLOSED'
1567
						userId?: string
1568
						googleRetargetingListId?: string
1569
						facebookCustomAudienceId?: string
1570
						linkedInAudienceId?: string
1571
						twitterAudienceId?: string
1572
						tikTokAudienceId?: string
1573
						urlPath?: string
1574
						engagementSource?:
1575
							| 'GOOGLE_DISPLAY_NETWORK'
1576
							| 'YOUTUBE'
1577
							| 'GOOGLE_MY_BUSINESS'
1578
							| 'FACEBOOK'
1579
							| 'INSTAGRAM'
1580
							| 'GOOGLE_ADWORDS'
1581
							| 'GOOGLE_ANALYTICS'
1582
							| 'XING'
1583
							| 'LINKED_IN'
1584
							| 'TWITTER'
1585
							| 'TIKTOK'
1586
							| 'BITLY'
1587
						engagementType?: 'ENGAGED' | 'FOLLOWER'
1588
						description?: string
1589
						audienceSize?: number
1590
						retentionDays?: number
1591
					}
1592
				}[]
1593
			}
1594
			shoppingSettings?: {
1595
				googleMerchantAccount?: { merchantAccountId?: string; name?: string }
1596
				salesCountry?: string
1597
				enableLocal?: false | true
1598
				googleShoppingCampaignType?: 'CLASSIC' | 'SMART'
1599
				productScopeType?: 'NONE' | 'FILTER'
1600
				productScopes?: {
1601
					productDimension?:
1602
						| 'BRAND'
1603
						| 'PRODUCT_NR'
1604
						| 'STATE'
1605
						| 'PRODUCT_TYPE'
1606
						| 'CUSTOM_LABEL_0'
1607
						| 'CUSTOM_LABEL_1'
1608
						| 'CUSTOM_LABEL_2'
1609
						| 'CUSTOM_LABEL_3'
1610
						| 'CUSTOM_LABEL_4'
1611
						| 'CHANNEL'
1612
						| 'CHANNEL_EXCLUSIVE'
1613
					value?: string
1614
				}[]
1615
				facebookProductCatalog?: {
1616
					id?: string
1617
					name?: string
1618
					nbrOfProducts?: number
1619
					nbrOfQualifiedProducts?: number
1620
				}
1621
				facebookDynamicAdsTargetingType?: 'RETARGETING' | 'BROAD'
1622
				facebookProductSet?: {
1623
					id?: string
1624
					name?: string
1625
					nbrOfProducts?: number
1626
				}
1627
				facebookRetargetingIncludedRetentionDays?: number
1628
				facebookRetargetingExcludedRetentionDays?: number
1629
			}
1630
			dynamicSearchSettings?: { domainName?: string; languageCode?: string }
1631
			extension?: {
1632
				sitelinkExtensions?: {
1633
					feedId?: number
1634
					feedItemId?: number
1635
					assetId?: number
1636
					adwordsCustomerId?: string
1637
					extensionStatus?: 'ACCOUNT' | 'CAMPAIGN' | 'ADGROUP' | 'NONE'
1638
					extensionRunStatus?:
1639
						| 'ADDED_CAMPAIGN'
1640
						| 'ADDED_ADGROUP'
1641
						| 'ADDED_ACCOUNT'
1642
						| 'IS_CAMPAIGN_LINKED'
1643
						| 'IS_ADGROUP_LINKED'
1644
						| 'UNLINKING'
1645
						| 'UNLINKED'
1646
					sitelinkName?: string
1647
					sitelinkUrl?: string
1648
					sitelinkDescription1?: string
1649
					sitelinkDescription2?: string
1650
					finalUrls?: string[]
1651
					finalMobileUrls?: string[]
1652
					sitelinkTrackingUrl?: string
1653
				}[]
1654
				calloutExtensions?: {
1655
					feedId?: number
1656
					feedItemId?: number
1657
					assetId?: number
1658
					adwordsCustomerId?: string
1659
					extensionStatus?: 'ACCOUNT' | 'CAMPAIGN' | 'ADGROUP' | 'NONE'
1660
					extensionRunStatus?:
1661
						| 'ADDED_CAMPAIGN'
1662
						| 'ADDED_ADGROUP'
1663
						| 'ADDED_ACCOUNT'
1664
						| 'IS_CAMPAIGN_LINKED'
1665
						| 'IS_ADGROUP_LINKED'
1666
						| 'UNLINKING'
1667
						| 'UNLINKED'
1668
					calloutText?: string
1669
				}[]
1670
				callExtensions?: {
1671
					feedId?: number
1672
					feedItemId?: number
1673
					assetId?: number
1674
					adwordsCustomerId?: string
1675
					extensionStatus?: 'ACCOUNT' | 'CAMPAIGN' | 'ADGROUP' | 'NONE'
1676
					extensionRunStatus?:
1677
						| 'ADDED_CAMPAIGN'
1678
						| 'ADDED_ADGROUP'
1679
						| 'ADDED_ACCOUNT'
1680
						| 'IS_CAMPAIGN_LINKED'
1681
						| 'IS_ADGROUP_LINKED'
1682
						| 'UNLINKING'
1683
						| 'UNLINKED'
1684
					phoneNumber?: string
1685
					country?: string
1686
				}[]
1687
			}
1688
			status?:
1689
				| 'IS_RUNNING'
1690
				| 'STOP'
1691
				| 'IN_REVIEW'
1692
				| 'REMOVED'
1693
				| 'COMPLETED'
1694
				| 'DISAPPROVED'
1695
				| 'IS_STOPPING'
1696
			createdFromTargetingTemplateId?: string
1697
			facebookSpecialAdCategory?:
1698
				| 'NONE'
1699
				| 'CREDIT'
1700
				| 'EMPLOYMENT'
1701
				| 'HOUSING'
1702
				| 'ISSUES_ELECTIONS_POLITICS'
1703
				| 'ONLINE_GAMBLING_AND_GAMING'
1704
			facebookSpecialAdCategoryCountry?: string
1705
		}
1706
		budgetChannel?: {
1707
			channel?:
1708
				| 'GOOGLE_DISPLAY_NETWORK'
1709
				| 'YOUTUBE'
1710
				| 'GOOGLE_MY_BUSINESS'
1711
				| 'FACEBOOK'
1712
				| 'INSTAGRAM'
1713
				| 'GOOGLE_ADWORDS'
1714
				| 'GOOGLE_ANALYTICS'
1715
				| 'XING'
1716
				| 'LINKED_IN'
1717
				| 'TWITTER'
1718
				| 'TIKTOK'
1719
				| 'BITLY'
1720
			placement?:
1721
				| 'GOOGLE_SEARCH_NETWORK'
1722
				| 'FACEBOOK_TIMELINE'
1723
				| 'GOOGLE_DISPLAY_NETWORK'
1724
				| 'FACEBOOK_AUDIENCE_NETWORK'
1725
				| 'YOUTUBE'
1726
				| 'INSTAGRAM_TIMELINE'
1727
				| 'GOOGLE_SHOPPING'
1728
				| 'FACEBOOK_MESSENGER'
1729
				| 'LINKEDIN_CONTENT'
1730
				| 'LINKEDIN_TEXT'
1731
				| 'LINKEDIN_INMAIL'
1732
				| 'LINKEDIN_DYNAMIC'
1733
				| 'FACEBOOK_STORIES'
1734
				| 'FACEBOOK_INSTANT_ARTICLES'
1735
				| 'FACEBOOK_RIGHT_HAND_COLUMN'
1736
				| 'FACEBOOK_MARKETPLACE'
1737
				| 'INSTAGRAM_STORIES'
1738
				| 'FACEBOOK_MESSENGER_STORIES'
1739
				| 'FACEBOOK_SEARCH'
1740
				| 'FACEBOOK_INSTREAM_VIDEO'
1741
				| 'FACEBOOK_REELS'
1742
				| 'INSTAGRAM_EXPLORE_HOME'
1743
				| 'INSTAGRAM_PROFILE_FEED'
1744
				| 'INSTAGRAM_PROFILE_REELS'
1745
				| 'LINKEDIN_AUDIENCE_NETWORK'
1746
				| 'TWITTER_ALL'
1747
				| 'TWITTER_PUBLISHER_NETWORK'
1748
				| 'TWITTER_SEARCH'
1749
				| 'TWITTER_TIMELINE'
1750
				| 'TWITTER_PROFILE'
1751
				| 'GOOGLE_MY_BUSINESS'
1752
				| 'FACEBOOK_UNKNOWN'
1753
				| 'FACEBOOK_VIDEO_FEED'
1754
				| 'INSTAGRAM_REELS'
1755
				| 'INSTAGRAM_SHOP'
1756
				| 'INSTAGRAM_EXPLORE'
1757
				| 'TIKTOK_FEED'
1758
				| 'META_AUTOMATIC'
1759
			selected?: false | true
1760
			totalCost?: number
1761
			bid?: number
1762
			maxBid?: number
1763
			costType?: 'CPC' | 'CPM'
1764
			bidType?: 'AUTOMATIC' | 'MANUAL'
1765
			linkedInBiddingOptimization?:
1766
				| 'MAXIMIZE_CLICKS'
1767
				| 'MAXIMIZE_IMPRESSIONS'
1768
				| 'MAXIMIZE_CONVERSIONS'
1769
				| 'MAXIMIZE_LEADS'
1770
			linkedInDailyBudget?: number
1771
			facebookBudgetOptimization?: 'CAMPAIGN_BUDGET_OPTIMIZATION' | 'ADSET_BUDGET_OPTIMIZATION'
1772
			facebookTrafficOptimization?: 'LINK_CLICKS' | 'LANDING_PAGE_VIEWS'
1773
			twitterBudgetOptimization?: 'CAMPAIGN_BUDGET_OPTIMIZATION' | 'AD_GROUP_BUDGET_OPTIMIZATION'
1774
			tikTokBudgetOptimization?: 'CAMPAIGN_BUDGET_OPTIMIZATION' | 'AD_GROUP_BUDGET_OPTIMIZATION'
1775
			targetBudgets?: {
1776
				targetId?: string
1777
				budget?: number
1778
				linkedInDailyBudget?: number
1779
				metaBudgetSplit?: {
1780
					facebookBudget?: number
1781
					instagramBudget?: number
1782
					storyBudget?: number
1783
					reelsBudget?: number
1784
				}
1785
			}[]
1786
		}
1787
		adAccountId?: string
1788
	}
1789
) {
1790
	const url = new URL(`https://app.adhook.io/v1/promotions/linkedin/reachestimation`)
1791

1792
	const response = await fetch(url, {
1793
		method: 'POST',
1794
		headers: {
1795
			adhookToken: adhookToken,
1796
			Authorization: `Bearer ${auth.token}`,
1797
			'Content-Type': 'application/json'
1798
		},
1799
		body: JSON.stringify(body)
1800
	})
1801

1802
	if (!response.ok) {
1803
		const text = await response.text()
1804
		throw new Error(`${response.status} ${text}`)
1805
	}
1806

1807
	return await response.json()
1808
}
1809