@adcp/client 3.18.0 → 3.19.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 +9 -1
- package/dist/lib/agents/index.generated.d.ts.map +1 -1
- package/dist/lib/agents/index.generated.js +12 -0
- package/dist/lib/agents/index.generated.js.map +1 -1
- package/dist/lib/index.d.ts +3 -3
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +6 -4
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/types/compat.d.ts +49 -7
- package/dist/lib/types/compat.d.ts.map +1 -1
- package/dist/lib/types/compat.js +30 -7
- package/dist/lib/types/compat.js.map +1 -1
- package/dist/lib/types/core.generated.d.ts +335 -522
- package/dist/lib/types/core.generated.d.ts.map +1 -1
- package/dist/lib/types/core.generated.js +1 -1
- package/dist/lib/types/schemas.generated.d.ts +4224 -3331
- package/dist/lib/types/schemas.generated.d.ts.map +1 -1
- package/dist/lib/types/schemas.generated.js +511 -614
- package/dist/lib/types/schemas.generated.js.map +1 -1
- package/dist/lib/types/tools.generated.d.ts +758 -1070
- package/dist/lib/types/tools.generated.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -13,18 +13,10 @@ export type MetroAreaSystem = 'nielsen_dma' | 'uk_itl1' | 'uk_itl2' | 'eurostat_
|
|
|
13
13
|
/**
|
|
14
14
|
* Metro area classification system (e.g., 'nielsen_dma', 'uk_itl2')
|
|
15
15
|
*/
|
|
16
|
-
export type MetroAreaSystem1 = 'nielsen_dma' | 'uk_itl1' | 'uk_itl2' | 'eurostat_nuts2' | 'custom';
|
|
17
|
-
/**
|
|
18
|
-
* Postal code system (e.g., 'us_zip', 'gb_outward'). System name encodes country and precision.
|
|
19
|
-
*/
|
|
20
16
|
export type PostalCodeSystem = 'us_zip' | 'us_zip_plus_four' | 'gb_outward' | 'gb_full' | 'ca_fsa' | 'ca_full' | 'de_plz' | 'fr_code_postal' | 'au_postcode';
|
|
21
17
|
/**
|
|
22
18
|
* Postal code system (e.g., 'us_zip', 'gb_outward'). System name encodes country and precision.
|
|
23
19
|
*/
|
|
24
|
-
export type PostalCodeSystem1 = 'us_zip' | 'us_zip_plus_four' | 'gb_outward' | 'gb_full' | 'ca_fsa' | 'ca_full' | 'de_plz' | 'fr_code_postal' | 'au_postcode';
|
|
25
|
-
/**
|
|
26
|
-
* Days of the week for daypart targeting
|
|
27
|
-
*/
|
|
28
20
|
export type DayOfWeek = 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday' | 'sunday';
|
|
29
21
|
/**
|
|
30
22
|
* Methods for verifying user age for compliance. Does not include 'inferred' as it is not accepted for regulatory compliance.
|
|
@@ -50,12 +42,12 @@ export interface MediaBuy {
|
|
|
50
42
|
* Buyer's reference identifier for this media buy
|
|
51
43
|
*/
|
|
52
44
|
buyer_ref?: string;
|
|
53
|
-
account?: Account;
|
|
54
|
-
status: MediaBuyStatus;
|
|
55
45
|
/**
|
|
56
|
-
*
|
|
46
|
+
* Buyer's campaign reference label. Groups related operations under a single campaign for CRM and ad server correlation.
|
|
57
47
|
*/
|
|
58
|
-
|
|
48
|
+
campaign_ref?: string;
|
|
49
|
+
account?: Account;
|
|
50
|
+
status: MediaBuyStatus;
|
|
59
51
|
/**
|
|
60
52
|
* Total budget amount
|
|
61
53
|
*/
|
|
@@ -256,7 +248,7 @@ export interface TargetingOverlay {
|
|
|
256
248
|
*/
|
|
257
249
|
geo_metros_exclude?: [
|
|
258
250
|
{
|
|
259
|
-
system:
|
|
251
|
+
system: MetroAreaSystem;
|
|
260
252
|
/**
|
|
261
253
|
* Metro codes to exclude within the system (e.g., ['501', '602'] for Nielsen DMAs)
|
|
262
254
|
*
|
|
@@ -265,7 +257,7 @@ export interface TargetingOverlay {
|
|
|
265
257
|
values: [string, ...string[]];
|
|
266
258
|
},
|
|
267
259
|
...{
|
|
268
|
-
system:
|
|
260
|
+
system: MetroAreaSystem;
|
|
269
261
|
/**
|
|
270
262
|
* Metro codes to exclude within the system (e.g., ['501', '602'] for Nielsen DMAs)
|
|
271
263
|
*
|
|
@@ -306,7 +298,7 @@ export interface TargetingOverlay {
|
|
|
306
298
|
*/
|
|
307
299
|
geo_postal_areas_exclude?: [
|
|
308
300
|
{
|
|
309
|
-
system:
|
|
301
|
+
system: PostalCodeSystem;
|
|
310
302
|
/**
|
|
311
303
|
* Postal codes to exclude within the system (e.g., ['10001', '10002'] for us_zip)
|
|
312
304
|
*
|
|
@@ -315,7 +307,7 @@ export interface TargetingOverlay {
|
|
|
315
307
|
values: [string, ...string[]];
|
|
316
308
|
},
|
|
317
309
|
...{
|
|
318
|
-
system:
|
|
310
|
+
system: PostalCodeSystem;
|
|
319
311
|
/**
|
|
320
312
|
* Postal codes to exclude within the system (e.g., ['10001', '10002'] for us_zip)
|
|
321
313
|
*
|
|
@@ -377,6 +369,51 @@ export interface TargetingOverlay {
|
|
|
377
369
|
* @minItems 1
|
|
378
370
|
*/
|
|
379
371
|
device_platform?: [DevicePlatform, ...DevicePlatform[]];
|
|
372
|
+
/**
|
|
373
|
+
* Target users within store catchment areas from a synced store catalog. Each entry references a store-type catalog and optionally narrows to specific stores or catchment zones.
|
|
374
|
+
*
|
|
375
|
+
* @minItems 1
|
|
376
|
+
*/
|
|
377
|
+
store_catchments?: [
|
|
378
|
+
{
|
|
379
|
+
/**
|
|
380
|
+
* Synced store-type catalog ID from sync_catalogs.
|
|
381
|
+
*/
|
|
382
|
+
catalog_id: string;
|
|
383
|
+
/**
|
|
384
|
+
* Filter to specific stores within the catalog. Omit to target all stores.
|
|
385
|
+
*
|
|
386
|
+
* @minItems 1
|
|
387
|
+
*/
|
|
388
|
+
store_ids?: [string, ...string[]];
|
|
389
|
+
/**
|
|
390
|
+
* Catchment zone IDs to target (e.g., 'walk', 'drive'). Omit to target all catchment zones.
|
|
391
|
+
*
|
|
392
|
+
* @minItems 1
|
|
393
|
+
*/
|
|
394
|
+
catchment_ids?: [string, ...string[]];
|
|
395
|
+
[k: string]: unknown | undefined;
|
|
396
|
+
},
|
|
397
|
+
...{
|
|
398
|
+
/**
|
|
399
|
+
* Synced store-type catalog ID from sync_catalogs.
|
|
400
|
+
*/
|
|
401
|
+
catalog_id: string;
|
|
402
|
+
/**
|
|
403
|
+
* Filter to specific stores within the catalog. Omit to target all stores.
|
|
404
|
+
*
|
|
405
|
+
* @minItems 1
|
|
406
|
+
*/
|
|
407
|
+
store_ids?: [string, ...string[]];
|
|
408
|
+
/**
|
|
409
|
+
* Catchment zone IDs to target (e.g., 'walk', 'drive'). Omit to target all catchment zones.
|
|
410
|
+
*
|
|
411
|
+
* @minItems 1
|
|
412
|
+
*/
|
|
413
|
+
catchment_ids?: [string, ...string[]];
|
|
414
|
+
[k: string]: unknown | undefined;
|
|
415
|
+
}[]
|
|
416
|
+
];
|
|
380
417
|
/**
|
|
381
418
|
* Restrict to users with specific language preferences. ISO 639-1 codes (e.g., 'en', 'es', 'fr').
|
|
382
419
|
*
|
|
@@ -514,6 +551,22 @@ export interface OptimizationGoal {
|
|
|
514
551
|
};
|
|
515
552
|
[k: string]: unknown | undefined;
|
|
516
553
|
}
|
|
554
|
+
/**
|
|
555
|
+
* Catalog type. Structural types: 'offering' (AdCP Offering objects), 'product' (ecommerce entries), 'inventory' (stock per location), 'store' (physical locations), 'promotion' (deals and pricing). Vertical types: 'hotel', 'flight', 'job', 'vehicle', 'real_estate', 'education', 'destination', 'app' — each with an industry-specific item schema.
|
|
556
|
+
*/
|
|
557
|
+
export type CatalogType = 'offering' | 'product' | 'inventory' | 'store' | 'promotion' | 'hotel' | 'flight' | 'job' | 'vehicle' | 'real_estate' | 'education' | 'destination' | 'app';
|
|
558
|
+
/**
|
|
559
|
+
* Format of the external feed at url. Required when url points to a non-AdCP feed (e.g., Google Merchant Center XML, Meta Product Catalog). Omit for offering-type catalogs where the feed is native AdCP JSON.
|
|
560
|
+
*/
|
|
561
|
+
export type FeedFormat = 'google_merchant_center' | 'facebook_catalog' | 'shopify' | 'linkedin_jobs' | 'custom';
|
|
562
|
+
/**
|
|
563
|
+
* How often the platform should re-fetch the feed from url. Only applicable when url is provided. Platforms may use this as a hint for polling schedules.
|
|
564
|
+
*/
|
|
565
|
+
export type UpdateFrequency = 'realtime' | 'hourly' | 'daily' | 'weekly';
|
|
566
|
+
/**
|
|
567
|
+
* Standard marketing event types for event logging, aligned with IAB ECAPI
|
|
568
|
+
*/
|
|
569
|
+
export type ContentIDType = 'sku' | 'gtin' | 'offering_id' | 'job_id' | 'hotel_id' | 'flight_id' | 'vehicle_id' | 'listing_id' | 'store_id' | 'program_id' | 'destination_id' | 'app_id';
|
|
517
570
|
/**
|
|
518
571
|
* JavaScript module type
|
|
519
572
|
*/
|
|
@@ -561,7 +614,7 @@ export type VASTAsset = {
|
|
|
561
614
|
* Inline VAST XML content
|
|
562
615
|
*/
|
|
563
616
|
content: string;
|
|
564
|
-
vast_version?:
|
|
617
|
+
vast_version?: VASTVersion;
|
|
565
618
|
/**
|
|
566
619
|
* Whether VPAID (Video Player-Ad Interface Definition) is supported
|
|
567
620
|
*/
|
|
@@ -595,10 +648,6 @@ export type VASTTrackingEvent = 'start' | 'firstQuartile' | 'midpoint' | 'thirdQ
|
|
|
595
648
|
/**
|
|
596
649
|
* VAST specification version
|
|
597
650
|
*/
|
|
598
|
-
export type VASTVersion1 = '2.0' | '3.0' | '4.0' | '4.1' | '4.2';
|
|
599
|
-
/**
|
|
600
|
-
* DAAST (Digital Audio Ad Serving Template) tag for third-party audio ad serving
|
|
601
|
-
*/
|
|
602
651
|
export type DAASTAsset = {
|
|
603
652
|
/**
|
|
604
653
|
* Discriminator indicating DAAST is delivered via URL endpoint
|
|
@@ -635,7 +684,7 @@ export type DAASTAsset = {
|
|
|
635
684
|
* Inline DAAST XML content
|
|
636
685
|
*/
|
|
637
686
|
content: string;
|
|
638
|
-
daast_version?:
|
|
687
|
+
daast_version?: DAASTVersion;
|
|
639
688
|
/**
|
|
640
689
|
* Expected audio duration in milliseconds (if known)
|
|
641
690
|
*/
|
|
@@ -665,14 +714,6 @@ export type DAASTTrackingEvent = 'start' | 'firstQuartile' | 'midpoint' | 'third
|
|
|
665
714
|
/**
|
|
666
715
|
* DAAST specification version
|
|
667
716
|
*/
|
|
668
|
-
export type DAASTVersion1 = '1.0' | '1.1';
|
|
669
|
-
/**
|
|
670
|
-
* Brand identifier within the house portfolio. Optional for single-brand domains.
|
|
671
|
-
*/
|
|
672
|
-
export type BrandID = string;
|
|
673
|
-
/**
|
|
674
|
-
* Type of URL asset: 'clickthrough' for user click destination (landing page), 'tracker_pixel' for impression/event tracking via HTTP request (fires GET, expects pixel/204 response), 'tracker_script' for measurement SDKs that must load as <script> tag (OMID verification, native event trackers using method:2)
|
|
675
|
-
*/
|
|
676
717
|
export type URLAssetType = 'clickthrough' | 'tracker_pixel' | 'tracker_script';
|
|
677
718
|
/**
|
|
678
719
|
* For generative creatives: set to 'approved' to finalize, 'rejected' to request regeneration with updated assets/message. Omit for non-generative creatives (system will set based on processing state).
|
|
@@ -691,6 +732,10 @@ export interface CreativeAsset {
|
|
|
691
732
|
*/
|
|
692
733
|
name: string;
|
|
693
734
|
format_id: FormatID;
|
|
735
|
+
/**
|
|
736
|
+
* Catalogs this creative renders. Each entry satisfies one of the format's catalog_requirements, matched by type. Each catalog can be inline (with items), a reference to a synced catalog (by catalog_id), or a URL to an external feed.
|
|
737
|
+
*/
|
|
738
|
+
catalogs?: Catalog[];
|
|
694
739
|
/**
|
|
695
740
|
* Assets required by the format, keyed by asset_role
|
|
696
741
|
*/
|
|
@@ -699,7 +744,7 @@ export interface CreativeAsset {
|
|
|
699
744
|
* This interface was referenced by `undefined`'s JSON-Schema definition
|
|
700
745
|
* via the `patternProperty` "^[a-zA-Z0-9_-]+$".
|
|
701
746
|
*/
|
|
702
|
-
[k: string]: ImageAsset | VideoAsset | AudioAsset | TextAsset | HTMLAsset | CSSAsset | JavaScriptAsset | VASTAsset | DAASTAsset |
|
|
747
|
+
[k: string]: ImageAsset | VideoAsset | AudioAsset | TextAsset | HTMLAsset | CSSAsset | JavaScriptAsset | VASTAsset | DAASTAsset | URLAsset;
|
|
703
748
|
};
|
|
704
749
|
/**
|
|
705
750
|
* Preview contexts for generative formats - defines what scenarios to generate previews for
|
|
@@ -737,6 +782,66 @@ export interface CreativeAsset {
|
|
|
737
782
|
/**
|
|
738
783
|
* Format identifier specifying which format this creative conforms to. Can be: (1) concrete format_id referencing a format with fixed dimensions, (2) template format_id referencing a template format, or (3) parameterized format_id with dimensions/duration parameters for template formats.
|
|
739
784
|
*/
|
|
785
|
+
export interface Catalog {
|
|
786
|
+
/**
|
|
787
|
+
* Buyer's identifier for this catalog. Required when syncing via sync_catalogs. When used in creatives, references a previously synced catalog on the account.
|
|
788
|
+
*/
|
|
789
|
+
catalog_id?: string;
|
|
790
|
+
/**
|
|
791
|
+
* Human-readable name for this catalog (e.g., 'Summer Products 2025', 'Amsterdam Store Locations').
|
|
792
|
+
*/
|
|
793
|
+
name?: string;
|
|
794
|
+
type: CatalogType;
|
|
795
|
+
/**
|
|
796
|
+
* URL to an external catalog feed. The platform fetches and resolves items from this URL. For offering-type catalogs, the feed contains an array of Offering objects. For other types, the feed format is determined by feed_format. When omitted with type 'product', the platform uses its synced copy of the brand's product catalog.
|
|
797
|
+
*/
|
|
798
|
+
url?: string;
|
|
799
|
+
feed_format?: FeedFormat;
|
|
800
|
+
update_frequency?: UpdateFrequency;
|
|
801
|
+
/**
|
|
802
|
+
* Inline catalog data. The item schema depends on the catalog type: Offering objects for 'offering', StoreItem for 'store', HotelItem for 'hotel', FlightItem for 'flight', JobItem for 'job', VehicleItem for 'vehicle', RealEstateItem for 'real_estate', EducationItem for 'education', DestinationItem for 'destination', AppItem for 'app', or freeform objects for 'product', 'inventory', and 'promotion'. Mutually exclusive with url — provide one or the other, not both. Implementations should validate items against the type-specific schema.
|
|
803
|
+
*
|
|
804
|
+
* @minItems 1
|
|
805
|
+
*/
|
|
806
|
+
items?: [{}, ...{}[]];
|
|
807
|
+
/**
|
|
808
|
+
* Filter catalog to specific item IDs. For offering-type catalogs, these are offering_id values. For product-type catalogs, these are SKU identifiers.
|
|
809
|
+
*
|
|
810
|
+
* @minItems 1
|
|
811
|
+
*/
|
|
812
|
+
ids?: [string, ...string[]];
|
|
813
|
+
/**
|
|
814
|
+
* Filter product-type catalogs by GTIN identifiers for cross-retailer catalog matching. Accepts standard GTIN formats (GTIN-8, UPC-A/GTIN-12, EAN-13/GTIN-13, GTIN-14). Only applicable when type is 'product'.
|
|
815
|
+
*
|
|
816
|
+
* @minItems 1
|
|
817
|
+
*/
|
|
818
|
+
gtins?: [string, ...string[]];
|
|
819
|
+
/**
|
|
820
|
+
* Filter catalog to items with these tags. Tags are matched using OR logic — items matching any tag are included.
|
|
821
|
+
*
|
|
822
|
+
* @minItems 1
|
|
823
|
+
*/
|
|
824
|
+
tags?: [string, ...string[]];
|
|
825
|
+
/**
|
|
826
|
+
* Filter catalog to items in this category (e.g., 'beverages/soft-drinks', 'chef-positions').
|
|
827
|
+
*/
|
|
828
|
+
category?: string;
|
|
829
|
+
/**
|
|
830
|
+
* Natural language filter for catalog items (e.g., 'all pasta sauces under $5', 'amsterdam vacancies').
|
|
831
|
+
*/
|
|
832
|
+
query?: string;
|
|
833
|
+
/**
|
|
834
|
+
* Event types that represent conversions for items in this catalog. Declares what events the platform should attribute to catalog items — e.g., a job catalog converts via submit_application, a product catalog via purchase. The event's content_ids field carries the item IDs that connect back to catalog items. Use content_id_type to declare what identifier type content_ids values represent.
|
|
835
|
+
*
|
|
836
|
+
* @minItems 1
|
|
837
|
+
*/
|
|
838
|
+
conversion_events?: [EventType, ...EventType[]];
|
|
839
|
+
content_id_type?: ContentIDType;
|
|
840
|
+
[k: string]: unknown | undefined;
|
|
841
|
+
}
|
|
842
|
+
/**
|
|
843
|
+
* Image asset with URL and dimensions
|
|
844
|
+
*/
|
|
740
845
|
export interface ImageAsset {
|
|
741
846
|
/**
|
|
742
847
|
* URL to the image asset
|
|
@@ -1032,134 +1137,7 @@ export interface JavaScriptAsset {
|
|
|
1032
1137
|
[k: string]: unknown | undefined;
|
|
1033
1138
|
}
|
|
1034
1139
|
/**
|
|
1035
|
-
*
|
|
1036
|
-
*/
|
|
1037
|
-
export interface PromotedOfferings {
|
|
1038
|
-
brand: BrandReference;
|
|
1039
|
-
/**
|
|
1040
|
-
* MCP endpoint URL for the brand's SI agent. When present, hosts can connect users to conversational experiences about any of the offerings. The agent handles si_get_offering lookups and full conversations.
|
|
1041
|
-
*/
|
|
1042
|
-
si_agent_url?: string;
|
|
1043
|
-
product_selectors?: PromotedProducts;
|
|
1044
|
-
/**
|
|
1045
|
-
* Offerings available for promotion. Each offering can include creative assets (via portfolio_ref or inline assets) for traditional ads. When si_agent_url is set at the parent level, hosts can offer conversational experiences about any of these offerings.
|
|
1046
|
-
*/
|
|
1047
|
-
offerings?: Offering[];
|
|
1048
|
-
/**
|
|
1049
|
-
* Selectors to choose specific assets from the brand's asset library
|
|
1050
|
-
*/
|
|
1051
|
-
asset_selectors?: {
|
|
1052
|
-
/**
|
|
1053
|
-
* Select assets with specific tags (e.g., ['holiday', 'premium'])
|
|
1054
|
-
*/
|
|
1055
|
-
tags?: string[];
|
|
1056
|
-
/**
|
|
1057
|
-
* Filter by asset type (e.g., ['image', 'video'])
|
|
1058
|
-
*/
|
|
1059
|
-
asset_types?: ('image' | 'video' | 'audio' | 'vast' | 'daast' | 'text' | 'url' | 'html' | 'css' | 'javascript' | 'webhook')[];
|
|
1060
|
-
/**
|
|
1061
|
-
* Exclude assets with these tags
|
|
1062
|
-
*/
|
|
1063
|
-
exclude_tags?: string[];
|
|
1064
|
-
[k: string]: unknown | undefined;
|
|
1065
|
-
};
|
|
1066
|
-
[k: string]: unknown | undefined;
|
|
1067
|
-
}
|
|
1068
|
-
/**
|
|
1069
|
-
* Brand reference. Resolved to full brand identity (logos, colors, tone, assets) at execution time for creative generation.
|
|
1070
|
-
*/
|
|
1071
|
-
export interface BrandReference {
|
|
1072
|
-
/**
|
|
1073
|
-
* Domain where /.well-known/brand.json is hosted, or the brand's operating domain
|
|
1074
|
-
*/
|
|
1075
|
-
domain: string;
|
|
1076
|
-
brand_id?: BrandID;
|
|
1077
|
-
}
|
|
1078
|
-
/**
|
|
1079
|
-
* Selectors to choose which products/offerings from the brand's product catalog to promote
|
|
1080
|
-
*/
|
|
1081
|
-
export interface PromotedProducts {
|
|
1082
|
-
/**
|
|
1083
|
-
* GTIN product identifiers for cross-retailer catalog matching. Accepts standard GTIN formats (GTIN-8, UPC-A/GTIN-12, EAN-13/GTIN-13, GTIN-14).
|
|
1084
|
-
*/
|
|
1085
|
-
manifest_gtins?: string[];
|
|
1086
|
-
/**
|
|
1087
|
-
* Direct product SKU references from the brand's product catalog
|
|
1088
|
-
*/
|
|
1089
|
-
manifest_skus?: string[];
|
|
1090
|
-
/**
|
|
1091
|
-
* Select products by tags from the brand's product catalog (e.g., 'organic', 'sauces', 'holiday')
|
|
1092
|
-
*/
|
|
1093
|
-
manifest_tags?: string[];
|
|
1094
|
-
/**
|
|
1095
|
-
* Select products from a specific category in the brand's product catalog (e.g., 'beverages/soft-drinks', 'food/sauces')
|
|
1096
|
-
*/
|
|
1097
|
-
manifest_category?: string;
|
|
1098
|
-
/**
|
|
1099
|
-
* Natural language query to select products from the brand's catalog (e.g., 'all pasta sauces', 'organic products under $20')
|
|
1100
|
-
*/
|
|
1101
|
-
manifest_query?: string;
|
|
1102
|
-
[k: string]: unknown | undefined;
|
|
1103
|
-
}
|
|
1104
|
-
/**
|
|
1105
|
-
* A promotable offering from a brand. Can represent a campaign, product promotion, service, or any other thing the brand wants to make available. Offerings can be promoted via traditional creatives (using portfolio_ref or assets) or conversational SI experiences (via si_agent_url at the promoted-offerings level).
|
|
1106
|
-
*/
|
|
1107
|
-
export interface Offering {
|
|
1108
|
-
/**
|
|
1109
|
-
* Unique identifier for this offering. Used by hosts to reference specific offerings in si_get_offering calls.
|
|
1110
|
-
*/
|
|
1111
|
-
offering_id: string;
|
|
1112
|
-
/**
|
|
1113
|
-
* Human-readable offering name (e.g., 'Winter Sale', 'Free Trial', 'Enterprise Platform')
|
|
1114
|
-
*/
|
|
1115
|
-
name: string;
|
|
1116
|
-
/**
|
|
1117
|
-
* Description of what's being offered
|
|
1118
|
-
*/
|
|
1119
|
-
description?: string;
|
|
1120
|
-
/**
|
|
1121
|
-
* Short promotional tagline for the offering
|
|
1122
|
-
*/
|
|
1123
|
-
tagline?: string;
|
|
1124
|
-
/**
|
|
1125
|
-
* When the offering becomes available. If not specified, offering is immediately available.
|
|
1126
|
-
*/
|
|
1127
|
-
valid_from?: string;
|
|
1128
|
-
/**
|
|
1129
|
-
* When the offering expires. If not specified, offering has no expiration.
|
|
1130
|
-
*/
|
|
1131
|
-
valid_to?: string;
|
|
1132
|
-
/**
|
|
1133
|
-
* URL for checkout/purchase flow when the brand doesn't support agentic checkout.
|
|
1134
|
-
*/
|
|
1135
|
-
checkout_url?: string;
|
|
1136
|
-
/**
|
|
1137
|
-
* Landing page URL for this offering.
|
|
1138
|
-
*/
|
|
1139
|
-
landing_url?: string;
|
|
1140
|
-
/**
|
|
1141
|
-
* Assets specific to this offering (images, videos, copy)
|
|
1142
|
-
*/
|
|
1143
|
-
assets?: {
|
|
1144
|
-
[k: string]: unknown | undefined;
|
|
1145
|
-
}[];
|
|
1146
|
-
/**
|
|
1147
|
-
* Reference to a creative portfolio for this offering. Portfolios contain organized creative assets across formats, enabling consistent ad delivery for this specific offering.
|
|
1148
|
-
*/
|
|
1149
|
-
portfolio_ref?: string;
|
|
1150
|
-
/**
|
|
1151
|
-
* Keywords for matching this offering to user intent. Hosts use these for retrieval/relevance scoring.
|
|
1152
|
-
*/
|
|
1153
|
-
keywords?: string[];
|
|
1154
|
-
/**
|
|
1155
|
-
* Categories this offering belongs to (e.g., 'measurement', 'identity', 'programmatic')
|
|
1156
|
-
*/
|
|
1157
|
-
categories?: string[];
|
|
1158
|
-
ext?: ExtensionObject;
|
|
1159
|
-
[k: string]: unknown | undefined;
|
|
1160
|
-
}
|
|
1161
|
-
/**
|
|
1162
|
-
* Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.
|
|
1140
|
+
* URL reference asset
|
|
1163
1141
|
*/
|
|
1164
1142
|
export interface URLAsset {
|
|
1165
1143
|
/**
|
|
@@ -1254,10 +1232,6 @@ export type ForecastMethod = 'estimate' | 'modeled' | 'guaranteed';
|
|
|
1254
1232
|
/**
|
|
1255
1233
|
* Measurement system for the demographic field. Ensures buyer and seller agree on demographic notation.
|
|
1256
1234
|
*/
|
|
1257
|
-
export type DemographicSystem1 = 'nielsen' | 'barb' | 'agf' | 'oztam' | 'mediametrie' | 'custom';
|
|
1258
|
-
/**
|
|
1259
|
-
* Unit of measurement for reach and audience_size metrics in this forecast. Required for cross-channel forecast comparison.
|
|
1260
|
-
*/
|
|
1261
1235
|
export type ReachUnit = 'individuals' | 'households' | 'devices' | 'accounts' | 'cookies' | 'custom';
|
|
1262
1236
|
/**
|
|
1263
1237
|
* Available frequencies for delivery reports and metrics updates
|
|
@@ -1322,7 +1296,7 @@ export type DataProviderSignalSelector = {
|
|
|
1322
1296
|
[k: string]: unknown | undefined;
|
|
1323
1297
|
};
|
|
1324
1298
|
/**
|
|
1325
|
-
*
|
|
1299
|
+
* The type of catalog feed. Determines the item schema and how the platform resolves catalog items. Multiple catalog types can be synced to the same account and referenced together in creatives.
|
|
1326
1300
|
*/
|
|
1327
1301
|
export type ActionSource = 'website' | 'app' | 'offline' | 'phone_call' | 'chat' | 'email' | 'in_store' | 'system_generated' | 'other';
|
|
1328
1302
|
/**
|
|
@@ -1395,6 +1369,10 @@ export interface Product {
|
|
|
1395
1369
|
* Whether buyers can filter this product to a subset of its data_provider_signals. When false (default), the product includes all listed signals as a bundle. When true, buyers can target specific signals.
|
|
1396
1370
|
*/
|
|
1397
1371
|
signal_targeting_allowed?: boolean;
|
|
1372
|
+
/**
|
|
1373
|
+
* Catalog types this product supports for catalog-driven campaigns. A sponsored product listing declares ["product"], a job board declares ["job", "offering"]. Buyers match synced catalogs to products via this field.
|
|
1374
|
+
*/
|
|
1375
|
+
catalog_types?: CatalogType[];
|
|
1398
1376
|
/**
|
|
1399
1377
|
* Conversion tracking for this product. Presence indicates the product supports conversion-optimized delivery. Seller-level capabilities (supported event types, UID types, attribution windows) are declared in get_adcp_capabilities.
|
|
1400
1378
|
*/
|
|
@@ -1413,19 +1391,23 @@ export interface Product {
|
|
|
1413
1391
|
platform_managed?: boolean;
|
|
1414
1392
|
};
|
|
1415
1393
|
/**
|
|
1416
|
-
* When the buyer provides a
|
|
1394
|
+
* When the buyer provides a catalog on get_products, indicates which catalog items are eligible for this product. Only present for products where catalog matching is relevant (e.g., sponsored product listings, job boards, hotel ads).
|
|
1417
1395
|
*/
|
|
1418
1396
|
catalog_match?: {
|
|
1419
1397
|
/**
|
|
1420
|
-
* GTINs from the buyer's catalog that are eligible on this product's inventory.
|
|
1398
|
+
* GTINs from the buyer's catalog that are eligible on this product's inventory. Standard GTIN formats (GTIN-8 through GTIN-14). Only present for product-type catalogs with GTIN matching.
|
|
1421
1399
|
*/
|
|
1422
1400
|
matched_gtins?: string[];
|
|
1423
1401
|
/**
|
|
1424
|
-
*
|
|
1402
|
+
* Item IDs from the buyer's catalog that matched this product's inventory. The ID type depends on the catalog type and content_id_type (e.g., SKUs for product catalogs, job_ids for job catalogs, offering_ids for offering catalogs).
|
|
1425
1403
|
*/
|
|
1426
|
-
|
|
1404
|
+
matched_ids?: string[];
|
|
1427
1405
|
/**
|
|
1428
|
-
*
|
|
1406
|
+
* Number of catalog items that matched this product's inventory.
|
|
1407
|
+
*/
|
|
1408
|
+
matched_count?: number;
|
|
1409
|
+
/**
|
|
1410
|
+
* Total catalog items evaluated from the buyer's catalog.
|
|
1429
1411
|
*/
|
|
1430
1412
|
submitted_count: number;
|
|
1431
1413
|
};
|
|
@@ -1441,7 +1423,7 @@ export interface Product {
|
|
|
1441
1423
|
* Optional standard visual card (300x400px) for displaying this product in user interfaces. Can be rendered via preview_creative or pre-generated.
|
|
1442
1424
|
*/
|
|
1443
1425
|
product_card?: {
|
|
1444
|
-
format_id:
|
|
1426
|
+
format_id: FormatID;
|
|
1445
1427
|
/**
|
|
1446
1428
|
* Asset manifest for rendering the card, structure defined by the format
|
|
1447
1429
|
*/
|
|
@@ -1451,7 +1433,7 @@ export interface Product {
|
|
|
1451
1433
|
* Optional detailed card with carousel and full specifications. Provides rich product presentation similar to media kit pages.
|
|
1452
1434
|
*/
|
|
1453
1435
|
product_card_detailed?: {
|
|
1454
|
-
format_id:
|
|
1436
|
+
format_id: FormatID;
|
|
1455
1437
|
/**
|
|
1456
1438
|
* Asset manifest for rendering the detailed card, structure defined by the format
|
|
1457
1439
|
*/
|
|
@@ -1560,7 +1542,7 @@ export interface VCPMPricingOption {
|
|
|
1560
1542
|
* Minimum acceptable bid for auction pricing (mutually exclusive with fixed_price). Bids below this value will be rejected.
|
|
1561
1543
|
*/
|
|
1562
1544
|
floor_price?: number;
|
|
1563
|
-
price_guidance?:
|
|
1545
|
+
price_guidance?: PriceGuidance;
|
|
1564
1546
|
/**
|
|
1565
1547
|
* Minimum spend requirement per package using this pricing option, in the specified currency
|
|
1566
1548
|
*/
|
|
@@ -1570,28 +1552,6 @@ export interface VCPMPricingOption {
|
|
|
1570
1552
|
/**
|
|
1571
1553
|
* Optional pricing guidance for auction-based bidding
|
|
1572
1554
|
*/
|
|
1573
|
-
export interface PriceGuidance1 {
|
|
1574
|
-
/**
|
|
1575
|
-
* 25th percentile of recent winning bids
|
|
1576
|
-
*/
|
|
1577
|
-
p25?: number;
|
|
1578
|
-
/**
|
|
1579
|
-
* Median of recent winning bids
|
|
1580
|
-
*/
|
|
1581
|
-
p50?: number;
|
|
1582
|
-
/**
|
|
1583
|
-
* 75th percentile of recent winning bids
|
|
1584
|
-
*/
|
|
1585
|
-
p75?: number;
|
|
1586
|
-
/**
|
|
1587
|
-
* 90th percentile of recent winning bids
|
|
1588
|
-
*/
|
|
1589
|
-
p90?: number;
|
|
1590
|
-
[k: string]: unknown | undefined;
|
|
1591
|
-
}
|
|
1592
|
-
/**
|
|
1593
|
-
* Cost Per Click pricing. If fixed_price is present, it's fixed pricing. If absent, it's auction-based.
|
|
1594
|
-
*/
|
|
1595
1555
|
export interface CPCPricingOption {
|
|
1596
1556
|
/**
|
|
1597
1557
|
* Unique identifier for this pricing option within the product
|
|
@@ -1613,7 +1573,7 @@ export interface CPCPricingOption {
|
|
|
1613
1573
|
* Minimum acceptable bid for auction pricing (mutually exclusive with fixed_price). Bids below this value will be rejected.
|
|
1614
1574
|
*/
|
|
1615
1575
|
floor_price?: number;
|
|
1616
|
-
price_guidance?:
|
|
1576
|
+
price_guidance?: PriceGuidance;
|
|
1617
1577
|
/**
|
|
1618
1578
|
* Minimum spend requirement per package using this pricing option, in the specified currency
|
|
1619
1579
|
*/
|
|
@@ -1623,28 +1583,6 @@ export interface CPCPricingOption {
|
|
|
1623
1583
|
/**
|
|
1624
1584
|
* Optional pricing guidance for auction-based bidding
|
|
1625
1585
|
*/
|
|
1626
|
-
export interface PriceGuidance2 {
|
|
1627
|
-
/**
|
|
1628
|
-
* 25th percentile of recent winning bids
|
|
1629
|
-
*/
|
|
1630
|
-
p25?: number;
|
|
1631
|
-
/**
|
|
1632
|
-
* Median of recent winning bids
|
|
1633
|
-
*/
|
|
1634
|
-
p50?: number;
|
|
1635
|
-
/**
|
|
1636
|
-
* 75th percentile of recent winning bids
|
|
1637
|
-
*/
|
|
1638
|
-
p75?: number;
|
|
1639
|
-
/**
|
|
1640
|
-
* 90th percentile of recent winning bids
|
|
1641
|
-
*/
|
|
1642
|
-
p90?: number;
|
|
1643
|
-
[k: string]: unknown | undefined;
|
|
1644
|
-
}
|
|
1645
|
-
/**
|
|
1646
|
-
* Cost Per Completed View (100% video/audio completion) pricing. If fixed_price is present, it's fixed pricing. If absent, it's auction-based.
|
|
1647
|
-
*/
|
|
1648
1586
|
export interface CPCVPricingOption {
|
|
1649
1587
|
/**
|
|
1650
1588
|
* Unique identifier for this pricing option within the product
|
|
@@ -1666,7 +1604,7 @@ export interface CPCVPricingOption {
|
|
|
1666
1604
|
* Minimum acceptable bid for auction pricing (mutually exclusive with fixed_price). Bids below this value will be rejected.
|
|
1667
1605
|
*/
|
|
1668
1606
|
floor_price?: number;
|
|
1669
|
-
price_guidance?:
|
|
1607
|
+
price_guidance?: PriceGuidance;
|
|
1670
1608
|
/**
|
|
1671
1609
|
* Minimum spend requirement per package using this pricing option, in the specified currency
|
|
1672
1610
|
*/
|
|
@@ -1676,28 +1614,6 @@ export interface CPCVPricingOption {
|
|
|
1676
1614
|
/**
|
|
1677
1615
|
* Optional pricing guidance for auction-based bidding
|
|
1678
1616
|
*/
|
|
1679
|
-
export interface PriceGuidance3 {
|
|
1680
|
-
/**
|
|
1681
|
-
* 25th percentile of recent winning bids
|
|
1682
|
-
*/
|
|
1683
|
-
p25?: number;
|
|
1684
|
-
/**
|
|
1685
|
-
* Median of recent winning bids
|
|
1686
|
-
*/
|
|
1687
|
-
p50?: number;
|
|
1688
|
-
/**
|
|
1689
|
-
* 75th percentile of recent winning bids
|
|
1690
|
-
*/
|
|
1691
|
-
p75?: number;
|
|
1692
|
-
/**
|
|
1693
|
-
* 90th percentile of recent winning bids
|
|
1694
|
-
*/
|
|
1695
|
-
p90?: number;
|
|
1696
|
-
[k: string]: unknown | undefined;
|
|
1697
|
-
}
|
|
1698
|
-
/**
|
|
1699
|
-
* Cost Per View (at publisher-defined threshold) pricing for video/audio. If fixed_price is present, it's fixed pricing. If absent, it's auction-based.
|
|
1700
|
-
*/
|
|
1701
1617
|
export interface CPVPricingOption {
|
|
1702
1618
|
/**
|
|
1703
1619
|
* Unique identifier for this pricing option within the product
|
|
@@ -1719,7 +1635,7 @@ export interface CPVPricingOption {
|
|
|
1719
1635
|
* Minimum acceptable bid for auction pricing (mutually exclusive with fixed_price). Bids below this value will be rejected.
|
|
1720
1636
|
*/
|
|
1721
1637
|
floor_price?: number;
|
|
1722
|
-
price_guidance?:
|
|
1638
|
+
price_guidance?: PriceGuidance;
|
|
1723
1639
|
/**
|
|
1724
1640
|
* CPV-specific parameters defining the view threshold
|
|
1725
1641
|
*/
|
|
@@ -1742,50 +1658,28 @@ export interface CPVPricingOption {
|
|
|
1742
1658
|
/**
|
|
1743
1659
|
* Optional pricing guidance for auction-based bidding
|
|
1744
1660
|
*/
|
|
1745
|
-
export interface
|
|
1661
|
+
export interface CPPPricingOption {
|
|
1746
1662
|
/**
|
|
1747
|
-
*
|
|
1663
|
+
* Unique identifier for this pricing option within the product
|
|
1748
1664
|
*/
|
|
1749
|
-
|
|
1665
|
+
pricing_option_id: string;
|
|
1750
1666
|
/**
|
|
1751
|
-
*
|
|
1667
|
+
* Cost per Gross Rating Point
|
|
1752
1668
|
*/
|
|
1753
|
-
|
|
1669
|
+
pricing_model: 'cpp';
|
|
1754
1670
|
/**
|
|
1755
|
-
*
|
|
1671
|
+
* ISO 4217 currency code
|
|
1756
1672
|
*/
|
|
1757
|
-
|
|
1673
|
+
currency: string;
|
|
1758
1674
|
/**
|
|
1759
|
-
*
|
|
1760
|
-
*/
|
|
1761
|
-
p90?: number;
|
|
1762
|
-
[k: string]: unknown | undefined;
|
|
1763
|
-
}
|
|
1764
|
-
/**
|
|
1765
|
-
* Cost Per Point (Gross Rating Point) pricing for TV and audio campaigns. If fixed_price is present, it's fixed pricing. If absent, it's auction-based.
|
|
1766
|
-
*/
|
|
1767
|
-
export interface CPPPricingOption {
|
|
1768
|
-
/**
|
|
1769
|
-
* Unique identifier for this pricing option within the product
|
|
1770
|
-
*/
|
|
1771
|
-
pricing_option_id: string;
|
|
1772
|
-
/**
|
|
1773
|
-
* Cost per Gross Rating Point
|
|
1774
|
-
*/
|
|
1775
|
-
pricing_model: 'cpp';
|
|
1776
|
-
/**
|
|
1777
|
-
* ISO 4217 currency code
|
|
1778
|
-
*/
|
|
1779
|
-
currency: string;
|
|
1780
|
-
/**
|
|
1781
|
-
* Fixed price per rating point. If present, this is fixed pricing. If absent, auction-based.
|
|
1675
|
+
* Fixed price per rating point. If present, this is fixed pricing. If absent, auction-based.
|
|
1782
1676
|
*/
|
|
1783
1677
|
fixed_price?: number;
|
|
1784
1678
|
/**
|
|
1785
1679
|
* Minimum acceptable bid for auction pricing (mutually exclusive with fixed_price). Bids below this value will be rejected.
|
|
1786
1680
|
*/
|
|
1787
1681
|
floor_price?: number;
|
|
1788
|
-
price_guidance?:
|
|
1682
|
+
price_guidance?: PriceGuidance;
|
|
1789
1683
|
/**
|
|
1790
1684
|
* CPP-specific parameters for demographic targeting
|
|
1791
1685
|
*/
|
|
@@ -1810,28 +1704,6 @@ export interface CPPPricingOption {
|
|
|
1810
1704
|
/**
|
|
1811
1705
|
* Optional pricing guidance for auction-based bidding
|
|
1812
1706
|
*/
|
|
1813
|
-
export interface PriceGuidance5 {
|
|
1814
|
-
/**
|
|
1815
|
-
* 25th percentile of recent winning bids
|
|
1816
|
-
*/
|
|
1817
|
-
p25?: number;
|
|
1818
|
-
/**
|
|
1819
|
-
* Median of recent winning bids
|
|
1820
|
-
*/
|
|
1821
|
-
p50?: number;
|
|
1822
|
-
/**
|
|
1823
|
-
* 75th percentile of recent winning bids
|
|
1824
|
-
*/
|
|
1825
|
-
p75?: number;
|
|
1826
|
-
/**
|
|
1827
|
-
* 90th percentile of recent winning bids
|
|
1828
|
-
*/
|
|
1829
|
-
p90?: number;
|
|
1830
|
-
[k: string]: unknown | undefined;
|
|
1831
|
-
}
|
|
1832
|
-
/**
|
|
1833
|
-
* Cost Per Acquisition pricing. Advertiser pays a fixed price when a specified conversion event occurs. The event_type field declares which event triggers billing (e.g., purchase, lead, app_install).
|
|
1834
|
-
*/
|
|
1835
1707
|
export interface CPAPricingOption {
|
|
1836
1708
|
/**
|
|
1837
1709
|
* Unique identifier for this pricing option within the product
|
|
@@ -1891,7 +1763,7 @@ export interface FlatRatePricingOption {
|
|
|
1891
1763
|
* Minimum acceptable bid for auction pricing (mutually exclusive with fixed_price). Bids below this value will be rejected.
|
|
1892
1764
|
*/
|
|
1893
1765
|
floor_price?: number;
|
|
1894
|
-
price_guidance?:
|
|
1766
|
+
price_guidance?: PriceGuidance;
|
|
1895
1767
|
/**
|
|
1896
1768
|
* Flat rate parameters for DOOH and time-based campaigns
|
|
1897
1769
|
*/
|
|
@@ -1935,28 +1807,6 @@ export interface FlatRatePricingOption {
|
|
|
1935
1807
|
/**
|
|
1936
1808
|
* Optional pricing guidance for auction-based bidding
|
|
1937
1809
|
*/
|
|
1938
|
-
export interface PriceGuidance6 {
|
|
1939
|
-
/**
|
|
1940
|
-
* 25th percentile of recent winning bids
|
|
1941
|
-
*/
|
|
1942
|
-
p25?: number;
|
|
1943
|
-
/**
|
|
1944
|
-
* Median of recent winning bids
|
|
1945
|
-
*/
|
|
1946
|
-
p50?: number;
|
|
1947
|
-
/**
|
|
1948
|
-
* 75th percentile of recent winning bids
|
|
1949
|
-
*/
|
|
1950
|
-
p75?: number;
|
|
1951
|
-
/**
|
|
1952
|
-
* 90th percentile of recent winning bids
|
|
1953
|
-
*/
|
|
1954
|
-
p90?: number;
|
|
1955
|
-
[k: string]: unknown | undefined;
|
|
1956
|
-
}
|
|
1957
|
-
/**
|
|
1958
|
-
* Cost per time unit (hour, day, week, or month) - rate scales with campaign duration. If fixed_price is present, it's fixed pricing. If absent, it's auction-based.
|
|
1959
|
-
*/
|
|
1960
1810
|
export interface TimeBasedPricingOption {
|
|
1961
1811
|
/**
|
|
1962
1812
|
* Unique identifier for this pricing option within the product
|
|
@@ -1978,7 +1828,7 @@ export interface TimeBasedPricingOption {
|
|
|
1978
1828
|
* Minimum acceptable bid per time unit for auction pricing (mutually exclusive with fixed_price). Bids below this value will be rejected.
|
|
1979
1829
|
*/
|
|
1980
1830
|
floor_price?: number;
|
|
1981
|
-
price_guidance?:
|
|
1831
|
+
price_guidance?: PriceGuidance;
|
|
1982
1832
|
/**
|
|
1983
1833
|
* Time-based pricing parameters
|
|
1984
1834
|
*/
|
|
@@ -2006,28 +1856,6 @@ export interface TimeBasedPricingOption {
|
|
|
2006
1856
|
/**
|
|
2007
1857
|
* Optional pricing guidance for auction-based bidding
|
|
2008
1858
|
*/
|
|
2009
|
-
export interface PriceGuidance7 {
|
|
2010
|
-
/**
|
|
2011
|
-
* 25th percentile of recent winning bids
|
|
2012
|
-
*/
|
|
2013
|
-
p25?: number;
|
|
2014
|
-
/**
|
|
2015
|
-
* Median of recent winning bids
|
|
2016
|
-
*/
|
|
2017
|
-
p50?: number;
|
|
2018
|
-
/**
|
|
2019
|
-
* 75th percentile of recent winning bids
|
|
2020
|
-
*/
|
|
2021
|
-
p75?: number;
|
|
2022
|
-
/**
|
|
2023
|
-
* 90th percentile of recent winning bids
|
|
2024
|
-
*/
|
|
2025
|
-
p90?: number;
|
|
2026
|
-
[k: string]: unknown | undefined;
|
|
2027
|
-
}
|
|
2028
|
-
/**
|
|
2029
|
-
* Forecasted delivery metrics for this product. Gives buyers an estimate of expected performance before requesting a proposal.
|
|
2030
|
-
*/
|
|
2031
1859
|
export interface DeliveryForecast {
|
|
2032
1860
|
/**
|
|
2033
1861
|
* Forecasted delivery at one or more budget levels. A single point is a standard forecast; multiple points ordered by ascending budget form a curve showing how metrics scale with spend. Each point pairs a budget with metric ranges.
|
|
@@ -2041,7 +1869,7 @@ export interface DeliveryForecast {
|
|
|
2041
1869
|
* ISO 4217 currency code for monetary values in this forecast (spend, budget)
|
|
2042
1870
|
*/
|
|
2043
1871
|
currency: string;
|
|
2044
|
-
demographic_system?:
|
|
1872
|
+
demographic_system?: DemographicSystem;
|
|
2045
1873
|
/**
|
|
2046
1874
|
* Target demographic code within the specified demographic_system. For Nielsen: P18-49, M25-54, W35+. For BARB: ABC1 Adults, 16-34. For AGF: E 14-49.
|
|
2047
1875
|
*/
|
|
@@ -2165,61 +1993,6 @@ export interface CreativePolicy {
|
|
|
2165
1993
|
/**
|
|
2166
1994
|
* Structured format identifier with agent URL and format name. Can reference: (1) a concrete format with fixed dimensions (id only), (2) a template format without parameters (id only), or (3) a template format with parameters (id + dimensions/duration). Template formats accept parameters in format_id while concrete formats have fixed dimensions in their definition. Parameterized format IDs create unique, specific format variants.
|
|
2167
1995
|
*/
|
|
2168
|
-
export interface FormatID1 {
|
|
2169
|
-
/**
|
|
2170
|
-
* URL of the agent that defines this format (e.g., 'https://creatives.adcontextprotocol.org' for standard formats, or 'https://publisher.com/.well-known/adcp/sales' for custom formats)
|
|
2171
|
-
*/
|
|
2172
|
-
agent_url: string;
|
|
2173
|
-
/**
|
|
2174
|
-
* Format identifier within the agent's namespace (e.g., 'display_static', 'video_hosted', 'audio_standard'). When used alone, references a template format. When combined with dimension/duration fields, creates a parameterized format ID for a specific variant.
|
|
2175
|
-
*/
|
|
2176
|
-
id: string;
|
|
2177
|
-
/**
|
|
2178
|
-
* Width in pixels for visual formats. When specified, height must also be specified. Both fields together create a parameterized format ID for dimension-specific variants.
|
|
2179
|
-
*/
|
|
2180
|
-
width?: number;
|
|
2181
|
-
/**
|
|
2182
|
-
* Height in pixels for visual formats. When specified, width must also be specified. Both fields together create a parameterized format ID for dimension-specific variants.
|
|
2183
|
-
*/
|
|
2184
|
-
height?: number;
|
|
2185
|
-
/**
|
|
2186
|
-
* Duration in milliseconds for time-based formats (video, audio). When specified, creates a parameterized format ID. Omit to reference a template format without parameters.
|
|
2187
|
-
*/
|
|
2188
|
-
duration_ms?: number;
|
|
2189
|
-
[k: string]: unknown | undefined;
|
|
2190
|
-
}
|
|
2191
|
-
/**
|
|
2192
|
-
* Structured format identifier with agent URL and format name. Can reference: (1) a concrete format with fixed dimensions (id only), (2) a template format without parameters (id only), or (3) a template format with parameters (id + dimensions/duration). Template formats accept parameters in format_id while concrete formats have fixed dimensions in their definition. Parameterized format IDs create unique, specific format variants.
|
|
2193
|
-
*/
|
|
2194
|
-
export interface FormatID2 {
|
|
2195
|
-
/**
|
|
2196
|
-
* URL of the agent that defines this format (e.g., 'https://creatives.adcontextprotocol.org' for standard formats, or 'https://publisher.com/.well-known/adcp/sales' for custom formats)
|
|
2197
|
-
*/
|
|
2198
|
-
agent_url: string;
|
|
2199
|
-
/**
|
|
2200
|
-
* Format identifier within the agent's namespace (e.g., 'display_static', 'video_hosted', 'audio_standard'). When used alone, references a template format. When combined with dimension/duration fields, creates a parameterized format ID for a specific variant.
|
|
2201
|
-
*/
|
|
2202
|
-
id: string;
|
|
2203
|
-
/**
|
|
2204
|
-
* Width in pixels for visual formats. When specified, height must also be specified. Both fields together create a parameterized format ID for dimension-specific variants.
|
|
2205
|
-
*/
|
|
2206
|
-
width?: number;
|
|
2207
|
-
/**
|
|
2208
|
-
* Height in pixels for visual formats. When specified, width must also be specified. Both fields together create a parameterized format ID for dimension-specific variants.
|
|
2209
|
-
*/
|
|
2210
|
-
height?: number;
|
|
2211
|
-
/**
|
|
2212
|
-
* Duration in milliseconds for time-based formats (video, audio). When specified, creates a parameterized format ID. Omit to reference a template format without parameters.
|
|
2213
|
-
*/
|
|
2214
|
-
duration_ms?: number;
|
|
2215
|
-
[k: string]: unknown | undefined;
|
|
2216
|
-
}
|
|
2217
|
-
/**
|
|
2218
|
-
* Metro area classification system (e.g., 'nielsen_dma', 'uk_itl2')
|
|
2219
|
-
*/
|
|
2220
|
-
/**
|
|
2221
|
-
* Unique identifier for this property (optional). Enables referencing properties by ID instead of repeating full objects.
|
|
2222
|
-
*/
|
|
2223
1996
|
export type PropertyType = 'website' | 'mobile_app' | 'ctv_app' | 'desktop_app' | 'dooh' | 'podcast' | 'radio' | 'streaming_audio';
|
|
2224
1997
|
/**
|
|
2225
1998
|
* Type of identifier for this property
|
|
@@ -2261,7 +2034,7 @@ export interface Property {
|
|
|
2261
2034
|
/**
|
|
2262
2035
|
* Type of AdCP operation that triggered this webhook. Enables webhook handlers to route to appropriate processing logic.
|
|
2263
2036
|
*/
|
|
2264
|
-
export type TaskType = 'create_media_buy' | 'update_media_buy' | 'sync_creatives' | 'activate_signal' | 'get_signals' | 'create_property_list' | 'update_property_list' | 'get_property_list' | 'list_property_lists' | 'delete_property_list' | 'sync_accounts' | 'get_creative_delivery' | 'sync_event_sources' | 'sync_audiences' | 'log_event';
|
|
2037
|
+
export type TaskType = 'create_media_buy' | 'update_media_buy' | 'sync_creatives' | 'activate_signal' | 'get_signals' | 'create_property_list' | 'update_property_list' | 'get_property_list' | 'list_property_lists' | 'delete_property_list' | 'sync_accounts' | 'get_creative_delivery' | 'sync_event_sources' | 'sync_audiences' | 'sync_catalogs' | 'log_event';
|
|
2265
2038
|
/**
|
|
2266
2039
|
* AdCP domain this task belongs to. Helps classify the operation type at a high level.
|
|
2267
2040
|
*/
|
|
@@ -2273,7 +2046,7 @@ export type TaskStatus = 'submitted' | 'working' | 'input-required' | 'completed
|
|
|
2273
2046
|
/**
|
|
2274
2047
|
* Task-specific payload matching the status. For completed/failed, contains the full task response. For working/input-required/submitted, contains status-specific data. This is the data layer that AdCP specs - same structure used in A2A status.message.parts[].data.
|
|
2275
2048
|
*/
|
|
2276
|
-
export type AdCPAsyncResponseData = GetProductsResponse | GetProductsAsyncWorking | GetProductsAsyncInputRequired | GetProductsAsyncSubmitted | CreateMediaBuyResponse | CreateMediaBuyAsyncWorking | CreateMediaBuyAsyncInputRequired | CreateMediaBuyAsyncSubmitted | UpdateMediaBuyResponse | UpdateMediaBuyAsyncWorking | UpdateMediaBuyAsyncInputRequired | UpdateMediaBuyAsyncSubmitted | SyncCreativesResponse | SyncCreativesAsyncWorking | SyncCreativesAsyncInputRequired | SyncCreativesAsyncSubmitted;
|
|
2049
|
+
export type AdCPAsyncResponseData = GetProductsResponse | GetProductsAsyncWorking | GetProductsAsyncInputRequired | GetProductsAsyncSubmitted | CreateMediaBuyResponse | CreateMediaBuyAsyncWorking | CreateMediaBuyAsyncInputRequired | CreateMediaBuyAsyncSubmitted | UpdateMediaBuyResponse | UpdateMediaBuyAsyncWorking | UpdateMediaBuyAsyncInputRequired | UpdateMediaBuyAsyncSubmitted | SyncCreativesResponse | SyncCreativesAsyncWorking | SyncCreativesAsyncInputRequired | SyncCreativesAsyncSubmitted | SyncCatalogsResponse | SyncCatalogsAsyncWorking | SyncCatalogsAsyncInputRequired | SyncCatalogsAsyncSubmitted;
|
|
2277
2050
|
/**
|
|
2278
2051
|
* Selects properties from a publisher's adagents.json. Used for both product definitions and agent authorization. Supports three selection patterns: all properties, specific IDs, or by tags.
|
|
2279
2052
|
*/
|
|
@@ -2281,10 +2054,6 @@ export type CreateMediaBuyResponse = CreateMediaBuySuccess | CreateMediaBuyError
|
|
|
2281
2054
|
/**
|
|
2282
2055
|
* Budget pacing strategy
|
|
2283
2056
|
*/
|
|
2284
|
-
export type EventType1 = 'page_view' | 'view_content' | 'select_content' | 'select_item' | 'search' | 'share' | 'add_to_cart' | 'remove_from_cart' | 'viewed_cart' | 'add_to_wishlist' | 'initiate_checkout' | 'add_payment_info' | 'purchase' | 'refund' | 'lead' | 'qualify_lead' | 'close_convert_lead' | 'disqualify_lead' | 'complete_registration' | 'subscribe' | 'start_trial' | 'app_install' | 'app_launch' | 'contact' | 'schedule' | 'donate' | 'submit_application' | 'custom';
|
|
2285
|
-
/**
|
|
2286
|
-
* Response for completed or failed update_media_buy
|
|
2287
|
-
*/
|
|
2288
2057
|
export type UpdateMediaBuyResponse = UpdateMediaBuySuccess | UpdateMediaBuyError;
|
|
2289
2058
|
/**
|
|
2290
2059
|
* Response for completed or failed sync_creatives
|
|
@@ -2294,6 +2063,18 @@ export type SyncCreativesResponse = SyncCreativesSuccess | SyncCreativesError;
|
|
|
2294
2063
|
* Action taken for this creative
|
|
2295
2064
|
*/
|
|
2296
2065
|
export type CreativeAction = 'created' | 'updated' | 'unchanged' | 'failed' | 'deleted';
|
|
2066
|
+
/**
|
|
2067
|
+
* Response for completed or failed sync_catalogs
|
|
2068
|
+
*/
|
|
2069
|
+
export type SyncCatalogsResponse = SyncCatalogsSuccess | SyncCatalogsError;
|
|
2070
|
+
/**
|
|
2071
|
+
* Action taken for this catalog
|
|
2072
|
+
*/
|
|
2073
|
+
export type CatalogAction = 'created' | 'updated' | 'unchanged' | 'failed' | 'deleted';
|
|
2074
|
+
/**
|
|
2075
|
+
* Item review status
|
|
2076
|
+
*/
|
|
2077
|
+
export type CatalogItemStatus = 'approved' | 'pending' | 'rejected' | 'warning';
|
|
2297
2078
|
/**
|
|
2298
2079
|
* Standard envelope for HTTP-based push notifications (MCP). This defines the wire format sent to the URL configured in `pushNotificationConfig`. NOTE: This envelope is NOT used in A2A integration, which uses native Task/TaskStatusUpdateEvent messages with the AdCP payload nested in `status.message.parts[].data`.
|
|
2299
2080
|
*/
|
|
@@ -2344,9 +2125,9 @@ export interface GetProductsResponse {
|
|
|
2344
2125
|
*/
|
|
2345
2126
|
property_list_applied?: boolean;
|
|
2346
2127
|
/**
|
|
2347
|
-
*
|
|
2128
|
+
* Whether the seller filtered results based on the provided catalog. True if the seller matched catalog items against its inventory. Absent or false if no catalog was provided or the seller does not support catalog matching.
|
|
2348
2129
|
*/
|
|
2349
|
-
|
|
2130
|
+
catalog_applied?: boolean;
|
|
2350
2131
|
pagination?: PaginationResponse;
|
|
2351
2132
|
/**
|
|
2352
2133
|
* When true, this response contains simulated data from sandbox mode.
|
|
@@ -2408,7 +2189,7 @@ export interface Proposal {
|
|
|
2408
2189
|
* Explanation of how this proposal aligns with the campaign brief
|
|
2409
2190
|
*/
|
|
2410
2191
|
brief_alignment?: string;
|
|
2411
|
-
forecast?:
|
|
2192
|
+
forecast?: DeliveryForecast;
|
|
2412
2193
|
ext?: ExtensionObject;
|
|
2413
2194
|
[k: string]: unknown | undefined;
|
|
2414
2195
|
}
|
|
@@ -2446,79 +2227,13 @@ export interface ProductAllocation {
|
|
|
2446
2227
|
* @minItems 1
|
|
2447
2228
|
*/
|
|
2448
2229
|
daypart_targets?: [DaypartTarget, ...DaypartTarget[]];
|
|
2449
|
-
forecast?:
|
|
2230
|
+
forecast?: DeliveryForecast;
|
|
2450
2231
|
ext?: ExtensionObject;
|
|
2451
2232
|
[k: string]: unknown | undefined;
|
|
2452
2233
|
}
|
|
2453
2234
|
/**
|
|
2454
2235
|
* A time window for daypart targeting. Specifies days of week and an hour range. start_hour is inclusive, end_hour is exclusive (e.g., 6-10 = 6:00am to 10:00am). Follows the Google Ads AdScheduleInfo / DV360 DayPartTargeting pattern.
|
|
2455
2236
|
*/
|
|
2456
|
-
export interface DeliveryForecast1 {
|
|
2457
|
-
/**
|
|
2458
|
-
* Forecasted delivery at one or more budget levels. A single point is a standard forecast; multiple points ordered by ascending budget form a curve showing how metrics scale with spend. Each point pairs a budget with metric ranges.
|
|
2459
|
-
*
|
|
2460
|
-
* @minItems 1
|
|
2461
|
-
*/
|
|
2462
|
-
points: [ForecastPoint, ...ForecastPoint[]];
|
|
2463
|
-
forecast_range_unit?: ForecastRangeUnit;
|
|
2464
|
-
method: ForecastMethod;
|
|
2465
|
-
/**
|
|
2466
|
-
* ISO 4217 currency code for monetary values in this forecast (spend, budget)
|
|
2467
|
-
*/
|
|
2468
|
-
currency: string;
|
|
2469
|
-
demographic_system?: DemographicSystem1;
|
|
2470
|
-
/**
|
|
2471
|
-
* Target demographic code within the specified demographic_system. For Nielsen: P18-49, M25-54, W35+. For BARB: ABC1 Adults, 16-34. For AGF: E 14-49.
|
|
2472
|
-
*/
|
|
2473
|
-
demographic?: string;
|
|
2474
|
-
reach_unit?: ReachUnit;
|
|
2475
|
-
/**
|
|
2476
|
-
* When this forecast was computed
|
|
2477
|
-
*/
|
|
2478
|
-
generated_at?: string;
|
|
2479
|
-
/**
|
|
2480
|
-
* When this forecast expires. After this time, the forecast should be refreshed. Forecast expiry does not affect proposal executability.
|
|
2481
|
-
*/
|
|
2482
|
-
valid_until?: string;
|
|
2483
|
-
ext?: ExtensionObject;
|
|
2484
|
-
[k: string]: unknown | undefined;
|
|
2485
|
-
}
|
|
2486
|
-
/**
|
|
2487
|
-
* Aggregate forecasted delivery metrics for the entire proposal. When both proposal-level and allocation-level forecasts are present, the proposal-level forecast is authoritative for total delivery estimation.
|
|
2488
|
-
*/
|
|
2489
|
-
export interface DeliveryForecast2 {
|
|
2490
|
-
/**
|
|
2491
|
-
* Forecasted delivery at one or more budget levels. A single point is a standard forecast; multiple points ordered by ascending budget form a curve showing how metrics scale with spend. Each point pairs a budget with metric ranges.
|
|
2492
|
-
*
|
|
2493
|
-
* @minItems 1
|
|
2494
|
-
*/
|
|
2495
|
-
points: [ForecastPoint, ...ForecastPoint[]];
|
|
2496
|
-
forecast_range_unit?: ForecastRangeUnit;
|
|
2497
|
-
method: ForecastMethod;
|
|
2498
|
-
/**
|
|
2499
|
-
* ISO 4217 currency code for monetary values in this forecast (spend, budget)
|
|
2500
|
-
*/
|
|
2501
|
-
currency: string;
|
|
2502
|
-
demographic_system?: DemographicSystem1;
|
|
2503
|
-
/**
|
|
2504
|
-
* Target demographic code within the specified demographic_system. For Nielsen: P18-49, M25-54, W35+. For BARB: ABC1 Adults, 16-34. For AGF: E 14-49.
|
|
2505
|
-
*/
|
|
2506
|
-
demographic?: string;
|
|
2507
|
-
reach_unit?: ReachUnit;
|
|
2508
|
-
/**
|
|
2509
|
-
* When this forecast was computed
|
|
2510
|
-
*/
|
|
2511
|
-
generated_at?: string;
|
|
2512
|
-
/**
|
|
2513
|
-
* When this forecast expires. After this time, the forecast should be refreshed. Forecast expiry does not affect proposal executability.
|
|
2514
|
-
*/
|
|
2515
|
-
valid_until?: string;
|
|
2516
|
-
ext?: ExtensionObject;
|
|
2517
|
-
[k: string]: unknown | undefined;
|
|
2518
|
-
}
|
|
2519
|
-
/**
|
|
2520
|
-
* Standard error structure for task-specific errors and warnings
|
|
2521
|
-
*/
|
|
2522
2237
|
export interface Error {
|
|
2523
2238
|
/**
|
|
2524
2239
|
* Error code for programmatic handling
|
|
@@ -2639,6 +2354,10 @@ export interface CreateMediaBuySuccess {
|
|
|
2639
2354
|
* Buyer's reference identifier for this media buy
|
|
2640
2355
|
*/
|
|
2641
2356
|
buyer_ref: string;
|
|
2357
|
+
/**
|
|
2358
|
+
* Buyer's campaign reference label, echoed from the request
|
|
2359
|
+
*/
|
|
2360
|
+
campaign_ref?: string;
|
|
2642
2361
|
account?: Account;
|
|
2643
2362
|
/**
|
|
2644
2363
|
* ISO 8601 timestamp for creative upload deadline
|
|
@@ -2820,7 +2539,7 @@ export interface SyncCreativesSuccess {
|
|
|
2820
2539
|
* Creative ID from the request
|
|
2821
2540
|
*/
|
|
2822
2541
|
creative_id: string;
|
|
2823
|
-
account?:
|
|
2542
|
+
account?: Account;
|
|
2824
2543
|
action: CreativeAction;
|
|
2825
2544
|
/**
|
|
2826
2545
|
* Platform-specific ID assigned to the creative
|
|
@@ -2869,71 +2588,157 @@ export interface SyncCreativesSuccess {
|
|
|
2869
2588
|
/**
|
|
2870
2589
|
* Account that owns this creative
|
|
2871
2590
|
*/
|
|
2872
|
-
export interface
|
|
2873
|
-
/**
|
|
2874
|
-
* Unique identifier for this account
|
|
2875
|
-
*/
|
|
2876
|
-
account_id: string;
|
|
2877
|
-
/**
|
|
2878
|
-
* Human-readable account name (e.g., 'Acme', 'Acme c/o Pinnacle')
|
|
2879
|
-
*/
|
|
2880
|
-
name: string;
|
|
2591
|
+
export interface SyncCreativesError {
|
|
2881
2592
|
/**
|
|
2882
|
-
*
|
|
2593
|
+
* Operation-level errors that prevented processing any creatives (e.g., authentication failure, service unavailable, invalid request format)
|
|
2594
|
+
*
|
|
2595
|
+
* @minItems 1
|
|
2883
2596
|
*/
|
|
2884
|
-
|
|
2597
|
+
errors: [Error, ...Error[]];
|
|
2598
|
+
context?: ContextObject;
|
|
2599
|
+
ext?: ExtensionObject;
|
|
2600
|
+
[k: string]: unknown | undefined;
|
|
2601
|
+
}
|
|
2602
|
+
/**
|
|
2603
|
+
* Progress data for working sync_creatives
|
|
2604
|
+
*/
|
|
2605
|
+
export interface SyncCreativesAsyncWorking {
|
|
2885
2606
|
/**
|
|
2886
|
-
*
|
|
2607
|
+
* Completion percentage (0-100)
|
|
2887
2608
|
*/
|
|
2888
|
-
|
|
2609
|
+
percentage?: number;
|
|
2889
2610
|
/**
|
|
2890
|
-
*
|
|
2611
|
+
* Current step or phase of the operation
|
|
2891
2612
|
*/
|
|
2892
|
-
|
|
2613
|
+
current_step?: string;
|
|
2893
2614
|
/**
|
|
2894
|
-
*
|
|
2615
|
+
* Total number of steps in the operation
|
|
2895
2616
|
*/
|
|
2896
|
-
|
|
2617
|
+
total_steps?: number;
|
|
2897
2618
|
/**
|
|
2898
|
-
*
|
|
2619
|
+
* Current step number
|
|
2899
2620
|
*/
|
|
2900
|
-
|
|
2621
|
+
step_number?: number;
|
|
2901
2622
|
/**
|
|
2902
|
-
*
|
|
2623
|
+
* Number of creatives processed so far
|
|
2903
2624
|
*/
|
|
2904
|
-
|
|
2625
|
+
creatives_processed?: number;
|
|
2905
2626
|
/**
|
|
2906
|
-
*
|
|
2627
|
+
* Total number of creatives to process
|
|
2907
2628
|
*/
|
|
2908
|
-
|
|
2629
|
+
creatives_total?: number;
|
|
2630
|
+
context?: ContextObject;
|
|
2631
|
+
ext?: ExtensionObject;
|
|
2632
|
+
[k: string]: unknown | undefined;
|
|
2633
|
+
}
|
|
2634
|
+
/**
|
|
2635
|
+
* Input requirements for sync_creatives needing user input
|
|
2636
|
+
*/
|
|
2637
|
+
export interface SyncCreativesAsyncInputRequired {
|
|
2909
2638
|
/**
|
|
2910
|
-
*
|
|
2639
|
+
* Reason code indicating why buyer input is needed
|
|
2911
2640
|
*/
|
|
2912
|
-
|
|
2641
|
+
reason?: 'APPROVAL_REQUIRED' | 'ASSET_CONFIRMATION' | 'FORMAT_CLARIFICATION';
|
|
2642
|
+
context?: ContextObject;
|
|
2643
|
+
ext?: ExtensionObject;
|
|
2644
|
+
[k: string]: unknown | undefined;
|
|
2645
|
+
}
|
|
2646
|
+
/**
|
|
2647
|
+
* Acknowledgment for submitted sync_creatives
|
|
2648
|
+
*/
|
|
2649
|
+
export interface SyncCreativesAsyncSubmitted {
|
|
2650
|
+
context?: ContextObject;
|
|
2651
|
+
ext?: ExtensionObject;
|
|
2652
|
+
[k: string]: unknown | undefined;
|
|
2653
|
+
}
|
|
2654
|
+
/**
|
|
2655
|
+
* Success response - sync operation processed catalogs (may include per-catalog failures)
|
|
2656
|
+
*/
|
|
2657
|
+
export interface SyncCatalogsSuccess {
|
|
2913
2658
|
/**
|
|
2914
|
-
*
|
|
2659
|
+
* Whether this was a dry run (no actual changes made)
|
|
2915
2660
|
*/
|
|
2916
|
-
|
|
2661
|
+
dry_run?: boolean;
|
|
2917
2662
|
/**
|
|
2918
|
-
*
|
|
2663
|
+
* Results for each catalog processed. Items with action='failed' indicate per-catalog validation/processing failures, not operation-level failures.
|
|
2919
2664
|
*/
|
|
2920
|
-
|
|
2921
|
-
|
|
2922
|
-
|
|
2923
|
-
|
|
2665
|
+
catalogs: {
|
|
2666
|
+
/**
|
|
2667
|
+
* Catalog ID from the request
|
|
2668
|
+
*/
|
|
2669
|
+
catalog_id: string;
|
|
2670
|
+
action: CatalogAction;
|
|
2671
|
+
/**
|
|
2672
|
+
* Platform-specific ID assigned to the catalog
|
|
2673
|
+
*/
|
|
2674
|
+
platform_id?: string;
|
|
2675
|
+
/**
|
|
2676
|
+
* Total number of items in the catalog after sync
|
|
2677
|
+
*/
|
|
2678
|
+
item_count?: number;
|
|
2679
|
+
/**
|
|
2680
|
+
* Number of items approved by the platform. Populated when the platform performs item-level review.
|
|
2681
|
+
*/
|
|
2682
|
+
items_approved?: number;
|
|
2683
|
+
/**
|
|
2684
|
+
* Number of items pending platform review. Common for product catalogs where items must pass content policy checks.
|
|
2685
|
+
*/
|
|
2686
|
+
items_pending?: number;
|
|
2687
|
+
/**
|
|
2688
|
+
* Number of items rejected by the platform. Check item_issues for rejection reasons.
|
|
2689
|
+
*/
|
|
2690
|
+
items_rejected?: number;
|
|
2691
|
+
/**
|
|
2692
|
+
* Per-item issues reported by the platform (rejections, warnings). Only present when the platform performs item-level review.
|
|
2693
|
+
*/
|
|
2694
|
+
item_issues?: {
|
|
2695
|
+
/**
|
|
2696
|
+
* ID of the catalog item with an issue
|
|
2697
|
+
*/
|
|
2698
|
+
item_id: string;
|
|
2699
|
+
status: CatalogItemStatus;
|
|
2700
|
+
/**
|
|
2701
|
+
* Reasons for rejection or warning
|
|
2702
|
+
*/
|
|
2703
|
+
reasons?: string[];
|
|
2704
|
+
[k: string]: unknown | undefined;
|
|
2705
|
+
}[];
|
|
2706
|
+
/**
|
|
2707
|
+
* ISO 8601 timestamp of when the most recent sync was accepted by the platform
|
|
2708
|
+
*/
|
|
2709
|
+
last_synced_at?: string;
|
|
2710
|
+
/**
|
|
2711
|
+
* ISO 8601 timestamp of when the platform will next fetch the feed URL. Only present for URL-based catalogs with update_frequency.
|
|
2712
|
+
*/
|
|
2713
|
+
next_fetch_at?: string;
|
|
2714
|
+
/**
|
|
2715
|
+
* Field names that were modified (only present when action='updated')
|
|
2716
|
+
*/
|
|
2717
|
+
changes?: string[];
|
|
2718
|
+
/**
|
|
2719
|
+
* Validation or processing errors (only present when action='failed')
|
|
2720
|
+
*/
|
|
2721
|
+
errors?: string[];
|
|
2722
|
+
/**
|
|
2723
|
+
* Non-fatal warnings about this catalog
|
|
2724
|
+
*/
|
|
2725
|
+
warnings?: string[];
|
|
2726
|
+
[k: string]: unknown | undefined;
|
|
2727
|
+
}[];
|
|
2924
2728
|
/**
|
|
2925
|
-
* When true, this
|
|
2729
|
+
* When true, this response contains simulated data from sandbox mode.
|
|
2926
2730
|
*/
|
|
2927
2731
|
sandbox?: boolean;
|
|
2732
|
+
context?: ContextObject;
|
|
2928
2733
|
ext?: ExtensionObject;
|
|
2929
2734
|
[k: string]: unknown | undefined;
|
|
2930
2735
|
}
|
|
2931
2736
|
/**
|
|
2932
|
-
* Error response - operation failed completely, no
|
|
2737
|
+
* Error response - operation failed completely, no catalogs were processed
|
|
2933
2738
|
*/
|
|
2934
|
-
export interface
|
|
2739
|
+
export interface SyncCatalogsError {
|
|
2935
2740
|
/**
|
|
2936
|
-
* Operation-level errors that prevented processing any
|
|
2741
|
+
* Operation-level errors that prevented processing any catalogs (e.g., authentication failure, service unavailable, invalid request format)
|
|
2937
2742
|
*
|
|
2938
2743
|
* @minItems 1
|
|
2939
2744
|
*/
|
|
@@ -2943,15 +2748,15 @@ export interface SyncCreativesError {
|
|
|
2943
2748
|
[k: string]: unknown | undefined;
|
|
2944
2749
|
}
|
|
2945
2750
|
/**
|
|
2946
|
-
* Progress data for working
|
|
2751
|
+
* Progress data for working sync_catalogs
|
|
2947
2752
|
*/
|
|
2948
|
-
export interface
|
|
2753
|
+
export interface SyncCatalogsAsyncWorking {
|
|
2949
2754
|
/**
|
|
2950
2755
|
* Completion percentage (0-100)
|
|
2951
2756
|
*/
|
|
2952
2757
|
percentage?: number;
|
|
2953
2758
|
/**
|
|
2954
|
-
* Current step or phase of the operation
|
|
2759
|
+
* Current step or phase of the operation (e.g., 'Fetching product feed', 'Validating items', 'Platform review')
|
|
2955
2760
|
*/
|
|
2956
2761
|
current_step?: string;
|
|
2957
2762
|
/**
|
|
@@ -2963,33 +2768,41 @@ export interface SyncCreativesAsyncWorking {
|
|
|
2963
2768
|
*/
|
|
2964
2769
|
step_number?: number;
|
|
2965
2770
|
/**
|
|
2966
|
-
* Number of
|
|
2771
|
+
* Number of catalogs processed so far
|
|
2967
2772
|
*/
|
|
2968
|
-
|
|
2773
|
+
catalogs_processed?: number;
|
|
2969
2774
|
/**
|
|
2970
|
-
* Total number of
|
|
2775
|
+
* Total number of catalogs to process
|
|
2971
2776
|
*/
|
|
2972
|
-
|
|
2777
|
+
catalogs_total?: number;
|
|
2778
|
+
/**
|
|
2779
|
+
* Total number of catalog items processed across all catalogs
|
|
2780
|
+
*/
|
|
2781
|
+
items_processed?: number;
|
|
2782
|
+
/**
|
|
2783
|
+
* Total number of catalog items to process across all catalogs
|
|
2784
|
+
*/
|
|
2785
|
+
items_total?: number;
|
|
2973
2786
|
context?: ContextObject;
|
|
2974
2787
|
ext?: ExtensionObject;
|
|
2975
2788
|
[k: string]: unknown | undefined;
|
|
2976
2789
|
}
|
|
2977
2790
|
/**
|
|
2978
|
-
* Input requirements for
|
|
2791
|
+
* Input requirements for sync_catalogs needing buyer input
|
|
2979
2792
|
*/
|
|
2980
|
-
export interface
|
|
2793
|
+
export interface SyncCatalogsAsyncInputRequired {
|
|
2981
2794
|
/**
|
|
2982
|
-
* Reason code indicating why buyer input is needed
|
|
2795
|
+
* Reason code indicating why buyer input is needed. APPROVAL_REQUIRED: platform requires explicit approval before activating the catalog. FEED_VALIDATION: feed URL returned unexpected format or schema errors. ITEM_REVIEW: platform flagged items for manual review. FEED_ACCESS: platform cannot access the feed URL (authentication, CORS, etc.).
|
|
2983
2796
|
*/
|
|
2984
|
-
reason?: 'APPROVAL_REQUIRED' | '
|
|
2797
|
+
reason?: 'APPROVAL_REQUIRED' | 'FEED_VALIDATION' | 'ITEM_REVIEW' | 'FEED_ACCESS';
|
|
2985
2798
|
context?: ContextObject;
|
|
2986
2799
|
ext?: ExtensionObject;
|
|
2987
2800
|
[k: string]: unknown | undefined;
|
|
2988
2801
|
}
|
|
2989
2802
|
/**
|
|
2990
|
-
* Acknowledgment for submitted
|
|
2803
|
+
* Acknowledgment for submitted sync_catalogs
|
|
2991
2804
|
*/
|
|
2992
|
-
export interface
|
|
2805
|
+
export interface SyncCatalogsAsyncSubmitted {
|
|
2993
2806
|
context?: ContextObject;
|
|
2994
2807
|
ext?: ExtensionObject;
|
|
2995
2808
|
[k: string]: unknown | undefined;
|