@adcp/client 2.0.2 → 2.3.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/dist/lib/agents/index.generated.d.ts +21 -1
- package/dist/lib/agents/index.generated.d.ts.map +1 -1
- package/dist/lib/agents/index.generated.js +28 -0
- package/dist/lib/agents/index.generated.js.map +1 -1
- package/dist/lib/core/TaskExecutor.d.ts.map +1 -1
- package/dist/lib/core/TaskExecutor.js +9 -8
- package/dist/lib/core/TaskExecutor.js.map +1 -1
- package/dist/lib/types/core.generated.d.ts +274 -27
- package/dist/lib/types/core.generated.d.ts.map +1 -1
- package/dist/lib/types/core.generated.js +2 -2
- package/dist/lib/types/index.d.ts +1 -0
- package/dist/lib/types/index.d.ts.map +1 -1
- package/dist/lib/types/index.js +2 -0
- package/dist/lib/types/index.js.map +1 -1
- package/dist/lib/types/schemas.generated.d.ts +1517 -0
- package/dist/lib/types/schemas.generated.d.ts.map +1 -0
- package/dist/lib/types/schemas.generated.js +299 -0
- package/dist/lib/types/schemas.generated.js.map +1 -0
- package/dist/lib/types/tools.generated.d.ts +446 -42
- package/dist/lib/types/tools.generated.d.ts.map +1 -1
- package/dist/lib/types/tools.generated.js.map +1 -1
- package/dist/lib/version.d.ts +5 -5
- package/dist/lib/version.js +5 -5
- package/package.json +6 -4
|
@@ -1050,19 +1050,19 @@ export interface Format {
|
|
|
1050
1050
|
}[]
|
|
1051
1051
|
];
|
|
1052
1052
|
/**
|
|
1053
|
-
* Array of required assets or asset groups for this format. Can contain individual assets or repeatable asset sequences (e.g., carousel products, slideshow frames).
|
|
1053
|
+
* Array of required assets or asset groups for this format. Each asset is identified by its asset_id, which must be used as the key in creative manifests. Can contain individual assets or repeatable asset sequences (e.g., carousel products, slideshow frames).
|
|
1054
1054
|
*/
|
|
1055
1055
|
assets_required?: ({
|
|
1056
1056
|
/**
|
|
1057
|
-
*
|
|
1057
|
+
* Unique identifier for this asset. Creative manifests MUST use this exact value as the key in the assets object.
|
|
1058
1058
|
*/
|
|
1059
1059
|
asset_id: string;
|
|
1060
1060
|
/**
|
|
1061
1061
|
* Type of asset
|
|
1062
1062
|
*/
|
|
1063
|
-
asset_type: 'image' | 'video' | 'audio' | 'text' | 'html' | 'javascript' | 'url' | '
|
|
1063
|
+
asset_type: 'image' | 'video' | 'audio' | 'vast' | 'daast' | 'text' | 'html' | 'css' | 'javascript' | 'url' | 'webhook' | 'promoted_offerings';
|
|
1064
1064
|
/**
|
|
1065
|
-
*
|
|
1065
|
+
* Optional descriptive label for this asset's purpose (e.g., 'hero_image', 'logo'). Not used for referencing assets in manifests—use asset_id instead. This field is for human-readable documentation and UI display only.
|
|
1066
1066
|
*/
|
|
1067
1067
|
asset_role?: string;
|
|
1068
1068
|
/**
|
|
@@ -1103,9 +1103,9 @@ export interface Format {
|
|
|
1103
1103
|
/**
|
|
1104
1104
|
* Type of asset
|
|
1105
1105
|
*/
|
|
1106
|
-
asset_type: 'image' | 'video' | 'audio' | 'text' | 'html' | 'javascript' | 'url' | '
|
|
1106
|
+
asset_type: 'image' | 'video' | 'audio' | 'vast' | 'daast' | 'text' | 'html' | 'css' | 'javascript' | 'url' | 'webhook' | 'promoted_offerings';
|
|
1107
1107
|
/**
|
|
1108
|
-
*
|
|
1108
|
+
* Optional descriptive label for this asset's purpose (e.g., 'hero_image', 'logo'). Not used for referencing assets in manifests—use asset_id instead. This field is for human-readable documentation and UI display only.
|
|
1109
1109
|
*/
|
|
1110
1110
|
asset_role?: string;
|
|
1111
1111
|
/**
|
|
@@ -1174,7 +1174,11 @@ export type DAASTAsset2 = {
|
|
|
1174
1174
|
[k: string]: unknown;
|
|
1175
1175
|
};
|
|
1176
1176
|
/**
|
|
1177
|
-
* Brand information manifest
|
|
1177
|
+
* Brand information manifest containing assets, themes, and guidelines. Can be provided inline or as a URL reference to a hosted manifest.
|
|
1178
|
+
*/
|
|
1179
|
+
export type BrandManifestReference1 = BrandManifest1 | string;
|
|
1180
|
+
/**
|
|
1181
|
+
* Campaign start timing: 'asap' or ISO 8601 date-time
|
|
1178
1182
|
*/
|
|
1179
1183
|
export type StartTiming = 'asap' | string;
|
|
1180
1184
|
/**
|
|
@@ -1189,7 +1193,7 @@ export interface CreateMediaBuyRequest {
|
|
|
1189
1193
|
* Array of package configurations
|
|
1190
1194
|
*/
|
|
1191
1195
|
packages: PackageRequest[];
|
|
1192
|
-
brand_manifest:
|
|
1196
|
+
brand_manifest: BrandManifestReference1;
|
|
1193
1197
|
/**
|
|
1194
1198
|
* Purchase order number for tracking
|
|
1195
1199
|
*/
|
|
@@ -1309,7 +1313,7 @@ export interface CreativeAsset {
|
|
|
1309
1313
|
* This interface was referenced by `undefined`'s JSON-Schema definition
|
|
1310
1314
|
* via the `patternProperty` "^[a-zA-Z0-9_-]+$".
|
|
1311
1315
|
*/
|
|
1312
|
-
[k: string]: ImageAsset | VideoAsset | AudioAsset | TextAsset | HTMLAsset | CSSAsset | JavaScriptAsset | VASTAsset | DAASTAsset |
|
|
1316
|
+
[k: string]: ImageAsset | VideoAsset | AudioAsset | TextAsset | HTMLAsset | CSSAsset | JavaScriptAsset | VASTAsset | DAASTAsset | PromotedOfferings | URLAsset;
|
|
1313
1317
|
};
|
|
1314
1318
|
/**
|
|
1315
1319
|
* Preview contexts for generative formats - defines what scenarios to generate previews for
|
|
@@ -1343,7 +1347,6 @@ export interface CreativeAsset {
|
|
|
1343
1347
|
* Structured format identifier with agent URL and format name
|
|
1344
1348
|
*/
|
|
1345
1349
|
export interface ImageAsset {
|
|
1346
|
-
asset_type: 'image';
|
|
1347
1350
|
/**
|
|
1348
1351
|
* URL to the image asset
|
|
1349
1352
|
*/
|
|
@@ -1369,7 +1372,6 @@ export interface ImageAsset {
|
|
|
1369
1372
|
* Video asset with URL and specifications
|
|
1370
1373
|
*/
|
|
1371
1374
|
export interface VideoAsset {
|
|
1372
|
-
asset_type: 'video';
|
|
1373
1375
|
/**
|
|
1374
1376
|
* URL to the video asset
|
|
1375
1377
|
*/
|
|
@@ -1399,7 +1401,6 @@ export interface VideoAsset {
|
|
|
1399
1401
|
* Audio asset with URL and specifications
|
|
1400
1402
|
*/
|
|
1401
1403
|
export interface AudioAsset {
|
|
1402
|
-
asset_type: 'audio';
|
|
1403
1404
|
/**
|
|
1404
1405
|
* URL to the audio asset
|
|
1405
1406
|
*/
|
|
@@ -1421,15 +1422,10 @@ export interface AudioAsset {
|
|
|
1421
1422
|
* Text content asset
|
|
1422
1423
|
*/
|
|
1423
1424
|
export interface TextAsset {
|
|
1424
|
-
asset_type: 'text';
|
|
1425
1425
|
/**
|
|
1426
1426
|
* Text content
|
|
1427
1427
|
*/
|
|
1428
1428
|
content: string;
|
|
1429
|
-
/**
|
|
1430
|
-
* Maximum character length constraint
|
|
1431
|
-
*/
|
|
1432
|
-
max_length?: number;
|
|
1433
1429
|
/**
|
|
1434
1430
|
* Language code (e.g., 'en', 'es', 'fr')
|
|
1435
1431
|
*/
|
|
@@ -1439,7 +1435,6 @@ export interface TextAsset {
|
|
|
1439
1435
|
* HTML content asset
|
|
1440
1436
|
*/
|
|
1441
1437
|
export interface HTMLAsset {
|
|
1442
|
-
asset_type: 'html';
|
|
1443
1438
|
/**
|
|
1444
1439
|
* HTML content
|
|
1445
1440
|
*/
|
|
@@ -1453,7 +1448,6 @@ export interface HTMLAsset {
|
|
|
1453
1448
|
* CSS stylesheet asset
|
|
1454
1449
|
*/
|
|
1455
1450
|
export interface CSSAsset {
|
|
1456
|
-
asset_type: 'css';
|
|
1457
1451
|
/**
|
|
1458
1452
|
* CSS content
|
|
1459
1453
|
*/
|
|
@@ -1467,7 +1461,6 @@ export interface CSSAsset {
|
|
|
1467
1461
|
* JavaScript code asset
|
|
1468
1462
|
*/
|
|
1469
1463
|
export interface JavaScriptAsset {
|
|
1470
|
-
asset_type: 'javascript';
|
|
1471
1464
|
/**
|
|
1472
1465
|
* JavaScript content
|
|
1473
1466
|
*/
|
|
@@ -1478,7 +1471,6 @@ export interface JavaScriptAsset {
|
|
|
1478
1471
|
module_type?: 'esm' | 'commonjs' | 'script';
|
|
1479
1472
|
}
|
|
1480
1473
|
export interface VASTAsset1 {
|
|
1481
|
-
asset_type?: 'vast';
|
|
1482
1474
|
/**
|
|
1483
1475
|
* URL endpoint that returns VAST XML
|
|
1484
1476
|
*/
|
|
@@ -1495,10 +1487,6 @@ export interface VASTAsset1 {
|
|
|
1495
1487
|
* Whether VPAID (Video Player-Ad Interface Definition) is supported
|
|
1496
1488
|
*/
|
|
1497
1489
|
vpaid_enabled?: boolean;
|
|
1498
|
-
/**
|
|
1499
|
-
* Maximum allowed wrapper/redirect depth
|
|
1500
|
-
*/
|
|
1501
|
-
max_wrapper_depth?: number;
|
|
1502
1490
|
/**
|
|
1503
1491
|
* Expected video duration in milliseconds (if known)
|
|
1504
1492
|
*/
|
|
@@ -1509,7 +1497,6 @@ export interface VASTAsset1 {
|
|
|
1509
1497
|
tracking_events?: ('start' | 'firstQuartile' | 'midpoint' | 'thirdQuartile' | 'complete' | 'impression' | 'click' | 'pause' | 'resume' | 'skip' | 'mute' | 'unmute' | 'fullscreen' | 'exitFullscreen' | 'playerExpand' | 'playerCollapse')[];
|
|
1510
1498
|
}
|
|
1511
1499
|
export interface DAASTAsset1 {
|
|
1512
|
-
asset_type?: 'daast';
|
|
1513
1500
|
/**
|
|
1514
1501
|
* URL endpoint that returns DAAST XML
|
|
1515
1502
|
*/
|
|
@@ -1536,36 +1523,70 @@ export interface DAASTAsset1 {
|
|
|
1536
1523
|
companion_ads?: boolean;
|
|
1537
1524
|
}
|
|
1538
1525
|
/**
|
|
1539
|
-
*
|
|
1526
|
+
* Complete offering specification combining brand manifest, product selectors, and asset filters. Provides all context needed for creative generation about what is being promoted.
|
|
1540
1527
|
*/
|
|
1541
|
-
export interface
|
|
1542
|
-
|
|
1528
|
+
export interface PromotedOfferings {
|
|
1529
|
+
brand_manifest: BrandManifestReference;
|
|
1530
|
+
product_selectors?: PromotedProducts;
|
|
1543
1531
|
/**
|
|
1544
|
-
*
|
|
1532
|
+
* Inline offerings for campaigns without a product catalog. Each offering has a name, description, and associated assets.
|
|
1545
1533
|
*/
|
|
1546
|
-
|
|
1534
|
+
offerings?: {
|
|
1535
|
+
/**
|
|
1536
|
+
* Offering name (e.g., 'Winter Sale', 'New Product Launch')
|
|
1537
|
+
*/
|
|
1538
|
+
name: string;
|
|
1539
|
+
/**
|
|
1540
|
+
* Description of what's being offered
|
|
1541
|
+
*/
|
|
1542
|
+
description?: string;
|
|
1543
|
+
/**
|
|
1544
|
+
* Assets specific to this offering
|
|
1545
|
+
*/
|
|
1546
|
+
assets?: {
|
|
1547
|
+
[k: string]: unknown;
|
|
1548
|
+
}[];
|
|
1549
|
+
}[];
|
|
1547
1550
|
/**
|
|
1548
|
-
*
|
|
1551
|
+
* Selectors to choose specific assets from the brand manifest
|
|
1549
1552
|
*/
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
|
|
1553
|
+
asset_selectors?: {
|
|
1554
|
+
/**
|
|
1555
|
+
* Select assets with specific tags (e.g., ['holiday', 'premium'])
|
|
1556
|
+
*/
|
|
1557
|
+
tags?: string[];
|
|
1558
|
+
/**
|
|
1559
|
+
* Filter by asset type (e.g., ['image', 'video'])
|
|
1560
|
+
*/
|
|
1561
|
+
asset_types?: ('image' | 'video' | 'audio' | 'vast' | 'daast' | 'text' | 'url' | 'html' | 'css' | 'javascript' | 'webhook')[];
|
|
1562
|
+
/**
|
|
1563
|
+
* Exclude assets with these tags
|
|
1564
|
+
*/
|
|
1565
|
+
exclude_tags?: string[];
|
|
1554
1566
|
};
|
|
1567
|
+
}
|
|
1568
|
+
export interface PromotedProducts {
|
|
1555
1569
|
/**
|
|
1556
|
-
*
|
|
1570
|
+
* Direct product SKU references from the brand manifest product catalog
|
|
1557
1571
|
*/
|
|
1558
|
-
|
|
1572
|
+
manifest_skus?: string[];
|
|
1559
1573
|
/**
|
|
1560
|
-
*
|
|
1574
|
+
* Select products by tags from the brand manifest product catalog (e.g., 'organic', 'sauces', 'holiday')
|
|
1561
1575
|
*/
|
|
1562
|
-
|
|
1576
|
+
manifest_tags?: string[];
|
|
1577
|
+
/**
|
|
1578
|
+
* Select products from a specific category in the brand manifest product catalog (e.g., 'beverages/soft-drinks', 'food/sauces')
|
|
1579
|
+
*/
|
|
1580
|
+
manifest_category?: string;
|
|
1581
|
+
/**
|
|
1582
|
+
* Natural language query to select products from the brand manifest (e.g., 'all Kraft Heinz pasta sauces', 'organic products under $20')
|
|
1583
|
+
*/
|
|
1584
|
+
manifest_query?: string;
|
|
1563
1585
|
}
|
|
1564
1586
|
/**
|
|
1565
1587
|
* URL reference asset
|
|
1566
1588
|
*/
|
|
1567
1589
|
export interface URLAsset {
|
|
1568
|
-
asset_type: 'url';
|
|
1569
1590
|
/**
|
|
1570
1591
|
* URL reference
|
|
1571
1592
|
*/
|
|
@@ -1575,6 +1596,9 @@ export interface URLAsset {
|
|
|
1575
1596
|
*/
|
|
1576
1597
|
description?: string;
|
|
1577
1598
|
}
|
|
1599
|
+
/**
|
|
1600
|
+
* Webhook configuration for asynchronous task notifications. Uses A2A-compatible PushNotificationConfig structure. Supports Bearer tokens (simple) or HMAC signatures (production-recommended).
|
|
1601
|
+
*/
|
|
1578
1602
|
export interface PushNotificationConfig {
|
|
1579
1603
|
/**
|
|
1580
1604
|
* Webhook endpoint URL for task status notifications
|
|
@@ -1962,7 +1986,7 @@ export interface ListCreativesResponse {
|
|
|
1962
1986
|
* This interface was referenced by `undefined`'s JSON-Schema definition
|
|
1963
1987
|
* via the `patternProperty` "^[a-zA-Z0-9_-]+$".
|
|
1964
1988
|
*/
|
|
1965
|
-
[k: string]: ImageAsset | VideoAsset | AudioAsset | TextAsset | HTMLAsset | CSSAsset | JavaScriptAsset | VASTAsset | DAASTAsset |
|
|
1989
|
+
[k: string]: ImageAsset | VideoAsset | AudioAsset | TextAsset | HTMLAsset | CSSAsset | JavaScriptAsset | VASTAsset | DAASTAsset | PromotedOfferings | URLAsset;
|
|
1966
1990
|
};
|
|
1967
1991
|
/**
|
|
1968
1992
|
* Landing page URL for the creative
|
|
@@ -2605,6 +2629,386 @@ export interface ProvidePerformanceFeedbackResponse {
|
|
|
2605
2629
|
/**
|
|
2606
2630
|
* Standard error structure for task-specific errors and warnings
|
|
2607
2631
|
*/
|
|
2632
|
+
/**
|
|
2633
|
+
* VAST (Video Ad Serving Template) tag for third-party video ad serving
|
|
2634
|
+
*/
|
|
2635
|
+
export interface BuildCreativeRequest {
|
|
2636
|
+
/**
|
|
2637
|
+
* Natural language instructions for the transformation or generation. For pure generation, this is the creative brief. For transformation, this provides guidance on how to adapt the creative.
|
|
2638
|
+
*/
|
|
2639
|
+
message?: string;
|
|
2640
|
+
creative_manifest?: CreativeManifest;
|
|
2641
|
+
target_format_id: FormatID1;
|
|
2642
|
+
}
|
|
2643
|
+
/**
|
|
2644
|
+
* Creative manifest to transform or generate from. For pure generation, this should include the target format_id and any required input assets (e.g., promoted_offerings for generative formats). For transformation (e.g., resizing, reformatting), this is the complete creative to adapt.
|
|
2645
|
+
*/
|
|
2646
|
+
export interface CreativeManifest {
|
|
2647
|
+
format_id: FormatID;
|
|
2648
|
+
/**
|
|
2649
|
+
* Product name or offering being advertised. Maps to promoted_offerings in create_media_buy request to associate creative with the product being promoted.
|
|
2650
|
+
*/
|
|
2651
|
+
promoted_offering?: string;
|
|
2652
|
+
/**
|
|
2653
|
+
* Map of asset IDs to actual asset content. Each key MUST match an asset_id from the format's assets_required array (e.g., 'banner_image', 'clickthrough_url', 'video_file', 'vast_tag'). The asset_id is the technical identifier used to match assets to format requirements.
|
|
2654
|
+
*
|
|
2655
|
+
* IMPORTANT: Creative manifest validation MUST be performed in the context of the format specification. The format defines what type each asset_id should be, which eliminates any validation ambiguity.
|
|
2656
|
+
*/
|
|
2657
|
+
assets: {
|
|
2658
|
+
/**
|
|
2659
|
+
* This interface was referenced by `undefined`'s JSON-Schema definition
|
|
2660
|
+
* via the `patternProperty` "^[a-z0-9_]+$".
|
|
2661
|
+
*/
|
|
2662
|
+
[k: string]: ImageAsset | VideoAsset | AudioAsset | VASTAsset | TextAsset | URLAsset | HTMLAsset | JavaScriptAsset | WebhookAsset | CSSAsset | DAASTAsset | PromotedOfferings;
|
|
2663
|
+
};
|
|
2664
|
+
}
|
|
2665
|
+
/**
|
|
2666
|
+
* Format identifier this manifest is for
|
|
2667
|
+
*/
|
|
2668
|
+
export interface WebhookAsset {
|
|
2669
|
+
/**
|
|
2670
|
+
* Webhook URL to call for dynamic content
|
|
2671
|
+
*/
|
|
2672
|
+
url: string;
|
|
2673
|
+
/**
|
|
2674
|
+
* HTTP method
|
|
2675
|
+
*/
|
|
2676
|
+
method?: 'GET' | 'POST';
|
|
2677
|
+
/**
|
|
2678
|
+
* Maximum time to wait for response in milliseconds
|
|
2679
|
+
*/
|
|
2680
|
+
timeout_ms?: number;
|
|
2681
|
+
/**
|
|
2682
|
+
* Universal macros that can be passed to webhook (e.g., {DEVICE_TYPE}, {COUNTRY})
|
|
2683
|
+
*/
|
|
2684
|
+
supported_macros?: string[];
|
|
2685
|
+
/**
|
|
2686
|
+
* Universal macros that must be provided for webhook to function
|
|
2687
|
+
*/
|
|
2688
|
+
required_macros?: string[];
|
|
2689
|
+
/**
|
|
2690
|
+
* Expected content type of webhook response
|
|
2691
|
+
*/
|
|
2692
|
+
response_type: 'html' | 'json' | 'xml' | 'javascript';
|
|
2693
|
+
/**
|
|
2694
|
+
* Security configuration for webhook calls
|
|
2695
|
+
*/
|
|
2696
|
+
security: {
|
|
2697
|
+
/**
|
|
2698
|
+
* Authentication method
|
|
2699
|
+
*/
|
|
2700
|
+
method: 'hmac_sha256' | 'api_key' | 'none';
|
|
2701
|
+
/**
|
|
2702
|
+
* Header name for HMAC signature (e.g., 'X-Signature')
|
|
2703
|
+
*/
|
|
2704
|
+
hmac_header?: string;
|
|
2705
|
+
/**
|
|
2706
|
+
* Header name for API key (e.g., 'X-API-Key')
|
|
2707
|
+
*/
|
|
2708
|
+
api_key_header?: string;
|
|
2709
|
+
};
|
|
2710
|
+
}
|
|
2711
|
+
/**
|
|
2712
|
+
* CSS stylesheet asset
|
|
2713
|
+
*/
|
|
2714
|
+
/**
|
|
2715
|
+
* VAST (Video Ad Serving Template) tag for third-party video ad serving
|
|
2716
|
+
*/
|
|
2717
|
+
export interface BuildCreativeResponse {
|
|
2718
|
+
creative_manifest: CreativeManifest;
|
|
2719
|
+
/**
|
|
2720
|
+
* Task-specific errors and warnings
|
|
2721
|
+
*/
|
|
2722
|
+
errors?: Error[];
|
|
2723
|
+
}
|
|
2724
|
+
/**
|
|
2725
|
+
* The generated or transformed creative manifest
|
|
2726
|
+
*/
|
|
2727
|
+
/**
|
|
2728
|
+
* VAST (Video Ad Serving Template) tag for third-party video ad serving
|
|
2729
|
+
*/
|
|
2730
|
+
export interface PreviewCreativeRequest {
|
|
2731
|
+
format_id: FormatID;
|
|
2732
|
+
creative_manifest: CreativeManifest;
|
|
2733
|
+
/**
|
|
2734
|
+
* Array of input sets for generating multiple preview variants. Each input set defines macros and context values for one preview rendering. If not provided, creative agent will generate default previews.
|
|
2735
|
+
*/
|
|
2736
|
+
inputs?: {
|
|
2737
|
+
/**
|
|
2738
|
+
* Human-readable name for this input set (e.g., 'Sunny morning on mobile', 'Evening podcast ad', 'Desktop dark mode')
|
|
2739
|
+
*/
|
|
2740
|
+
name: string;
|
|
2741
|
+
/**
|
|
2742
|
+
* Macro values to use for this preview. Supports all universal macros from the format's supported_macros list. See docs/media-buy/creatives/universal-macros.md for available macros.
|
|
2743
|
+
*/
|
|
2744
|
+
macros?: {
|
|
2745
|
+
[k: string]: string;
|
|
2746
|
+
};
|
|
2747
|
+
/**
|
|
2748
|
+
* Natural language description of the context for AI-generated content (e.g., 'User just searched for running shoes', 'Podcast discussing weather patterns', 'Article about electric vehicles')
|
|
2749
|
+
*/
|
|
2750
|
+
context_description?: string;
|
|
2751
|
+
}[];
|
|
2752
|
+
/**
|
|
2753
|
+
* Specific template ID for custom format rendering
|
|
2754
|
+
*/
|
|
2755
|
+
template_id?: string;
|
|
2756
|
+
}
|
|
2757
|
+
/**
|
|
2758
|
+
* Format identifier for rendering the preview
|
|
2759
|
+
*/
|
|
2760
|
+
/**
|
|
2761
|
+
* Response containing preview links for a creative. Each preview URL returns an HTML page that can be embedded in an iframe to display the rendered creative.
|
|
2762
|
+
*/
|
|
2763
|
+
export interface PreviewCreativeResponse {
|
|
2764
|
+
/**
|
|
2765
|
+
* Array of preview variants. Each preview corresponds to an input set from the request. If no inputs were provided, returns a single default preview.
|
|
2766
|
+
*
|
|
2767
|
+
* @minItems 1
|
|
2768
|
+
*/
|
|
2769
|
+
previews: [
|
|
2770
|
+
{
|
|
2771
|
+
/**
|
|
2772
|
+
* Unique identifier for this preview variant
|
|
2773
|
+
*/
|
|
2774
|
+
preview_id: string;
|
|
2775
|
+
/**
|
|
2776
|
+
* Array of rendered pieces for this preview variant. Most formats render as a single piece. Companion ad formats (video + banner), multi-placement formats, and adaptive formats render as multiple pieces.
|
|
2777
|
+
*
|
|
2778
|
+
* @minItems 1
|
|
2779
|
+
*/
|
|
2780
|
+
renders: [
|
|
2781
|
+
{
|
|
2782
|
+
/**
|
|
2783
|
+
* Unique identifier for this rendered piece within the variant
|
|
2784
|
+
*/
|
|
2785
|
+
render_id: string;
|
|
2786
|
+
/**
|
|
2787
|
+
* URL to an HTML page that renders this piece. Can be embedded in an iframe. Handles all rendering complexity internally (images, video players, audio players, interactive content, etc.).
|
|
2788
|
+
*/
|
|
2789
|
+
preview_url: string;
|
|
2790
|
+
/**
|
|
2791
|
+
* Semantic role of this rendered piece. Use 'primary' for main content, 'companion' for associated banners, descriptive strings for device variants or custom roles.
|
|
2792
|
+
*/
|
|
2793
|
+
role: string;
|
|
2794
|
+
/**
|
|
2795
|
+
* Dimensions for this rendered piece. For companion ads with multiple sizes, this specifies which size this piece is.
|
|
2796
|
+
*/
|
|
2797
|
+
dimensions?: {
|
|
2798
|
+
width: number;
|
|
2799
|
+
height: number;
|
|
2800
|
+
};
|
|
2801
|
+
/**
|
|
2802
|
+
* Optional security and embedding metadata for safe iframe integration
|
|
2803
|
+
*/
|
|
2804
|
+
embedding?: {
|
|
2805
|
+
/**
|
|
2806
|
+
* Recommended iframe sandbox attribute value (e.g., 'allow-scripts allow-same-origin')
|
|
2807
|
+
*/
|
|
2808
|
+
recommended_sandbox?: string;
|
|
2809
|
+
/**
|
|
2810
|
+
* Whether this output requires HTTPS for secure embedding
|
|
2811
|
+
*/
|
|
2812
|
+
requires_https?: boolean;
|
|
2813
|
+
/**
|
|
2814
|
+
* Whether this output supports fullscreen mode
|
|
2815
|
+
*/
|
|
2816
|
+
supports_fullscreen?: boolean;
|
|
2817
|
+
/**
|
|
2818
|
+
* Content Security Policy requirements for embedding
|
|
2819
|
+
*/
|
|
2820
|
+
csp_policy?: string;
|
|
2821
|
+
};
|
|
2822
|
+
},
|
|
2823
|
+
...{
|
|
2824
|
+
/**
|
|
2825
|
+
* Unique identifier for this rendered piece within the variant
|
|
2826
|
+
*/
|
|
2827
|
+
render_id: string;
|
|
2828
|
+
/**
|
|
2829
|
+
* URL to an HTML page that renders this piece. Can be embedded in an iframe. Handles all rendering complexity internally (images, video players, audio players, interactive content, etc.).
|
|
2830
|
+
*/
|
|
2831
|
+
preview_url: string;
|
|
2832
|
+
/**
|
|
2833
|
+
* Semantic role of this rendered piece. Use 'primary' for main content, 'companion' for associated banners, descriptive strings for device variants or custom roles.
|
|
2834
|
+
*/
|
|
2835
|
+
role: string;
|
|
2836
|
+
/**
|
|
2837
|
+
* Dimensions for this rendered piece. For companion ads with multiple sizes, this specifies which size this piece is.
|
|
2838
|
+
*/
|
|
2839
|
+
dimensions?: {
|
|
2840
|
+
width: number;
|
|
2841
|
+
height: number;
|
|
2842
|
+
};
|
|
2843
|
+
/**
|
|
2844
|
+
* Optional security and embedding metadata for safe iframe integration
|
|
2845
|
+
*/
|
|
2846
|
+
embedding?: {
|
|
2847
|
+
/**
|
|
2848
|
+
* Recommended iframe sandbox attribute value (e.g., 'allow-scripts allow-same-origin')
|
|
2849
|
+
*/
|
|
2850
|
+
recommended_sandbox?: string;
|
|
2851
|
+
/**
|
|
2852
|
+
* Whether this output requires HTTPS for secure embedding
|
|
2853
|
+
*/
|
|
2854
|
+
requires_https?: boolean;
|
|
2855
|
+
/**
|
|
2856
|
+
* Whether this output supports fullscreen mode
|
|
2857
|
+
*/
|
|
2858
|
+
supports_fullscreen?: boolean;
|
|
2859
|
+
/**
|
|
2860
|
+
* Content Security Policy requirements for embedding
|
|
2861
|
+
*/
|
|
2862
|
+
csp_policy?: string;
|
|
2863
|
+
};
|
|
2864
|
+
}[]
|
|
2865
|
+
];
|
|
2866
|
+
/**
|
|
2867
|
+
* The input parameters that generated this preview variant. Echoes back the request input or shows defaults used.
|
|
2868
|
+
*/
|
|
2869
|
+
input: {
|
|
2870
|
+
/**
|
|
2871
|
+
* Human-readable name for this variant
|
|
2872
|
+
*/
|
|
2873
|
+
name: string;
|
|
2874
|
+
/**
|
|
2875
|
+
* Macro values applied to this variant
|
|
2876
|
+
*/
|
|
2877
|
+
macros?: {
|
|
2878
|
+
[k: string]: string;
|
|
2879
|
+
};
|
|
2880
|
+
/**
|
|
2881
|
+
* Context description applied to this variant
|
|
2882
|
+
*/
|
|
2883
|
+
context_description?: string;
|
|
2884
|
+
};
|
|
2885
|
+
},
|
|
2886
|
+
...{
|
|
2887
|
+
/**
|
|
2888
|
+
* Unique identifier for this preview variant
|
|
2889
|
+
*/
|
|
2890
|
+
preview_id: string;
|
|
2891
|
+
/**
|
|
2892
|
+
* Array of rendered pieces for this preview variant. Most formats render as a single piece. Companion ad formats (video + banner), multi-placement formats, and adaptive formats render as multiple pieces.
|
|
2893
|
+
*
|
|
2894
|
+
* @minItems 1
|
|
2895
|
+
*/
|
|
2896
|
+
renders: [
|
|
2897
|
+
{
|
|
2898
|
+
/**
|
|
2899
|
+
* Unique identifier for this rendered piece within the variant
|
|
2900
|
+
*/
|
|
2901
|
+
render_id: string;
|
|
2902
|
+
/**
|
|
2903
|
+
* URL to an HTML page that renders this piece. Can be embedded in an iframe. Handles all rendering complexity internally (images, video players, audio players, interactive content, etc.).
|
|
2904
|
+
*/
|
|
2905
|
+
preview_url: string;
|
|
2906
|
+
/**
|
|
2907
|
+
* Semantic role of this rendered piece. Use 'primary' for main content, 'companion' for associated banners, descriptive strings for device variants or custom roles.
|
|
2908
|
+
*/
|
|
2909
|
+
role: string;
|
|
2910
|
+
/**
|
|
2911
|
+
* Dimensions for this rendered piece. For companion ads with multiple sizes, this specifies which size this piece is.
|
|
2912
|
+
*/
|
|
2913
|
+
dimensions?: {
|
|
2914
|
+
width: number;
|
|
2915
|
+
height: number;
|
|
2916
|
+
};
|
|
2917
|
+
/**
|
|
2918
|
+
* Optional security and embedding metadata for safe iframe integration
|
|
2919
|
+
*/
|
|
2920
|
+
embedding?: {
|
|
2921
|
+
/**
|
|
2922
|
+
* Recommended iframe sandbox attribute value (e.g., 'allow-scripts allow-same-origin')
|
|
2923
|
+
*/
|
|
2924
|
+
recommended_sandbox?: string;
|
|
2925
|
+
/**
|
|
2926
|
+
* Whether this output requires HTTPS for secure embedding
|
|
2927
|
+
*/
|
|
2928
|
+
requires_https?: boolean;
|
|
2929
|
+
/**
|
|
2930
|
+
* Whether this output supports fullscreen mode
|
|
2931
|
+
*/
|
|
2932
|
+
supports_fullscreen?: boolean;
|
|
2933
|
+
/**
|
|
2934
|
+
* Content Security Policy requirements for embedding
|
|
2935
|
+
*/
|
|
2936
|
+
csp_policy?: string;
|
|
2937
|
+
};
|
|
2938
|
+
},
|
|
2939
|
+
...{
|
|
2940
|
+
/**
|
|
2941
|
+
* Unique identifier for this rendered piece within the variant
|
|
2942
|
+
*/
|
|
2943
|
+
render_id: string;
|
|
2944
|
+
/**
|
|
2945
|
+
* URL to an HTML page that renders this piece. Can be embedded in an iframe. Handles all rendering complexity internally (images, video players, audio players, interactive content, etc.).
|
|
2946
|
+
*/
|
|
2947
|
+
preview_url: string;
|
|
2948
|
+
/**
|
|
2949
|
+
* Semantic role of this rendered piece. Use 'primary' for main content, 'companion' for associated banners, descriptive strings for device variants or custom roles.
|
|
2950
|
+
*/
|
|
2951
|
+
role: string;
|
|
2952
|
+
/**
|
|
2953
|
+
* Dimensions for this rendered piece. For companion ads with multiple sizes, this specifies which size this piece is.
|
|
2954
|
+
*/
|
|
2955
|
+
dimensions?: {
|
|
2956
|
+
width: number;
|
|
2957
|
+
height: number;
|
|
2958
|
+
};
|
|
2959
|
+
/**
|
|
2960
|
+
* Optional security and embedding metadata for safe iframe integration
|
|
2961
|
+
*/
|
|
2962
|
+
embedding?: {
|
|
2963
|
+
/**
|
|
2964
|
+
* Recommended iframe sandbox attribute value (e.g., 'allow-scripts allow-same-origin')
|
|
2965
|
+
*/
|
|
2966
|
+
recommended_sandbox?: string;
|
|
2967
|
+
/**
|
|
2968
|
+
* Whether this output requires HTTPS for secure embedding
|
|
2969
|
+
*/
|
|
2970
|
+
requires_https?: boolean;
|
|
2971
|
+
/**
|
|
2972
|
+
* Whether this output supports fullscreen mode
|
|
2973
|
+
*/
|
|
2974
|
+
supports_fullscreen?: boolean;
|
|
2975
|
+
/**
|
|
2976
|
+
* Content Security Policy requirements for embedding
|
|
2977
|
+
*/
|
|
2978
|
+
csp_policy?: string;
|
|
2979
|
+
};
|
|
2980
|
+
}[]
|
|
2981
|
+
];
|
|
2982
|
+
/**
|
|
2983
|
+
* The input parameters that generated this preview variant. Echoes back the request input or shows defaults used.
|
|
2984
|
+
*/
|
|
2985
|
+
input: {
|
|
2986
|
+
/**
|
|
2987
|
+
* Human-readable name for this variant
|
|
2988
|
+
*/
|
|
2989
|
+
name: string;
|
|
2990
|
+
/**
|
|
2991
|
+
* Macro values applied to this variant
|
|
2992
|
+
*/
|
|
2993
|
+
macros?: {
|
|
2994
|
+
[k: string]: string;
|
|
2995
|
+
};
|
|
2996
|
+
/**
|
|
2997
|
+
* Context description applied to this variant
|
|
2998
|
+
*/
|
|
2999
|
+
context_description?: string;
|
|
3000
|
+
};
|
|
3001
|
+
}[]
|
|
3002
|
+
];
|
|
3003
|
+
/**
|
|
3004
|
+
* Optional URL to an interactive testing page that shows all preview variants with controls to switch between them, modify macro values, and test different scenarios.
|
|
3005
|
+
*/
|
|
3006
|
+
interactive_url?: string;
|
|
3007
|
+
/**
|
|
3008
|
+
* ISO 8601 timestamp when preview links expire
|
|
3009
|
+
*/
|
|
3010
|
+
expires_at: string;
|
|
3011
|
+
}
|
|
2608
3012
|
/**
|
|
2609
3013
|
* Request parameters for discovering signals based on description
|
|
2610
3014
|
*/
|