@adcp/client 3.11.2 → 3.12.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/adapters/property-list-adapter.d.ts.map +1 -1
- package/dist/lib/adapters/property-list-adapter.js +10 -5
- package/dist/lib/adapters/property-list-adapter.js.map +1 -1
- package/dist/lib/agents/index.generated.d.ts +33 -1
- package/dist/lib/agents/index.generated.d.ts.map +1 -1
- package/dist/lib/agents/index.generated.js +48 -0
- package/dist/lib/agents/index.generated.js.map +1 -1
- package/dist/lib/index.d.ts +4 -2
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +14 -3
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/testing/scenarios/creative.js +11 -1
- package/dist/lib/testing/scenarios/creative.js.map +1 -1
- package/dist/lib/testing/types.d.ts +12 -0
- package/dist/lib/testing/types.d.ts.map +1 -1
- package/dist/lib/types/adcp.d.ts +1 -0
- package/dist/lib/types/adcp.d.ts.map +1 -1
- package/dist/lib/types/core.generated.d.ts +478 -42
- 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 +3031 -1004
- package/dist/lib/types/schemas.generated.d.ts.map +1 -1
- package/dist/lib/types/schemas.generated.js +623 -138
- package/dist/lib/types/schemas.generated.js.map +1 -1
- package/dist/lib/types/tools.generated.d.ts +1940 -305
- package/dist/lib/types/tools.generated.d.ts.map +1 -1
- package/dist/lib/types/tools.generated.js +0 -3
- package/dist/lib/types/tools.generated.js.map +1 -1
- package/dist/lib/utils/capabilities.d.ts +4 -0
- package/dist/lib/utils/capabilities.d.ts.map +1 -1
- package/dist/lib/utils/capabilities.js +6 -1
- package/dist/lib/utils/capabilities.js.map +1 -1
- package/dist/lib/utils/index.d.ts +2 -1
- package/dist/lib/utils/index.d.ts.map +1 -1
- package/dist/lib/utils/index.js +6 -1
- package/dist/lib/utils/index.js.map +1 -1
- package/dist/lib/utils/pagination.d.ts +31 -0
- package/dist/lib/utils/pagination.d.ts.map +1 -0
- package/dist/lib/utils/pagination.js +51 -0
- package/dist/lib/utils/pagination.js.map +1 -0
- package/dist/lib/utils/pricing-adapter.d.ts +4 -0
- package/dist/lib/utils/pricing-adapter.d.ts.map +1 -1
- package/dist/lib/utils/pricing-adapter.js +7 -0
- package/dist/lib/utils/pricing-adapter.js.map +1 -1
- package/dist/lib/version.d.ts +3 -3
- package/dist/lib/version.d.ts.map +1 -1
- package/dist/lib/version.js +3 -3
- package/dist/lib/version.js.map +1 -1
- package/package.json +1 -1
|
@@ -10,10 +10,18 @@ export type Pacing = 'even' | 'asap' | 'front_loaded';
|
|
|
10
10
|
* Metro area classification system (e.g., 'nielsen_dma', 'uk_itl2')
|
|
11
11
|
*/
|
|
12
12
|
export type MetroAreaSystem = 'nielsen_dma' | 'uk_itl1' | 'uk_itl2' | 'eurostat_nuts2' | 'custom';
|
|
13
|
+
/**
|
|
14
|
+
* Metro area classification system (e.g., 'nielsen_dma', 'uk_itl2')
|
|
15
|
+
*/
|
|
16
|
+
export type MetroAreaSystem1 = 'nielsen_dma' | 'uk_itl1' | 'uk_itl2' | 'eurostat_nuts2' | 'custom';
|
|
13
17
|
/**
|
|
14
18
|
* Postal code system (e.g., 'us_zip', 'gb_outward'). System name encodes country and precision.
|
|
15
19
|
*/
|
|
16
20
|
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
|
+
/**
|
|
22
|
+
* Postal code system (e.g., 'us_zip', 'gb_outward'). System name encodes country and precision.
|
|
23
|
+
*/
|
|
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';
|
|
17
25
|
/**
|
|
18
26
|
* Methods for verifying user age for compliance. Does not include 'inferred' as it is not accepted for regulatory compliance.
|
|
19
27
|
*/
|
|
@@ -22,6 +30,10 @@ export type AgeVerificationMethod = 'facial_age_estimation' | 'id_document' | 'd
|
|
|
22
30
|
* Operating system platforms for device targeting. Browser values from Sec-CH-UA-Platform standard, extended for CTV.
|
|
23
31
|
*/
|
|
24
32
|
export type DevicePlatform = 'ios' | 'android' | 'windows' | 'macos' | 'linux' | 'chromeos' | 'tvos' | 'tizen' | 'webos' | 'fire_os' | 'roku_os' | 'unknown';
|
|
33
|
+
/**
|
|
34
|
+
* Event type to optimize for (e.g. purchase, lead)
|
|
35
|
+
*/
|
|
36
|
+
export type EventType = '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';
|
|
25
37
|
/**
|
|
26
38
|
* Represents a purchased advertising campaign
|
|
27
39
|
*/
|
|
@@ -83,9 +95,25 @@ export interface Account {
|
|
|
83
95
|
*/
|
|
84
96
|
billing_proxy?: string;
|
|
85
97
|
/**
|
|
86
|
-
* Account status
|
|
98
|
+
* Account status. pending_approval: seller reviewing (credit, contracts). payment_required: credit limit reached or funds depleted. suspended: was active, now paused. closed: terminated.
|
|
87
99
|
*/
|
|
88
|
-
status: 'active' | 'suspended' | 'closed';
|
|
100
|
+
status: 'active' | 'pending_approval' | 'payment_required' | 'suspended' | 'closed';
|
|
101
|
+
/**
|
|
102
|
+
* House domain where brand.json is hosted. Canonical identity anchor for the brand.
|
|
103
|
+
*/
|
|
104
|
+
house?: string;
|
|
105
|
+
/**
|
|
106
|
+
* Brand ID within the house portfolio (from brand.json)
|
|
107
|
+
*/
|
|
108
|
+
brand_id?: string;
|
|
109
|
+
/**
|
|
110
|
+
* Domain of the entity operating this account
|
|
111
|
+
*/
|
|
112
|
+
operator?: string;
|
|
113
|
+
/**
|
|
114
|
+
* Who is invoiced on this account. brand: seller invoices the brand directly. operator: seller invoices the operator (agency). agent: agent consolidates billing.
|
|
115
|
+
*/
|
|
116
|
+
billing?: 'brand' | 'operator' | 'agent';
|
|
89
117
|
/**
|
|
90
118
|
* Identifier for the rate card applied to this account
|
|
91
119
|
*/
|
|
@@ -102,6 +130,7 @@ export interface Account {
|
|
|
102
130
|
currency: string;
|
|
103
131
|
};
|
|
104
132
|
ext?: ExtensionObject;
|
|
133
|
+
[k: string]: unknown | undefined;
|
|
105
134
|
}
|
|
106
135
|
/**
|
|
107
136
|
* 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.
|
|
@@ -151,6 +180,7 @@ export interface Package {
|
|
|
151
180
|
* Format IDs that creative assets will be provided for this package
|
|
152
181
|
*/
|
|
153
182
|
format_ids_to_provide?: FormatID[];
|
|
183
|
+
optimization_goal?: OptimizationGoal;
|
|
154
184
|
/**
|
|
155
185
|
* Whether this package is paused by the buyer. Paused packages do not deliver impressions. Defaults to false.
|
|
156
186
|
*/
|
|
@@ -164,36 +194,128 @@ export interface Package {
|
|
|
164
194
|
export interface TargetingOverlay {
|
|
165
195
|
/**
|
|
166
196
|
* Restrict delivery to specific countries. ISO 3166-1 alpha-2 codes (e.g., 'US', 'GB', 'DE').
|
|
197
|
+
*
|
|
198
|
+
* @minItems 1
|
|
199
|
+
*/
|
|
200
|
+
geo_countries?: [string, ...string[]];
|
|
201
|
+
/**
|
|
202
|
+
* Exclude specific countries from delivery. ISO 3166-1 alpha-2 codes (e.g., 'US', 'GB', 'DE').
|
|
203
|
+
*
|
|
204
|
+
* @minItems 1
|
|
167
205
|
*/
|
|
168
|
-
|
|
206
|
+
geo_countries_exclude?: [string, ...string[]];
|
|
169
207
|
/**
|
|
170
208
|
* Restrict delivery to specific regions/states. ISO 3166-2 subdivision codes (e.g., 'US-CA', 'GB-SCT').
|
|
209
|
+
*
|
|
210
|
+
* @minItems 1
|
|
171
211
|
*/
|
|
172
|
-
geo_regions?: string[];
|
|
212
|
+
geo_regions?: [string, ...string[]];
|
|
213
|
+
/**
|
|
214
|
+
* Exclude specific regions/states from delivery. ISO 3166-2 subdivision codes (e.g., 'US-CA', 'GB-SCT').
|
|
215
|
+
*
|
|
216
|
+
* @minItems 1
|
|
217
|
+
*/
|
|
218
|
+
geo_regions_exclude?: [string, ...string[]];
|
|
173
219
|
/**
|
|
174
220
|
* Restrict delivery to specific metro areas. Each entry specifies the classification system and target values. Seller must declare supported systems in get_adcp_capabilities.
|
|
221
|
+
*
|
|
222
|
+
* @minItems 1
|
|
175
223
|
*/
|
|
176
|
-
geo_metros?:
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
224
|
+
geo_metros?: [
|
|
225
|
+
{
|
|
226
|
+
system: MetroAreaSystem;
|
|
227
|
+
/**
|
|
228
|
+
* Metro codes within the system (e.g., ['501', '602'] for Nielsen DMAs)
|
|
229
|
+
*
|
|
230
|
+
* @minItems 1
|
|
231
|
+
*/
|
|
232
|
+
values: [string, ...string[]];
|
|
233
|
+
},
|
|
234
|
+
...{
|
|
235
|
+
system: MetroAreaSystem;
|
|
236
|
+
/**
|
|
237
|
+
* Metro codes within the system (e.g., ['501', '602'] for Nielsen DMAs)
|
|
238
|
+
*
|
|
239
|
+
* @minItems 1
|
|
240
|
+
*/
|
|
241
|
+
values: [string, ...string[]];
|
|
242
|
+
}[]
|
|
243
|
+
];
|
|
244
|
+
/**
|
|
245
|
+
* Exclude specific metro areas from delivery. Each entry specifies the classification system and excluded values. Seller must declare supported systems in get_adcp_capabilities.
|
|
246
|
+
*
|
|
247
|
+
* @minItems 1
|
|
248
|
+
*/
|
|
249
|
+
geo_metros_exclude?: [
|
|
250
|
+
{
|
|
251
|
+
system: MetroAreaSystem1;
|
|
252
|
+
/**
|
|
253
|
+
* Metro codes to exclude within the system (e.g., ['501', '602'] for Nielsen DMAs)
|
|
254
|
+
*
|
|
255
|
+
* @minItems 1
|
|
256
|
+
*/
|
|
257
|
+
values: [string, ...string[]];
|
|
258
|
+
},
|
|
259
|
+
...{
|
|
260
|
+
system: MetroAreaSystem1;
|
|
261
|
+
/**
|
|
262
|
+
* Metro codes to exclude within the system (e.g., ['501', '602'] for Nielsen DMAs)
|
|
263
|
+
*
|
|
264
|
+
* @minItems 1
|
|
265
|
+
*/
|
|
266
|
+
values: [string, ...string[]];
|
|
267
|
+
}[]
|
|
268
|
+
];
|
|
185
269
|
/**
|
|
186
270
|
* Restrict delivery to specific postal areas. Each entry specifies the postal system and target values. Seller must declare supported systems in get_adcp_capabilities.
|
|
271
|
+
*
|
|
272
|
+
* @minItems 1
|
|
187
273
|
*/
|
|
188
|
-
geo_postal_areas?:
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
274
|
+
geo_postal_areas?: [
|
|
275
|
+
{
|
|
276
|
+
system: PostalCodeSystem;
|
|
277
|
+
/**
|
|
278
|
+
* Postal codes within the system (e.g., ['10001', '10002'] for us_zip)
|
|
279
|
+
*
|
|
280
|
+
* @minItems 1
|
|
281
|
+
*/
|
|
282
|
+
values: [string, ...string[]];
|
|
283
|
+
},
|
|
284
|
+
...{
|
|
285
|
+
system: PostalCodeSystem;
|
|
286
|
+
/**
|
|
287
|
+
* Postal codes within the system (e.g., ['10001', '10002'] for us_zip)
|
|
288
|
+
*
|
|
289
|
+
* @minItems 1
|
|
290
|
+
*/
|
|
291
|
+
values: [string, ...string[]];
|
|
292
|
+
}[]
|
|
293
|
+
];
|
|
294
|
+
/**
|
|
295
|
+
* Exclude specific postal areas from delivery. Each entry specifies the postal system and excluded values. Seller must declare supported systems in get_adcp_capabilities.
|
|
296
|
+
*
|
|
297
|
+
* @minItems 1
|
|
298
|
+
*/
|
|
299
|
+
geo_postal_areas_exclude?: [
|
|
300
|
+
{
|
|
301
|
+
system: PostalCodeSystem1;
|
|
302
|
+
/**
|
|
303
|
+
* Postal codes to exclude within the system (e.g., ['10001', '10002'] for us_zip)
|
|
304
|
+
*
|
|
305
|
+
* @minItems 1
|
|
306
|
+
*/
|
|
307
|
+
values: [string, ...string[]];
|
|
308
|
+
},
|
|
309
|
+
...{
|
|
310
|
+
system: PostalCodeSystem1;
|
|
311
|
+
/**
|
|
312
|
+
* Postal codes to exclude within the system (e.g., ['10001', '10002'] for us_zip)
|
|
313
|
+
*
|
|
314
|
+
* @minItems 1
|
|
315
|
+
*/
|
|
316
|
+
values: [string, ...string[]];
|
|
317
|
+
}[]
|
|
318
|
+
];
|
|
197
319
|
/**
|
|
198
320
|
* AXE segment ID to include for targeting
|
|
199
321
|
*/
|
|
@@ -218,8 +340,10 @@ export interface TargetingOverlay {
|
|
|
218
340
|
verification_required?: boolean;
|
|
219
341
|
/**
|
|
220
342
|
* Accepted verification methods. If omitted, any method the platform supports is acceptable.
|
|
343
|
+
*
|
|
344
|
+
* @minItems 1
|
|
221
345
|
*/
|
|
222
|
-
accepted_methods?: AgeVerificationMethod[];
|
|
346
|
+
accepted_methods?: [AgeVerificationMethod, ...AgeVerificationMethod[]];
|
|
223
347
|
};
|
|
224
348
|
/**
|
|
225
349
|
* Restrict to specific platforms. Use for technical compatibility (app only works on iOS). Values from Sec-CH-UA-Platform standard, extended for CTV.
|
|
@@ -308,6 +432,39 @@ export interface FormatID {
|
|
|
308
432
|
duration_ms?: number;
|
|
309
433
|
[k: string]: unknown | undefined;
|
|
310
434
|
}
|
|
435
|
+
/**
|
|
436
|
+
* Conversion optimization goal for a package. Tells the seller which event source and event type to optimize delivery against. Provide at most one of target_roas or target_cpa. If neither is provided, the seller optimizes for maximum conversions within budget.
|
|
437
|
+
*/
|
|
438
|
+
export interface OptimizationGoal {
|
|
439
|
+
/**
|
|
440
|
+
* Event source to optimize against (must be configured on this account via sync_event_sources)
|
|
441
|
+
*/
|
|
442
|
+
event_source_id: string;
|
|
443
|
+
event_type: EventType;
|
|
444
|
+
/**
|
|
445
|
+
* Target return on ad spend (e.g. 4.0 = $4 conversion value per $1 spent). Mutually exclusive with target_cpa.
|
|
446
|
+
*/
|
|
447
|
+
target_roas?: number;
|
|
448
|
+
/**
|
|
449
|
+
* Target cost per acquisition in the buy currency. Mutually exclusive with target_roas.
|
|
450
|
+
*/
|
|
451
|
+
target_cpa?: number;
|
|
452
|
+
/**
|
|
453
|
+
* Attribution window for this optimization goal. Values must match an option declared in the seller's conversion_tracking.attribution_windows capability. When omitted, the seller uses their default window.
|
|
454
|
+
*/
|
|
455
|
+
attribution_window?: {
|
|
456
|
+
/**
|
|
457
|
+
* Click-through attribution window (e.g. '7d', '28d', '30d')
|
|
458
|
+
*/
|
|
459
|
+
click_through: string;
|
|
460
|
+
/**
|
|
461
|
+
* View-through attribution window (e.g. '1d', '7d')
|
|
462
|
+
*/
|
|
463
|
+
view_through?: string;
|
|
464
|
+
[k: string]: unknown | undefined;
|
|
465
|
+
};
|
|
466
|
+
[k: string]: unknown | undefined;
|
|
467
|
+
}
|
|
311
468
|
/**
|
|
312
469
|
* JavaScript module type
|
|
313
470
|
*/
|
|
@@ -337,6 +494,14 @@ export type VASTAsset = {
|
|
|
337
494
|
* Tracking events supported by this VAST tag
|
|
338
495
|
*/
|
|
339
496
|
tracking_events?: VASTTrackingEvent[];
|
|
497
|
+
/**
|
|
498
|
+
* URL to captions file (WebVTT, SRT, etc.)
|
|
499
|
+
*/
|
|
500
|
+
captions_url?: string;
|
|
501
|
+
/**
|
|
502
|
+
* URL to audio description track for visually impaired users
|
|
503
|
+
*/
|
|
504
|
+
audio_description_url?: string;
|
|
340
505
|
[k: string]: unknown | undefined;
|
|
341
506
|
} | {
|
|
342
507
|
/**
|
|
@@ -360,6 +525,14 @@ export type VASTAsset = {
|
|
|
360
525
|
* Tracking events supported by this VAST tag
|
|
361
526
|
*/
|
|
362
527
|
tracking_events?: VASTTrackingEvent[];
|
|
528
|
+
/**
|
|
529
|
+
* URL to captions file (WebVTT, SRT, etc.)
|
|
530
|
+
*/
|
|
531
|
+
captions_url?: string;
|
|
532
|
+
/**
|
|
533
|
+
* URL to audio description track for visually impaired users
|
|
534
|
+
*/
|
|
535
|
+
audio_description_url?: string;
|
|
363
536
|
[k: string]: unknown | undefined;
|
|
364
537
|
};
|
|
365
538
|
/**
|
|
@@ -399,6 +572,10 @@ export type DAASTAsset = {
|
|
|
399
572
|
* Whether companion display ads are included
|
|
400
573
|
*/
|
|
401
574
|
companion_ads?: boolean;
|
|
575
|
+
/**
|
|
576
|
+
* URL to text transcript of the audio content
|
|
577
|
+
*/
|
|
578
|
+
transcript_url?: string;
|
|
402
579
|
[k: string]: unknown | undefined;
|
|
403
580
|
} | {
|
|
404
581
|
/**
|
|
@@ -422,6 +599,10 @@ export type DAASTAsset = {
|
|
|
422
599
|
* Whether companion display ads are included
|
|
423
600
|
*/
|
|
424
601
|
companion_ads?: boolean;
|
|
602
|
+
/**
|
|
603
|
+
* URL to text transcript of the audio content
|
|
604
|
+
*/
|
|
605
|
+
transcript_url?: string;
|
|
425
606
|
[k: string]: unknown | undefined;
|
|
426
607
|
};
|
|
427
608
|
/**
|
|
@@ -642,6 +823,18 @@ export interface VideoAsset {
|
|
|
642
823
|
* True peak level in dBFS
|
|
643
824
|
*/
|
|
644
825
|
audio_true_peak_dbfs?: number;
|
|
826
|
+
/**
|
|
827
|
+
* URL to captions file (WebVTT, SRT, etc.)
|
|
828
|
+
*/
|
|
829
|
+
captions_url?: string;
|
|
830
|
+
/**
|
|
831
|
+
* URL to text transcript of the video content
|
|
832
|
+
*/
|
|
833
|
+
transcript_url?: string;
|
|
834
|
+
/**
|
|
835
|
+
* URL to audio description track for visually impaired users
|
|
836
|
+
*/
|
|
837
|
+
audio_description_url?: string;
|
|
645
838
|
[k: string]: unknown | undefined;
|
|
646
839
|
}
|
|
647
840
|
/**
|
|
@@ -692,6 +885,10 @@ export interface AudioAsset {
|
|
|
692
885
|
* True peak level in dBFS
|
|
693
886
|
*/
|
|
694
887
|
true_peak_dbfs?: number;
|
|
888
|
+
/**
|
|
889
|
+
* URL to text transcript of the audio content
|
|
890
|
+
*/
|
|
891
|
+
transcript_url?: string;
|
|
695
892
|
[k: string]: unknown | undefined;
|
|
696
893
|
}
|
|
697
894
|
/**
|
|
@@ -720,6 +917,27 @@ export interface HTMLAsset {
|
|
|
720
917
|
* HTML version (e.g., 'HTML5')
|
|
721
918
|
*/
|
|
722
919
|
version?: string;
|
|
920
|
+
/**
|
|
921
|
+
* Self-declared accessibility properties for this opaque creative
|
|
922
|
+
*/
|
|
923
|
+
accessibility?: {
|
|
924
|
+
/**
|
|
925
|
+
* Text alternative describing the creative content
|
|
926
|
+
*/
|
|
927
|
+
alt_text?: string;
|
|
928
|
+
/**
|
|
929
|
+
* Whether the creative can be fully operated via keyboard
|
|
930
|
+
*/
|
|
931
|
+
keyboard_navigable?: boolean;
|
|
932
|
+
/**
|
|
933
|
+
* Whether the creative respects prefers-reduced-motion or provides pause/stop controls
|
|
934
|
+
*/
|
|
935
|
+
motion_control?: boolean;
|
|
936
|
+
/**
|
|
937
|
+
* Whether the creative has been tested with screen readers
|
|
938
|
+
*/
|
|
939
|
+
screen_reader_tested?: boolean;
|
|
940
|
+
};
|
|
723
941
|
[k: string]: unknown | undefined;
|
|
724
942
|
}
|
|
725
943
|
/**
|
|
@@ -745,6 +963,27 @@ export interface JavaScriptAsset {
|
|
|
745
963
|
*/
|
|
746
964
|
content: string;
|
|
747
965
|
module_type?: JavaScriptModuleType;
|
|
966
|
+
/**
|
|
967
|
+
* Self-declared accessibility properties for this opaque creative
|
|
968
|
+
*/
|
|
969
|
+
accessibility?: {
|
|
970
|
+
/**
|
|
971
|
+
* Text alternative describing the creative content
|
|
972
|
+
*/
|
|
973
|
+
alt_text?: string;
|
|
974
|
+
/**
|
|
975
|
+
* Whether the creative can be fully operated via keyboard
|
|
976
|
+
*/
|
|
977
|
+
keyboard_navigable?: boolean;
|
|
978
|
+
/**
|
|
979
|
+
* Whether the creative respects prefers-reduced-motion or provides pause/stop controls
|
|
980
|
+
*/
|
|
981
|
+
motion_control?: boolean;
|
|
982
|
+
/**
|
|
983
|
+
* Whether the creative has been tested with screen readers
|
|
984
|
+
*/
|
|
985
|
+
screen_reader_tested?: boolean;
|
|
986
|
+
};
|
|
748
987
|
[k: string]: unknown | undefined;
|
|
749
988
|
}
|
|
750
989
|
/**
|
|
@@ -835,29 +1074,29 @@ export interface BrandManifest {
|
|
|
835
1074
|
height?: number;
|
|
836
1075
|
}[];
|
|
837
1076
|
/**
|
|
838
|
-
* Brand color palette
|
|
1077
|
+
* Brand color palette. Each role accepts a single hex color or an array of hex colors for brands with multiple values per role.
|
|
839
1078
|
*/
|
|
840
1079
|
colors?: {
|
|
841
1080
|
/**
|
|
842
|
-
* Primary brand color
|
|
1081
|
+
* Primary brand color(s)
|
|
843
1082
|
*/
|
|
844
|
-
primary?: string;
|
|
1083
|
+
primary?: string | [string, ...string[]];
|
|
845
1084
|
/**
|
|
846
|
-
* Secondary brand color
|
|
1085
|
+
* Secondary brand color(s)
|
|
847
1086
|
*/
|
|
848
|
-
secondary?: string;
|
|
1087
|
+
secondary?: string | [string, ...string[]];
|
|
849
1088
|
/**
|
|
850
|
-
* Accent color
|
|
1089
|
+
* Accent color(s)
|
|
851
1090
|
*/
|
|
852
|
-
accent?: string;
|
|
1091
|
+
accent?: string | [string, ...string[]];
|
|
853
1092
|
/**
|
|
854
|
-
* Background color
|
|
1093
|
+
* Background color(s)
|
|
855
1094
|
*/
|
|
856
|
-
background?: string;
|
|
1095
|
+
background?: string | [string, ...string[]];
|
|
857
1096
|
/**
|
|
858
|
-
* Text color
|
|
1097
|
+
* Text color(s)
|
|
859
1098
|
*/
|
|
860
|
-
text?: string;
|
|
1099
|
+
text?: string | [string, ...string[]];
|
|
861
1100
|
};
|
|
862
1101
|
/**
|
|
863
1102
|
* Brand typography guidelines
|
|
@@ -879,7 +1118,7 @@ export interface BrandManifest {
|
|
|
879
1118
|
/**
|
|
880
1119
|
* Brand voice and messaging tone guidelines for creative agents.
|
|
881
1120
|
*/
|
|
882
|
-
tone?: {
|
|
1121
|
+
tone?: string | {
|
|
883
1122
|
/**
|
|
884
1123
|
* High-level voice descriptor (e.g., 'warm and inviting', 'professional and trustworthy')
|
|
885
1124
|
*/
|
|
@@ -1096,6 +1335,10 @@ export interface BrandManifest {
|
|
|
1096
1335
|
* Selectors to choose which products/offerings from the brand manifest product catalog to promote
|
|
1097
1336
|
*/
|
|
1098
1337
|
export interface PromotedProducts {
|
|
1338
|
+
/**
|
|
1339
|
+
* GTIN product identifiers for cross-retailer catalog matching. Accepts standard GTIN formats (GTIN-8, UPC-A/GTIN-12, EAN-13/GTIN-13, GTIN-14).
|
|
1340
|
+
*/
|
|
1341
|
+
manifest_gtins?: string[];
|
|
1099
1342
|
/**
|
|
1100
1343
|
* Direct product SKU references from the brand manifest product catalog
|
|
1101
1344
|
*/
|
|
@@ -1240,6 +1483,10 @@ export type PropertyID = string;
|
|
|
1240
1483
|
* Tag for categorizing publisher properties. Must be lowercase alphanumeric with underscores only.
|
|
1241
1484
|
*/
|
|
1242
1485
|
export type PropertyTag = string;
|
|
1486
|
+
/**
|
|
1487
|
+
* Standardized advertising media channels describing how buyers allocate budget. Channels are planning abstractions, not technical substrates. See the Media Channel Taxonomy specification for detailed definitions.
|
|
1488
|
+
*/
|
|
1489
|
+
export type MediaChannel = 'display' | 'olv' | 'social' | 'search' | 'ctv' | 'linear_tv' | 'radio' | 'streaming_audio' | 'podcast' | 'dooh' | 'ooh' | 'print' | 'cinema' | 'email' | 'gaming' | 'retail_media' | 'influencer' | 'affiliate' | 'product_placement';
|
|
1243
1490
|
/**
|
|
1244
1491
|
* Type of inventory delivery
|
|
1245
1492
|
*/
|
|
@@ -1247,15 +1494,15 @@ export type DeliveryType = 'guaranteed' | 'non_guaranteed';
|
|
|
1247
1494
|
/**
|
|
1248
1495
|
* A pricing model option offered by a publisher for a product. Discriminated by pricing_model field. If fixed_price is present, it's fixed pricing. If absent, it's auction-based (floor_price and price_guidance optional).
|
|
1249
1496
|
*/
|
|
1250
|
-
export type PricingOption = CPMPricingOption | VCPMPricingOption | CPCPricingOption | CPCVPricingOption | CPVPricingOption | CPPPricingOption | FlatRatePricingOption;
|
|
1497
|
+
export type PricingOption = CPMPricingOption | VCPMPricingOption | CPCPricingOption | CPCVPricingOption | CPVPricingOption | CPPPricingOption | CPAPricingOption | FlatRatePricingOption | TimeBasedPricingOption;
|
|
1251
1498
|
/**
|
|
1252
|
-
*
|
|
1499
|
+
* Standard marketing event types for event logging, aligned with IAB ECAPI
|
|
1253
1500
|
*/
|
|
1254
1501
|
export type ReportingFrequency = 'hourly' | 'daily' | 'monthly';
|
|
1255
1502
|
/**
|
|
1256
1503
|
* Standard delivery and performance metrics available for reporting
|
|
1257
1504
|
*/
|
|
1258
|
-
export type AvailableMetric = 'impressions' | 'spend' | 'clicks' | 'ctr' | 'video_completions' | 'completion_rate' | 'conversions' | 'viewability' | 'engagement_rate';
|
|
1505
|
+
export type AvailableMetric = 'impressions' | 'spend' | 'clicks' | 'ctr' | 'video_completions' | 'completion_rate' | 'conversions' | 'conversion_value' | 'roas' | 'cost_per_acquisition' | 'new_to_brand_rate' | 'viewability' | 'engagement_rate' | 'views' | 'completed_views' | 'leads' | 'reach' | 'frequency' | 'grps' | 'quartile_data' | 'dooh_metrics' | 'cost_per_click';
|
|
1259
1506
|
/**
|
|
1260
1507
|
* Co-branding requirement
|
|
1261
1508
|
*/
|
|
@@ -1310,6 +1557,10 @@ export type DataProviderSignalSelector = {
|
|
|
1310
1557
|
signal_tags: [string, ...string[]];
|
|
1311
1558
|
[k: string]: unknown | undefined;
|
|
1312
1559
|
};
|
|
1560
|
+
/**
|
|
1561
|
+
* Where the conversion event originated
|
|
1562
|
+
*/
|
|
1563
|
+
export type ActionSource = 'website' | 'app' | 'offline' | 'phone_call' | 'chat' | 'email' | 'in_store' | 'system_generated' | 'other';
|
|
1313
1564
|
/**
|
|
1314
1565
|
* Represents available advertising inventory
|
|
1315
1566
|
*/
|
|
@@ -1330,6 +1581,10 @@ export interface Product {
|
|
|
1330
1581
|
* Publisher properties covered by this product. Buyers fetch actual property definitions from each publisher's adagents.json and validate agent authorization. Selection patterns mirror the authorization patterns in adagents.json for consistency.
|
|
1331
1582
|
*/
|
|
1332
1583
|
publisher_properties: PublisherPropertySelector[];
|
|
1584
|
+
/**
|
|
1585
|
+
* Advertising channels this product is sold as. Products inherit from their properties' supported_channels but may narrow the scope. For example, a product covering YouTube properties might be sold as ['ctv'] even though those properties support ['olv', 'social', 'ctv'].
|
|
1586
|
+
*/
|
|
1587
|
+
channels?: MediaChannel[];
|
|
1333
1588
|
/**
|
|
1334
1589
|
* Array of supported creative format IDs - structured format_id objects with agent_url and id
|
|
1335
1590
|
*/
|
|
@@ -1379,6 +1634,23 @@ export interface Product {
|
|
|
1379
1634
|
* 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.
|
|
1380
1635
|
*/
|
|
1381
1636
|
signal_targeting_allowed?: boolean;
|
|
1637
|
+
/**
|
|
1638
|
+
* 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.
|
|
1639
|
+
*/
|
|
1640
|
+
conversion_tracking?: {
|
|
1641
|
+
/**
|
|
1642
|
+
* Action sources relevant to this product (e.g. a retail media product might have 'in_store' and 'website', while a display product might only have 'website')
|
|
1643
|
+
*/
|
|
1644
|
+
action_sources?: ActionSource[];
|
|
1645
|
+
/**
|
|
1646
|
+
* Optimization strategies this product supports when an optimization_goal is set on a package
|
|
1647
|
+
*/
|
|
1648
|
+
supported_optimization_strategies?: ('maximize_conversions' | 'target_cpa' | 'target_roas')[];
|
|
1649
|
+
/**
|
|
1650
|
+
* Whether the seller provides its own always-on measurement (e.g. Amazon sales attribution for Amazon advertisers). When true, sync_event_sources response will include seller-managed event sources with managed_by='seller'.
|
|
1651
|
+
*/
|
|
1652
|
+
platform_managed?: boolean;
|
|
1653
|
+
};
|
|
1382
1654
|
/**
|
|
1383
1655
|
* Explanation of why this product matches the brief (only included when brief is provided)
|
|
1384
1656
|
*/
|
|
@@ -1778,6 +2050,44 @@ export interface PriceGuidance5 {
|
|
|
1778
2050
|
p90?: number;
|
|
1779
2051
|
[k: string]: unknown | undefined;
|
|
1780
2052
|
}
|
|
2053
|
+
/**
|
|
2054
|
+
* 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).
|
|
2055
|
+
*/
|
|
2056
|
+
export interface CPAPricingOption {
|
|
2057
|
+
/**
|
|
2058
|
+
* Unique identifier for this pricing option within the product
|
|
2059
|
+
*/
|
|
2060
|
+
pricing_option_id: string;
|
|
2061
|
+
/**
|
|
2062
|
+
* Cost per acquisition (conversion event)
|
|
2063
|
+
*/
|
|
2064
|
+
pricing_model: 'cpa';
|
|
2065
|
+
/**
|
|
2066
|
+
* The conversion event type that triggers billing (e.g., purchase, lead, app_install)
|
|
2067
|
+
*/
|
|
2068
|
+
event_type: EventType;
|
|
2069
|
+
/**
|
|
2070
|
+
* Name of the custom event when event_type is 'custom'. Required when event_type is 'custom', ignored otherwise.
|
|
2071
|
+
*/
|
|
2072
|
+
custom_event_name?: string;
|
|
2073
|
+
/**
|
|
2074
|
+
* When present, only events from this specific event source count toward billing. Allows different CPA rates for different sources (e.g., online vs in-store purchases). Must match an event source configured via sync_event_sources.
|
|
2075
|
+
*/
|
|
2076
|
+
event_source_id?: string;
|
|
2077
|
+
/**
|
|
2078
|
+
* ISO 4217 currency code
|
|
2079
|
+
*/
|
|
2080
|
+
currency: string;
|
|
2081
|
+
/**
|
|
2082
|
+
* Fixed price per acquisition in the specified currency
|
|
2083
|
+
*/
|
|
2084
|
+
fixed_price: number;
|
|
2085
|
+
/**
|
|
2086
|
+
* Minimum spend requirement per package using this pricing option, in the specified currency
|
|
2087
|
+
*/
|
|
2088
|
+
min_spend_per_package?: number;
|
|
2089
|
+
[k: string]: unknown | undefined;
|
|
2090
|
+
}
|
|
1781
2091
|
/**
|
|
1782
2092
|
* Flat rate pricing for DOOH, sponsorships, and time-based campaigns. If fixed_price is present, it's fixed pricing. If absent, it's auction-based.
|
|
1783
2093
|
*/
|
|
@@ -1865,6 +2175,77 @@ export interface PriceGuidance6 {
|
|
|
1865
2175
|
p90?: number;
|
|
1866
2176
|
[k: string]: unknown | undefined;
|
|
1867
2177
|
}
|
|
2178
|
+
/**
|
|
2179
|
+
* 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.
|
|
2180
|
+
*/
|
|
2181
|
+
export interface TimeBasedPricingOption {
|
|
2182
|
+
/**
|
|
2183
|
+
* Unique identifier for this pricing option within the product
|
|
2184
|
+
*/
|
|
2185
|
+
pricing_option_id: string;
|
|
2186
|
+
/**
|
|
2187
|
+
* Cost per time unit - rate scales with campaign duration
|
|
2188
|
+
*/
|
|
2189
|
+
pricing_model: 'time';
|
|
2190
|
+
/**
|
|
2191
|
+
* ISO 4217 currency code
|
|
2192
|
+
*/
|
|
2193
|
+
currency: string;
|
|
2194
|
+
/**
|
|
2195
|
+
* Cost per time unit. If present, this is fixed pricing. If absent, auction-based.
|
|
2196
|
+
*/
|
|
2197
|
+
fixed_price?: number;
|
|
2198
|
+
/**
|
|
2199
|
+
* Minimum acceptable bid per time unit for auction pricing (mutually exclusive with fixed_price). Bids below this value will be rejected.
|
|
2200
|
+
*/
|
|
2201
|
+
floor_price?: number;
|
|
2202
|
+
price_guidance?: PriceGuidance7;
|
|
2203
|
+
/**
|
|
2204
|
+
* Time-based pricing parameters
|
|
2205
|
+
*/
|
|
2206
|
+
parameters: {
|
|
2207
|
+
/**
|
|
2208
|
+
* The time unit for pricing. Total cost = fixed_price × number of time_units in the campaign flight.
|
|
2209
|
+
*/
|
|
2210
|
+
time_unit: 'hour' | 'day' | 'week' | 'month';
|
|
2211
|
+
/**
|
|
2212
|
+
* Minimum booking duration in time_units
|
|
2213
|
+
*/
|
|
2214
|
+
min_duration?: number;
|
|
2215
|
+
/**
|
|
2216
|
+
* Maximum booking duration in time_units. Must be >= min_duration when both are present.
|
|
2217
|
+
*/
|
|
2218
|
+
max_duration?: number;
|
|
2219
|
+
[k: string]: unknown | undefined;
|
|
2220
|
+
};
|
|
2221
|
+
/**
|
|
2222
|
+
* Minimum spend requirement per package using this pricing option, in the specified currency
|
|
2223
|
+
*/
|
|
2224
|
+
min_spend_per_package?: number;
|
|
2225
|
+
[k: string]: unknown | undefined;
|
|
2226
|
+
}
|
|
2227
|
+
/**
|
|
2228
|
+
* Optional pricing guidance for auction-based bidding
|
|
2229
|
+
*/
|
|
2230
|
+
export interface PriceGuidance7 {
|
|
2231
|
+
/**
|
|
2232
|
+
* 25th percentile of recent winning bids
|
|
2233
|
+
*/
|
|
2234
|
+
p25?: number;
|
|
2235
|
+
/**
|
|
2236
|
+
* Median of recent winning bids
|
|
2237
|
+
*/
|
|
2238
|
+
p50?: number;
|
|
2239
|
+
/**
|
|
2240
|
+
* 75th percentile of recent winning bids
|
|
2241
|
+
*/
|
|
2242
|
+
p75?: number;
|
|
2243
|
+
/**
|
|
2244
|
+
* 90th percentile of recent winning bids
|
|
2245
|
+
*/
|
|
2246
|
+
p90?: number;
|
|
2247
|
+
[k: string]: unknown | undefined;
|
|
2248
|
+
}
|
|
1868
2249
|
/**
|
|
1869
2250
|
* Measurement capabilities included with a product
|
|
1870
2251
|
*/
|
|
@@ -1910,9 +2291,17 @@ export interface ReportingCapabilities {
|
|
|
1910
2291
|
*/
|
|
1911
2292
|
supports_webhooks: boolean;
|
|
1912
2293
|
/**
|
|
1913
|
-
* Metrics available in reporting. Impressions and spend are always implicitly included.
|
|
2294
|
+
* Metrics available in reporting. Impressions and spend are always implicitly included. When a creative format declares reported_metrics, buyers receive the intersection of these product-level metrics and the format's reported_metrics.
|
|
1914
2295
|
*/
|
|
1915
2296
|
available_metrics: AvailableMetric[];
|
|
2297
|
+
/**
|
|
2298
|
+
* Whether this product supports creative-level metric breakdowns in delivery reporting (by_creative within by_package)
|
|
2299
|
+
*/
|
|
2300
|
+
supports_creative_breakdown?: boolean;
|
|
2301
|
+
/**
|
|
2302
|
+
* Whether delivery data can be filtered to arbitrary date ranges. 'date_range' means the platform supports start_date/end_date parameters. 'lifetime_only' means the platform returns campaign lifetime totals and date range parameters are not accepted.
|
|
2303
|
+
*/
|
|
2304
|
+
date_range_support: 'date_range' | 'lifetime_only';
|
|
1916
2305
|
[k: string]: unknown | undefined;
|
|
1917
2306
|
}
|
|
1918
2307
|
/**
|
|
@@ -2017,6 +2406,10 @@ export interface Property {
|
|
|
2017
2406
|
* Tags for categorization and grouping (e.g., network membership, content categories)
|
|
2018
2407
|
*/
|
|
2019
2408
|
tags?: PropertyTag[];
|
|
2409
|
+
/**
|
|
2410
|
+
* Advertising channels this property supports (e.g., ['display', 'olv', 'social']). Publishers declare which channels their inventory aligns with. Properties may support multiple channels. See the Media Channel Taxonomy for definitions.
|
|
2411
|
+
*/
|
|
2412
|
+
supported_channels?: MediaChannel[];
|
|
2020
2413
|
/**
|
|
2021
2414
|
* Domain where adagents.json should be checked for authorization validation. Optional in adagents.json (file location implies domain).
|
|
2022
2415
|
*/
|
|
@@ -2025,7 +2418,7 @@ export interface Property {
|
|
|
2025
2418
|
/**
|
|
2026
2419
|
* Type of AdCP operation that triggered this webhook. Enables webhook handlers to route to appropriate processing logic.
|
|
2027
2420
|
*/
|
|
2028
|
-
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';
|
|
2421
|
+
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' | 'log_event';
|
|
2029
2422
|
/**
|
|
2030
2423
|
* AdCP domain this task belongs to. Helps classify the operation type at a high level.
|
|
2031
2424
|
*/
|
|
@@ -2045,6 +2438,10 @@ export type CreateMediaBuyResponse = CreateMediaBuySuccess | CreateMediaBuyError
|
|
|
2045
2438
|
/**
|
|
2046
2439
|
* Budget pacing strategy
|
|
2047
2440
|
*/
|
|
2441
|
+
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';
|
|
2442
|
+
/**
|
|
2443
|
+
* Response for completed or failed update_media_buy
|
|
2444
|
+
*/
|
|
2048
2445
|
export type UpdateMediaBuyResponse = UpdateMediaBuySuccess | UpdateMediaBuyError;
|
|
2049
2446
|
/**
|
|
2050
2447
|
* Response for completed or failed sync_creatives
|
|
@@ -2103,6 +2500,11 @@ export interface GetProductsResponse {
|
|
|
2103
2500
|
* [AdCP 3.0] Indicates whether property_list filtering was applied. True if the agent filtered products based on the provided property_list. Absent or false if property_list was not provided or not supported by this agent.
|
|
2104
2501
|
*/
|
|
2105
2502
|
property_list_applied?: boolean;
|
|
2503
|
+
/**
|
|
2504
|
+
* Indicates whether product_selectors filtering was applied. True if the seller filtered results based on the provided product_selectors. Absent or false if product_selectors was not provided or not supported by this agent.
|
|
2505
|
+
*/
|
|
2506
|
+
product_selectors_applied?: boolean;
|
|
2507
|
+
pagination?: PaginationResponse;
|
|
2106
2508
|
context?: ContextObject;
|
|
2107
2509
|
ext?: ExtensionObject;
|
|
2108
2510
|
[k: string]: unknown | undefined;
|
|
@@ -2225,6 +2627,23 @@ export interface Error {
|
|
|
2225
2627
|
};
|
|
2226
2628
|
[k: string]: unknown | undefined;
|
|
2227
2629
|
}
|
|
2630
|
+
/**
|
|
2631
|
+
* Standard cursor-based pagination metadata for list responses
|
|
2632
|
+
*/
|
|
2633
|
+
export interface PaginationResponse {
|
|
2634
|
+
/**
|
|
2635
|
+
* Whether more results are available beyond this page
|
|
2636
|
+
*/
|
|
2637
|
+
has_more: boolean;
|
|
2638
|
+
/**
|
|
2639
|
+
* Opaque cursor to pass in the next request to fetch the next page. Only present when has_more is true.
|
|
2640
|
+
*/
|
|
2641
|
+
cursor?: string;
|
|
2642
|
+
/**
|
|
2643
|
+
* Total number of items matching the query across all pages. Optional because not all backends can efficiently compute this.
|
|
2644
|
+
*/
|
|
2645
|
+
total_count?: number;
|
|
2646
|
+
}
|
|
2228
2647
|
/**
|
|
2229
2648
|
* Opaque correlation data that is echoed unchanged in responses. Used for internal tracking, UI session IDs, trace IDs, and other caller-specific identifiers that don't affect protocol behavior. Context data is never parsed by AdCP agents - it's simply preserved and returned.
|
|
2230
2649
|
*/
|
|
@@ -2535,9 +2954,25 @@ export interface Account1 {
|
|
|
2535
2954
|
*/
|
|
2536
2955
|
billing_proxy?: string;
|
|
2537
2956
|
/**
|
|
2538
|
-
* Account status
|
|
2957
|
+
* Account status. pending_approval: seller reviewing (credit, contracts). payment_required: credit limit reached or funds depleted. suspended: was active, now paused. closed: terminated.
|
|
2958
|
+
*/
|
|
2959
|
+
status: 'active' | 'pending_approval' | 'payment_required' | 'suspended' | 'closed';
|
|
2960
|
+
/**
|
|
2961
|
+
* House domain where brand.json is hosted. Canonical identity anchor for the brand.
|
|
2962
|
+
*/
|
|
2963
|
+
house?: string;
|
|
2964
|
+
/**
|
|
2965
|
+
* Brand ID within the house portfolio (from brand.json)
|
|
2966
|
+
*/
|
|
2967
|
+
brand_id?: string;
|
|
2968
|
+
/**
|
|
2969
|
+
* Domain of the entity operating this account
|
|
2970
|
+
*/
|
|
2971
|
+
operator?: string;
|
|
2972
|
+
/**
|
|
2973
|
+
* Who is invoiced on this account. brand: seller invoices the brand directly. operator: seller invoices the operator (agency). agent: agent consolidates billing.
|
|
2539
2974
|
*/
|
|
2540
|
-
|
|
2975
|
+
billing?: 'brand' | 'operator' | 'agent';
|
|
2541
2976
|
/**
|
|
2542
2977
|
* Identifier for the rate card applied to this account
|
|
2543
2978
|
*/
|
|
@@ -2554,6 +2989,7 @@ export interface Account1 {
|
|
|
2554
2989
|
currency: string;
|
|
2555
2990
|
};
|
|
2556
2991
|
ext?: ExtensionObject;
|
|
2992
|
+
[k: string]: unknown | undefined;
|
|
2557
2993
|
}
|
|
2558
2994
|
/**
|
|
2559
2995
|
* Error response - operation failed completely, no creatives were processed
|