@adcp/client 4.5.2 → 4.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/core/AgentClient.d.ts.map +1 -1
- package/dist/lib/core/SingleAgentClient.d.ts +41 -1
- package/dist/lib/core/SingleAgentClient.d.ts.map +1 -1
- package/dist/lib/core/SingleAgentClient.js +54 -0
- package/dist/lib/core/SingleAgentClient.js.map +1 -1
- package/dist/lib/core/TaskExecutor.d.ts +10 -0
- package/dist/lib/core/TaskExecutor.d.ts.map +1 -1
- package/dist/lib/core/TaskExecutor.js +23 -11
- package/dist/lib/core/TaskExecutor.js.map +1 -1
- package/dist/lib/errors/index.d.ts +10 -0
- package/dist/lib/errors/index.d.ts.map +1 -1
- package/dist/lib/errors/index.js +20 -1
- package/dist/lib/errors/index.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 +8 -4
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/testing/orchestrator.d.ts.map +1 -1
- package/dist/lib/testing/orchestrator.js +13 -0
- package/dist/lib/testing/orchestrator.js.map +1 -1
- package/dist/lib/types/core.generated.d.ts +83 -38
- 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 +2754 -187
- package/dist/lib/types/schemas.generated.d.ts.map +1 -1
- package/dist/lib/types/schemas.generated.js +106 -82
- package/dist/lib/types/schemas.generated.js.map +1 -1
- package/dist/lib/types/tools.generated.d.ts +222 -147
- package/dist/lib/types/tools.generated.d.ts.map +1 -1
- package/dist/lib/utils/capabilities.d.ts +28 -0
- package/dist/lib/utils/capabilities.d.ts.map +1 -1
- package/dist/lib/utils/capabilities.js +132 -1
- package/dist/lib/utils/capabilities.js.map +1 -1
- package/dist/lib/version.d.ts +3 -3
- package/dist/lib/version.js +3 -3
- package/package.json +1 -1
|
@@ -467,10 +467,6 @@ export interface MediaBuyFeatures {
|
|
|
467
467
|
* Supports sync_catalogs task for catalog feed management with platform review and approval
|
|
468
468
|
*/
|
|
469
469
|
catalog_management?: boolean;
|
|
470
|
-
/**
|
|
471
|
-
* Supports sandbox mode for operations without real platform calls or spend
|
|
472
|
-
*/
|
|
473
|
-
sandbox?: boolean;
|
|
474
470
|
[k: string]: boolean | undefined;
|
|
475
471
|
}
|
|
476
472
|
/**
|
|
@@ -1193,7 +1189,7 @@ export interface CPAPricingOption {
|
|
|
1193
1189
|
min_spend_per_package?: number;
|
|
1194
1190
|
}
|
|
1195
1191
|
/**
|
|
1196
|
-
* Flat rate pricing for
|
|
1192
|
+
* Flat rate pricing for sponsorships, takeovers, and DOOH exclusive placements. A fixed total cost regardless of delivery volume. For duration-scaled pricing (rate × time units), use the `time` model instead. If fixed_price is present, it's fixed pricing. If absent, it's auction-based.
|
|
1197
1193
|
*/
|
|
1198
1194
|
export interface FlatRatePricingOption {
|
|
1199
1195
|
/**
|
|
@@ -1217,44 +1213,49 @@ export interface FlatRatePricingOption {
|
|
|
1217
1213
|
*/
|
|
1218
1214
|
floor_price?: number;
|
|
1219
1215
|
price_guidance?: PriceGuidance;
|
|
1220
|
-
|
|
1221
|
-
* Flat rate parameters for DOOH and time-based campaigns
|
|
1222
|
-
*/
|
|
1223
|
-
parameters?: {
|
|
1224
|
-
/**
|
|
1225
|
-
* Duration in hours for time-based pricing
|
|
1226
|
-
*/
|
|
1227
|
-
duration_hours?: number;
|
|
1228
|
-
/**
|
|
1229
|
-
* Guaranteed share of voice (0-100)
|
|
1230
|
-
*/
|
|
1231
|
-
sov_percentage?: number;
|
|
1232
|
-
/**
|
|
1233
|
-
* Duration of ad loop rotation in seconds
|
|
1234
|
-
*/
|
|
1235
|
-
loop_duration_seconds?: number;
|
|
1236
|
-
/**
|
|
1237
|
-
* Minimum plays per hour
|
|
1238
|
-
*/
|
|
1239
|
-
min_plays_per_hour?: number;
|
|
1240
|
-
/**
|
|
1241
|
-
* Named venue package identifier
|
|
1242
|
-
*/
|
|
1243
|
-
venue_package?: string;
|
|
1244
|
-
/**
|
|
1245
|
-
* Estimated impressions (informational)
|
|
1246
|
-
*/
|
|
1247
|
-
estimated_impressions?: number;
|
|
1248
|
-
/**
|
|
1249
|
-
* Specific daypart for time-based pricing
|
|
1250
|
-
*/
|
|
1251
|
-
daypart?: string;
|
|
1252
|
-
};
|
|
1216
|
+
parameters?: DoohParameters;
|
|
1253
1217
|
/**
|
|
1254
1218
|
* Minimum spend requirement per package using this pricing option, in the specified currency
|
|
1255
1219
|
*/
|
|
1256
1220
|
min_spend_per_package?: number;
|
|
1257
1221
|
}
|
|
1222
|
+
/**
|
|
1223
|
+
* DOOH inventory allocation parameters. Sponsorship and takeover flat_rate options omit this field entirely — only include for digital out-of-home inventory.
|
|
1224
|
+
*/
|
|
1225
|
+
export interface DoohParameters {
|
|
1226
|
+
/**
|
|
1227
|
+
* Discriminator identifying this as DOOH parameters
|
|
1228
|
+
*/
|
|
1229
|
+
type: 'dooh';
|
|
1230
|
+
/**
|
|
1231
|
+
* Guaranteed share of voice as a percentage (0-100)
|
|
1232
|
+
*/
|
|
1233
|
+
sov_percentage?: number;
|
|
1234
|
+
/**
|
|
1235
|
+
* Duration of the ad loop rotation in seconds
|
|
1236
|
+
*/
|
|
1237
|
+
loop_duration_seconds?: number;
|
|
1238
|
+
/**
|
|
1239
|
+
* Minimum number of plays per hour guaranteed
|
|
1240
|
+
*/
|
|
1241
|
+
min_plays_per_hour?: number;
|
|
1242
|
+
/**
|
|
1243
|
+
* Named collection of screens included in this buy
|
|
1244
|
+
*/
|
|
1245
|
+
venue_package?: string;
|
|
1246
|
+
/**
|
|
1247
|
+
* Duration of the DOOH slot in hours (e.g., 24 for a full-day takeover)
|
|
1248
|
+
*/
|
|
1249
|
+
duration_hours?: number;
|
|
1250
|
+
/**
|
|
1251
|
+
* Named daypart for this slot (e.g., morning_commute, evening_rush)
|
|
1252
|
+
*/
|
|
1253
|
+
daypart?: string;
|
|
1254
|
+
/**
|
|
1255
|
+
* Estimated audience impressions for this slot (informational, not a delivery guarantee)
|
|
1256
|
+
*/
|
|
1257
|
+
estimated_impressions?: number;
|
|
1258
|
+
}
|
|
1258
1259
|
/**
|
|
1259
1260
|
* 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.
|
|
1260
1261
|
*/
|
|
@@ -1572,6 +1573,14 @@ export interface ProductAllocation {
|
|
|
1572
1573
|
* Categorical tags for this allocation (e.g., 'desktop', 'german', 'mobile') - useful for grouping/filtering allocations by dimension
|
|
1573
1574
|
*/
|
|
1574
1575
|
tags?: string[];
|
|
1576
|
+
/**
|
|
1577
|
+
* Recommended flight start date/time for this allocation in ISO 8601 format. Allows publishers to propose per-flight scheduling within a proposal. When omitted, the allocation applies to the full campaign date range.
|
|
1578
|
+
*/
|
|
1579
|
+
start_time?: string;
|
|
1580
|
+
/**
|
|
1581
|
+
* Recommended flight end date/time for this allocation in ISO 8601 format. Allows publishers to propose per-flight scheduling within a proposal. When omitted, the allocation applies to the full campaign date range.
|
|
1582
|
+
*/
|
|
1583
|
+
end_time?: string;
|
|
1575
1584
|
/**
|
|
1576
1585
|
* Recommended time windows for this allocation in spot-plan proposals.
|
|
1577
1586
|
*/
|
|
@@ -1662,6 +1671,10 @@ export type WCAGLevel = 'A' | 'AA' | 'AAA';
|
|
|
1662
1671
|
* Where a required disclosure should appear within a creative. Used by creative briefs to specify disclosure placement and by formats to declare which positions they can render.
|
|
1663
1672
|
*/
|
|
1664
1673
|
export type DisclosurePosition = 'prominent' | 'footer' | 'audio' | 'subtitle' | 'overlay' | 'end_card' | 'pre_roll' | 'companion';
|
|
1674
|
+
/**
|
|
1675
|
+
* How long a disclosure must persist during content playback or display. Different jurisdictions and regulations require different persistence behaviors for AI-generated content labels. When multiple sources specify persistence for the same jurisdiction (e.g., brief and provenance), the most restrictive mode applies: continuous > initial > flexible.
|
|
1676
|
+
*/
|
|
1677
|
+
export type DisclosurePersistence = 'continuous' | 'initial' | 'flexible';
|
|
1665
1678
|
/**
|
|
1666
1679
|
* Request parameters for discovering supported creative formats
|
|
1667
1680
|
*/
|
|
@@ -1701,9 +1714,13 @@ export interface ListCreativeFormatsRequest {
|
|
|
1701
1714
|
name_search?: string;
|
|
1702
1715
|
wcag_level?: WCAGLevel;
|
|
1703
1716
|
/**
|
|
1704
|
-
* Filter to formats
|
|
1717
|
+
* Filter to formats that support all of these disclosure positions. When a format has disclosure_capabilities, match against those positions. Otherwise fall back to supported_disclosure_positions. Use to find formats compatible with a brief's compliance requirements.
|
|
1705
1718
|
*/
|
|
1706
1719
|
disclosure_positions?: DisclosurePosition[];
|
|
1720
|
+
/**
|
|
1721
|
+
* Filter to formats where each requested persistence mode is supported by at least one position in disclosure_capabilities. Different positions may satisfy different modes. Use to find formats compatible with jurisdiction-specific persistence requirements (e.g., continuous for EU AI Act).
|
|
1722
|
+
*/
|
|
1723
|
+
disclosure_persistence?: DisclosurePersistence[];
|
|
1707
1724
|
/**
|
|
1708
1725
|
* Filter to formats whose output_format_ids includes any of these format IDs. Returns formats that can produce these outputs — inspect each result's input_format_ids to see what inputs they accept.
|
|
1709
1726
|
*/
|
|
@@ -1868,6 +1885,16 @@ export interface Format {
|
|
|
1868
1885
|
* Disclosure positions this format can render. Buyers use this to determine whether a format can satisfy their compliance requirements before submitting a creative. When omitted, the format makes no disclosure rendering guarantees — creative agents SHOULD treat this as incompatible with briefs that require specific disclosure positions. Values correspond to positions on creative-brief.json required_disclosures.
|
|
1869
1886
|
*/
|
|
1870
1887
|
supported_disclosure_positions?: DisclosurePosition[];
|
|
1888
|
+
/**
|
|
1889
|
+
* Structured disclosure capabilities per position with persistence modes. Declares which persistence behaviors each disclosure position supports, enabling persistence-aware matching against provenance render guidance and brief requirements. When present, supersedes supported_disclosure_positions for persistence-aware queries. The flat supported_disclosure_positions field is retained for backward compatibility. Each position MUST appear at most once; validators and agents SHOULD reject duplicates.
|
|
1890
|
+
*/
|
|
1891
|
+
disclosure_capabilities?: {
|
|
1892
|
+
position: DisclosurePosition;
|
|
1893
|
+
/**
|
|
1894
|
+
* Persistence modes this position supports
|
|
1895
|
+
*/
|
|
1896
|
+
persistence: DisclosurePersistence[];
|
|
1897
|
+
}[];
|
|
1871
1898
|
/**
|
|
1872
1899
|
* Optional detailed card with carousel and full specifications. Provides rich format documentation similar to ad spec pages.
|
|
1873
1900
|
*/
|
|
@@ -2438,6 +2465,14 @@ export interface PackageRequest {
|
|
|
2438
2465
|
* Impression goal for this package
|
|
2439
2466
|
*/
|
|
2440
2467
|
impressions?: number;
|
|
2468
|
+
/**
|
|
2469
|
+
* Flight start date/time for this package in ISO 8601 format. When omitted, the package inherits the media buy's start_time. Must fall within the media buy's date range.
|
|
2470
|
+
*/
|
|
2471
|
+
start_time?: string;
|
|
2472
|
+
/**
|
|
2473
|
+
* Flight end date/time for this package in ISO 8601 format. When omitted, the package inherits the media buy's end_time. Must fall within the media buy's date range.
|
|
2474
|
+
*/
|
|
2475
|
+
end_time?: string;
|
|
2441
2476
|
/**
|
|
2442
2477
|
* Whether this package should be created in a paused state. Paused packages do not deliver impressions. Defaults to false.
|
|
2443
2478
|
*/
|
|
@@ -2771,6 +2806,10 @@ export interface Provenance {
|
|
|
2771
2806
|
*/
|
|
2772
2807
|
role: 'creator' | 'advertiser' | 'agency' | 'platform' | 'tool';
|
|
2773
2808
|
};
|
|
2809
|
+
/**
|
|
2810
|
+
* When this provenance claim was made (ISO 8601). Distinct from created_time, which records when the content itself was produced. A provenance claim may be attached well after content creation, for example when retroactively declaring AI involvement for regulatory compliance.
|
|
2811
|
+
*/
|
|
2812
|
+
declared_at?: string;
|
|
2774
2813
|
/**
|
|
2775
2814
|
* When this content was created or generated (ISO 8601)
|
|
2776
2815
|
*/
|
|
@@ -2812,6 +2851,21 @@ export interface Provenance {
|
|
|
2812
2851
|
* Required disclosure label text for this jurisdiction, in the local language
|
|
2813
2852
|
*/
|
|
2814
2853
|
label_text?: string;
|
|
2854
|
+
/**
|
|
2855
|
+
* How the disclosure should be rendered for this jurisdiction. Expresses the declaring party's intent for persistence and position based on regulatory requirements. Publishers control actual rendering but governance agents can audit whether guidance was followed.
|
|
2856
|
+
*/
|
|
2857
|
+
render_guidance?: {
|
|
2858
|
+
persistence?: DisclosurePersistence;
|
|
2859
|
+
/**
|
|
2860
|
+
* Minimum display duration in milliseconds for initial persistence. Recommended when persistence is initial — without it, the duration is at the publisher's discretion. At serve time the publisher reads this from provenance since the brief is not available.
|
|
2861
|
+
*/
|
|
2862
|
+
min_duration_ms?: number;
|
|
2863
|
+
/**
|
|
2864
|
+
* Preferred disclosure positions in priority order. The first position a format supports should be used.
|
|
2865
|
+
*/
|
|
2866
|
+
positions?: DisclosurePosition[];
|
|
2867
|
+
ext?: ExtensionObject;
|
|
2868
|
+
};
|
|
2815
2869
|
}[];
|
|
2816
2870
|
};
|
|
2817
2871
|
/**
|
|
@@ -3261,6 +3315,7 @@ export interface CreativeBrief {
|
|
|
3261
3315
|
* Language of the disclosure text as a BCP 47 language tag (e.g., 'en', 'fr-CA', 'es'). When omitted, the disclosure is assumed to match the creative's language.
|
|
3262
3316
|
*/
|
|
3263
3317
|
language?: string;
|
|
3318
|
+
persistence?: DisclosurePersistence;
|
|
3264
3319
|
}[];
|
|
3265
3320
|
/**
|
|
3266
3321
|
* Claims that must not appear in creatives for this campaign. Creative agents should ensure generated content avoids these claims.
|
|
@@ -3514,6 +3569,14 @@ export interface Package {
|
|
|
3514
3569
|
* Optimization targets for this package. The seller optimizes delivery toward these goals in priority order. Common pattern: event goals (purchase, install) as primary targets at priority 1; metric goals (clicks, views) as secondary proxy signals at priority 2+.
|
|
3515
3570
|
*/
|
|
3516
3571
|
optimization_goals?: OptimizationGoal[];
|
|
3572
|
+
/**
|
|
3573
|
+
* Flight start date/time for this package in ISO 8601 format. When omitted, the package inherits the media buy's start_time. Sellers SHOULD always include the resolved value in responses, even when inherited.
|
|
3574
|
+
*/
|
|
3575
|
+
start_time?: string;
|
|
3576
|
+
/**
|
|
3577
|
+
* Flight end date/time for this package in ISO 8601 format. When omitted, the package inherits the media buy's end_time. Sellers SHOULD always include the resolved value in responses, even when inherited.
|
|
3578
|
+
*/
|
|
3579
|
+
end_time?: string;
|
|
3517
3580
|
/**
|
|
3518
3581
|
* Whether this package is paused by the buyer. Paused packages do not deliver impressions. Defaults to false.
|
|
3519
3582
|
*/
|
|
@@ -4055,6 +4118,14 @@ export type PackageUpdate = {
|
|
|
4055
4118
|
* Updated impression goal for this package
|
|
4056
4119
|
*/
|
|
4057
4120
|
impressions?: number;
|
|
4121
|
+
/**
|
|
4122
|
+
* Updated flight start date/time for this package in ISO 8601 format. Must fall within the media buy's date range.
|
|
4123
|
+
*/
|
|
4124
|
+
start_time?: string;
|
|
4125
|
+
/**
|
|
4126
|
+
* Updated flight end date/time for this package in ISO 8601 format. Must fall within the media buy's date range.
|
|
4127
|
+
*/
|
|
4128
|
+
end_time?: string;
|
|
4058
4129
|
/**
|
|
4059
4130
|
* Pause/resume specific package (true = paused, false = active)
|
|
4060
4131
|
*/
|
|
@@ -4266,109 +4337,7 @@ export interface GetMediaBuysResponse {
|
|
|
4266
4337
|
/**
|
|
4267
4338
|
* Packages within this media buy, augmented with creative approval status and optional delivery snapshots
|
|
4268
4339
|
*/
|
|
4269
|
-
packages:
|
|
4270
|
-
/**
|
|
4271
|
-
* Publisher's package identifier
|
|
4272
|
-
*/
|
|
4273
|
-
package_id: string;
|
|
4274
|
-
/**
|
|
4275
|
-
* Buyer's reference identifier for this package
|
|
4276
|
-
*/
|
|
4277
|
-
buyer_ref?: string;
|
|
4278
|
-
/**
|
|
4279
|
-
* Product identifier this package is purchased from
|
|
4280
|
-
*/
|
|
4281
|
-
product_id?: string;
|
|
4282
|
-
/**
|
|
4283
|
-
* Package budget amount, denominated in package.currency when present, otherwise media_buy.currency
|
|
4284
|
-
*/
|
|
4285
|
-
budget?: number;
|
|
4286
|
-
/**
|
|
4287
|
-
* ISO 4217 currency code for monetary values at this package level (budget, bid_price, snapshot.spend). When absent, inherit media_buy.currency.
|
|
4288
|
-
*/
|
|
4289
|
-
currency?: string;
|
|
4290
|
-
/**
|
|
4291
|
-
* Current bid price for auction-based packages. Denominated in package.currency when present, otherwise media_buy.currency. Relevant for automated price optimization loops.
|
|
4292
|
-
*/
|
|
4293
|
-
bid_price?: number;
|
|
4294
|
-
/**
|
|
4295
|
-
* Goal impression count for impression-based packages
|
|
4296
|
-
*/
|
|
4297
|
-
impressions?: number;
|
|
4298
|
-
/**
|
|
4299
|
-
* ISO 8601 flight start time for this package. Use to determine whether the package is within its scheduled flight before interpreting delivery status.
|
|
4300
|
-
*/
|
|
4301
|
-
start_time?: string;
|
|
4302
|
-
/**
|
|
4303
|
-
* ISO 8601 flight end time for this package
|
|
4304
|
-
*/
|
|
4305
|
-
end_time?: string;
|
|
4306
|
-
/**
|
|
4307
|
-
* Whether this package is currently paused by the buyer
|
|
4308
|
-
*/
|
|
4309
|
-
paused?: boolean;
|
|
4310
|
-
/**
|
|
4311
|
-
* Approval status for each creative assigned to this package. Absent when no creatives have been assigned.
|
|
4312
|
-
*/
|
|
4313
|
-
creative_approvals?: {
|
|
4314
|
-
/**
|
|
4315
|
-
* Creative identifier
|
|
4316
|
-
*/
|
|
4317
|
-
creative_id: string;
|
|
4318
|
-
approval_status?: CreativeApprovalStatus;
|
|
4319
|
-
/**
|
|
4320
|
-
* Human-readable explanation of why the creative was rejected. Present only when approval_status is 'rejected'.
|
|
4321
|
-
*/
|
|
4322
|
-
rejection_reason?: string;
|
|
4323
|
-
}[];
|
|
4324
|
-
/**
|
|
4325
|
-
* Format IDs from the original create_media_buy format_ids_to_provide that have not yet been uploaded via sync_creatives. When empty or absent, all required formats have been provided.
|
|
4326
|
-
*/
|
|
4327
|
-
format_ids_pending?: FormatID[];
|
|
4328
|
-
/**
|
|
4329
|
-
* Machine-readable reason the snapshot is omitted. Present only when include_snapshot was true and snapshot is unavailable for this package.
|
|
4330
|
-
*/
|
|
4331
|
-
snapshot_unavailable_reason?: 'SNAPSHOT_UNSUPPORTED' | 'SNAPSHOT_TEMPORARILY_UNAVAILABLE' | 'SNAPSHOT_PERMISSION_DENIED';
|
|
4332
|
-
/**
|
|
4333
|
-
* Near-real-time delivery snapshot for this package. Only present when include_snapshot was true in the request. Represents the latest available entity-level stats from the platform — not billing-grade data.
|
|
4334
|
-
*/
|
|
4335
|
-
snapshot?: {
|
|
4336
|
-
/**
|
|
4337
|
-
* ISO 8601 timestamp when this snapshot was captured by the platform
|
|
4338
|
-
*/
|
|
4339
|
-
as_of: string;
|
|
4340
|
-
/**
|
|
4341
|
-
* Maximum age of this data in seconds. For example, 900 means the data may be up to 15 minutes old. Use this to interpret zero delivery: a value of 900 means zero impressions is likely real; a value of 14400 means reporting may still be catching up.
|
|
4342
|
-
*/
|
|
4343
|
-
staleness_seconds: number;
|
|
4344
|
-
/**
|
|
4345
|
-
* Total impressions delivered since package start
|
|
4346
|
-
*/
|
|
4347
|
-
impressions: number;
|
|
4348
|
-
/**
|
|
4349
|
-
* Total spend since package start, denominated in snapshot.currency when present, otherwise package.currency or media_buy.currency
|
|
4350
|
-
*/
|
|
4351
|
-
spend: number;
|
|
4352
|
-
/**
|
|
4353
|
-
* ISO 4217 currency code for spend in this snapshot. Optional when unchanged from package.currency or media_buy.currency.
|
|
4354
|
-
*/
|
|
4355
|
-
currency?: string;
|
|
4356
|
-
/**
|
|
4357
|
-
* Total clicks since package start (when available)
|
|
4358
|
-
*/
|
|
4359
|
-
clicks?: number;
|
|
4360
|
-
/**
|
|
4361
|
-
* Current delivery pace relative to expected (1.0 = on track, <1.0 = behind, >1.0 = ahead). Absent when pacing cannot be determined.
|
|
4362
|
-
*/
|
|
4363
|
-
pacing_index?: number;
|
|
4364
|
-
/**
|
|
4365
|
-
* Operational delivery state of this package. 'not_delivering' means the package is within its scheduled flight but has delivered zero impressions for at least one full staleness cycle — the signal for automated price adjustments or buyer alerts. Implementers must not return 'not_delivering' until at least staleness_seconds have elapsed since package activation.
|
|
4366
|
-
*/
|
|
4367
|
-
delivery_status?: 'delivering' | 'not_delivering' | 'completed' | 'budget_exhausted' | 'flight_ended' | 'goal_met';
|
|
4368
|
-
ext?: ExtensionObject;
|
|
4369
|
-
};
|
|
4370
|
-
ext?: ExtensionObject;
|
|
4371
|
-
}[];
|
|
4340
|
+
packages: PackageStatus[];
|
|
4372
4341
|
ext?: ExtensionObject;
|
|
4373
4342
|
}[];
|
|
4374
4343
|
/**
|
|
@@ -4383,6 +4352,112 @@ export interface GetMediaBuysResponse {
|
|
|
4383
4352
|
context?: ContextObject;
|
|
4384
4353
|
ext?: ExtensionObject;
|
|
4385
4354
|
}
|
|
4355
|
+
/**
|
|
4356
|
+
* Current status of a package within a media buy — includes creative approval state and optional delivery snapshot. For the creation input shape, see PackageRequest. For the creation output shape, see Package.
|
|
4357
|
+
*/
|
|
4358
|
+
export interface PackageStatus {
|
|
4359
|
+
/**
|
|
4360
|
+
* Publisher's package identifier
|
|
4361
|
+
*/
|
|
4362
|
+
package_id: string;
|
|
4363
|
+
/**
|
|
4364
|
+
* Buyer's reference identifier for this package
|
|
4365
|
+
*/
|
|
4366
|
+
buyer_ref?: string;
|
|
4367
|
+
/**
|
|
4368
|
+
* Product identifier this package is purchased from
|
|
4369
|
+
*/
|
|
4370
|
+
product_id?: string;
|
|
4371
|
+
/**
|
|
4372
|
+
* Package budget amount, denominated in package.currency when present, otherwise media_buy.currency
|
|
4373
|
+
*/
|
|
4374
|
+
budget?: number;
|
|
4375
|
+
/**
|
|
4376
|
+
* ISO 4217 currency code for monetary values at this package level (budget, bid_price, snapshot.spend). When absent, inherit media_buy.currency.
|
|
4377
|
+
*/
|
|
4378
|
+
currency?: string;
|
|
4379
|
+
/**
|
|
4380
|
+
* Current bid price for auction-based packages. Denominated in package.currency when present, otherwise media_buy.currency. Relevant for automated price optimization loops.
|
|
4381
|
+
*/
|
|
4382
|
+
bid_price?: number;
|
|
4383
|
+
/**
|
|
4384
|
+
* Goal impression count for impression-based packages
|
|
4385
|
+
*/
|
|
4386
|
+
impressions?: number;
|
|
4387
|
+
/**
|
|
4388
|
+
* ISO 8601 flight start time for this package. Use to determine whether the package is within its scheduled flight before interpreting delivery status.
|
|
4389
|
+
*/
|
|
4390
|
+
start_time?: string;
|
|
4391
|
+
/**
|
|
4392
|
+
* ISO 8601 flight end time for this package
|
|
4393
|
+
*/
|
|
4394
|
+
end_time?: string;
|
|
4395
|
+
/**
|
|
4396
|
+
* Whether this package is currently paused by the buyer
|
|
4397
|
+
*/
|
|
4398
|
+
paused?: boolean;
|
|
4399
|
+
/**
|
|
4400
|
+
* Approval status for each creative assigned to this package. Absent when no creatives have been assigned.
|
|
4401
|
+
*/
|
|
4402
|
+
creative_approvals?: {
|
|
4403
|
+
/**
|
|
4404
|
+
* Creative identifier
|
|
4405
|
+
*/
|
|
4406
|
+
creative_id: string;
|
|
4407
|
+
approval_status?: CreativeApprovalStatus;
|
|
4408
|
+
/**
|
|
4409
|
+
* Human-readable explanation of why the creative was rejected. Present only when approval_status is 'rejected'.
|
|
4410
|
+
*/
|
|
4411
|
+
rejection_reason?: string;
|
|
4412
|
+
}[];
|
|
4413
|
+
/**
|
|
4414
|
+
* Format IDs from the original create_media_buy format_ids_to_provide that have not yet been uploaded via sync_creatives. When empty or absent, all required formats have been provided.
|
|
4415
|
+
*/
|
|
4416
|
+
format_ids_pending?: FormatID[];
|
|
4417
|
+
/**
|
|
4418
|
+
* Machine-readable reason the snapshot is omitted. Present only when include_snapshot was true and snapshot is unavailable for this package.
|
|
4419
|
+
*/
|
|
4420
|
+
snapshot_unavailable_reason?: 'SNAPSHOT_UNSUPPORTED' | 'SNAPSHOT_TEMPORARILY_UNAVAILABLE' | 'SNAPSHOT_PERMISSION_DENIED';
|
|
4421
|
+
/**
|
|
4422
|
+
* Near-real-time delivery snapshot for this package. Only present when include_snapshot was true in the request. Represents the latest available entity-level stats from the platform — not billing-grade data.
|
|
4423
|
+
*/
|
|
4424
|
+
snapshot?: {
|
|
4425
|
+
/**
|
|
4426
|
+
* ISO 8601 timestamp when this snapshot was captured by the platform
|
|
4427
|
+
*/
|
|
4428
|
+
as_of: string;
|
|
4429
|
+
/**
|
|
4430
|
+
* Maximum age of this data in seconds. For example, 900 means the data may be up to 15 minutes old. Use this to interpret zero delivery: a value of 900 means zero impressions is likely real; a value of 14400 means reporting may still be catching up.
|
|
4431
|
+
*/
|
|
4432
|
+
staleness_seconds: number;
|
|
4433
|
+
/**
|
|
4434
|
+
* Total impressions delivered since package start
|
|
4435
|
+
*/
|
|
4436
|
+
impressions: number;
|
|
4437
|
+
/**
|
|
4438
|
+
* Total spend since package start, denominated in snapshot.currency when present, otherwise package.currency or media_buy.currency
|
|
4439
|
+
*/
|
|
4440
|
+
spend: number;
|
|
4441
|
+
/**
|
|
4442
|
+
* ISO 4217 currency code for spend in this snapshot. Optional when unchanged from package.currency or media_buy.currency.
|
|
4443
|
+
*/
|
|
4444
|
+
currency?: string;
|
|
4445
|
+
/**
|
|
4446
|
+
* Total clicks since package start (when available)
|
|
4447
|
+
*/
|
|
4448
|
+
clicks?: number;
|
|
4449
|
+
/**
|
|
4450
|
+
* Current delivery pace relative to expected (1.0 = on track, <1.0 = behind, >1.0 = ahead). Absent when pacing cannot be determined.
|
|
4451
|
+
*/
|
|
4452
|
+
pacing_index?: number;
|
|
4453
|
+
/**
|
|
4454
|
+
* Operational delivery state of this package. 'not_delivering' means the package is within its scheduled flight but has delivered zero impressions for at least one full staleness cycle — the signal for automated price adjustments or buyer alerts. Implementers must not return 'not_delivering' until at least staleness_seconds have elapsed since package activation.
|
|
4455
|
+
*/
|
|
4456
|
+
delivery_status?: 'delivering' | 'not_delivering' | 'completed' | 'budget_exhausted' | 'flight_ended' | 'goal_met';
|
|
4457
|
+
ext?: ExtensionObject;
|
|
4458
|
+
};
|
|
4459
|
+
ext?: ExtensionObject;
|
|
4460
|
+
}
|
|
4386
4461
|
/**
|
|
4387
4462
|
* Attribution model to use. When omitted, the seller applies their default model.
|
|
4388
4463
|
*/
|
|
@@ -8599,11 +8674,7 @@ export interface GetAdCPCapabilitiesResponse {
|
|
|
8599
8674
|
*/
|
|
8600
8675
|
account?: {
|
|
8601
8676
|
/**
|
|
8602
|
-
*
|
|
8603
|
-
*/
|
|
8604
|
-
account_resolution?: 'explicit_account_id' | 'implicit_from_sync';
|
|
8605
|
-
/**
|
|
8606
|
-
* Whether the seller requires operator-level credentials. When false (default), the seller trusts the agent's identity claims — the agent authenticates once and declares brands/operators via sync_accounts. When true, each operator must authenticate independently with the seller, and the agent opens a per-operator session using the operator's credential.
|
|
8677
|
+
* Whether the seller requires operator-level credentials. When true (explicit accounts), operators authenticate independently with the seller and the buyer discovers accounts via list_accounts. When false (default, implicit accounts), the seller trusts the agent's identity claims — the agent authenticates once and declares brands/operators via sync_accounts.
|
|
8607
8678
|
*/
|
|
8608
8679
|
require_operator_auth?: boolean;
|
|
8609
8680
|
/**
|
|
@@ -8622,6 +8693,10 @@ export interface GetAdCPCapabilitiesResponse {
|
|
|
8622
8693
|
* Whether this seller supports the get_account_financials task for querying account-level financial status (spend, credit, invoices). Only applicable to operator-billed accounts.
|
|
8623
8694
|
*/
|
|
8624
8695
|
account_financials?: boolean;
|
|
8696
|
+
/**
|
|
8697
|
+
* Whether this seller supports sandbox accounts for testing. Buyers can provision a sandbox account via sync_accounts with sandbox: true, and all requests using that account_id will be treated as sandbox — no real platform calls or spend.
|
|
8698
|
+
*/
|
|
8699
|
+
sandbox?: boolean;
|
|
8625
8700
|
};
|
|
8626
8701
|
/**
|
|
8627
8702
|
* Media-buy protocol capabilities. Only present if media_buy is in supported_protocols.
|