@adcp/client 3.17.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 +356 -519
- 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 +3885 -2912
- package/dist/lib/types/schemas.generated.d.ts.map +1 -1
- package/dist/lib/types/schemas.generated.js +533 -613
- package/dist/lib/types/schemas.generated.js.map +1 -1
- package/dist/lib/types/tools.generated.d.ts +839 -1063
- 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
|
*/
|
|
@@ -133,6 +125,10 @@ export interface Account {
|
|
|
133
125
|
amount: number;
|
|
134
126
|
currency: string;
|
|
135
127
|
};
|
|
128
|
+
/**
|
|
129
|
+
* When true, this is a sandbox account. All requests using this account_id are treated as sandbox — no real platform calls, no real spend.
|
|
130
|
+
*/
|
|
131
|
+
sandbox?: boolean;
|
|
136
132
|
ext?: ExtensionObject;
|
|
137
133
|
[k: string]: unknown | undefined;
|
|
138
134
|
}
|
|
@@ -252,7 +248,7 @@ export interface TargetingOverlay {
|
|
|
252
248
|
*/
|
|
253
249
|
geo_metros_exclude?: [
|
|
254
250
|
{
|
|
255
|
-
system:
|
|
251
|
+
system: MetroAreaSystem;
|
|
256
252
|
/**
|
|
257
253
|
* Metro codes to exclude within the system (e.g., ['501', '602'] for Nielsen DMAs)
|
|
258
254
|
*
|
|
@@ -261,7 +257,7 @@ export interface TargetingOverlay {
|
|
|
261
257
|
values: [string, ...string[]];
|
|
262
258
|
},
|
|
263
259
|
...{
|
|
264
|
-
system:
|
|
260
|
+
system: MetroAreaSystem;
|
|
265
261
|
/**
|
|
266
262
|
* Metro codes to exclude within the system (e.g., ['501', '602'] for Nielsen DMAs)
|
|
267
263
|
*
|
|
@@ -302,7 +298,7 @@ export interface TargetingOverlay {
|
|
|
302
298
|
*/
|
|
303
299
|
geo_postal_areas_exclude?: [
|
|
304
300
|
{
|
|
305
|
-
system:
|
|
301
|
+
system: PostalCodeSystem;
|
|
306
302
|
/**
|
|
307
303
|
* Postal codes to exclude within the system (e.g., ['10001', '10002'] for us_zip)
|
|
308
304
|
*
|
|
@@ -311,7 +307,7 @@ export interface TargetingOverlay {
|
|
|
311
307
|
values: [string, ...string[]];
|
|
312
308
|
},
|
|
313
309
|
...{
|
|
314
|
-
system:
|
|
310
|
+
system: PostalCodeSystem;
|
|
315
311
|
/**
|
|
316
312
|
* Postal codes to exclude within the system (e.g., ['10001', '10002'] for us_zip)
|
|
317
313
|
*
|
|
@@ -373,6 +369,51 @@ export interface TargetingOverlay {
|
|
|
373
369
|
* @minItems 1
|
|
374
370
|
*/
|
|
375
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
|
+
];
|
|
376
417
|
/**
|
|
377
418
|
* Restrict to users with specific language preferences. ISO 639-1 codes (e.g., 'en', 'es', 'fr').
|
|
378
419
|
*
|
|
@@ -510,6 +551,22 @@ export interface OptimizationGoal {
|
|
|
510
551
|
};
|
|
511
552
|
[k: string]: unknown | undefined;
|
|
512
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';
|
|
513
570
|
/**
|
|
514
571
|
* JavaScript module type
|
|
515
572
|
*/
|
|
@@ -557,7 +614,7 @@ export type VASTAsset = {
|
|
|
557
614
|
* Inline VAST XML content
|
|
558
615
|
*/
|
|
559
616
|
content: string;
|
|
560
|
-
vast_version?:
|
|
617
|
+
vast_version?: VASTVersion;
|
|
561
618
|
/**
|
|
562
619
|
* Whether VPAID (Video Player-Ad Interface Definition) is supported
|
|
563
620
|
*/
|
|
@@ -591,10 +648,6 @@ export type VASTTrackingEvent = 'start' | 'firstQuartile' | 'midpoint' | 'thirdQ
|
|
|
591
648
|
/**
|
|
592
649
|
* VAST specification version
|
|
593
650
|
*/
|
|
594
|
-
export type VASTVersion1 = '2.0' | '3.0' | '4.0' | '4.1' | '4.2';
|
|
595
|
-
/**
|
|
596
|
-
* DAAST (Digital Audio Ad Serving Template) tag for third-party audio ad serving
|
|
597
|
-
*/
|
|
598
651
|
export type DAASTAsset = {
|
|
599
652
|
/**
|
|
600
653
|
* Discriminator indicating DAAST is delivered via URL endpoint
|
|
@@ -631,7 +684,7 @@ export type DAASTAsset = {
|
|
|
631
684
|
* Inline DAAST XML content
|
|
632
685
|
*/
|
|
633
686
|
content: string;
|
|
634
|
-
daast_version?:
|
|
687
|
+
daast_version?: DAASTVersion;
|
|
635
688
|
/**
|
|
636
689
|
* Expected audio duration in milliseconds (if known)
|
|
637
690
|
*/
|
|
@@ -661,14 +714,6 @@ export type DAASTTrackingEvent = 'start' | 'firstQuartile' | 'midpoint' | 'third
|
|
|
661
714
|
/**
|
|
662
715
|
* DAAST specification version
|
|
663
716
|
*/
|
|
664
|
-
export type DAASTVersion1 = '1.0' | '1.1';
|
|
665
|
-
/**
|
|
666
|
-
* Brand identifier within the house portfolio. Optional for single-brand domains.
|
|
667
|
-
*/
|
|
668
|
-
export type BrandID = string;
|
|
669
|
-
/**
|
|
670
|
-
* 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)
|
|
671
|
-
*/
|
|
672
717
|
export type URLAssetType = 'clickthrough' | 'tracker_pixel' | 'tracker_script';
|
|
673
718
|
/**
|
|
674
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).
|
|
@@ -687,6 +732,10 @@ export interface CreativeAsset {
|
|
|
687
732
|
*/
|
|
688
733
|
name: string;
|
|
689
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[];
|
|
690
739
|
/**
|
|
691
740
|
* Assets required by the format, keyed by asset_role
|
|
692
741
|
*/
|
|
@@ -695,7 +744,7 @@ export interface CreativeAsset {
|
|
|
695
744
|
* This interface was referenced by `undefined`'s JSON-Schema definition
|
|
696
745
|
* via the `patternProperty` "^[a-zA-Z0-9_-]+$".
|
|
697
746
|
*/
|
|
698
|
-
[k: string]: ImageAsset | VideoAsset | AudioAsset | TextAsset | HTMLAsset | CSSAsset | JavaScriptAsset | VASTAsset | DAASTAsset |
|
|
747
|
+
[k: string]: ImageAsset | VideoAsset | AudioAsset | TextAsset | HTMLAsset | CSSAsset | JavaScriptAsset | VASTAsset | DAASTAsset | URLAsset;
|
|
699
748
|
};
|
|
700
749
|
/**
|
|
701
750
|
* Preview contexts for generative formats - defines what scenarios to generate previews for
|
|
@@ -733,6 +782,66 @@ export interface CreativeAsset {
|
|
|
733
782
|
/**
|
|
734
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.
|
|
735
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
|
+
*/
|
|
736
845
|
export interface ImageAsset {
|
|
737
846
|
/**
|
|
738
847
|
* URL to the image asset
|
|
@@ -1028,134 +1137,7 @@ export interface JavaScriptAsset {
|
|
|
1028
1137
|
[k: string]: unknown | undefined;
|
|
1029
1138
|
}
|
|
1030
1139
|
/**
|
|
1031
|
-
*
|
|
1032
|
-
*/
|
|
1033
|
-
export interface PromotedOfferings {
|
|
1034
|
-
brand: BrandReference;
|
|
1035
|
-
/**
|
|
1036
|
-
* 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.
|
|
1037
|
-
*/
|
|
1038
|
-
si_agent_url?: string;
|
|
1039
|
-
product_selectors?: PromotedProducts;
|
|
1040
|
-
/**
|
|
1041
|
-
* 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.
|
|
1042
|
-
*/
|
|
1043
|
-
offerings?: Offering[];
|
|
1044
|
-
/**
|
|
1045
|
-
* Selectors to choose specific assets from the brand's asset library
|
|
1046
|
-
*/
|
|
1047
|
-
asset_selectors?: {
|
|
1048
|
-
/**
|
|
1049
|
-
* Select assets with specific tags (e.g., ['holiday', 'premium'])
|
|
1050
|
-
*/
|
|
1051
|
-
tags?: string[];
|
|
1052
|
-
/**
|
|
1053
|
-
* Filter by asset type (e.g., ['image', 'video'])
|
|
1054
|
-
*/
|
|
1055
|
-
asset_types?: ('image' | 'video' | 'audio' | 'vast' | 'daast' | 'text' | 'url' | 'html' | 'css' | 'javascript' | 'webhook')[];
|
|
1056
|
-
/**
|
|
1057
|
-
* Exclude assets with these tags
|
|
1058
|
-
*/
|
|
1059
|
-
exclude_tags?: string[];
|
|
1060
|
-
[k: string]: unknown | undefined;
|
|
1061
|
-
};
|
|
1062
|
-
[k: string]: unknown | undefined;
|
|
1063
|
-
}
|
|
1064
|
-
/**
|
|
1065
|
-
* Brand reference. Resolved to full brand identity (logos, colors, tone, assets) at execution time for creative generation.
|
|
1066
|
-
*/
|
|
1067
|
-
export interface BrandReference {
|
|
1068
|
-
/**
|
|
1069
|
-
* Domain where /.well-known/brand.json is hosted, or the brand's operating domain
|
|
1070
|
-
*/
|
|
1071
|
-
domain: string;
|
|
1072
|
-
brand_id?: BrandID;
|
|
1073
|
-
}
|
|
1074
|
-
/**
|
|
1075
|
-
* Selectors to choose which products/offerings from the brand's product catalog to promote
|
|
1076
|
-
*/
|
|
1077
|
-
export interface PromotedProducts {
|
|
1078
|
-
/**
|
|
1079
|
-
* GTIN product identifiers for cross-retailer catalog matching. Accepts standard GTIN formats (GTIN-8, UPC-A/GTIN-12, EAN-13/GTIN-13, GTIN-14).
|
|
1080
|
-
*/
|
|
1081
|
-
manifest_gtins?: string[];
|
|
1082
|
-
/**
|
|
1083
|
-
* Direct product SKU references from the brand's product catalog
|
|
1084
|
-
*/
|
|
1085
|
-
manifest_skus?: string[];
|
|
1086
|
-
/**
|
|
1087
|
-
* Select products by tags from the brand's product catalog (e.g., 'organic', 'sauces', 'holiday')
|
|
1088
|
-
*/
|
|
1089
|
-
manifest_tags?: string[];
|
|
1090
|
-
/**
|
|
1091
|
-
* Select products from a specific category in the brand's product catalog (e.g., 'beverages/soft-drinks', 'food/sauces')
|
|
1092
|
-
*/
|
|
1093
|
-
manifest_category?: string;
|
|
1094
|
-
/**
|
|
1095
|
-
* Natural language query to select products from the brand's catalog (e.g., 'all pasta sauces', 'organic products under $20')
|
|
1096
|
-
*/
|
|
1097
|
-
manifest_query?: string;
|
|
1098
|
-
[k: string]: unknown | undefined;
|
|
1099
|
-
}
|
|
1100
|
-
/**
|
|
1101
|
-
* 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).
|
|
1102
|
-
*/
|
|
1103
|
-
export interface Offering {
|
|
1104
|
-
/**
|
|
1105
|
-
* Unique identifier for this offering. Used by hosts to reference specific offerings in si_get_offering calls.
|
|
1106
|
-
*/
|
|
1107
|
-
offering_id: string;
|
|
1108
|
-
/**
|
|
1109
|
-
* Human-readable offering name (e.g., 'Winter Sale', 'Free Trial', 'Enterprise Platform')
|
|
1110
|
-
*/
|
|
1111
|
-
name: string;
|
|
1112
|
-
/**
|
|
1113
|
-
* Description of what's being offered
|
|
1114
|
-
*/
|
|
1115
|
-
description?: string;
|
|
1116
|
-
/**
|
|
1117
|
-
* Short promotional tagline for the offering
|
|
1118
|
-
*/
|
|
1119
|
-
tagline?: string;
|
|
1120
|
-
/**
|
|
1121
|
-
* When the offering becomes available. If not specified, offering is immediately available.
|
|
1122
|
-
*/
|
|
1123
|
-
valid_from?: string;
|
|
1124
|
-
/**
|
|
1125
|
-
* When the offering expires. If not specified, offering has no expiration.
|
|
1126
|
-
*/
|
|
1127
|
-
valid_to?: string;
|
|
1128
|
-
/**
|
|
1129
|
-
* URL for checkout/purchase flow when the brand doesn't support agentic checkout.
|
|
1130
|
-
*/
|
|
1131
|
-
checkout_url?: string;
|
|
1132
|
-
/**
|
|
1133
|
-
* Landing page URL for this offering.
|
|
1134
|
-
*/
|
|
1135
|
-
landing_url?: string;
|
|
1136
|
-
/**
|
|
1137
|
-
* Assets specific to this offering (images, videos, copy)
|
|
1138
|
-
*/
|
|
1139
|
-
assets?: {
|
|
1140
|
-
[k: string]: unknown | undefined;
|
|
1141
|
-
}[];
|
|
1142
|
-
/**
|
|
1143
|
-
* Reference to a creative portfolio for this offering. Portfolios contain organized creative assets across formats, enabling consistent ad delivery for this specific offering.
|
|
1144
|
-
*/
|
|
1145
|
-
portfolio_ref?: string;
|
|
1146
|
-
/**
|
|
1147
|
-
* Keywords for matching this offering to user intent. Hosts use these for retrieval/relevance scoring.
|
|
1148
|
-
*/
|
|
1149
|
-
keywords?: string[];
|
|
1150
|
-
/**
|
|
1151
|
-
* Categories this offering belongs to (e.g., 'measurement', 'identity', 'programmatic')
|
|
1152
|
-
*/
|
|
1153
|
-
categories?: string[];
|
|
1154
|
-
ext?: ExtensionObject;
|
|
1155
|
-
[k: string]: unknown | undefined;
|
|
1156
|
-
}
|
|
1157
|
-
/**
|
|
1158
|
-
* 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
|
|
1159
1141
|
*/
|
|
1160
1142
|
export interface URLAsset {
|
|
1161
1143
|
/**
|
|
@@ -1250,10 +1232,6 @@ export type ForecastMethod = 'estimate' | 'modeled' | 'guaranteed';
|
|
|
1250
1232
|
/**
|
|
1251
1233
|
* Measurement system for the demographic field. Ensures buyer and seller agree on demographic notation.
|
|
1252
1234
|
*/
|
|
1253
|
-
export type DemographicSystem1 = 'nielsen' | 'barb' | 'agf' | 'oztam' | 'mediametrie' | 'custom';
|
|
1254
|
-
/**
|
|
1255
|
-
* Unit of measurement for reach and audience_size metrics in this forecast. Required for cross-channel forecast comparison.
|
|
1256
|
-
*/
|
|
1257
1235
|
export type ReachUnit = 'individuals' | 'households' | 'devices' | 'accounts' | 'cookies' | 'custom';
|
|
1258
1236
|
/**
|
|
1259
1237
|
* Available frequencies for delivery reports and metrics updates
|
|
@@ -1318,7 +1296,7 @@ export type DataProviderSignalSelector = {
|
|
|
1318
1296
|
[k: string]: unknown | undefined;
|
|
1319
1297
|
};
|
|
1320
1298
|
/**
|
|
1321
|
-
*
|
|
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.
|
|
1322
1300
|
*/
|
|
1323
1301
|
export type ActionSource = 'website' | 'app' | 'offline' | 'phone_call' | 'chat' | 'email' | 'in_store' | 'system_generated' | 'other';
|
|
1324
1302
|
/**
|
|
@@ -1391,6 +1369,10 @@ export interface Product {
|
|
|
1391
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.
|
|
1392
1370
|
*/
|
|
1393
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[];
|
|
1394
1376
|
/**
|
|
1395
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.
|
|
1396
1378
|
*/
|
|
@@ -1409,19 +1391,23 @@ export interface Product {
|
|
|
1409
1391
|
platform_managed?: boolean;
|
|
1410
1392
|
};
|
|
1411
1393
|
/**
|
|
1412
|
-
* 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).
|
|
1413
1395
|
*/
|
|
1414
1396
|
catalog_match?: {
|
|
1415
1397
|
/**
|
|
1416
|
-
* 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.
|
|
1417
1399
|
*/
|
|
1418
1400
|
matched_gtins?: string[];
|
|
1419
1401
|
/**
|
|
1420
|
-
*
|
|
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).
|
|
1403
|
+
*/
|
|
1404
|
+
matched_ids?: string[];
|
|
1405
|
+
/**
|
|
1406
|
+
* Number of catalog items that matched this product's inventory.
|
|
1421
1407
|
*/
|
|
1422
|
-
|
|
1408
|
+
matched_count?: number;
|
|
1423
1409
|
/**
|
|
1424
|
-
* Total catalog items evaluated from the buyer's
|
|
1410
|
+
* Total catalog items evaluated from the buyer's catalog.
|
|
1425
1411
|
*/
|
|
1426
1412
|
submitted_count: number;
|
|
1427
1413
|
};
|
|
@@ -1437,7 +1423,7 @@ export interface Product {
|
|
|
1437
1423
|
* Optional standard visual card (300x400px) for displaying this product in user interfaces. Can be rendered via preview_creative or pre-generated.
|
|
1438
1424
|
*/
|
|
1439
1425
|
product_card?: {
|
|
1440
|
-
format_id:
|
|
1426
|
+
format_id: FormatID;
|
|
1441
1427
|
/**
|
|
1442
1428
|
* Asset manifest for rendering the card, structure defined by the format
|
|
1443
1429
|
*/
|
|
@@ -1447,7 +1433,7 @@ export interface Product {
|
|
|
1447
1433
|
* Optional detailed card with carousel and full specifications. Provides rich product presentation similar to media kit pages.
|
|
1448
1434
|
*/
|
|
1449
1435
|
product_card_detailed?: {
|
|
1450
|
-
format_id:
|
|
1436
|
+
format_id: FormatID;
|
|
1451
1437
|
/**
|
|
1452
1438
|
* Asset manifest for rendering the detailed card, structure defined by the format
|
|
1453
1439
|
*/
|
|
@@ -1556,7 +1542,7 @@ export interface VCPMPricingOption {
|
|
|
1556
1542
|
* Minimum acceptable bid for auction pricing (mutually exclusive with fixed_price). Bids below this value will be rejected.
|
|
1557
1543
|
*/
|
|
1558
1544
|
floor_price?: number;
|
|
1559
|
-
price_guidance?:
|
|
1545
|
+
price_guidance?: PriceGuidance;
|
|
1560
1546
|
/**
|
|
1561
1547
|
* Minimum spend requirement per package using this pricing option, in the specified currency
|
|
1562
1548
|
*/
|
|
@@ -1566,28 +1552,6 @@ export interface VCPMPricingOption {
|
|
|
1566
1552
|
/**
|
|
1567
1553
|
* Optional pricing guidance for auction-based bidding
|
|
1568
1554
|
*/
|
|
1569
|
-
export interface PriceGuidance1 {
|
|
1570
|
-
/**
|
|
1571
|
-
* 25th percentile of recent winning bids
|
|
1572
|
-
*/
|
|
1573
|
-
p25?: number;
|
|
1574
|
-
/**
|
|
1575
|
-
* Median of recent winning bids
|
|
1576
|
-
*/
|
|
1577
|
-
p50?: number;
|
|
1578
|
-
/**
|
|
1579
|
-
* 75th percentile of recent winning bids
|
|
1580
|
-
*/
|
|
1581
|
-
p75?: number;
|
|
1582
|
-
/**
|
|
1583
|
-
* 90th percentile of recent winning bids
|
|
1584
|
-
*/
|
|
1585
|
-
p90?: number;
|
|
1586
|
-
[k: string]: unknown | undefined;
|
|
1587
|
-
}
|
|
1588
|
-
/**
|
|
1589
|
-
* Cost Per Click pricing. If fixed_price is present, it's fixed pricing. If absent, it's auction-based.
|
|
1590
|
-
*/
|
|
1591
1555
|
export interface CPCPricingOption {
|
|
1592
1556
|
/**
|
|
1593
1557
|
* Unique identifier for this pricing option within the product
|
|
@@ -1609,7 +1573,7 @@ export interface CPCPricingOption {
|
|
|
1609
1573
|
* Minimum acceptable bid for auction pricing (mutually exclusive with fixed_price). Bids below this value will be rejected.
|
|
1610
1574
|
*/
|
|
1611
1575
|
floor_price?: number;
|
|
1612
|
-
price_guidance?:
|
|
1576
|
+
price_guidance?: PriceGuidance;
|
|
1613
1577
|
/**
|
|
1614
1578
|
* Minimum spend requirement per package using this pricing option, in the specified currency
|
|
1615
1579
|
*/
|
|
@@ -1619,28 +1583,6 @@ export interface CPCPricingOption {
|
|
|
1619
1583
|
/**
|
|
1620
1584
|
* Optional pricing guidance for auction-based bidding
|
|
1621
1585
|
*/
|
|
1622
|
-
export interface PriceGuidance2 {
|
|
1623
|
-
/**
|
|
1624
|
-
* 25th percentile of recent winning bids
|
|
1625
|
-
*/
|
|
1626
|
-
p25?: number;
|
|
1627
|
-
/**
|
|
1628
|
-
* Median of recent winning bids
|
|
1629
|
-
*/
|
|
1630
|
-
p50?: number;
|
|
1631
|
-
/**
|
|
1632
|
-
* 75th percentile of recent winning bids
|
|
1633
|
-
*/
|
|
1634
|
-
p75?: number;
|
|
1635
|
-
/**
|
|
1636
|
-
* 90th percentile of recent winning bids
|
|
1637
|
-
*/
|
|
1638
|
-
p90?: number;
|
|
1639
|
-
[k: string]: unknown | undefined;
|
|
1640
|
-
}
|
|
1641
|
-
/**
|
|
1642
|
-
* Cost Per Completed View (100% video/audio completion) pricing. If fixed_price is present, it's fixed pricing. If absent, it's auction-based.
|
|
1643
|
-
*/
|
|
1644
1586
|
export interface CPCVPricingOption {
|
|
1645
1587
|
/**
|
|
1646
1588
|
* Unique identifier for this pricing option within the product
|
|
@@ -1662,7 +1604,7 @@ export interface CPCVPricingOption {
|
|
|
1662
1604
|
* Minimum acceptable bid for auction pricing (mutually exclusive with fixed_price). Bids below this value will be rejected.
|
|
1663
1605
|
*/
|
|
1664
1606
|
floor_price?: number;
|
|
1665
|
-
price_guidance?:
|
|
1607
|
+
price_guidance?: PriceGuidance;
|
|
1666
1608
|
/**
|
|
1667
1609
|
* Minimum spend requirement per package using this pricing option, in the specified currency
|
|
1668
1610
|
*/
|
|
@@ -1672,28 +1614,6 @@ export interface CPCVPricingOption {
|
|
|
1672
1614
|
/**
|
|
1673
1615
|
* Optional pricing guidance for auction-based bidding
|
|
1674
1616
|
*/
|
|
1675
|
-
export interface PriceGuidance3 {
|
|
1676
|
-
/**
|
|
1677
|
-
* 25th percentile of recent winning bids
|
|
1678
|
-
*/
|
|
1679
|
-
p25?: number;
|
|
1680
|
-
/**
|
|
1681
|
-
* Median of recent winning bids
|
|
1682
|
-
*/
|
|
1683
|
-
p50?: number;
|
|
1684
|
-
/**
|
|
1685
|
-
* 75th percentile of recent winning bids
|
|
1686
|
-
*/
|
|
1687
|
-
p75?: number;
|
|
1688
|
-
/**
|
|
1689
|
-
* 90th percentile of recent winning bids
|
|
1690
|
-
*/
|
|
1691
|
-
p90?: number;
|
|
1692
|
-
[k: string]: unknown | undefined;
|
|
1693
|
-
}
|
|
1694
|
-
/**
|
|
1695
|
-
* 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.
|
|
1696
|
-
*/
|
|
1697
1617
|
export interface CPVPricingOption {
|
|
1698
1618
|
/**
|
|
1699
1619
|
* Unique identifier for this pricing option within the product
|
|
@@ -1715,7 +1635,7 @@ export interface CPVPricingOption {
|
|
|
1715
1635
|
* Minimum acceptable bid for auction pricing (mutually exclusive with fixed_price). Bids below this value will be rejected.
|
|
1716
1636
|
*/
|
|
1717
1637
|
floor_price?: number;
|
|
1718
|
-
price_guidance?:
|
|
1638
|
+
price_guidance?: PriceGuidance;
|
|
1719
1639
|
/**
|
|
1720
1640
|
* CPV-specific parameters defining the view threshold
|
|
1721
1641
|
*/
|
|
@@ -1738,50 +1658,28 @@ export interface CPVPricingOption {
|
|
|
1738
1658
|
/**
|
|
1739
1659
|
* Optional pricing guidance for auction-based bidding
|
|
1740
1660
|
*/
|
|
1741
|
-
export interface
|
|
1661
|
+
export interface CPPPricingOption {
|
|
1742
1662
|
/**
|
|
1743
|
-
*
|
|
1663
|
+
* Unique identifier for this pricing option within the product
|
|
1744
1664
|
*/
|
|
1745
|
-
|
|
1665
|
+
pricing_option_id: string;
|
|
1746
1666
|
/**
|
|
1747
|
-
*
|
|
1667
|
+
* Cost per Gross Rating Point
|
|
1748
1668
|
*/
|
|
1749
|
-
|
|
1669
|
+
pricing_model: 'cpp';
|
|
1750
1670
|
/**
|
|
1751
|
-
*
|
|
1671
|
+
* ISO 4217 currency code
|
|
1752
1672
|
*/
|
|
1753
|
-
|
|
1673
|
+
currency: string;
|
|
1754
1674
|
/**
|
|
1755
|
-
*
|
|
1756
|
-
*/
|
|
1757
|
-
p90?: number;
|
|
1758
|
-
[k: string]: unknown | undefined;
|
|
1759
|
-
}
|
|
1760
|
-
/**
|
|
1761
|
-
* 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.
|
|
1762
|
-
*/
|
|
1763
|
-
export interface CPPPricingOption {
|
|
1764
|
-
/**
|
|
1765
|
-
* Unique identifier for this pricing option within the product
|
|
1766
|
-
*/
|
|
1767
|
-
pricing_option_id: string;
|
|
1768
|
-
/**
|
|
1769
|
-
* Cost per Gross Rating Point
|
|
1770
|
-
*/
|
|
1771
|
-
pricing_model: 'cpp';
|
|
1772
|
-
/**
|
|
1773
|
-
* ISO 4217 currency code
|
|
1774
|
-
*/
|
|
1775
|
-
currency: string;
|
|
1776
|
-
/**
|
|
1777
|
-
* 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.
|
|
1778
1676
|
*/
|
|
1779
1677
|
fixed_price?: number;
|
|
1780
1678
|
/**
|
|
1781
1679
|
* Minimum acceptable bid for auction pricing (mutually exclusive with fixed_price). Bids below this value will be rejected.
|
|
1782
1680
|
*/
|
|
1783
1681
|
floor_price?: number;
|
|
1784
|
-
price_guidance?:
|
|
1682
|
+
price_guidance?: PriceGuidance;
|
|
1785
1683
|
/**
|
|
1786
1684
|
* CPP-specific parameters for demographic targeting
|
|
1787
1685
|
*/
|
|
@@ -1806,28 +1704,6 @@ export interface CPPPricingOption {
|
|
|
1806
1704
|
/**
|
|
1807
1705
|
* Optional pricing guidance for auction-based bidding
|
|
1808
1706
|
*/
|
|
1809
|
-
export interface PriceGuidance5 {
|
|
1810
|
-
/**
|
|
1811
|
-
* 25th percentile of recent winning bids
|
|
1812
|
-
*/
|
|
1813
|
-
p25?: number;
|
|
1814
|
-
/**
|
|
1815
|
-
* Median of recent winning bids
|
|
1816
|
-
*/
|
|
1817
|
-
p50?: number;
|
|
1818
|
-
/**
|
|
1819
|
-
* 75th percentile of recent winning bids
|
|
1820
|
-
*/
|
|
1821
|
-
p75?: number;
|
|
1822
|
-
/**
|
|
1823
|
-
* 90th percentile of recent winning bids
|
|
1824
|
-
*/
|
|
1825
|
-
p90?: number;
|
|
1826
|
-
[k: string]: unknown | undefined;
|
|
1827
|
-
}
|
|
1828
|
-
/**
|
|
1829
|
-
* 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).
|
|
1830
|
-
*/
|
|
1831
1707
|
export interface CPAPricingOption {
|
|
1832
1708
|
/**
|
|
1833
1709
|
* Unique identifier for this pricing option within the product
|
|
@@ -1887,7 +1763,7 @@ export interface FlatRatePricingOption {
|
|
|
1887
1763
|
* Minimum acceptable bid for auction pricing (mutually exclusive with fixed_price). Bids below this value will be rejected.
|
|
1888
1764
|
*/
|
|
1889
1765
|
floor_price?: number;
|
|
1890
|
-
price_guidance?:
|
|
1766
|
+
price_guidance?: PriceGuidance;
|
|
1891
1767
|
/**
|
|
1892
1768
|
* Flat rate parameters for DOOH and time-based campaigns
|
|
1893
1769
|
*/
|
|
@@ -1931,28 +1807,6 @@ export interface FlatRatePricingOption {
|
|
|
1931
1807
|
/**
|
|
1932
1808
|
* Optional pricing guidance for auction-based bidding
|
|
1933
1809
|
*/
|
|
1934
|
-
export interface PriceGuidance6 {
|
|
1935
|
-
/**
|
|
1936
|
-
* 25th percentile of recent winning bids
|
|
1937
|
-
*/
|
|
1938
|
-
p25?: number;
|
|
1939
|
-
/**
|
|
1940
|
-
* Median of recent winning bids
|
|
1941
|
-
*/
|
|
1942
|
-
p50?: number;
|
|
1943
|
-
/**
|
|
1944
|
-
* 75th percentile of recent winning bids
|
|
1945
|
-
*/
|
|
1946
|
-
p75?: number;
|
|
1947
|
-
/**
|
|
1948
|
-
* 90th percentile of recent winning bids
|
|
1949
|
-
*/
|
|
1950
|
-
p90?: number;
|
|
1951
|
-
[k: string]: unknown | undefined;
|
|
1952
|
-
}
|
|
1953
|
-
/**
|
|
1954
|
-
* 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.
|
|
1955
|
-
*/
|
|
1956
1810
|
export interface TimeBasedPricingOption {
|
|
1957
1811
|
/**
|
|
1958
1812
|
* Unique identifier for this pricing option within the product
|
|
@@ -1974,7 +1828,7 @@ export interface TimeBasedPricingOption {
|
|
|
1974
1828
|
* Minimum acceptable bid per time unit for auction pricing (mutually exclusive with fixed_price). Bids below this value will be rejected.
|
|
1975
1829
|
*/
|
|
1976
1830
|
floor_price?: number;
|
|
1977
|
-
price_guidance?:
|
|
1831
|
+
price_guidance?: PriceGuidance;
|
|
1978
1832
|
/**
|
|
1979
1833
|
* Time-based pricing parameters
|
|
1980
1834
|
*/
|
|
@@ -2002,28 +1856,6 @@ export interface TimeBasedPricingOption {
|
|
|
2002
1856
|
/**
|
|
2003
1857
|
* Optional pricing guidance for auction-based bidding
|
|
2004
1858
|
*/
|
|
2005
|
-
export interface PriceGuidance7 {
|
|
2006
|
-
/**
|
|
2007
|
-
* 25th percentile of recent winning bids
|
|
2008
|
-
*/
|
|
2009
|
-
p25?: number;
|
|
2010
|
-
/**
|
|
2011
|
-
* Median of recent winning bids
|
|
2012
|
-
*/
|
|
2013
|
-
p50?: number;
|
|
2014
|
-
/**
|
|
2015
|
-
* 75th percentile of recent winning bids
|
|
2016
|
-
*/
|
|
2017
|
-
p75?: number;
|
|
2018
|
-
/**
|
|
2019
|
-
* 90th percentile of recent winning bids
|
|
2020
|
-
*/
|
|
2021
|
-
p90?: number;
|
|
2022
|
-
[k: string]: unknown | undefined;
|
|
2023
|
-
}
|
|
2024
|
-
/**
|
|
2025
|
-
* Forecasted delivery metrics for this product. Gives buyers an estimate of expected performance before requesting a proposal.
|
|
2026
|
-
*/
|
|
2027
1859
|
export interface DeliveryForecast {
|
|
2028
1860
|
/**
|
|
2029
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.
|
|
@@ -2037,7 +1869,7 @@ export interface DeliveryForecast {
|
|
|
2037
1869
|
* ISO 4217 currency code for monetary values in this forecast (spend, budget)
|
|
2038
1870
|
*/
|
|
2039
1871
|
currency: string;
|
|
2040
|
-
demographic_system?:
|
|
1872
|
+
demographic_system?: DemographicSystem;
|
|
2041
1873
|
/**
|
|
2042
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.
|
|
2043
1875
|
*/
|
|
@@ -2161,61 +1993,6 @@ export interface CreativePolicy {
|
|
|
2161
1993
|
/**
|
|
2162
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.
|
|
2163
1995
|
*/
|
|
2164
|
-
export interface FormatID1 {
|
|
2165
|
-
/**
|
|
2166
|
-
* 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)
|
|
2167
|
-
*/
|
|
2168
|
-
agent_url: string;
|
|
2169
|
-
/**
|
|
2170
|
-
* 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.
|
|
2171
|
-
*/
|
|
2172
|
-
id: string;
|
|
2173
|
-
/**
|
|
2174
|
-
* 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.
|
|
2175
|
-
*/
|
|
2176
|
-
width?: number;
|
|
2177
|
-
/**
|
|
2178
|
-
* 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.
|
|
2179
|
-
*/
|
|
2180
|
-
height?: number;
|
|
2181
|
-
/**
|
|
2182
|
-
* Duration in milliseconds for time-based formats (video, audio). When specified, creates a parameterized format ID. Omit to reference a template format without parameters.
|
|
2183
|
-
*/
|
|
2184
|
-
duration_ms?: number;
|
|
2185
|
-
[k: string]: unknown | undefined;
|
|
2186
|
-
}
|
|
2187
|
-
/**
|
|
2188
|
-
* 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.
|
|
2189
|
-
*/
|
|
2190
|
-
export interface FormatID2 {
|
|
2191
|
-
/**
|
|
2192
|
-
* 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)
|
|
2193
|
-
*/
|
|
2194
|
-
agent_url: string;
|
|
2195
|
-
/**
|
|
2196
|
-
* 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.
|
|
2197
|
-
*/
|
|
2198
|
-
id: string;
|
|
2199
|
-
/**
|
|
2200
|
-
* 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.
|
|
2201
|
-
*/
|
|
2202
|
-
width?: number;
|
|
2203
|
-
/**
|
|
2204
|
-
* 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.
|
|
2205
|
-
*/
|
|
2206
|
-
height?: number;
|
|
2207
|
-
/**
|
|
2208
|
-
* Duration in milliseconds for time-based formats (video, audio). When specified, creates a parameterized format ID. Omit to reference a template format without parameters.
|
|
2209
|
-
*/
|
|
2210
|
-
duration_ms?: number;
|
|
2211
|
-
[k: string]: unknown | undefined;
|
|
2212
|
-
}
|
|
2213
|
-
/**
|
|
2214
|
-
* Metro area classification system (e.g., 'nielsen_dma', 'uk_itl2')
|
|
2215
|
-
*/
|
|
2216
|
-
/**
|
|
2217
|
-
* Unique identifier for this property (optional). Enables referencing properties by ID instead of repeating full objects.
|
|
2218
|
-
*/
|
|
2219
1996
|
export type PropertyType = 'website' | 'mobile_app' | 'ctv_app' | 'desktop_app' | 'dooh' | 'podcast' | 'radio' | 'streaming_audio';
|
|
2220
1997
|
/**
|
|
2221
1998
|
* Type of identifier for this property
|
|
@@ -2257,7 +2034,7 @@ export interface Property {
|
|
|
2257
2034
|
/**
|
|
2258
2035
|
* Type of AdCP operation that triggered this webhook. Enables webhook handlers to route to appropriate processing logic.
|
|
2259
2036
|
*/
|
|
2260
|
-
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';
|
|
2261
2038
|
/**
|
|
2262
2039
|
* AdCP domain this task belongs to. Helps classify the operation type at a high level.
|
|
2263
2040
|
*/
|
|
@@ -2269,7 +2046,7 @@ export type TaskStatus = 'submitted' | 'working' | 'input-required' | 'completed
|
|
|
2269
2046
|
/**
|
|
2270
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.
|
|
2271
2048
|
*/
|
|
2272
|
-
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;
|
|
2273
2050
|
/**
|
|
2274
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.
|
|
2275
2052
|
*/
|
|
@@ -2277,10 +2054,6 @@ export type CreateMediaBuyResponse = CreateMediaBuySuccess | CreateMediaBuyError
|
|
|
2277
2054
|
/**
|
|
2278
2055
|
* Budget pacing strategy
|
|
2279
2056
|
*/
|
|
2280
|
-
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';
|
|
2281
|
-
/**
|
|
2282
|
-
* Response for completed or failed update_media_buy
|
|
2283
|
-
*/
|
|
2284
2057
|
export type UpdateMediaBuyResponse = UpdateMediaBuySuccess | UpdateMediaBuyError;
|
|
2285
2058
|
/**
|
|
2286
2059
|
* Response for completed or failed sync_creatives
|
|
@@ -2290,6 +2063,18 @@ export type SyncCreativesResponse = SyncCreativesSuccess | SyncCreativesError;
|
|
|
2290
2063
|
* Action taken for this creative
|
|
2291
2064
|
*/
|
|
2292
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';
|
|
2293
2078
|
/**
|
|
2294
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`.
|
|
2295
2080
|
*/
|
|
@@ -2340,10 +2125,14 @@ export interface GetProductsResponse {
|
|
|
2340
2125
|
*/
|
|
2341
2126
|
property_list_applied?: boolean;
|
|
2342
2127
|
/**
|
|
2343
|
-
*
|
|
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.
|
|
2344
2129
|
*/
|
|
2345
|
-
|
|
2130
|
+
catalog_applied?: boolean;
|
|
2346
2131
|
pagination?: PaginationResponse;
|
|
2132
|
+
/**
|
|
2133
|
+
* When true, this response contains simulated data from sandbox mode.
|
|
2134
|
+
*/
|
|
2135
|
+
sandbox?: boolean;
|
|
2347
2136
|
context?: ContextObject;
|
|
2348
2137
|
ext?: ExtensionObject;
|
|
2349
2138
|
[k: string]: unknown | undefined;
|
|
@@ -2400,7 +2189,7 @@ export interface Proposal {
|
|
|
2400
2189
|
* Explanation of how this proposal aligns with the campaign brief
|
|
2401
2190
|
*/
|
|
2402
2191
|
brief_alignment?: string;
|
|
2403
|
-
forecast?:
|
|
2192
|
+
forecast?: DeliveryForecast;
|
|
2404
2193
|
ext?: ExtensionObject;
|
|
2405
2194
|
[k: string]: unknown | undefined;
|
|
2406
2195
|
}
|
|
@@ -2438,79 +2227,13 @@ export interface ProductAllocation {
|
|
|
2438
2227
|
* @minItems 1
|
|
2439
2228
|
*/
|
|
2440
2229
|
daypart_targets?: [DaypartTarget, ...DaypartTarget[]];
|
|
2441
|
-
forecast?:
|
|
2230
|
+
forecast?: DeliveryForecast;
|
|
2442
2231
|
ext?: ExtensionObject;
|
|
2443
2232
|
[k: string]: unknown | undefined;
|
|
2444
2233
|
}
|
|
2445
2234
|
/**
|
|
2446
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.
|
|
2447
2236
|
*/
|
|
2448
|
-
export interface DeliveryForecast1 {
|
|
2449
|
-
/**
|
|
2450
|
-
* 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.
|
|
2451
|
-
*
|
|
2452
|
-
* @minItems 1
|
|
2453
|
-
*/
|
|
2454
|
-
points: [ForecastPoint, ...ForecastPoint[]];
|
|
2455
|
-
forecast_range_unit?: ForecastRangeUnit;
|
|
2456
|
-
method: ForecastMethod;
|
|
2457
|
-
/**
|
|
2458
|
-
* ISO 4217 currency code for monetary values in this forecast (spend, budget)
|
|
2459
|
-
*/
|
|
2460
|
-
currency: string;
|
|
2461
|
-
demographic_system?: DemographicSystem1;
|
|
2462
|
-
/**
|
|
2463
|
-
* 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.
|
|
2464
|
-
*/
|
|
2465
|
-
demographic?: string;
|
|
2466
|
-
reach_unit?: ReachUnit;
|
|
2467
|
-
/**
|
|
2468
|
-
* When this forecast was computed
|
|
2469
|
-
*/
|
|
2470
|
-
generated_at?: string;
|
|
2471
|
-
/**
|
|
2472
|
-
* When this forecast expires. After this time, the forecast should be refreshed. Forecast expiry does not affect proposal executability.
|
|
2473
|
-
*/
|
|
2474
|
-
valid_until?: string;
|
|
2475
|
-
ext?: ExtensionObject;
|
|
2476
|
-
[k: string]: unknown | undefined;
|
|
2477
|
-
}
|
|
2478
|
-
/**
|
|
2479
|
-
* 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.
|
|
2480
|
-
*/
|
|
2481
|
-
export interface DeliveryForecast2 {
|
|
2482
|
-
/**
|
|
2483
|
-
* 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.
|
|
2484
|
-
*
|
|
2485
|
-
* @minItems 1
|
|
2486
|
-
*/
|
|
2487
|
-
points: [ForecastPoint, ...ForecastPoint[]];
|
|
2488
|
-
forecast_range_unit?: ForecastRangeUnit;
|
|
2489
|
-
method: ForecastMethod;
|
|
2490
|
-
/**
|
|
2491
|
-
* ISO 4217 currency code for monetary values in this forecast (spend, budget)
|
|
2492
|
-
*/
|
|
2493
|
-
currency: string;
|
|
2494
|
-
demographic_system?: DemographicSystem1;
|
|
2495
|
-
/**
|
|
2496
|
-
* 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.
|
|
2497
|
-
*/
|
|
2498
|
-
demographic?: string;
|
|
2499
|
-
reach_unit?: ReachUnit;
|
|
2500
|
-
/**
|
|
2501
|
-
* When this forecast was computed
|
|
2502
|
-
*/
|
|
2503
|
-
generated_at?: string;
|
|
2504
|
-
/**
|
|
2505
|
-
* When this forecast expires. After this time, the forecast should be refreshed. Forecast expiry does not affect proposal executability.
|
|
2506
|
-
*/
|
|
2507
|
-
valid_until?: string;
|
|
2508
|
-
ext?: ExtensionObject;
|
|
2509
|
-
[k: string]: unknown | undefined;
|
|
2510
|
-
}
|
|
2511
|
-
/**
|
|
2512
|
-
* Standard error structure for task-specific errors and warnings
|
|
2513
|
-
*/
|
|
2514
2237
|
export interface Error {
|
|
2515
2238
|
/**
|
|
2516
2239
|
* Error code for programmatic handling
|
|
@@ -2631,6 +2354,10 @@ export interface CreateMediaBuySuccess {
|
|
|
2631
2354
|
* Buyer's reference identifier for this media buy
|
|
2632
2355
|
*/
|
|
2633
2356
|
buyer_ref: string;
|
|
2357
|
+
/**
|
|
2358
|
+
* Buyer's campaign reference label, echoed from the request
|
|
2359
|
+
*/
|
|
2360
|
+
campaign_ref?: string;
|
|
2634
2361
|
account?: Account;
|
|
2635
2362
|
/**
|
|
2636
2363
|
* ISO 8601 timestamp for creative upload deadline
|
|
@@ -2640,6 +2367,10 @@ export interface CreateMediaBuySuccess {
|
|
|
2640
2367
|
* Array of created packages with complete state information
|
|
2641
2368
|
*/
|
|
2642
2369
|
packages: Package[];
|
|
2370
|
+
/**
|
|
2371
|
+
* When true, this response contains simulated data from sandbox mode.
|
|
2372
|
+
*/
|
|
2373
|
+
sandbox?: boolean;
|
|
2643
2374
|
context?: ContextObject;
|
|
2644
2375
|
ext?: ExtensionObject;
|
|
2645
2376
|
[k: string]: unknown | undefined;
|
|
@@ -2726,6 +2457,10 @@ export interface UpdateMediaBuySuccess {
|
|
|
2726
2457
|
* Array of packages that were modified with complete state information
|
|
2727
2458
|
*/
|
|
2728
2459
|
affected_packages?: Package[];
|
|
2460
|
+
/**
|
|
2461
|
+
* When true, this response contains simulated data from sandbox mode.
|
|
2462
|
+
*/
|
|
2463
|
+
sandbox?: boolean;
|
|
2729
2464
|
context?: ContextObject;
|
|
2730
2465
|
ext?: ExtensionObject;
|
|
2731
2466
|
[k: string]: unknown | undefined;
|
|
@@ -2804,7 +2539,7 @@ export interface SyncCreativesSuccess {
|
|
|
2804
2539
|
* Creative ID from the request
|
|
2805
2540
|
*/
|
|
2806
2541
|
creative_id: string;
|
|
2807
|
-
account?:
|
|
2542
|
+
account?: Account;
|
|
2808
2543
|
action: CreativeAction;
|
|
2809
2544
|
/**
|
|
2810
2545
|
* Platform-specific ID assigned to the creative
|
|
@@ -2842,6 +2577,10 @@ export interface SyncCreativesSuccess {
|
|
|
2842
2577
|
};
|
|
2843
2578
|
[k: string]: unknown | undefined;
|
|
2844
2579
|
}[];
|
|
2580
|
+
/**
|
|
2581
|
+
* When true, this response contains simulated data from sandbox mode.
|
|
2582
|
+
*/
|
|
2583
|
+
sandbox?: boolean;
|
|
2845
2584
|
context?: ContextObject;
|
|
2846
2585
|
ext?: ExtensionObject;
|
|
2847
2586
|
[k: string]: unknown | undefined;
|
|
@@ -2849,67 +2588,157 @@ export interface SyncCreativesSuccess {
|
|
|
2849
2588
|
/**
|
|
2850
2589
|
* Account that owns this creative
|
|
2851
2590
|
*/
|
|
2852
|
-
export interface
|
|
2853
|
-
/**
|
|
2854
|
-
* Unique identifier for this account
|
|
2855
|
-
*/
|
|
2856
|
-
account_id: string;
|
|
2591
|
+
export interface SyncCreativesError {
|
|
2857
2592
|
/**
|
|
2858
|
-
*
|
|
2593
|
+
* Operation-level errors that prevented processing any creatives (e.g., authentication failure, service unavailable, invalid request format)
|
|
2594
|
+
*
|
|
2595
|
+
* @minItems 1
|
|
2859
2596
|
*/
|
|
2860
|
-
|
|
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 {
|
|
2861
2606
|
/**
|
|
2862
|
-
*
|
|
2607
|
+
* Completion percentage (0-100)
|
|
2863
2608
|
*/
|
|
2864
|
-
|
|
2609
|
+
percentage?: number;
|
|
2865
2610
|
/**
|
|
2866
|
-
*
|
|
2611
|
+
* Current step or phase of the operation
|
|
2867
2612
|
*/
|
|
2868
|
-
|
|
2613
|
+
current_step?: string;
|
|
2869
2614
|
/**
|
|
2870
|
-
*
|
|
2615
|
+
* Total number of steps in the operation
|
|
2871
2616
|
*/
|
|
2872
|
-
|
|
2617
|
+
total_steps?: number;
|
|
2873
2618
|
/**
|
|
2874
|
-
*
|
|
2619
|
+
* Current step number
|
|
2875
2620
|
*/
|
|
2876
|
-
|
|
2621
|
+
step_number?: number;
|
|
2877
2622
|
/**
|
|
2878
|
-
*
|
|
2623
|
+
* Number of creatives processed so far
|
|
2879
2624
|
*/
|
|
2880
|
-
|
|
2625
|
+
creatives_processed?: number;
|
|
2881
2626
|
/**
|
|
2882
|
-
*
|
|
2627
|
+
* Total number of creatives to process
|
|
2883
2628
|
*/
|
|
2884
|
-
|
|
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 {
|
|
2885
2638
|
/**
|
|
2886
|
-
*
|
|
2639
|
+
* Reason code indicating why buyer input is needed
|
|
2887
2640
|
*/
|
|
2888
|
-
|
|
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 {
|
|
2889
2658
|
/**
|
|
2890
|
-
*
|
|
2659
|
+
* Whether this was a dry run (no actual changes made)
|
|
2891
2660
|
*/
|
|
2892
|
-
|
|
2661
|
+
dry_run?: boolean;
|
|
2893
2662
|
/**
|
|
2894
|
-
*
|
|
2663
|
+
* Results for each catalog processed. Items with action='failed' indicate per-catalog validation/processing failures, not operation-level failures.
|
|
2895
2664
|
*/
|
|
2896
|
-
|
|
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
|
+
}[];
|
|
2897
2728
|
/**
|
|
2898
|
-
*
|
|
2729
|
+
* When true, this response contains simulated data from sandbox mode.
|
|
2899
2730
|
*/
|
|
2900
|
-
|
|
2901
|
-
|
|
2902
|
-
currency: string;
|
|
2903
|
-
};
|
|
2731
|
+
sandbox?: boolean;
|
|
2732
|
+
context?: ContextObject;
|
|
2904
2733
|
ext?: ExtensionObject;
|
|
2905
2734
|
[k: string]: unknown | undefined;
|
|
2906
2735
|
}
|
|
2907
2736
|
/**
|
|
2908
|
-
* Error response - operation failed completely, no
|
|
2737
|
+
* Error response - operation failed completely, no catalogs were processed
|
|
2909
2738
|
*/
|
|
2910
|
-
export interface
|
|
2739
|
+
export interface SyncCatalogsError {
|
|
2911
2740
|
/**
|
|
2912
|
-
* 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)
|
|
2913
2742
|
*
|
|
2914
2743
|
* @minItems 1
|
|
2915
2744
|
*/
|
|
@@ -2919,15 +2748,15 @@ export interface SyncCreativesError {
|
|
|
2919
2748
|
[k: string]: unknown | undefined;
|
|
2920
2749
|
}
|
|
2921
2750
|
/**
|
|
2922
|
-
* Progress data for working
|
|
2751
|
+
* Progress data for working sync_catalogs
|
|
2923
2752
|
*/
|
|
2924
|
-
export interface
|
|
2753
|
+
export interface SyncCatalogsAsyncWorking {
|
|
2925
2754
|
/**
|
|
2926
2755
|
* Completion percentage (0-100)
|
|
2927
2756
|
*/
|
|
2928
2757
|
percentage?: number;
|
|
2929
2758
|
/**
|
|
2930
|
-
* Current step or phase of the operation
|
|
2759
|
+
* Current step or phase of the operation (e.g., 'Fetching product feed', 'Validating items', 'Platform review')
|
|
2931
2760
|
*/
|
|
2932
2761
|
current_step?: string;
|
|
2933
2762
|
/**
|
|
@@ -2939,33 +2768,41 @@ export interface SyncCreativesAsyncWorking {
|
|
|
2939
2768
|
*/
|
|
2940
2769
|
step_number?: number;
|
|
2941
2770
|
/**
|
|
2942
|
-
* Number of
|
|
2771
|
+
* Number of catalogs processed so far
|
|
2943
2772
|
*/
|
|
2944
|
-
|
|
2773
|
+
catalogs_processed?: number;
|
|
2945
2774
|
/**
|
|
2946
|
-
* Total number of
|
|
2775
|
+
* Total number of catalogs to process
|
|
2947
2776
|
*/
|
|
2948
|
-
|
|
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;
|
|
2949
2786
|
context?: ContextObject;
|
|
2950
2787
|
ext?: ExtensionObject;
|
|
2951
2788
|
[k: string]: unknown | undefined;
|
|
2952
2789
|
}
|
|
2953
2790
|
/**
|
|
2954
|
-
* Input requirements for
|
|
2791
|
+
* Input requirements for sync_catalogs needing buyer input
|
|
2955
2792
|
*/
|
|
2956
|
-
export interface
|
|
2793
|
+
export interface SyncCatalogsAsyncInputRequired {
|
|
2957
2794
|
/**
|
|
2958
|
-
* 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.).
|
|
2959
2796
|
*/
|
|
2960
|
-
reason?: 'APPROVAL_REQUIRED' | '
|
|
2797
|
+
reason?: 'APPROVAL_REQUIRED' | 'FEED_VALIDATION' | 'ITEM_REVIEW' | 'FEED_ACCESS';
|
|
2961
2798
|
context?: ContextObject;
|
|
2962
2799
|
ext?: ExtensionObject;
|
|
2963
2800
|
[k: string]: unknown | undefined;
|
|
2964
2801
|
}
|
|
2965
2802
|
/**
|
|
2966
|
-
* Acknowledgment for submitted
|
|
2803
|
+
* Acknowledgment for submitted sync_catalogs
|
|
2967
2804
|
*/
|
|
2968
|
-
export interface
|
|
2805
|
+
export interface SyncCatalogsAsyncSubmitted {
|
|
2969
2806
|
context?: ContextObject;
|
|
2970
2807
|
ext?: ExtensionObject;
|
|
2971
2808
|
[k: string]: unknown | undefined;
|