@adcp/client 3.25.1 → 4.0.1
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/core/AgentClient.d.ts.map +1 -1
- package/dist/lib/core/SingleAgentClient.d.ts +8 -0
- package/dist/lib/core/SingleAgentClient.d.ts.map +1 -1
- package/dist/lib/core/SingleAgentClient.js +52 -11
- package/dist/lib/core/SingleAgentClient.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 +5 -3
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/types/core.generated.d.ts +175 -78
- 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 +1654 -328
- package/dist/lib/types/schemas.generated.d.ts.map +1 -1
- package/dist/lib/types/schemas.generated.js +182 -87
- package/dist/lib/types/schemas.generated.js.map +1 -1
- package/dist/lib/types/tools.generated.d.ts +496 -482
- 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 +40 -0
- package/dist/lib/utils/capabilities.d.ts.map +1 -1
- package/dist/lib/utils/capabilities.js +25 -0
- package/dist/lib/utils/capabilities.js.map +1 -1
- package/dist/lib/utils/creative-adapter.d.ts +2 -2
- package/dist/lib/utils/creative-adapter.d.ts.map +1 -1
- package/dist/lib/utils/creative-adapter.js +19 -4
- package/dist/lib/utils/creative-adapter.js.map +1 -1
- package/dist/lib/utils/pricing-adapter.d.ts.map +1 -1
- package/dist/lib/utils/pricing-adapter.js +3 -5
- package/dist/lib/utils/pricing-adapter.js.map +1 -1
- package/package.json +2 -1
package/dist/lib/index.js
CHANGED
|
@@ -17,9 +17,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
17
17
|
};
|
|
18
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
19
|
exports.createAdCPHeaders = exports.getAuthToken = exports.promotedOfferingsToCatalog = exports.promotedProductsToCatalog = exports.brandManifestToBrandReference = exports.InputRequiredError = exports.is401Error = exports.extractErrorInfo = exports.isErrorOfType = exports.isADCPError = exports.AuthenticationRequiredError = exports.ConfigurationError = exports.InvalidContextError = exports.MissingInputHandlerError = exports.ADCPValidationError = exports.ProtocolError = exports.UnsupportedTaskError = exports.AgentNotFoundError = exports.TaskAbortedError = exports.DeferredTaskError = exports.MaxClarificationError = exports.TaskTimeoutError = exports.ADCPError = exports.createMemoryStorageConfig = exports.createMemoryStorage = exports.MemoryStorage = exports.createAsyncHandler = exports.AsyncHandler = exports.createOperationId = exports.responseValidator = exports.ResponseValidator = exports.ADCP_STATUS = exports.responseParser = exports.ProtocolResponseParser = exports.TaskExecutor = exports.STANDARD_CREATIVE_AGENTS = exports.createCreativeAgentClient = exports.CreativeAgentClient = exports.ConfigurationManager = exports.createADCPMultiAgentClient = exports.ADCPMultiAgentClient = exports.AgentClient = exports.UnsupportedFeatureError = exports.createSingleAgentClient = exports.SingleAgentClient = exports.PropertyCrawler = exports.resetPropertyIndex = exports.getPropertyIndex = exports.PropertyIndex = exports.RegistryClient = void 0;
|
|
20
|
-
exports.
|
|
21
|
-
exports.
|
|
22
|
-
exports.creativeAgent = exports.TEST_AGENT_NO_AUTH_A2A_CONFIG = exports.TEST_AGENT_NO_AUTH_MCP_CONFIG = exports.testAgentNoAuthA2A = exports.testAgentNoAuth = exports.TEST_AGENT_A2A_CONFIG = exports.TEST_AGENT_MCP_CONFIG = exports.TEST_AGENT_TOKEN = exports.createTestAgent = exports.testAgentClient = exports.testAgentA2A = exports.testAgent = exports.AdCPClient = exports.defaultSISessionManager = exports.SIErrorCodes = exports.AISISessionManager = exports.SISessionManager = exports.defaultProposalManager = exports.ProposalErrorCodes = exports.AIProposalManager = exports.ProposalManager = exports.defaultPropertyListAdapter = exports.isPropertyListError = exports.PropertyListErrorCodes = exports.PropertyListAdapter = exports.defaultContentStandardsAdapter = exports.isContentStandardsError = exports.ContentStandardsErrorCodes = exports.ContentStandardsAdapter = exports.AgentCollection = exports.Agent = exports.VERSION_INFO = exports.COMPATIBLE_ADCP_VERSIONS = exports.LIBRARY_VERSION = exports.ADCP_VERSION = exports.getCompatibleVersions = exports.isCompatibleWith = void 0;
|
|
20
|
+
exports.normalizePackageResponse = exports.adaptUpdateMediaBuyRequestForV2 = exports.adaptCreateMediaBuyRequestForV2 = exports.adaptPackageRequestForV2 = exports.PROTOCOL_TOOLS = exports.ACCOUNT_TOOLS = exports.EVENT_TRACKING_TOOLS = exports.CREATIVE_TOOLS = exports.GOVERNANCE_TOOLS = exports.SIGNALS_TOOLS = exports.MEDIA_BUY_TOOLS = exports.requiresAccountForProducts = exports.requiresOperatorAuth = exports.supportsContentStandards = exports.supportsPropertyListFiltering = exports.supportsProtocol = exports.supportsV3 = exports.parseCapabilitiesResponse = exports.buildSyntheticCapabilities = exports.hasAssets = exports.getAssetCount = exports.usesDeprecatedAssetsField = exports.getRepeatableGroups = exports.getIndividualAssets = exports.getOptionalAssets = exports.getRequiredAssets = exports.getFormatAssets = exports.paginatePages = exports.paginate = exports.isCPAPricing = exports.detectProtocolWithTimeout = exports.detectProtocol = exports.STANDARD_FORMATS = exports.MAX_CONCURRENT = exports.REQUEST_TIMEOUT = exports.isAdcpSuccess = exports.isAdcpError = exports.unwrapProtocolResponse = exports.getStandardFormats = exports.createA2AClient = exports.createMCPClient = exports.callA2ATool = exports.callMCPTool = exports.ProtocolClient = exports.handleAdCPResponse = exports.getExpectedSchema = exports.validateAdCPResponse = exports.validateAgentUrl = exports.createAuthenticatedFetch = exports.createMCPAuthHeaders = void 0;
|
|
21
|
+
exports.isSyncCreativesFailed = exports.isSyncCreativesSubmitted = exports.isSyncCreativesInputRequired = exports.isSyncCreativesWorking = exports.isSyncCreativesCompleted = exports.isUpdateMediaBuyFailed = exports.isUpdateMediaBuySubmitted = exports.isUpdateMediaBuyInputRequired = exports.isUpdateMediaBuyWorking = exports.isUpdateMediaBuyCompleted = exports.isCreateMediaBuyFailed = exports.isCreateMediaBuySubmitted = exports.isCreateMediaBuyInputRequired = exports.isCreateMediaBuyWorking = exports.isCreateMediaBuyCompleted = exports.isGetProductsFailed = exports.isGetProductsSubmitted = exports.isGetProductsInputRequired = exports.isGetProductsWorking = exports.isGetProductsCompleted = exports.isStatusRejected = exports.isStatusFailed = exports.isStatusSubmitted = exports.isStatusInputRequired = exports.isStatusWorking = exports.isStatusCompleted = exports.getPreviewHtml = exports.getPreviewUrl = exports.getPrimaryPreviewRender = exports.getRenderRole = exports.getRenderId = exports.usesV3RenderFields = exports.usesV2RenderFields = exports.normalizePreviewCreativeResponse = exports.normalizePreview = exports.normalizePreviewRender = exports.getFormatDimensions = exports.usesV3Renders = exports.usesV2Dimensions = exports.isMultiRenderFormat = exports.getCompanionRenders = exports.getPrimaryRender = exports.getFormatRenders = exports.normalizeFormatsResponse = exports.normalizeFormatRenders = exports.getCreativeAssignments = exports.getCreativeIds = exports.usesV3CreativeAssignments = exports.usesV2CreativeIds = exports.normalizeMediaBuyResponse = void 0;
|
|
22
|
+
exports.creativeAgent = exports.TEST_AGENT_NO_AUTH_A2A_CONFIG = exports.TEST_AGENT_NO_AUTH_MCP_CONFIG = exports.testAgentNoAuthA2A = exports.testAgentNoAuth = exports.TEST_AGENT_A2A_CONFIG = exports.TEST_AGENT_MCP_CONFIG = exports.TEST_AGENT_TOKEN = exports.createTestAgent = exports.testAgentClient = exports.testAgentA2A = exports.testAgent = exports.AdCPClient = exports.defaultSISessionManager = exports.SIErrorCodes = exports.AISISessionManager = exports.SISessionManager = exports.defaultProposalManager = exports.ProposalErrorCodes = exports.AIProposalManager = exports.ProposalManager = exports.defaultPropertyListAdapter = exports.isPropertyListError = exports.PropertyListErrorCodes = exports.PropertyListAdapter = exports.defaultContentStandardsAdapter = exports.isContentStandardsError = exports.ContentStandardsErrorCodes = exports.ContentStandardsAdapter = exports.AgentCollection = exports.Agent = exports.VERSION_INFO = exports.COMPATIBLE_ADCP_VERSIONS = exports.LIBRARY_VERSION = exports.ADCP_VERSION = exports.getCompatibleVersions = exports.isCompatibleWith = exports.getLibraryVersion = exports.getAdcpVersion = void 0;
|
|
23
23
|
exports.createAdCPClient = createAdCPClient;
|
|
24
24
|
exports.createAdCPClientFromEnv = createAdCPClientFromEnv;
|
|
25
25
|
// ====== REGISTRY LOOKUPS ======
|
|
@@ -164,6 +164,8 @@ Object.defineProperty(exports, "supportsV3", { enumerable: true, get: function (
|
|
|
164
164
|
Object.defineProperty(exports, "supportsProtocol", { enumerable: true, get: function () { return capabilities_1.supportsProtocol; } });
|
|
165
165
|
Object.defineProperty(exports, "supportsPropertyListFiltering", { enumerable: true, get: function () { return capabilities_1.supportsPropertyListFiltering; } });
|
|
166
166
|
Object.defineProperty(exports, "supportsContentStandards", { enumerable: true, get: function () { return capabilities_1.supportsContentStandards; } });
|
|
167
|
+
Object.defineProperty(exports, "requiresOperatorAuth", { enumerable: true, get: function () { return capabilities_1.requiresOperatorAuth; } });
|
|
168
|
+
Object.defineProperty(exports, "requiresAccountForProducts", { enumerable: true, get: function () { return capabilities_1.requiresAccountForProducts; } });
|
|
167
169
|
Object.defineProperty(exports, "MEDIA_BUY_TOOLS", { enumerable: true, get: function () { return capabilities_1.MEDIA_BUY_TOOLS; } });
|
|
168
170
|
Object.defineProperty(exports, "SIGNALS_TOOLS", { enumerable: true, get: function () { return capabilities_1.SIGNALS_TOOLS; } });
|
|
169
171
|
Object.defineProperty(exports, "GOVERNANCE_TOOLS", { enumerable: true, get: function () { return capabilities_1.GOVERNANCE_TOOLS; } });
|
package/dist/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":";AAAA,qCAAqC;AACrC,sEAAsE;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Brand identifier within the house portfolio. Optional for single-brand domains.
|
|
3
|
+
*/
|
|
4
|
+
export type BrandID = string;
|
|
1
5
|
/**
|
|
2
6
|
* Status of a media buy
|
|
3
7
|
*/
|
|
@@ -11,11 +15,11 @@ export type Pacing = 'even' | 'asap' | 'front_loaded';
|
|
|
11
15
|
*/
|
|
12
16
|
export type MetroAreaSystem = '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
|
-
export type PostalCodeSystem = 'us_zip' | 'us_zip_plus_four' | 'gb_outward' | 'gb_full' | 'ca_fsa' | 'ca_full' | 'de_plz' | 'fr_code_postal' | 'au_postcode';
|
|
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' | 'ch_plz' | 'at_plz';
|
|
17
21
|
/**
|
|
18
|
-
*
|
|
22
|
+
* Days of the week for daypart targeting
|
|
19
23
|
*/
|
|
20
24
|
export type DayOfWeek = 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday' | 'sunday';
|
|
21
25
|
/**
|
|
@@ -27,7 +31,100 @@ export type AgeVerificationMethod = 'facial_age_estimation' | 'id_document' | 'd
|
|
|
27
31
|
*/
|
|
28
32
|
export type DevicePlatform = 'ios' | 'android' | 'windows' | 'macos' | 'linux' | 'chromeos' | 'tvos' | 'tizen' | 'webos' | 'fire_os' | 'roku_os' | 'unknown';
|
|
29
33
|
/**
|
|
30
|
-
*
|
|
34
|
+
* A single optimization target for a package. Packages accept an array of optimization_goals. When multiple goals are present, priority determines which the seller focuses on — 1 is highest priority (primary goal); higher numbers are secondary. Duplicate priority values result in undefined seller behavior.
|
|
35
|
+
*/
|
|
36
|
+
export type OptimizationGoal = {
|
|
37
|
+
kind: 'metric';
|
|
38
|
+
/**
|
|
39
|
+
* Seller-native metric to optimize for. Delivery metrics: clicks (link clicks, swipe-throughs, CTA taps that navigate away), views (viewable impressions), completed_views (video/audio completions — see view_duration_seconds). Duration/score metrics: viewed_seconds (time in view per impression), attention_seconds (attention time per impression), attention_score (vendor-specific attention score). Audience action metrics: engagements (any direct interaction with the ad unit beyond viewing — social reactions/comments/shares, story/unit opens, interactive overlay taps, companion banner interactions on audio and CTV), follows (new followers, page likes, artist/podcast/channel subscribes), saves (saves, bookmarks, playlist adds, pins — signals of intent to return), profile_visits (visits to the brand's in-platform page — profile, artist page, channel, or storefront. Does not include external website clicks, which are covered by 'clicks').
|
|
40
|
+
*/
|
|
41
|
+
metric: 'clicks' | 'views' | 'completed_views' | 'viewed_seconds' | 'attention_seconds' | 'attention_score' | 'engagements' | 'follows' | 'saves' | 'profile_visits';
|
|
42
|
+
/**
|
|
43
|
+
* Minimum video view duration in seconds that qualifies as a completed_view for this goal. Only applicable when metric is 'completed_views'. When omitted, the seller uses their platform default (typically 2–15 seconds). Common values: 2 (Snap/LinkedIn default), 6 (TikTok), 15 (Snap 15-second views, Meta ThruPlay). Sellers declare which durations they support in metric_optimization.supported_view_durations. Sellers must reject goals with unsupported values — silent rounding would create measurement discrepancies.
|
|
44
|
+
*/
|
|
45
|
+
view_duration_seconds?: number;
|
|
46
|
+
/**
|
|
47
|
+
* Target for this metric. When omitted, the seller optimizes for maximum metric volume within budget.
|
|
48
|
+
*/
|
|
49
|
+
target?: {
|
|
50
|
+
kind: 'cost_per';
|
|
51
|
+
/**
|
|
52
|
+
* Target cost per metric unit in the buy currency
|
|
53
|
+
*/
|
|
54
|
+
value: number;
|
|
55
|
+
} | {
|
|
56
|
+
kind: 'threshold_rate';
|
|
57
|
+
/**
|
|
58
|
+
* Minimum per-impression value. Units depend on the metric: proportion (clicks, views, completed_views), seconds (viewed_seconds, attention_seconds), or score (attention_score).
|
|
59
|
+
*/
|
|
60
|
+
value: number;
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* Relative priority among all optimization goals on this package. 1 = highest priority (primary goal); higher numbers are lower priority (secondary signals). When omitted, sellers may use array position as priority.
|
|
64
|
+
*/
|
|
65
|
+
priority?: number;
|
|
66
|
+
} | {
|
|
67
|
+
kind: 'event';
|
|
68
|
+
/**
|
|
69
|
+
* Event source and type pairs that feed this goal. Each entry identifies a source and event type to include. When the seller supports multi_source_event_dedup (declared in get_adcp_capabilities), they deduplicate by event_id across all entries — the same business event from multiple sources counts once, using value_field and value_factor from the first matching entry. When multi_source_event_dedup is false or absent, buyers should use a single entry per goal; the seller will use only the first entry. All event sources must be configured via sync_event_sources.
|
|
70
|
+
*/
|
|
71
|
+
event_sources: {
|
|
72
|
+
/**
|
|
73
|
+
* Event source to include (must be configured on this account via sync_event_sources)
|
|
74
|
+
*/
|
|
75
|
+
event_source_id: string;
|
|
76
|
+
event_type: EventType;
|
|
77
|
+
/**
|
|
78
|
+
* Required when event_type is 'custom'. Platform-specific name for the custom event.
|
|
79
|
+
*/
|
|
80
|
+
custom_event_name?: string;
|
|
81
|
+
/**
|
|
82
|
+
* Which field in the event's custom_data carries the monetary value. The seller must use this field for value extraction and aggregation when computing ROAS and conversion value metrics. Required on at least one entry when target.kind is 'per_ad_spend' or 'maximize_value'. Common values: 'value', 'order_total', 'profit_margin'. This is not passed as a parameter to underlying platform APIs — the seller maps it to their platform's value ingestion mechanism.
|
|
83
|
+
*/
|
|
84
|
+
value_field?: string;
|
|
85
|
+
/**
|
|
86
|
+
* Multiplier the seller must apply to value_field before aggregation. Use -1 for refund events (negate the value), 0.01 for values in cents, -0.01 for refunds in cents. A value of 0 zeroes out this source's value contribution (the source still counts for event dedup). Defaults to 1. This is not passed as a parameter to underlying platform APIs — the seller applies it when computing aggregated value metrics.
|
|
87
|
+
*/
|
|
88
|
+
value_factor?: number;
|
|
89
|
+
}[];
|
|
90
|
+
/**
|
|
91
|
+
* Target cost or return for this event goal. When omitted, the seller optimizes for maximum conversions within budget.
|
|
92
|
+
*/
|
|
93
|
+
target?: {
|
|
94
|
+
kind: 'cost_per';
|
|
95
|
+
/**
|
|
96
|
+
* Target cost per event in the buy currency
|
|
97
|
+
*/
|
|
98
|
+
value: number;
|
|
99
|
+
} | {
|
|
100
|
+
kind: 'per_ad_spend';
|
|
101
|
+
/**
|
|
102
|
+
* Target return ratio (e.g., 4.0 means $4 of value per $1 spent)
|
|
103
|
+
*/
|
|
104
|
+
value: number;
|
|
105
|
+
} | {
|
|
106
|
+
kind: 'maximize_value';
|
|
107
|
+
};
|
|
108
|
+
/**
|
|
109
|
+
* Attribution window for this optimization goal. Values must match an option declared in the seller's conversion_tracking.attribution_windows capability. Sellers must reject windows not in their declared capabilities. When omitted, the seller uses their default window.
|
|
110
|
+
*/
|
|
111
|
+
attribution_window?: {
|
|
112
|
+
/**
|
|
113
|
+
* Click-through attribution window (e.g. '7d', '28d', '30d')
|
|
114
|
+
*/
|
|
115
|
+
click_through: string;
|
|
116
|
+
/**
|
|
117
|
+
* View-through attribution window (e.g. '1d', '7d')
|
|
118
|
+
*/
|
|
119
|
+
view_through?: string;
|
|
120
|
+
};
|
|
121
|
+
/**
|
|
122
|
+
* Relative priority among all optimization goals on this package. 1 = highest priority (primary goal); higher numbers are lower priority (secondary signals). When omitted, sellers may use array position as priority.
|
|
123
|
+
*/
|
|
124
|
+
priority?: number;
|
|
125
|
+
};
|
|
126
|
+
/**
|
|
127
|
+
* Event type to include from this source (e.g., purchase, lead, app_install, refund)
|
|
31
128
|
*/
|
|
32
129
|
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';
|
|
33
130
|
/**
|
|
@@ -91,25 +188,18 @@ export interface Account {
|
|
|
91
188
|
*/
|
|
92
189
|
billing_proxy?: string;
|
|
93
190
|
/**
|
|
94
|
-
* Account status. pending_approval: seller reviewing (credit, contracts). payment_required: credit limit reached or funds depleted. suspended: was active, now paused. closed: terminated.
|
|
95
|
-
*/
|
|
96
|
-
status: 'active' | 'pending_approval' | 'payment_required' | 'suspended' | 'closed';
|
|
97
|
-
/**
|
|
98
|
-
* House domain where brand.json is hosted. Canonical identity anchor for the brand.
|
|
191
|
+
* Account status. pending_approval: seller reviewing (credit, contracts). rejected: seller declined the account request. payment_required: credit limit reached or funds depleted. suspended: was active, now paused. closed: was active, now terminated.
|
|
99
192
|
*/
|
|
100
|
-
|
|
193
|
+
status: 'active' | 'pending_approval' | 'rejected' | 'payment_required' | 'suspended' | 'closed';
|
|
194
|
+
brand?: BrandReference;
|
|
101
195
|
/**
|
|
102
|
-
*
|
|
103
|
-
*/
|
|
104
|
-
brand_id?: string;
|
|
105
|
-
/**
|
|
106
|
-
* Domain of the entity operating this account
|
|
196
|
+
* Domain of the entity operating this account. When the brand operates directly, this is the brand's domain.
|
|
107
197
|
*/
|
|
108
198
|
operator?: string;
|
|
109
199
|
/**
|
|
110
|
-
* Who is invoiced on this account.
|
|
200
|
+
* Who is invoiced on this account. operator: seller invoices the operator (agency or brand buying direct). agent: agent consolidates billing.
|
|
111
201
|
*/
|
|
112
|
-
billing?: '
|
|
202
|
+
billing?: 'operator' | 'agent';
|
|
113
203
|
/**
|
|
114
204
|
* Identifier for the rate card applied to this account
|
|
115
205
|
*/
|
|
@@ -142,12 +232,26 @@ export interface Account {
|
|
|
142
232
|
*/
|
|
143
233
|
expires_at?: string;
|
|
144
234
|
};
|
|
235
|
+
/**
|
|
236
|
+
* How the seller scoped this account. operator: shared across all brands for this operator. brand: shared across all operators for this brand. operator_brand: dedicated to a specific operator+brand combination. agent: the agent's default account with no brand or operator association.
|
|
237
|
+
*/
|
|
238
|
+
account_scope?: 'operator' | 'brand' | 'operator_brand' | 'agent';
|
|
145
239
|
/**
|
|
146
240
|
* When true, this is a sandbox account. All requests using this account_id are treated as sandbox — no real platform calls, no real spend.
|
|
147
241
|
*/
|
|
148
242
|
sandbox?: boolean;
|
|
149
243
|
ext?: ExtensionObject;
|
|
150
244
|
}
|
|
245
|
+
/**
|
|
246
|
+
* Brand reference identifying the advertiser
|
|
247
|
+
*/
|
|
248
|
+
export interface BrandReference {
|
|
249
|
+
/**
|
|
250
|
+
* Domain where /.well-known/brand.json is hosted, or the brand's operating domain
|
|
251
|
+
*/
|
|
252
|
+
domain: string;
|
|
253
|
+
brand_id?: BrandID;
|
|
254
|
+
}
|
|
151
255
|
/**
|
|
152
256
|
* 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.
|
|
153
257
|
*/
|
|
@@ -195,7 +299,10 @@ export interface Package {
|
|
|
195
299
|
* Format IDs that creative assets will be provided for this package
|
|
196
300
|
*/
|
|
197
301
|
format_ids_to_provide?: FormatID[];
|
|
198
|
-
|
|
302
|
+
/**
|
|
303
|
+
* 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+.
|
|
304
|
+
*/
|
|
305
|
+
optimization_goals?: OptimizationGoal[];
|
|
199
306
|
/**
|
|
200
307
|
* Whether this package is paused by the buyer. Paused packages do not deliver impressions. Defaults to false.
|
|
201
308
|
*/
|
|
@@ -416,37 +523,6 @@ export interface FormatID {
|
|
|
416
523
|
*/
|
|
417
524
|
duration_ms?: number;
|
|
418
525
|
}
|
|
419
|
-
/**
|
|
420
|
-
* 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.
|
|
421
|
-
*/
|
|
422
|
-
export interface OptimizationGoal {
|
|
423
|
-
/**
|
|
424
|
-
* Event source to optimize against (must be configured on this account via sync_event_sources)
|
|
425
|
-
*/
|
|
426
|
-
event_source_id: string;
|
|
427
|
-
event_type: EventType;
|
|
428
|
-
/**
|
|
429
|
-
* Target return on ad spend (e.g. 4.0 = $4 conversion value per $1 spent). Mutually exclusive with target_cpa.
|
|
430
|
-
*/
|
|
431
|
-
target_roas?: number;
|
|
432
|
-
/**
|
|
433
|
-
* Target cost per acquisition in the buy currency. Mutually exclusive with target_roas.
|
|
434
|
-
*/
|
|
435
|
-
target_cpa?: number;
|
|
436
|
-
/**
|
|
437
|
-
* 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.
|
|
438
|
-
*/
|
|
439
|
-
attribution_window?: {
|
|
440
|
-
/**
|
|
441
|
-
* Click-through attribution window (e.g. '7d', '28d', '30d')
|
|
442
|
-
*/
|
|
443
|
-
click_through: string;
|
|
444
|
-
/**
|
|
445
|
-
* View-through attribution window (e.g. '1d', '7d')
|
|
446
|
-
*/
|
|
447
|
-
view_through?: string;
|
|
448
|
-
};
|
|
449
|
-
}
|
|
450
526
|
/**
|
|
451
527
|
* 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.
|
|
452
528
|
*/
|
|
@@ -460,7 +536,7 @@ export type FeedFormat = 'google_merchant_center' | 'facebook_catalog' | 'shopif
|
|
|
460
536
|
*/
|
|
461
537
|
export type UpdateFrequency = 'realtime' | 'hourly' | 'daily' | 'weekly';
|
|
462
538
|
/**
|
|
463
|
-
*
|
|
539
|
+
* Identifier type that the event's content_ids field should be matched against for items in this catalog. For example, 'gtin' means content_ids values are Global Trade Item Numbers, 'sku' means retailer SKUs. Omit when using a custom identifier scheme not listed in the enum.
|
|
464
540
|
*/
|
|
465
541
|
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';
|
|
466
542
|
/**
|
|
@@ -540,7 +616,7 @@ export type VASTVersion = '2.0' | '3.0' | '4.0' | '4.1' | '4.2';
|
|
|
540
616
|
*/
|
|
541
617
|
export type VASTTrackingEvent = 'start' | 'firstQuartile' | 'midpoint' | 'thirdQuartile' | 'complete' | 'impression' | 'click' | 'pause' | 'resume' | 'skip' | 'mute' | 'unmute' | 'fullscreen' | 'exitFullscreen' | 'playerExpand' | 'playerCollapse';
|
|
542
618
|
/**
|
|
543
|
-
*
|
|
619
|
+
* DAAST (Digital Audio Ad Serving Template) tag for third-party audio ad serving
|
|
544
620
|
*/
|
|
545
621
|
export type DAASTAsset = {
|
|
546
622
|
/**
|
|
@@ -604,7 +680,7 @@ export type DAASTVersion = '1.0' | '1.1';
|
|
|
604
680
|
*/
|
|
605
681
|
export type DAASTTrackingEvent = 'start' | 'firstQuartile' | 'midpoint' | 'thirdQuartile' | 'complete' | 'impression' | 'pause' | 'resume' | 'skip' | 'mute' | 'unmute';
|
|
606
682
|
/**
|
|
607
|
-
*
|
|
683
|
+
* 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)
|
|
608
684
|
*/
|
|
609
685
|
export type URLAssetType = 'clickthrough' | 'tracker_pixel' | 'tracker_script';
|
|
610
686
|
/**
|
|
@@ -672,7 +748,7 @@ export interface CreativeAsset {
|
|
|
672
748
|
placement_ids?: string[];
|
|
673
749
|
}
|
|
674
750
|
/**
|
|
675
|
-
*
|
|
751
|
+
* A typed data feed. Catalogs carry the items, locations, stock levels, or pricing that publishers use to render ads. They can be synced to a platform via sync_catalogs (managed lifecycle with approval), provided inline, or fetched from an external URL. The catalog type determines the item schema and can be structural (offering, product, inventory, store, promotion) or vertical-specific (hotel, flight, job, vehicle, real_estate, education, destination, app). Selectors (ids, tags, category, query) filter items regardless of sourcing method.
|
|
676
752
|
*/
|
|
677
753
|
export interface Catalog {
|
|
678
754
|
/**
|
|
@@ -775,7 +851,7 @@ export interface CatalogFieldMapping {
|
|
|
775
851
|
ext?: ExtensionObject;
|
|
776
852
|
}
|
|
777
853
|
/**
|
|
778
|
-
*
|
|
854
|
+
* Image asset with URL and dimensions
|
|
779
855
|
*/
|
|
780
856
|
export interface ImageAsset {
|
|
781
857
|
/**
|
|
@@ -1142,7 +1218,7 @@ export type PricingOption = CPMPricingOption | VCPMPricingOption | CPCPricingOpt
|
|
|
1142
1218
|
*/
|
|
1143
1219
|
export type DemographicSystem = 'nielsen' | 'barb' | 'agf' | 'oztam' | 'mediametrie' | 'custom';
|
|
1144
1220
|
/**
|
|
1145
|
-
*
|
|
1221
|
+
* How to interpret the points array. 'spend' (default when omitted): points at ascending budget levels. 'reach_freq': points at ascending reach/frequency targets. 'weekly'/'daily': metrics are per-period values. 'clicks'/'conversions': points at ascending outcome targets.
|
|
1146
1222
|
*/
|
|
1147
1223
|
export type ForecastRangeUnit = 'spend' | 'reach_freq' | 'weekly' | 'daily' | 'clicks' | 'conversions';
|
|
1148
1224
|
/**
|
|
@@ -1150,7 +1226,7 @@ export type ForecastRangeUnit = 'spend' | 'reach_freq' | 'weekly' | 'daily' | 'c
|
|
|
1150
1226
|
*/
|
|
1151
1227
|
export type ForecastMethod = 'estimate' | 'modeled' | 'guaranteed';
|
|
1152
1228
|
/**
|
|
1153
|
-
*
|
|
1229
|
+
* Unit of measurement for reach and audience_size metrics in this forecast. Required for cross-channel forecast comparison.
|
|
1154
1230
|
*/
|
|
1155
1231
|
export type ReachUnit = 'individuals' | 'households' | 'devices' | 'accounts' | 'cookies' | 'custom';
|
|
1156
1232
|
/**
|
|
@@ -1209,7 +1285,7 @@ export type DataProviderSignalSelector = {
|
|
|
1209
1285
|
signal_tags: string[];
|
|
1210
1286
|
};
|
|
1211
1287
|
/**
|
|
1212
|
-
*
|
|
1288
|
+
* Where the conversion event originated
|
|
1213
1289
|
*/
|
|
1214
1290
|
export type ActionSource = 'website' | 'app' | 'offline' | 'phone_call' | 'chat' | 'email' | 'in_store' | 'system_generated' | 'other';
|
|
1215
1291
|
/**
|
|
@@ -1287,7 +1363,28 @@ export interface Product {
|
|
|
1287
1363
|
*/
|
|
1288
1364
|
catalog_types?: CatalogType[];
|
|
1289
1365
|
/**
|
|
1290
|
-
*
|
|
1366
|
+
* Metric optimization capabilities for this product. Presence indicates the product supports optimization_goals with kind: 'metric'. No event source or conversion tracking setup required — the seller tracks these metrics natively.
|
|
1367
|
+
*/
|
|
1368
|
+
metric_optimization?: {
|
|
1369
|
+
/**
|
|
1370
|
+
* Metric kinds this product can optimize for. Buyers should only request metric goals for kinds listed here.
|
|
1371
|
+
*/
|
|
1372
|
+
supported_metrics: ('clicks' | 'views' | 'completed_views' | 'viewed_seconds' | 'attention_seconds' | 'attention_score' | 'engagements' | 'follows' | 'saves' | 'profile_visits')[];
|
|
1373
|
+
/**
|
|
1374
|
+
* Video view duration thresholds (in seconds) this product supports for completed_views goals. Only relevant when supported_metrics includes 'completed_views'. When absent, the seller uses their platform default. Buyers must set view_duration_seconds to a value in this list — sellers reject unsupported values.
|
|
1375
|
+
*/
|
|
1376
|
+
supported_view_durations?: number[];
|
|
1377
|
+
/**
|
|
1378
|
+
* Target kinds available for metric goals on this product. Values match target.kind on the optimization goal. Only these target kinds are accepted — goals with unlisted target kinds will be rejected. When omitted, buyers can set target-less metric goals (maximize volume within budget) but cannot set specific targets.
|
|
1379
|
+
*/
|
|
1380
|
+
supported_targets?: ('cost_per' | 'threshold_rate')[];
|
|
1381
|
+
};
|
|
1382
|
+
/**
|
|
1383
|
+
* Maximum number of optimization_goals this product accepts on a package. When absent, no limit is declared. Most social platforms accept only 1 goal — buyers sending arrays longer than this value should expect the seller to use only the highest-priority (lowest priority number) goal.
|
|
1384
|
+
*/
|
|
1385
|
+
max_optimization_goals?: number;
|
|
1386
|
+
/**
|
|
1387
|
+
* Conversion event tracking for this product. Presence indicates the product supports optimization_goals with kind: 'event'. Seller-level capabilities (supported event types, UID types, attribution windows) are declared in get_adcp_capabilities.
|
|
1291
1388
|
*/
|
|
1292
1389
|
conversion_tracking?: {
|
|
1293
1390
|
/**
|
|
@@ -1295,9 +1392,9 @@ export interface Product {
|
|
|
1295
1392
|
*/
|
|
1296
1393
|
action_sources?: ActionSource[];
|
|
1297
1394
|
/**
|
|
1298
|
-
*
|
|
1395
|
+
* Target kinds available for event goals on this product. Values match target.kind on the optimization goal. cost_per: target cost per conversion event. per_ad_spend: target return on ad spend (requires value_field on event sources). maximize_value: maximize total conversion value without a specific ratio target (requires value_field). Only these target kinds are accepted — goals with unlisted target kinds will be rejected. A goal without a target implicitly maximizes conversion count within budget — no declaration needed for that mode. When omitted, buyers can still set target-less event goals.
|
|
1299
1396
|
*/
|
|
1300
|
-
|
|
1397
|
+
supported_targets?: ('cost_per' | 'per_ad_spend' | 'maximize_value')[];
|
|
1301
1398
|
/**
|
|
1302
1399
|
* 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'.
|
|
1303
1400
|
*/
|
|
@@ -1355,7 +1452,7 @@ export interface Product {
|
|
|
1355
1452
|
ext?: ExtensionObject;
|
|
1356
1453
|
}
|
|
1357
1454
|
/**
|
|
1358
|
-
*
|
|
1455
|
+
* Represents a specific ad placement within a product's inventory
|
|
1359
1456
|
*/
|
|
1360
1457
|
export interface Placement {
|
|
1361
1458
|
/**
|
|
@@ -1465,7 +1562,7 @@ export interface VCPMPricingOption {
|
|
|
1465
1562
|
min_spend_per_package?: number;
|
|
1466
1563
|
}
|
|
1467
1564
|
/**
|
|
1468
|
-
*
|
|
1565
|
+
* Cost Per Click pricing. If fixed_price is present, it's fixed pricing. If absent, it's auction-based.
|
|
1469
1566
|
*/
|
|
1470
1567
|
export interface CPCPricingOption {
|
|
1471
1568
|
/**
|
|
@@ -1499,7 +1596,7 @@ export interface CPCPricingOption {
|
|
|
1499
1596
|
min_spend_per_package?: number;
|
|
1500
1597
|
}
|
|
1501
1598
|
/**
|
|
1502
|
-
*
|
|
1599
|
+
* Cost Per Completed View (100% video/audio completion) pricing. If fixed_price is present, it's fixed pricing. If absent, it's auction-based.
|
|
1503
1600
|
*/
|
|
1504
1601
|
export interface CPCVPricingOption {
|
|
1505
1602
|
/**
|
|
@@ -1533,7 +1630,7 @@ export interface CPCVPricingOption {
|
|
|
1533
1630
|
min_spend_per_package?: number;
|
|
1534
1631
|
}
|
|
1535
1632
|
/**
|
|
1536
|
-
*
|
|
1633
|
+
* 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.
|
|
1537
1634
|
*/
|
|
1538
1635
|
export interface CPVPricingOption {
|
|
1539
1636
|
/**
|
|
@@ -1578,7 +1675,7 @@ export interface CPVPricingOption {
|
|
|
1578
1675
|
min_spend_per_package?: number;
|
|
1579
1676
|
}
|
|
1580
1677
|
/**
|
|
1581
|
-
*
|
|
1678
|
+
* 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.
|
|
1582
1679
|
*/
|
|
1583
1680
|
export interface CPPPricingOption {
|
|
1584
1681
|
/**
|
|
@@ -1622,7 +1719,7 @@ export interface CPPPricingOption {
|
|
|
1622
1719
|
min_spend_per_package?: number;
|
|
1623
1720
|
}
|
|
1624
1721
|
/**
|
|
1625
|
-
*
|
|
1722
|
+
* 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).
|
|
1626
1723
|
*/
|
|
1627
1724
|
export interface CPAPricingOption {
|
|
1628
1725
|
/**
|
|
@@ -1722,7 +1819,7 @@ export interface FlatRatePricingOption {
|
|
|
1722
1819
|
min_spend_per_package?: number;
|
|
1723
1820
|
}
|
|
1724
1821
|
/**
|
|
1725
|
-
*
|
|
1822
|
+
* 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.
|
|
1726
1823
|
*/
|
|
1727
1824
|
export interface TimeBasedPricingOption {
|
|
1728
1825
|
/**
|
|
@@ -1769,7 +1866,7 @@ export interface TimeBasedPricingOption {
|
|
|
1769
1866
|
min_spend_per_package?: number;
|
|
1770
1867
|
}
|
|
1771
1868
|
/**
|
|
1772
|
-
*
|
|
1869
|
+
* Forecasted delivery metrics for this product. Gives buyers an estimate of expected performance before requesting a proposal.
|
|
1773
1870
|
*/
|
|
1774
1871
|
export interface DeliveryForecast {
|
|
1775
1872
|
/**
|
|
@@ -1831,7 +1928,7 @@ export interface ForecastRange {
|
|
|
1831
1928
|
high?: number;
|
|
1832
1929
|
}
|
|
1833
1930
|
/**
|
|
1834
|
-
*
|
|
1931
|
+
* Measurement capabilities included with a product
|
|
1835
1932
|
*/
|
|
1836
1933
|
export interface Measurement {
|
|
1837
1934
|
/**
|
|
@@ -1896,7 +1993,7 @@ export interface CreativePolicy {
|
|
|
1896
1993
|
templates_available: boolean;
|
|
1897
1994
|
}
|
|
1898
1995
|
/**
|
|
1899
|
-
*
|
|
1996
|
+
* Type of advertising property
|
|
1900
1997
|
*/
|
|
1901
1998
|
export type PropertyType = 'website' | 'mobile_app' | 'ctv_app' | 'desktop_app' | 'dooh' | 'podcast' | 'radio' | 'streaming_audio';
|
|
1902
1999
|
/**
|
|
@@ -1904,7 +2001,7 @@ export type PropertyType = 'website' | 'mobile_app' | 'ctv_app' | 'desktop_app'
|
|
|
1904
2001
|
*/
|
|
1905
2002
|
export type PropertyIdentifierTypes = 'domain' | 'subdomain' | 'network_id' | 'ios_bundle' | 'android_package' | 'apple_app_store_id' | 'google_play_id' | 'roku_store_id' | 'fire_tv_asin' | 'samsung_app_id' | 'apple_tv_bundle' | 'bundle_id' | 'venue_id' | 'screen_id' | 'openooh_venue_type' | 'rss_url' | 'apple_podcast_id' | 'spotify_show_id' | 'podcast_guid';
|
|
1906
2003
|
/**
|
|
1907
|
-
*
|
|
2004
|
+
* An advertising property that can be validated via adagents.json
|
|
1908
2005
|
*/
|
|
1909
2006
|
export interface Property {
|
|
1910
2007
|
property_id?: PropertyID;
|
|
@@ -1939,7 +2036,7 @@ export interface Property {
|
|
|
1939
2036
|
/**
|
|
1940
2037
|
* Type of AdCP operation that triggered this webhook. Enables webhook handlers to route to appropriate processing logic.
|
|
1941
2038
|
*/
|
|
1942
|
-
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';
|
|
2039
|
+
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_account_financials' | 'get_creative_delivery' | 'sync_event_sources' | 'sync_audiences' | 'sync_catalogs' | 'log_event';
|
|
1943
2040
|
/**
|
|
1944
2041
|
* AdCP domain this task belongs to. Helps classify the operation type at a high level.
|
|
1945
2042
|
*/
|
|
@@ -1953,11 +2050,11 @@ export type TaskStatus = 'submitted' | 'working' | 'input-required' | 'completed
|
|
|
1953
2050
|
*/
|
|
1954
2051
|
export type AdCPAsyncResponseData = GetProductsResponse | GetProductsAsyncWorking | GetProductsAsyncInputRequired | GetProductsAsyncSubmitted | CreateMediaBuyResponse | CreateMediaBuyAsyncWorking | CreateMediaBuyAsyncInputRequired | CreateMediaBuyAsyncSubmitted | UpdateMediaBuyResponse | UpdateMediaBuyAsyncWorking | UpdateMediaBuyAsyncInputRequired | UpdateMediaBuyAsyncSubmitted | SyncCreativesResponse | SyncCreativesAsyncWorking | SyncCreativesAsyncInputRequired | SyncCreativesAsyncSubmitted | SyncCatalogsResponse | SyncCatalogsAsyncWorking | SyncCatalogsAsyncInputRequired | SyncCatalogsAsyncSubmitted;
|
|
1955
2052
|
/**
|
|
1956
|
-
*
|
|
2053
|
+
* Response for completed or failed create_media_buy
|
|
1957
2054
|
*/
|
|
1958
2055
|
export type CreateMediaBuyResponse = CreateMediaBuySuccess | CreateMediaBuyError;
|
|
1959
2056
|
/**
|
|
1960
|
-
*
|
|
2057
|
+
* Response for completed or failed update_media_buy
|
|
1961
2058
|
*/
|
|
1962
2059
|
export type UpdateMediaBuyResponse = UpdateMediaBuySuccess | UpdateMediaBuyError;
|
|
1963
2060
|
/**
|
|
@@ -2042,7 +2139,7 @@ export interface GetProductsResponse {
|
|
|
2042
2139
|
ext?: ExtensionObject;
|
|
2043
2140
|
}
|
|
2044
2141
|
/**
|
|
2045
|
-
* Represents
|
|
2142
|
+
* A proposed media plan with budget allocations across products. Represents the publisher's strategic recommendation for how to structure a campaign based on the brief. Proposals are actionable - buyers can execute them directly via create_media_buy by providing the proposal_id.
|
|
2046
2143
|
*/
|
|
2047
2144
|
export interface Proposal {
|
|
2048
2145
|
/**
|
|
@@ -2129,7 +2226,7 @@ export interface ProductAllocation {
|
|
|
2129
2226
|
ext?: ExtensionObject;
|
|
2130
2227
|
}
|
|
2131
2228
|
/**
|
|
2132
|
-
*
|
|
2229
|
+
* Standard error structure for task-specific errors and warnings
|
|
2133
2230
|
*/
|
|
2134
2231
|
export interface Error {
|
|
2135
2232
|
/**
|
|
@@ -2265,7 +2362,7 @@ export interface CreateMediaBuySuccess {
|
|
|
2265
2362
|
ext?: ExtensionObject;
|
|
2266
2363
|
}
|
|
2267
2364
|
/**
|
|
2268
|
-
*
|
|
2365
|
+
* Error response - operation failed, no media buy created
|
|
2269
2366
|
*/
|
|
2270
2367
|
export interface CreateMediaBuyError {
|
|
2271
2368
|
/**
|
|
@@ -2466,7 +2563,7 @@ export interface SyncCreativesSuccess {
|
|
|
2466
2563
|
ext?: ExtensionObject;
|
|
2467
2564
|
}
|
|
2468
2565
|
/**
|
|
2469
|
-
*
|
|
2566
|
+
* Error response - operation failed completely, no creatives were processed
|
|
2470
2567
|
*/
|
|
2471
2568
|
export interface SyncCreativesError {
|
|
2472
2569
|
/**
|