@adcp/sdk 6.0.0 → 6.1.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.map +1 -1
- package/dist/lib/core/SingleAgentClient.js +12 -0
- package/dist/lib/core/SingleAgentClient.js.map +1 -1
- package/dist/lib/core/TaskExecutor.d.ts +14 -0
- package/dist/lib/core/TaskExecutor.d.ts.map +1 -1
- package/dist/lib/core/TaskExecutor.js +16 -0
- package/dist/lib/core/TaskExecutor.js.map +1 -1
- package/dist/lib/schemas-data/v2.5/_provenance.json +8 -0
- package/dist/lib/schemas-data/v2.5/adagents.json +494 -0
- package/dist/lib/schemas-data/v2.5/core/activation-key.json +50 -0
- package/dist/lib/schemas-data/v2.5/core/assets/audio-asset.json +32 -0
- package/dist/lib/schemas-data/v2.5/core/assets/css-asset.json +21 -0
- package/dist/lib/schemas-data/v2.5/core/assets/daast-asset.json +87 -0
- package/dist/lib/schemas-data/v2.5/core/assets/html-asset.json +21 -0
- package/dist/lib/schemas-data/v2.5/core/assets/image-asset.json +38 -0
- package/dist/lib/schemas-data/v2.5/core/assets/javascript-asset.json +21 -0
- package/dist/lib/schemas-data/v2.5/core/assets/markdown-asset.json +31 -0
- package/dist/lib/schemas-data/v2.5/core/assets/text-asset.json +21 -0
- package/dist/lib/schemas-data/v2.5/core/assets/url-asset.json +26 -0
- package/dist/lib/schemas-data/v2.5/core/assets/vast-asset.json +87 -0
- package/dist/lib/schemas-data/v2.5/core/assets/video-asset.json +44 -0
- package/dist/lib/schemas-data/v2.5/core/assets/webhook-asset.json +71 -0
- package/dist/lib/schemas-data/v2.5/core/async-response-data.json +88 -0
- package/dist/lib/schemas-data/v2.5/core/brand-manifest-ref.json +33 -0
- package/dist/lib/schemas-data/v2.5/core/brand-manifest.json +409 -0
- package/dist/lib/schemas-data/v2.5/core/context.json +8 -0
- package/dist/lib/schemas-data/v2.5/core/creative-asset.json +125 -0
- package/dist/lib/schemas-data/v2.5/core/creative-assignment.json +31 -0
- package/dist/lib/schemas-data/v2.5/core/creative-filters.json +111 -0
- package/dist/lib/schemas-data/v2.5/core/creative-manifest.json +72 -0
- package/dist/lib/schemas-data/v2.5/core/creative-policy.json +27 -0
- package/dist/lib/schemas-data/v2.5/core/delivery-metrics.json +171 -0
- package/dist/lib/schemas-data/v2.5/core/deployment.json +93 -0
- package/dist/lib/schemas-data/v2.5/core/destination.json +53 -0
- package/dist/lib/schemas-data/v2.5/core/error.json +40 -0
- package/dist/lib/schemas-data/v2.5/core/ext.json +8 -0
- package/dist/lib/schemas-data/v2.5/core/format-id.json +47 -0
- package/dist/lib/schemas-data/v2.5/core/format.json +324 -0
- package/dist/lib/schemas-data/v2.5/core/frequency-cap.json +18 -0
- package/dist/lib/schemas-data/v2.5/core/mcp-webhook-payload.json +152 -0
- package/dist/lib/schemas-data/v2.5/core/measurement.json +48 -0
- package/dist/lib/schemas-data/v2.5/core/media-buy.json +62 -0
- package/dist/lib/schemas-data/v2.5/core/package.json +72 -0
- package/dist/lib/schemas-data/v2.5/core/performance-feedback.json +90 -0
- package/dist/lib/schemas-data/v2.5/core/placement.json +34 -0
- package/dist/lib/schemas-data/v2.5/core/pricing-option.json +35 -0
- package/dist/lib/schemas-data/v2.5/core/product-filters.json +102 -0
- package/dist/lib/schemas-data/v2.5/core/product.json +153 -0
- package/dist/lib/schemas-data/v2.5/core/promoted-offerings.json +115 -0
- package/dist/lib/schemas-data/v2.5/core/promoted-products.json +67 -0
- package/dist/lib/schemas-data/v2.5/core/property-id.json +14 -0
- package/dist/lib/schemas-data/v2.5/core/property-tag.json +16 -0
- package/dist/lib/schemas-data/v2.5/core/property.json +62 -0
- package/dist/lib/schemas-data/v2.5/core/protocol-envelope.json +146 -0
- package/dist/lib/schemas-data/v2.5/core/publisher-property-selector.json +92 -0
- package/dist/lib/schemas-data/v2.5/core/push-notification-config.json +48 -0
- package/dist/lib/schemas-data/v2.5/core/reporting-capabilities.json +71 -0
- package/dist/lib/schemas-data/v2.5/core/response.json +24 -0
- package/dist/lib/schemas-data/v2.5/core/signal-filters.json +35 -0
- package/dist/lib/schemas-data/v2.5/core/start-timing.json +18 -0
- package/dist/lib/schemas-data/v2.5/core/sub-asset.json +79 -0
- package/dist/lib/schemas-data/v2.5/core/targeting.json +50 -0
- package/dist/lib/schemas-data/v2.5/core/tasks-get-request.json +43 -0
- package/dist/lib/schemas-data/v2.5/core/tasks-get-response.json +166 -0
- package/dist/lib/schemas-data/v2.5/core/tasks-list-request.json +192 -0
- package/dist/lib/schemas-data/v2.5/core/tasks-list-response.json +183 -0
- package/dist/lib/schemas-data/v2.5/creative/asset-types/index.json +101 -0
- package/dist/lib/schemas-data/v2.5/creative/list-creative-formats-request.json +73 -0
- package/dist/lib/schemas-data/v2.5/creative/list-creative-formats-response.json +61 -0
- package/dist/lib/schemas-data/v2.5/creative/preview-creative-request.json +164 -0
- package/dist/lib/schemas-data/v2.5/creative/preview-creative-response.json +245 -0
- package/dist/lib/schemas-data/v2.5/creative/preview-render.json +225 -0
- package/dist/lib/schemas-data/v2.5/enums/adcp-domain.json +11 -0
- package/dist/lib/schemas-data/v2.5/enums/asset-content-type.json +22 -0
- package/dist/lib/schemas-data/v2.5/enums/auth-scheme.json +11 -0
- package/dist/lib/schemas-data/v2.5/enums/available-metric.json +18 -0
- package/dist/lib/schemas-data/v2.5/enums/channels.json +18 -0
- package/dist/lib/schemas-data/v2.5/enums/co-branding-requirement.json +12 -0
- package/dist/lib/schemas-data/v2.5/enums/creative-action.json +14 -0
- package/dist/lib/schemas-data/v2.5/enums/creative-agent-capability.json +13 -0
- package/dist/lib/schemas-data/v2.5/enums/creative-sort-field.json +15 -0
- package/dist/lib/schemas-data/v2.5/enums/creative-status.json +19 -0
- package/dist/lib/schemas-data/v2.5/enums/daast-tracking-event.json +20 -0
- package/dist/lib/schemas-data/v2.5/enums/daast-version.json +11 -0
- package/dist/lib/schemas-data/v2.5/enums/delivery-type.json +15 -0
- package/dist/lib/schemas-data/v2.5/enums/dimension-unit.json +13 -0
- package/dist/lib/schemas-data/v2.5/enums/feed-format.json +12 -0
- package/dist/lib/schemas-data/v2.5/enums/feedback-source.json +13 -0
- package/dist/lib/schemas-data/v2.5/enums/format-category.json +16 -0
- package/dist/lib/schemas-data/v2.5/enums/format-id-parameter.json +11 -0
- package/dist/lib/schemas-data/v2.5/enums/frequency-cap-scope.json +13 -0
- package/dist/lib/schemas-data/v2.5/enums/history-entry-type.json +11 -0
- package/dist/lib/schemas-data/v2.5/enums/http-method.json +11 -0
- package/dist/lib/schemas-data/v2.5/enums/identifier-types.json +34 -0
- package/dist/lib/schemas-data/v2.5/enums/javascript-module-type.json +12 -0
- package/dist/lib/schemas-data/v2.5/enums/landing-page-requirement.json +12 -0
- package/dist/lib/schemas-data/v2.5/enums/markdown-flavor.json +11 -0
- package/dist/lib/schemas-data/v2.5/enums/media-buy-status.json +19 -0
- package/dist/lib/schemas-data/v2.5/enums/metric-type.json +17 -0
- package/dist/lib/schemas-data/v2.5/enums/notification-type.json +13 -0
- package/dist/lib/schemas-data/v2.5/enums/pacing.json +17 -0
- package/dist/lib/schemas-data/v2.5/enums/preview-output-format.json +11 -0
- package/dist/lib/schemas-data/v2.5/enums/pricing-model.json +25 -0
- package/dist/lib/schemas-data/v2.5/enums/property-type.json +16 -0
- package/dist/lib/schemas-data/v2.5/enums/publisher-identifier-types.json +19 -0
- package/dist/lib/schemas-data/v2.5/enums/reporting-frequency.json +12 -0
- package/dist/lib/schemas-data/v2.5/enums/signal-catalog-type.json +12 -0
- package/dist/lib/schemas-data/v2.5/enums/sort-direction.json +11 -0
- package/dist/lib/schemas-data/v2.5/enums/standard-format-ids.json +103 -0
- package/dist/lib/schemas-data/v2.5/enums/task-status.json +29 -0
- package/dist/lib/schemas-data/v2.5/enums/task-type.json +27 -0
- package/dist/lib/schemas-data/v2.5/enums/update-frequency.json +13 -0
- package/dist/lib/schemas-data/v2.5/enums/url-asset-type.json +12 -0
- package/dist/lib/schemas-data/v2.5/enums/validation-mode.json +11 -0
- package/dist/lib/schemas-data/v2.5/enums/vast-tracking-event.json +25 -0
- package/dist/lib/schemas-data/v2.5/enums/vast-version.json +14 -0
- package/dist/lib/schemas-data/v2.5/enums/webhook-response-type.json +13 -0
- package/dist/lib/schemas-data/v2.5/enums/webhook-security-method.json +12 -0
- package/dist/lib/schemas-data/v2.5/index.json +604 -0
- package/dist/lib/schemas-data/v2.5/media-buy/build-creative-request.json +31 -0
- package/dist/lib/schemas-data/v2.5/media-buy/build-creative-response.json +65 -0
- package/dist/lib/schemas-data/v2.5/media-buy/create-media-buy-async-response-input-required.json +31 -0
- package/dist/lib/schemas-data/v2.5/media-buy/create-media-buy-async-response-submitted.json +16 -0
- package/dist/lib/schemas-data/v2.5/media-buy/create-media-buy-async-response-working.json +36 -0
- package/dist/lib/schemas-data/v2.5/media-buy/create-media-buy-request.json +126 -0
- package/dist/lib/schemas-data/v2.5/media-buy/create-media-buy-response.json +97 -0
- package/dist/lib/schemas-data/v2.5/media-buy/get-media-buy-delivery-request.json +54 -0
- package/dist/lib/schemas-data/v2.5/media-buy/get-media-buy-delivery-response.json +285 -0
- package/dist/lib/schemas-data/v2.5/media-buy/get-products-async-response-input-required.json +38 -0
- package/dist/lib/schemas-data/v2.5/media-buy/get-products-async-response-submitted.json +21 -0
- package/dist/lib/schemas-data/v2.5/media-buy/get-products-async-response-working.json +34 -0
- package/dist/lib/schemas-data/v2.5/media-buy/get-products-request.json +28 -0
- package/dist/lib/schemas-data/v2.5/media-buy/get-products-response.json +33 -0
- package/dist/lib/schemas-data/v2.5/media-buy/list-authorized-properties-request.json +26 -0
- package/dist/lib/schemas-data/v2.5/media-buy/list-authorized-properties-response.json +70 -0
- package/dist/lib/schemas-data/v2.5/media-buy/list-creative-formats-request.json +58 -0
- package/dist/lib/schemas-data/v2.5/media-buy/list-creative-formats-response.json +61 -0
- package/dist/lib/schemas-data/v2.5/media-buy/list-creatives-request.json +137 -0
- package/dist/lib/schemas-data/v2.5/media-buy/list-creatives-response.json +437 -0
- package/dist/lib/schemas-data/v2.5/media-buy/package-request.json +80 -0
- package/dist/lib/schemas-data/v2.5/media-buy/provide-performance-feedback-request.json +88 -0
- package/dist/lib/schemas-data/v2.5/media-buy/provide-performance-feedback-response.json +66 -0
- package/dist/lib/schemas-data/v2.5/media-buy/sync-creatives-async-response-input-required.json +25 -0
- package/dist/lib/schemas-data/v2.5/media-buy/sync-creatives-async-response-submitted.json +16 -0
- package/dist/lib/schemas-data/v2.5/media-buy/sync-creatives-async-response-working.json +46 -0
- package/dist/lib/schemas-data/v2.5/media-buy/sync-creatives-request.json +178 -0
- package/dist/lib/schemas-data/v2.5/media-buy/sync-creatives-response.json +149 -0
- package/dist/lib/schemas-data/v2.5/media-buy/update-media-buy-async-response-input-required.json +24 -0
- package/dist/lib/schemas-data/v2.5/media-buy/update-media-buy-async-response-submitted.json +16 -0
- package/dist/lib/schemas-data/v2.5/media-buy/update-media-buy-async-response-working.json +36 -0
- package/dist/lib/schemas-data/v2.5/media-buy/update-media-buy-request.json +129 -0
- package/dist/lib/schemas-data/v2.5/media-buy/update-media-buy-response.json +99 -0
- package/dist/lib/schemas-data/v2.5/pricing-options/cpc-option.json +52 -0
- package/dist/lib/schemas-data/v2.5/pricing-options/cpcv-option.json +52 -0
- package/dist/lib/schemas-data/v2.5/pricing-options/cpm-auction-option.json +81 -0
- package/dist/lib/schemas-data/v2.5/pricing-options/cpm-fixed-option.json +52 -0
- package/dist/lib/schemas-data/v2.5/pricing-options/cpp-option.json +73 -0
- package/dist/lib/schemas-data/v2.5/pricing-options/cpv-option.json +88 -0
- package/dist/lib/schemas-data/v2.5/pricing-options/flat-rate-option.json +93 -0
- package/dist/lib/schemas-data/v2.5/pricing-options/vcpm-auction-option.json +81 -0
- package/dist/lib/schemas-data/v2.5/pricing-options/vcpm-fixed-option.json +52 -0
- package/dist/lib/schemas-data/v2.5/protocols/adcp-extension.json +33 -0
- package/dist/lib/schemas-data/v2.5/signals/activate-signal-request.json +32 -0
- package/dist/lib/schemas-data/v2.5/signals/activate-signal-response.json +68 -0
- package/dist/lib/schemas-data/v2.5/signals/get-signals-request.json +59 -0
- package/dist/lib/schemas-data/v2.5/signals/get-signals-response.json +100 -0
- package/dist/lib/server/create-adcp-server.d.ts.map +1 -1
- package/dist/lib/server/create-adcp-server.js +40 -25
- package/dist/lib/server/create-adcp-server.js.map +1 -1
- package/dist/lib/testing/storyboard/runner.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/runner.js +107 -26
- package/dist/lib/testing/storyboard/runner.js.map +1 -1
- package/dist/lib/utils/creative-adapter.d.ts +32 -2
- package/dist/lib/utils/creative-adapter.d.ts.map +1 -1
- package/dist/lib/utils/creative-adapter.js +42 -6
- package/dist/lib/utils/creative-adapter.js.map +1 -1
- package/dist/lib/validation/schema-loader.d.ts.map +1 -1
- package/dist/lib/validation/schema-loader.js +20 -2
- package/dist/lib/validation/schema-loader.js.map +1 -1
- package/dist/lib/version.d.ts +3 -3
- package/dist/lib/version.js +3 -3
- package/package.json +7 -5
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "/schemas/media-buy/update-media-buy-request.json",
|
|
4
|
+
"title": "Update Media Buy Request",
|
|
5
|
+
"description": "Request parameters for updating campaign and package settings",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"media_buy_id": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "Publisher's ID of the media buy to update"
|
|
11
|
+
},
|
|
12
|
+
"buyer_ref": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"description": "Buyer's reference for the media buy to update"
|
|
15
|
+
},
|
|
16
|
+
"paused": {
|
|
17
|
+
"type": "boolean",
|
|
18
|
+
"description": "Pause/resume the entire media buy (true = paused, false = active)"
|
|
19
|
+
},
|
|
20
|
+
"start_time": {
|
|
21
|
+
"$ref": "/schemas/core/start-timing.json"
|
|
22
|
+
},
|
|
23
|
+
"end_time": {
|
|
24
|
+
"type": "string",
|
|
25
|
+
"format": "date-time",
|
|
26
|
+
"description": "New end date/time in ISO 8601 format"
|
|
27
|
+
},
|
|
28
|
+
"packages": {
|
|
29
|
+
"type": "array",
|
|
30
|
+
"description": "Package-specific updates",
|
|
31
|
+
"items": {
|
|
32
|
+
"type": "object",
|
|
33
|
+
"properties": {
|
|
34
|
+
"package_id": {
|
|
35
|
+
"type": "string",
|
|
36
|
+
"description": "Publisher's ID of package to update"
|
|
37
|
+
},
|
|
38
|
+
"buyer_ref": {
|
|
39
|
+
"type": "string",
|
|
40
|
+
"description": "Buyer's reference for the package to update"
|
|
41
|
+
},
|
|
42
|
+
"budget": {
|
|
43
|
+
"type": "number",
|
|
44
|
+
"description": "Updated budget allocation for this package in the currency specified by the pricing option",
|
|
45
|
+
"minimum": 0
|
|
46
|
+
},
|
|
47
|
+
"pacing": {
|
|
48
|
+
"$ref": "/schemas/enums/pacing.json"
|
|
49
|
+
},
|
|
50
|
+
"bid_price": {
|
|
51
|
+
"type": "number",
|
|
52
|
+
"description": "Updated bid price for auction-based pricing options (only applies when pricing_option is auction-based)",
|
|
53
|
+
"minimum": 0
|
|
54
|
+
},
|
|
55
|
+
"impressions": {
|
|
56
|
+
"type": "number",
|
|
57
|
+
"description": "Updated impression goal for this package",
|
|
58
|
+
"minimum": 0
|
|
59
|
+
},
|
|
60
|
+
"paused": {
|
|
61
|
+
"type": "boolean",
|
|
62
|
+
"description": "Pause/resume specific package (true = paused, false = active)"
|
|
63
|
+
},
|
|
64
|
+
"targeting_overlay": {
|
|
65
|
+
"$ref": "/schemas/core/targeting.json"
|
|
66
|
+
},
|
|
67
|
+
"creative_ids": {
|
|
68
|
+
"type": "array",
|
|
69
|
+
"description": "Update creative assignments (references existing library creatives)",
|
|
70
|
+
"items": {
|
|
71
|
+
"type": "string"
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
"creatives": {
|
|
75
|
+
"type": "array",
|
|
76
|
+
"description": "Full creative objects to upload and assign to this package (alternative to creative_ids - creatives will be added to library). Supports both static and generative creatives.",
|
|
77
|
+
"items": {
|
|
78
|
+
"$ref": "/schemas/core/creative-asset.json"
|
|
79
|
+
},
|
|
80
|
+
"maxItems": 100
|
|
81
|
+
},
|
|
82
|
+
"creative_assignments": {
|
|
83
|
+
"type": "array",
|
|
84
|
+
"description": "Full creative assignment objects with weights and placement targeting (alternative to creative_ids - provides granular control over weights and placement targeting). Uses replacement semantics like creative_ids.",
|
|
85
|
+
"items": {
|
|
86
|
+
"$ref": "/schemas/core/creative-assignment.json"
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
"oneOf": [
|
|
91
|
+
{
|
|
92
|
+
"required": [
|
|
93
|
+
"package_id"
|
|
94
|
+
]
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"required": [
|
|
98
|
+
"buyer_ref"
|
|
99
|
+
]
|
|
100
|
+
}
|
|
101
|
+
],
|
|
102
|
+
"additionalProperties": true
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
"push_notification_config": {
|
|
106
|
+
"$ref": "/schemas/core/push-notification-config.json",
|
|
107
|
+
"description": "Optional webhook configuration for async update notifications. Publisher will send webhook when update completes if operation takes longer than immediate response time."
|
|
108
|
+
},
|
|
109
|
+
"context": {
|
|
110
|
+
"$ref": "/schemas/core/context.json"
|
|
111
|
+
},
|
|
112
|
+
"ext": {
|
|
113
|
+
"$ref": "/schemas/core/ext.json"
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
"oneOf": [
|
|
117
|
+
{
|
|
118
|
+
"required": [
|
|
119
|
+
"media_buy_id"
|
|
120
|
+
]
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"required": [
|
|
124
|
+
"buyer_ref"
|
|
125
|
+
]
|
|
126
|
+
}
|
|
127
|
+
],
|
|
128
|
+
"additionalProperties": true
|
|
129
|
+
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "/schemas/media-buy/update-media-buy-response.json",
|
|
4
|
+
"title": "Update Media Buy Response",
|
|
5
|
+
"description": "Response payload for update_media_buy task. Returns either complete success data OR error information, never both. This enforces atomic operation semantics - updates are either fully applied or not applied at all.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"oneOf": [
|
|
8
|
+
{
|
|
9
|
+
"title": "UpdateMediaBuySuccess",
|
|
10
|
+
"description": "Success response - media buy updated successfully",
|
|
11
|
+
"type": "object",
|
|
12
|
+
"properties": {
|
|
13
|
+
"media_buy_id": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"description": "Publisher's identifier for the media buy"
|
|
16
|
+
},
|
|
17
|
+
"buyer_ref": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"description": "Buyer's reference identifier for the media buy"
|
|
20
|
+
},
|
|
21
|
+
"implementation_date": {
|
|
22
|
+
"type": [
|
|
23
|
+
"string",
|
|
24
|
+
"null"
|
|
25
|
+
],
|
|
26
|
+
"format": "date-time",
|
|
27
|
+
"description": "ISO 8601 timestamp when changes take effect (null if pending approval)"
|
|
28
|
+
},
|
|
29
|
+
"affected_packages": {
|
|
30
|
+
"type": "array",
|
|
31
|
+
"description": "Array of packages that were modified with complete state information",
|
|
32
|
+
"items": {
|
|
33
|
+
"$ref": "/schemas/core/package.json"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"context": {
|
|
37
|
+
"$ref": "/schemas/core/context.json"
|
|
38
|
+
},
|
|
39
|
+
"ext": {
|
|
40
|
+
"$ref": "/schemas/core/ext.json"
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"required": [
|
|
44
|
+
"media_buy_id",
|
|
45
|
+
"buyer_ref"
|
|
46
|
+
],
|
|
47
|
+
"additionalProperties": true,
|
|
48
|
+
"not": {
|
|
49
|
+
"required": [
|
|
50
|
+
"errors"
|
|
51
|
+
]
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"title": "UpdateMediaBuyError",
|
|
56
|
+
"description": "Error response - operation failed, no changes applied",
|
|
57
|
+
"type": "object",
|
|
58
|
+
"properties": {
|
|
59
|
+
"errors": {
|
|
60
|
+
"type": "array",
|
|
61
|
+
"description": "Array of errors explaining why the operation failed",
|
|
62
|
+
"items": {
|
|
63
|
+
"$ref": "/schemas/core/error.json"
|
|
64
|
+
},
|
|
65
|
+
"minItems": 1
|
|
66
|
+
},
|
|
67
|
+
"context": {
|
|
68
|
+
"$ref": "/schemas/core/context.json"
|
|
69
|
+
},
|
|
70
|
+
"ext": {
|
|
71
|
+
"$ref": "/schemas/core/ext.json"
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
"required": [
|
|
75
|
+
"errors"
|
|
76
|
+
],
|
|
77
|
+
"additionalProperties": true,
|
|
78
|
+
"not": {
|
|
79
|
+
"anyOf": [
|
|
80
|
+
{
|
|
81
|
+
"required": [
|
|
82
|
+
"media_buy_id"
|
|
83
|
+
]
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"required": [
|
|
87
|
+
"buyer_ref"
|
|
88
|
+
]
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"required": [
|
|
92
|
+
"affected_packages"
|
|
93
|
+
]
|
|
94
|
+
}
|
|
95
|
+
]
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
]
|
|
99
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "/schemas/pricing-options/cpc-option.json",
|
|
4
|
+
"title": "CPC Pricing Option",
|
|
5
|
+
"description": "Cost Per Click fixed-rate pricing for performance-driven advertising campaigns",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"pricing_option_id": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "Unique identifier for this pricing option within the product (e.g., 'cpc_usd_fixed')"
|
|
11
|
+
},
|
|
12
|
+
"pricing_model": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"const": "cpc",
|
|
15
|
+
"description": "Cost per click"
|
|
16
|
+
},
|
|
17
|
+
"rate": {
|
|
18
|
+
"type": "number",
|
|
19
|
+
"description": "Fixed CPC rate (cost per click)",
|
|
20
|
+
"minimum": 0
|
|
21
|
+
},
|
|
22
|
+
"currency": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"description": "ISO 4217 currency code",
|
|
25
|
+
"pattern": "^[A-Z]{3}$",
|
|
26
|
+
"examples": [
|
|
27
|
+
"USD",
|
|
28
|
+
"EUR",
|
|
29
|
+
"GBP",
|
|
30
|
+
"JPY"
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"is_fixed": {
|
|
34
|
+
"type": "boolean",
|
|
35
|
+
"description": "Whether this is a fixed rate (true) or auction-based (false)",
|
|
36
|
+
"const": true
|
|
37
|
+
},
|
|
38
|
+
"min_spend_per_package": {
|
|
39
|
+
"type": "number",
|
|
40
|
+
"description": "Minimum spend requirement per package using this pricing option, in the specified currency",
|
|
41
|
+
"minimum": 0
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"required": [
|
|
45
|
+
"pricing_option_id",
|
|
46
|
+
"pricing_model",
|
|
47
|
+
"rate",
|
|
48
|
+
"currency",
|
|
49
|
+
"is_fixed"
|
|
50
|
+
],
|
|
51
|
+
"additionalProperties": true
|
|
52
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "/schemas/pricing-options/cpcv-option.json",
|
|
4
|
+
"title": "CPCV Pricing Option",
|
|
5
|
+
"description": "Cost Per Completed View (100% video/audio completion) fixed-rate pricing",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"pricing_option_id": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "Unique identifier for this pricing option within the product (e.g., 'cpcv_usd_guaranteed')"
|
|
11
|
+
},
|
|
12
|
+
"pricing_model": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"const": "cpcv",
|
|
15
|
+
"description": "Cost per completed view (100% completion)"
|
|
16
|
+
},
|
|
17
|
+
"rate": {
|
|
18
|
+
"type": "number",
|
|
19
|
+
"description": "Fixed CPCV rate (cost per 100% completion)",
|
|
20
|
+
"minimum": 0
|
|
21
|
+
},
|
|
22
|
+
"currency": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"description": "ISO 4217 currency code",
|
|
25
|
+
"pattern": "^[A-Z]{3}$",
|
|
26
|
+
"examples": [
|
|
27
|
+
"USD",
|
|
28
|
+
"EUR",
|
|
29
|
+
"GBP",
|
|
30
|
+
"JPY"
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"is_fixed": {
|
|
34
|
+
"type": "boolean",
|
|
35
|
+
"description": "Whether this is a fixed rate (true) or auction-based (false)",
|
|
36
|
+
"const": true
|
|
37
|
+
},
|
|
38
|
+
"min_spend_per_package": {
|
|
39
|
+
"type": "number",
|
|
40
|
+
"description": "Minimum spend requirement per package using this pricing option, in the specified currency",
|
|
41
|
+
"minimum": 0
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"required": [
|
|
45
|
+
"pricing_option_id",
|
|
46
|
+
"pricing_model",
|
|
47
|
+
"rate",
|
|
48
|
+
"currency",
|
|
49
|
+
"is_fixed"
|
|
50
|
+
],
|
|
51
|
+
"additionalProperties": true
|
|
52
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "/schemas/pricing-options/cpm-auction-option.json",
|
|
4
|
+
"title": "CPM Auction Pricing Option",
|
|
5
|
+
"description": "Cost Per Mille (cost per 1,000 impressions) with auction-based pricing - common for programmatic/non-guaranteed inventory",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"pricing_option_id": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "Unique identifier for this pricing option within the product (e.g., 'cpm_usd_auction')"
|
|
11
|
+
},
|
|
12
|
+
"pricing_model": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"const": "cpm",
|
|
15
|
+
"description": "Cost per 1,000 impressions"
|
|
16
|
+
},
|
|
17
|
+
"currency": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"description": "ISO 4217 currency code",
|
|
20
|
+
"pattern": "^[A-Z]{3}$",
|
|
21
|
+
"examples": [
|
|
22
|
+
"USD",
|
|
23
|
+
"EUR",
|
|
24
|
+
"GBP",
|
|
25
|
+
"JPY"
|
|
26
|
+
]
|
|
27
|
+
},
|
|
28
|
+
"is_fixed": {
|
|
29
|
+
"type": "boolean",
|
|
30
|
+
"description": "Whether this is a fixed rate (true) or auction-based (false)",
|
|
31
|
+
"const": false
|
|
32
|
+
},
|
|
33
|
+
"price_guidance": {
|
|
34
|
+
"type": "object",
|
|
35
|
+
"description": "Pricing guidance for auction-based CPM bidding",
|
|
36
|
+
"properties": {
|
|
37
|
+
"floor": {
|
|
38
|
+
"type": "number",
|
|
39
|
+
"description": "Minimum bid price - publisher will reject bids under this value",
|
|
40
|
+
"minimum": 0
|
|
41
|
+
},
|
|
42
|
+
"p25": {
|
|
43
|
+
"type": "number",
|
|
44
|
+
"description": "25th percentile winning price",
|
|
45
|
+
"minimum": 0
|
|
46
|
+
},
|
|
47
|
+
"p50": {
|
|
48
|
+
"type": "number",
|
|
49
|
+
"description": "Median winning price",
|
|
50
|
+
"minimum": 0
|
|
51
|
+
},
|
|
52
|
+
"p75": {
|
|
53
|
+
"type": "number",
|
|
54
|
+
"description": "75th percentile winning price",
|
|
55
|
+
"minimum": 0
|
|
56
|
+
},
|
|
57
|
+
"p90": {
|
|
58
|
+
"type": "number",
|
|
59
|
+
"description": "90th percentile winning price",
|
|
60
|
+
"minimum": 0
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
"required": [
|
|
64
|
+
"floor"
|
|
65
|
+
]
|
|
66
|
+
},
|
|
67
|
+
"min_spend_per_package": {
|
|
68
|
+
"type": "number",
|
|
69
|
+
"description": "Minimum spend requirement per package using this pricing option, in the specified currency",
|
|
70
|
+
"minimum": 0
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
"required": [
|
|
74
|
+
"pricing_option_id",
|
|
75
|
+
"pricing_model",
|
|
76
|
+
"price_guidance",
|
|
77
|
+
"currency",
|
|
78
|
+
"is_fixed"
|
|
79
|
+
],
|
|
80
|
+
"additionalProperties": true
|
|
81
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "/schemas/pricing-options/cpm-fixed-option.json",
|
|
4
|
+
"title": "CPM Fixed Rate Pricing Option",
|
|
5
|
+
"description": "Cost Per Mille (cost per 1,000 impressions) with guaranteed fixed rate - common for direct/guaranteed deals",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"pricing_option_id": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "Unique identifier for this pricing option within the product (e.g., 'cpm_usd_guaranteed')"
|
|
11
|
+
},
|
|
12
|
+
"pricing_model": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"const": "cpm",
|
|
15
|
+
"description": "Cost per 1,000 impressions"
|
|
16
|
+
},
|
|
17
|
+
"rate": {
|
|
18
|
+
"type": "number",
|
|
19
|
+
"description": "Fixed CPM rate (cost per 1,000 impressions)",
|
|
20
|
+
"minimum": 0
|
|
21
|
+
},
|
|
22
|
+
"currency": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"description": "ISO 4217 currency code",
|
|
25
|
+
"pattern": "^[A-Z]{3}$",
|
|
26
|
+
"examples": [
|
|
27
|
+
"USD",
|
|
28
|
+
"EUR",
|
|
29
|
+
"GBP",
|
|
30
|
+
"JPY"
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"is_fixed": {
|
|
34
|
+
"type": "boolean",
|
|
35
|
+
"description": "Whether this is a fixed rate (true) or auction-based (false)",
|
|
36
|
+
"const": true
|
|
37
|
+
},
|
|
38
|
+
"min_spend_per_package": {
|
|
39
|
+
"type": "number",
|
|
40
|
+
"description": "Minimum spend requirement per package using this pricing option, in the specified currency",
|
|
41
|
+
"minimum": 0
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"required": [
|
|
45
|
+
"pricing_option_id",
|
|
46
|
+
"pricing_model",
|
|
47
|
+
"rate",
|
|
48
|
+
"currency",
|
|
49
|
+
"is_fixed"
|
|
50
|
+
],
|
|
51
|
+
"additionalProperties": true
|
|
52
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "/schemas/pricing-options/cpp-option.json",
|
|
4
|
+
"title": "CPP Pricing Option",
|
|
5
|
+
"description": "Cost Per Point (Gross Rating Point) fixed-rate pricing for TV and audio campaigns requiring demographic measurement",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"pricing_option_id": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "Unique identifier for this pricing option within the product (e.g., 'cpp_usd_p18-49')"
|
|
11
|
+
},
|
|
12
|
+
"pricing_model": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"const": "cpp",
|
|
15
|
+
"description": "Cost per Gross Rating Point"
|
|
16
|
+
},
|
|
17
|
+
"rate": {
|
|
18
|
+
"type": "number",
|
|
19
|
+
"description": "Fixed CPP rate (cost per rating point)",
|
|
20
|
+
"minimum": 0
|
|
21
|
+
},
|
|
22
|
+
"currency": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"description": "ISO 4217 currency code",
|
|
25
|
+
"pattern": "^[A-Z]{3}$",
|
|
26
|
+
"examples": [
|
|
27
|
+
"USD",
|
|
28
|
+
"EUR",
|
|
29
|
+
"GBP",
|
|
30
|
+
"JPY"
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"is_fixed": {
|
|
34
|
+
"type": "boolean",
|
|
35
|
+
"description": "Whether this is a fixed rate (true) or auction-based (false)",
|
|
36
|
+
"const": true
|
|
37
|
+
},
|
|
38
|
+
"parameters": {
|
|
39
|
+
"type": "object",
|
|
40
|
+
"description": "CPP-specific parameters for demographic targeting and GRP requirements",
|
|
41
|
+
"properties": {
|
|
42
|
+
"demographic": {
|
|
43
|
+
"type": "string",
|
|
44
|
+
"pattern": "^[PMWAC][0-9]{2}(-[0-9]{2}|\\+)$",
|
|
45
|
+
"description": "Target demographic in Nielsen format: P/M/W/A/C + age range. Examples: P18-49 (Persons 18-49), M25-54 (Men 25-54), W35+ (Women 35+), A18-34 (Adults 18-34), C2-11 (Children 2-11)"
|
|
46
|
+
},
|
|
47
|
+
"min_points": {
|
|
48
|
+
"type": "number",
|
|
49
|
+
"description": "Minimum GRPs/TRPs required for this pricing option",
|
|
50
|
+
"minimum": 0
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"required": [
|
|
54
|
+
"demographic"
|
|
55
|
+
],
|
|
56
|
+
"additionalProperties": true
|
|
57
|
+
},
|
|
58
|
+
"min_spend_per_package": {
|
|
59
|
+
"type": "number",
|
|
60
|
+
"description": "Minimum spend requirement per package using this pricing option, in the specified currency",
|
|
61
|
+
"minimum": 0
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
"required": [
|
|
65
|
+
"pricing_option_id",
|
|
66
|
+
"pricing_model",
|
|
67
|
+
"rate",
|
|
68
|
+
"currency",
|
|
69
|
+
"is_fixed",
|
|
70
|
+
"parameters"
|
|
71
|
+
],
|
|
72
|
+
"additionalProperties": true
|
|
73
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "/schemas/pricing-options/cpv-option.json",
|
|
4
|
+
"title": "CPV Pricing Option",
|
|
5
|
+
"description": "Cost Per View (at publisher-defined threshold) fixed-rate pricing for video/audio",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"pricing_option_id": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "Unique identifier for this pricing option within the product (e.g., 'cpv_usd_50pct')"
|
|
11
|
+
},
|
|
12
|
+
"pricing_model": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"const": "cpv",
|
|
15
|
+
"description": "Cost per view at threshold"
|
|
16
|
+
},
|
|
17
|
+
"rate": {
|
|
18
|
+
"type": "number",
|
|
19
|
+
"description": "Fixed CPV rate (cost per view)",
|
|
20
|
+
"minimum": 0
|
|
21
|
+
},
|
|
22
|
+
"currency": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"description": "ISO 4217 currency code",
|
|
25
|
+
"pattern": "^[A-Z]{3}$",
|
|
26
|
+
"examples": [
|
|
27
|
+
"USD",
|
|
28
|
+
"EUR",
|
|
29
|
+
"GBP",
|
|
30
|
+
"JPY"
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"is_fixed": {
|
|
34
|
+
"type": "boolean",
|
|
35
|
+
"description": "Whether this is a fixed rate (true) or auction-based (false)",
|
|
36
|
+
"const": true
|
|
37
|
+
},
|
|
38
|
+
"parameters": {
|
|
39
|
+
"type": "object",
|
|
40
|
+
"description": "CPV-specific parameters defining the view threshold",
|
|
41
|
+
"properties": {
|
|
42
|
+
"view_threshold": {
|
|
43
|
+
"oneOf": [
|
|
44
|
+
{
|
|
45
|
+
"type": "number",
|
|
46
|
+
"description": "Percentage completion threshold for CPV pricing (0.0 to 1.0, e.g., 0.5 = 50% completion)",
|
|
47
|
+
"minimum": 0,
|
|
48
|
+
"maximum": 1
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"type": "object",
|
|
52
|
+
"description": "Time-based view threshold for CPV pricing",
|
|
53
|
+
"properties": {
|
|
54
|
+
"duration_seconds": {
|
|
55
|
+
"type": "integer",
|
|
56
|
+
"description": "Seconds of viewing required (e.g., 30 for YouTube-style '30 seconds = view')",
|
|
57
|
+
"minimum": 1
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
"required": [
|
|
61
|
+
"duration_seconds"
|
|
62
|
+
],
|
|
63
|
+
"additionalProperties": true
|
|
64
|
+
}
|
|
65
|
+
]
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
"required": [
|
|
69
|
+
"view_threshold"
|
|
70
|
+
],
|
|
71
|
+
"additionalProperties": true
|
|
72
|
+
},
|
|
73
|
+
"min_spend_per_package": {
|
|
74
|
+
"type": "number",
|
|
75
|
+
"description": "Minimum spend requirement per package using this pricing option, in the specified currency",
|
|
76
|
+
"minimum": 0
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
"required": [
|
|
80
|
+
"pricing_option_id",
|
|
81
|
+
"pricing_model",
|
|
82
|
+
"rate",
|
|
83
|
+
"currency",
|
|
84
|
+
"is_fixed",
|
|
85
|
+
"parameters"
|
|
86
|
+
],
|
|
87
|
+
"additionalProperties": true
|
|
88
|
+
}
|