@adcp/sdk 17.0.0-beta.1 → 17.0.0-beta.2
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/keyed-account-store.js +1 -1
- package/dist/lib/adapters/keyed-account-store.mjs +1 -1
- package/dist/lib/adapters/version/3.0/brand-fields.d.mts +7 -1
- package/dist/lib/adapters/version/3.0/brand-fields.d.ts +7 -1
- package/dist/lib/adapters/version/3.0/brand-fields.js +139 -3
- package/dist/lib/adapters/version/3.0/brand-fields.mjs +136 -2
- package/dist/lib/adapters/version/3.0/index.js +6 -0
- package/dist/lib/adapters/version/3.0/index.mjs +7 -1
- package/dist/lib/adapters/version/types.d.mts +5 -0
- package/dist/lib/adapters/version/types.d.ts +5 -0
- package/dist/lib/canonical-references/index.js +2 -0
- package/dist/lib/canonical-references/index.mjs +2 -0
- package/dist/lib/client/account-changes.d.mts +3 -1
- package/dist/lib/client/account-changes.d.ts +3 -1
- package/dist/lib/client/account-changes.js +22 -2
- package/dist/lib/client/account-changes.mjs +22 -2
- package/dist/lib/conformance/oracle.js +3 -2
- package/dist/lib/conformance/oracle.mjs +3 -2
- package/dist/lib/core/AgentClient.d.mts +165 -1
- package/dist/lib/core/AgentClient.d.ts +165 -1
- package/dist/lib/core/AgentClient.js +446 -8
- package/dist/lib/core/AgentClient.mjs +446 -8
- package/dist/lib/core/ConversationTypes.d.mts +8 -0
- package/dist/lib/core/ConversationTypes.d.ts +8 -0
- package/dist/lib/core/ProtocolResponseParser.d.mts +1 -1
- package/dist/lib/core/ProtocolResponseParser.d.ts +1 -1
- package/dist/lib/core/ProtocolResponseParser.js +28 -18
- package/dist/lib/core/ProtocolResponseParser.mjs +11 -1
- package/dist/lib/core/SingleAgentClient.d.mts +115 -2
- package/dist/lib/core/SingleAgentClient.d.ts +115 -2
- package/dist/lib/core/SingleAgentClient.js +547 -67
- package/dist/lib/core/SingleAgentClient.mjs +534 -54
- package/dist/lib/core/TaskExecutor.d.mts +7 -0
- package/dist/lib/core/TaskExecutor.d.ts +7 -0
- package/dist/lib/core/TaskExecutor.js +18 -5
- package/dist/lib/core/TaskExecutor.mjs +18 -5
- package/dist/lib/core/task-status.d.mts +2 -0
- package/dist/lib/core/task-status.d.ts +2 -0
- package/dist/lib/core/task-status.js +11 -2
- package/dist/lib/core/task-status.mjs +9 -1
- package/dist/lib/identity-3.3/trust.d.mts +1 -4
- package/dist/lib/identity-3.3/trust.d.ts +1 -4
- package/dist/lib/identity-3.3/trust.js +34 -21
- package/dist/lib/identity-3.3/trust.mjs +34 -21
- package/dist/lib/identity-3.3/validation.js +5 -3
- package/dist/lib/identity-3.3/validation.mjs +6 -4
- package/dist/lib/index.d.mts +6 -52
- package/dist/lib/index.d.ts +6 -52
- package/dist/lib/index.js +11 -0
- package/dist/lib/index.mjs +7 -0
- package/dist/lib/media-buy/compatibility.js +6 -1
- package/dist/lib/media-buy/compatibility.mjs +6 -1
- package/dist/lib/protocols/mcp-scope.d.mts +3 -0
- package/dist/lib/protocols/mcp-scope.d.ts +3 -0
- package/dist/lib/protocols/mcp-scope.js +8 -3
- package/dist/lib/protocols/mcp-scope.mjs +8 -3
- package/dist/lib/reporting/inspection.js +1 -0
- package/dist/lib/reporting/inspection.mjs +1 -0
- package/dist/lib/reporting/ledger/coverage.d.mts +5 -0
- package/dist/lib/reporting/ledger/coverage.d.ts +5 -0
- package/dist/lib/reporting/ledger/coverage.js +37 -3
- package/dist/lib/reporting/ledger/coverage.mjs +36 -3
- package/dist/lib/reporting/ledger/handler.js +7 -4
- package/dist/lib/reporting/ledger/handler.mjs +7 -4
- package/dist/lib/reporting/ledger/producer.js +215 -69
- package/dist/lib/reporting/ledger/producer.mjs +217 -70
- package/dist/lib/reporting/ledger/schedule.d.mts +2 -2
- package/dist/lib/reporting/ledger/schedule.d.ts +2 -2
- package/dist/lib/reporting/ledger/schedule.js +8 -5
- package/dist/lib/reporting/ledger/schedule.mjs +8 -5
- package/dist/lib/reporting/ledger/status-ingest.d.mts +1 -1
- package/dist/lib/reporting/ledger/status-ingest.d.ts +1 -1
- package/dist/lib/reporting/ledger/status-ingest.js +4 -3
- package/dist/lib/reporting/ledger/status-ingest.mjs +4 -3
- package/dist/lib/reporting/ledger/types.d.mts +36 -1
- package/dist/lib/reporting/ledger/types.d.ts +36 -1
- package/dist/lib/reporting/service/index.d.mts +14 -1
- package/dist/lib/reporting/service/index.d.ts +14 -1
- package/dist/lib/reporting/service/index.js +24 -12
- package/dist/lib/reporting/service/index.mjs +24 -12
- package/dist/lib/schemas/browser.d.mts +2 -0
- package/dist/lib/schemas/browser.d.ts +2 -0
- package/dist/lib/schemas/browser.js +3 -0
- package/dist/lib/schemas/browser.mjs +2 -0
- package/dist/lib/schemas/index.d.mts +5 -3
- package/dist/lib/schemas/index.d.ts +5 -3
- package/dist/lib/schemas/index.js +5 -0
- package/dist/lib/schemas/index.mjs +4 -0
- package/dist/lib/server/account-response-identity.d.mts +17 -0
- package/dist/lib/server/account-response-identity.d.ts +17 -0
- package/dist/lib/server/account-response-identity.js +52 -0
- package/dist/lib/server/account-response-identity.mjs +28 -0
- package/dist/lib/server/account-sync-contract.js +2 -2
- package/dist/lib/server/account-sync-contract.mjs +2 -2
- package/dist/lib/server/create-adcp-server.js +33 -20
- package/dist/lib/server/create-adcp-server.mjs +36 -12
- package/dist/lib/server/decisioning/account.d.mts +36 -10
- package/dist/lib/server/decisioning/account.d.ts +36 -10
- package/dist/lib/server/decisioning/account.js +33 -14
- package/dist/lib/server/decisioning/account.mjs +33 -14
- package/dist/lib/server/decisioning/runtime/from-platform.d.mts +5 -5
- package/dist/lib/server/decisioning/runtime/from-platform.d.ts +5 -5
- package/dist/lib/server/decisioning/runtime/from-platform.js +4 -4
- package/dist/lib/server/decisioning/runtime/from-platform.mjs +4 -4
- package/dist/lib/server/media-buy-store.d.mts +26 -12
- package/dist/lib/server/media-buy-store.d.ts +26 -12
- package/dist/lib/server/media-buy-store.js +69 -21
- package/dist/lib/server/media-buy-store.mjs +69 -21
- package/dist/lib/server/notification-subscriptions/runtime.d.mts +1 -1
- package/dist/lib/server/notification-subscriptions/runtime.d.ts +1 -1
- package/dist/lib/server/notification-subscriptions/runtime.js +4 -0
- package/dist/lib/server/notification-subscriptions/runtime.mjs +4 -0
- package/dist/lib/server/responses.js +9 -1
- package/dist/lib/server/responses.mjs +9 -1
- package/dist/lib/signing/agent-fetch.d.mts +1 -1
- package/dist/lib/signing/agent-fetch.d.ts +1 -1
- package/dist/lib/signing/agent-fetch.js +3 -3
- package/dist/lib/signing/agent-fetch.mjs +3 -3
- package/dist/lib/testing/storyboard/canonical-format-satisfaction.js +60 -14
- package/dist/lib/testing/storyboard/canonical-format-satisfaction.mjs +60 -14
- package/dist/lib/testing/storyboard/compliance.d.mts +2 -5
- package/dist/lib/testing/storyboard/compliance.d.ts +2 -5
- package/dist/lib/testing/storyboard/compliance.js +62 -13
- package/dist/lib/testing/storyboard/compliance.mjs +63 -14
- package/dist/lib/testing/storyboard/request-signing/vector-loader.d.mts +2 -0
- package/dist/lib/testing/storyboard/request-signing/vector-loader.d.ts +2 -0
- package/dist/lib/testing/storyboard/request-signing/vector-loader.js +11 -0
- package/dist/lib/testing/storyboard/request-signing/vector-loader.mjs +10 -0
- package/dist/lib/testing/storyboard/validations.d.mts +1 -1
- package/dist/lib/testing/storyboard/validations.d.ts +1 -1
- package/dist/lib/types/accept-proposal.d.ts +20 -28
- package/dist/lib/types/asset-instances.d.mts +1 -1
- package/dist/lib/types/asset-instances.d.ts +1 -1
- package/dist/lib/types/buy-products.d.ts +20 -28
- package/dist/lib/types/check-governance.d.ts +20 -28
- package/dist/lib/types/comply-test-controller.d.ts +20 -28
- package/dist/lib/types/control-media-buy.d.ts +20 -28
- package/dist/lib/types/core.generated.d.mts +273 -184
- package/dist/lib/types/core.generated.d.ts +273 -184
- package/dist/lib/types/create-media-buy.d.ts +20 -28
- package/dist/lib/types/get-media-buys.d.ts +20 -28
- package/dist/lib/types/get-products.d.ts +20 -28
- package/dist/lib/types/index.d.mts +6 -1
- package/dist/lib/types/index.d.ts +6 -1
- package/dist/lib/types/index.js +6 -1
- package/dist/lib/types/index.mjs +4 -1
- package/dist/lib/types/inline-enums.generated.d.mts +30 -4
- package/dist/lib/types/inline-enums.generated.d.ts +30 -4
- package/dist/lib/types/inline-enums.generated.js +41 -2
- package/dist/lib/types/inline-enums.generated.mjs +28 -2
- package/dist/lib/types/list-products.d.ts +20 -28
- package/dist/lib/types/list-proposals.d.ts +20 -28
- package/dist/lib/types/media-buy-delivery-report.d.mts +6 -0
- package/dist/lib/types/media-buy-delivery-report.d.ts +6 -0
- package/dist/lib/types/media-buy-delivery-report.js +16 -0
- package/dist/lib/types/media-buy-delivery-report.mjs +0 -0
- package/dist/lib/types/refine-proposals.d.ts +20 -28
- package/dist/lib/types/request-proposals.d.ts +20 -28
- package/dist/lib/types/schemas.generated.d.ts +63113 -127273
- package/dist/lib/types/schemas.generated.js +759 -770
- package/dist/lib/types/schemas.generated.mjs +759 -770
- package/dist/lib/types/targeting-keys.generated.d.mts +4 -0
- package/dist/lib/types/targeting-keys.generated.d.ts +4 -0
- package/dist/lib/types/targeting-keys.generated.js +109 -0
- package/dist/lib/types/targeting-keys.generated.mjs +84 -0
- package/dist/lib/types/tools.generated.d.mts +2 -68
- package/dist/lib/types/tools.generated.d.ts +2 -68
- package/dist/lib/types/update-media-buy.d.ts +20 -28
- package/dist/lib/utils/adcp-version-config.js +5 -2
- package/dist/lib/utils/adcp-version-config.mjs +5 -2
- package/dist/lib/utils/response-unwrapper.js +6 -1
- package/dist/lib/utils/response-unwrapper.mjs +6 -1
- package/dist/lib/v2/format-schema/resolver.js +1 -1
- package/dist/lib/v2/format-schema/resolver.mjs +1 -1
- package/dist/lib/v2/projection/creative-delivery.js +104 -29
- package/dist/lib/v2/projection/creative-delivery.mjs +108 -29
- package/dist/lib/v2/projection/index.d.mts +1 -0
- package/dist/lib/v2/projection/index.d.ts +1 -0
- package/dist/lib/v2/projection/index.js +3 -0
- package/dist/lib/v2/projection/index.mjs +2 -0
- package/dist/lib/v2/projection/legacy-metadata.d.mts +19 -0
- package/dist/lib/v2/projection/legacy-metadata.d.ts +19 -0
- package/dist/lib/v2/projection/legacy-metadata.js +91 -0
- package/dist/lib/v2/projection/legacy-metadata.mjs +86 -0
- package/dist/lib/v2/projection/v1-to-v2.d.mts +1 -1
- package/dist/lib/v2/projection/v1-to-v2.d.ts +1 -1
- package/dist/lib/v2/projection/v1-to-v2.js +12 -9
- package/dist/lib/v2/projection/v1-to-v2.mjs +12 -9
- package/dist/lib/validation/budget-allocation.d.mts +3 -3
- package/dist/lib/validation/budget-allocation.d.ts +3 -3
- package/dist/lib/validation/compact-schema.d.mts +27 -0
- package/dist/lib/validation/compact-schema.d.ts +27 -0
- package/dist/lib/validation/compact-schema.js +276 -0
- package/dist/lib/validation/compact-schema.mjs +250 -0
- package/dist/lib/validation/media-buy-delivery-report.d.mts +8 -0
- package/dist/lib/validation/media-buy-delivery-report.d.ts +8 -0
- package/dist/lib/validation/media-buy-delivery-report.js +31 -0
- package/dist/lib/validation/media-buy-delivery-report.mjs +7 -0
- package/dist/lib/validation/nonempty-array.d.mts +15 -0
- package/dist/lib/validation/nonempty-array.d.ts +15 -0
- package/dist/lib/validation/nonempty-array.js +41 -0
- package/dist/lib/validation/nonempty-array.mjs +7 -0
- package/dist/lib/validation/schema-diagnostic-origins.d.mts +21 -0
- package/dist/lib/validation/schema-diagnostic-origins.d.ts +21 -0
- package/dist/lib/validation/schema-diagnostic-origins.js +193 -0
- package/dist/lib/validation/schema-diagnostic-origins.mjs +169 -0
- package/dist/lib/validation/schema-loader.js +86 -16
- package/dist/lib/validation/schema-loader.mjs +82 -16
- package/dist/lib/validation/schema-validator.d.mts +10 -19
- package/dist/lib/validation/schema-validator.d.ts +10 -19
- package/dist/lib/validation/schema-validator.js +135 -42
- package/dist/lib/validation/schema-validator.mjs +139 -43
- package/dist/lib/validation/sync-creatives.d.mts +22 -22
- package/dist/lib/validation/sync-creatives.d.ts +22 -22
- package/dist/lib/version.d.mts +3 -3
- package/dist/lib/version.d.ts +3 -3
- package/dist/lib/version.js +3 -3
- package/dist/lib/version.mjs +3 -3
- package/dist/lib/webhooks/index.d.mts +3 -0
- package/dist/lib/webhooks/index.d.ts +3 -0
- package/dist/lib/webhooks/index.js +3 -0
- package/dist/lib/webhooks/index.mjs +2 -0
- package/dist/lib/webhooks/media-buy-delivery.d.mts +43 -0
- package/dist/lib/webhooks/media-buy-delivery.d.ts +43 -0
- package/dist/lib/webhooks/media-buy-delivery.js +119 -0
- package/dist/lib/webhooks/media-buy-delivery.mjs +94 -0
- package/docs/TYPE-SUMMARY.md +2 -2
- package/docs/guides/DELIVERY-WEBHOOK-PARSING.md +142 -0
- package/docs/guides/DISCOVERY-CACHE-AND-SESSION-REUSE.md +15 -0
- package/docs/guides/REPORTING-LEDGER.md +93 -0
- package/docs/guides/REPORTING-STABILITY.md +1 -1
- package/docs/guides/TYPED-CLIENT-TOOLS.md +49 -0
- package/docs/llms.txt +2 -2
- package/docs/migration-14.x-rc-worksheet.md +4 -4
- package/docs/migration-16-to-17.md +191 -14
- package/docs/migration-6.6-to-6.7.md +14 -0
- package/docs/migration-account-change-feed.md +15 -0
- package/docs/recipes/verifying-inbound-webhooks.md +18 -2
- package/package.json +2 -2
|
@@ -1893,6 +1893,68 @@ export type SignalTargetingExpression = {
|
|
|
1893
1893
|
min_value?: number;
|
|
1894
1894
|
max_value: number;
|
|
1895
1895
|
};
|
|
1896
|
+
/**
|
|
1897
|
+
* A time window for daypart targeting. Specifies days of week, a time-of-day range, and the civil-time clock used to evaluate it. The range is either whole hours (start_hour inclusive, end_hour exclusive; e.g., 6-10 = 6:00am to 10:00am) or, experimentally, minute-resolution clock times (start_time inclusive, end_time exclusive; e.g., 19:30-23:00); an entry carries exactly one form. Follows the Google Ads AdScheduleInfo / DV360 DayPartTargeting pattern.
|
|
1898
|
+
*/
|
|
1899
|
+
export type DaypartTarget = {
|
|
1900
|
+
/**
|
|
1901
|
+
* Days of week this window applies to. Use multiple days for compact targeting (e.g., monday-friday in one object). For an overnight start_time/end_time window, each day names the day the window starts on.
|
|
1902
|
+
*/
|
|
1903
|
+
days: DayOfWeek[];
|
|
1904
|
+
/**
|
|
1905
|
+
* Start hour (inclusive), 0-23 in 24-hour format. 0 = midnight, 6 = 6:00am, 18 = 6:00pm. Whole-hour form: pair with end_hour; mutually exclusive with start_time and end_time.
|
|
1906
|
+
* @minimum 0
|
|
1907
|
+
* @maximum 23
|
|
1908
|
+
* @format int
|
|
1909
|
+
*/
|
|
1910
|
+
start_hour: number;
|
|
1911
|
+
/**
|
|
1912
|
+
* End hour (exclusive), 1-24 in 24-hour format. 10 = 10:00am, 24 = midnight. Must be greater than start_hour; whole-hour windows never cross midnight. Whole-hour form: pair with start_hour; mutually exclusive with start_time and end_time.
|
|
1913
|
+
* @minimum 1
|
|
1914
|
+
* @maximum 24
|
|
1915
|
+
* @format int
|
|
1916
|
+
*/
|
|
1917
|
+
end_hour: number;
|
|
1918
|
+
/**
|
|
1919
|
+
* Civil-time clock used to evaluate this window. 'inventory_local' evaluates the hours in the seller-assigned local timezone of each inventory unit that can deliver the impression, such as a screen, venue, station, or publisher property; it never means the buyer, account, or server timezone. A concrete IANA timezone identifier (for example, 'America/New_York', 'CET', or 'UTC') evaluates one shared civil-time clock across the targeted inventory. Omission defaults to 'inventory_local'. Buyers that begin with a user or account preference MUST resolve it to a concrete IANA identifier before sending the daypart; 'user_timezone' and 'account_timezone' are not wire values. For each candidate delivery instant, convert the instant into this clock and compare its resulting local day and time of day with the half-open window: a skipped DST hour or interval has no matching instants, while both occurrences of a repeated hour or interval match. For an overnight start_time/end_time window, an instant matches when its local day is a listed day and its local time is at or after start_time, or when the local day before it is a listed day and its local time is before end_time. This delivery clock is independent of reporting_capabilities.timezone.
|
|
1920
|
+
*/
|
|
1921
|
+
timezone?: 'inventory_local' | IANATimezoneIdentifier;
|
|
1922
|
+
/**
|
|
1923
|
+
* Optional human-readable name for this time window (e.g., 'Morning Drive', 'Prime Time')
|
|
1924
|
+
*/
|
|
1925
|
+
label?: string;
|
|
1926
|
+
start_time?: never;
|
|
1927
|
+
end_time?: never;
|
|
1928
|
+
} | {
|
|
1929
|
+
/**
|
|
1930
|
+
* Days of week this window applies to. Use multiple days for compact targeting (e.g., monday-friday in one object). For an overnight start_time/end_time window, each day names the day the window starts on.
|
|
1931
|
+
*/
|
|
1932
|
+
days: DayOfWeek[];
|
|
1933
|
+
/**
|
|
1934
|
+
* Experimental in AdCP 3.3. Start of the window (inclusive) as a 24-hour HH:MM civil clock time on the entry's timezone clock, such as '19:30'. Use for windows that do not fall on whole hours (linear TV programme junctions, quarter-hour schedules). Pair with end_time; mutually exclusive with start_hour and end_hour. A window whose end_time is earlier than its start_time crosses midnight and belongs to the day it starts on. A product accepts only the finest time granularity it declares in overlay_support.daypart_targets.time_granularity; sellers MUST reject, never round, a clock time the product does not honor.
|
|
1935
|
+
* @pattern ^([01][0-9]|2[0-3]):[0-5][0-9]$
|
|
1936
|
+
*/
|
|
1937
|
+
start_time: string;
|
|
1938
|
+
/**
|
|
1939
|
+
* Experimental in AdCP 3.3. End of the window (exclusive) as a 24-hour HH:MM civil clock time, such as '23:00'. Pair with start_time; mutually exclusive with start_hour and end_hour. end_time earlier than start_time means the window crosses midnight and ends at end_time on the following civil day (for example, 22:00 to 02:00 runs from 22:00 on a listed day until 02:00 the next morning); '00:00' therefore ends the window at the midnight closing the start day. end_time MUST NOT equal start_time: a zero-length or full-day window is invalid, and a full day uses start_hour 0 with end_hour 24. Sellers MUST reject an equal pair with INVALID_REQUEST.
|
|
1940
|
+
* @pattern ^([01][0-9]|2[0-3]):[0-5][0-9]$
|
|
1941
|
+
*/
|
|
1942
|
+
end_time: string;
|
|
1943
|
+
/**
|
|
1944
|
+
* Civil-time clock used to evaluate this window. 'inventory_local' evaluates the hours in the seller-assigned local timezone of each inventory unit that can deliver the impression, such as a screen, venue, station, or publisher property; it never means the buyer, account, or server timezone. A concrete IANA timezone identifier (for example, 'America/New_York', 'CET', or 'UTC') evaluates one shared civil-time clock across the targeted inventory. Omission defaults to 'inventory_local'. Buyers that begin with a user or account preference MUST resolve it to a concrete IANA identifier before sending the daypart; 'user_timezone' and 'account_timezone' are not wire values. For each candidate delivery instant, convert the instant into this clock and compare its resulting local day and time of day with the half-open window: a skipped DST hour or interval has no matching instants, while both occurrences of a repeated hour or interval match. For an overnight start_time/end_time window, an instant matches when its local day is a listed day and its local time is at or after start_time, or when the local day before it is a listed day and its local time is before end_time. This delivery clock is independent of reporting_capabilities.timezone.
|
|
1945
|
+
*/
|
|
1946
|
+
timezone?: 'inventory_local' | IANATimezoneIdentifier;
|
|
1947
|
+
/**
|
|
1948
|
+
* Optional human-readable name for this time window (e.g., 'Morning Drive', 'Prime Time')
|
|
1949
|
+
*/
|
|
1950
|
+
label?: string;
|
|
1951
|
+
start_hour?: never;
|
|
1952
|
+
end_hour?: never;
|
|
1953
|
+
};
|
|
1954
|
+
/**
|
|
1955
|
+
* Concrete timezone identifier in the implementation's supported IANA Time Zone Database, such as America/New_York, CET, or UTC.
|
|
1956
|
+
*/
|
|
1957
|
+
export type IANATimezoneIdentifier = string;
|
|
1896
1958
|
/**
|
|
1897
1959
|
* Standard cursor-based pagination parameters for list operations
|
|
1898
1960
|
*/
|
|
@@ -2989,10 +3051,6 @@ export type DaypartSupport = true | {
|
|
|
2989
3051
|
time_granularity?: DaypartTimeGranularity;
|
|
2990
3052
|
ext?: ExtensionObject;
|
|
2991
3053
|
};
|
|
2992
|
-
/**
|
|
2993
|
-
* Concrete timezone identifier in the implementation's supported IANA Time Zone Database, such as America/New_York, CET, or UTC.
|
|
2994
|
-
*/
|
|
2995
|
-
export type IANATimezoneIdentifier = string;
|
|
2996
3054
|
/**
|
|
2997
3055
|
* Structured frequency-cap constraints. Count and duration declarations are exact: each uses either an exhaustive preset list or an inclusive range, never a unit-only promise. At product scope, omitted fields inherit the applicable seller-wide capability and never broaden it. Product mutability describes implementation capability; MediaBuy.available_actions remains authoritative for a live buy.
|
|
2998
3056
|
*/
|
|
@@ -4572,72 +4630,6 @@ export type GeoPlacesExclude = [GeographicPlaceArea, ...GeographicPlaceArea[]];
|
|
|
4572
4630
|
* @minItems 1
|
|
4573
4631
|
*/
|
|
4574
4632
|
export type DaypartTargets = [DaypartTarget, ...DaypartTarget[]];
|
|
4575
|
-
/**
|
|
4576
|
-
* A time window for daypart targeting. Specifies days of week, a time-of-day range, and the civil-time clock used to evaluate it. The range is either whole hours (start_hour inclusive, end_hour exclusive; e.g., 6-10 = 6:00am to 10:00am) or, experimentally, minute-resolution clock times (start_time inclusive, end_time exclusive; e.g., 19:30-23:00); an entry carries exactly one form. Follows the Google Ads AdScheduleInfo / DV360 DayPartTargeting pattern.
|
|
4577
|
-
*/
|
|
4578
|
-
export type DaypartTarget = {
|
|
4579
|
-
/**
|
|
4580
|
-
* Days of week this window applies to. Use multiple days for compact targeting (e.g., monday-friday in one object). For an overnight start_time/end_time window, each day names the day the window starts on.
|
|
4581
|
-
*
|
|
4582
|
-
* @minItems 1
|
|
4583
|
-
*/
|
|
4584
|
-
days: [DayOfWeek, ...DayOfWeek[]];
|
|
4585
|
-
/**
|
|
4586
|
-
* Start hour (inclusive), 0-23 in 24-hour format. 0 = midnight, 6 = 6:00am, 18 = 6:00pm. Whole-hour form: pair with end_hour; mutually exclusive with start_time and end_time.
|
|
4587
|
-
*/
|
|
4588
|
-
start_hour?: number;
|
|
4589
|
-
/**
|
|
4590
|
-
* End hour (exclusive), 1-24 in 24-hour format. 10 = 10:00am, 24 = midnight. Must be greater than start_hour; whole-hour windows never cross midnight. Whole-hour form: pair with start_hour; mutually exclusive with start_time and end_time.
|
|
4591
|
-
*/
|
|
4592
|
-
end_hour?: number;
|
|
4593
|
-
/**
|
|
4594
|
-
* Experimental in AdCP 3.3. Start of the window (inclusive) as a 24-hour HH:MM civil clock time on the entry's timezone clock, such as '19:30'. Use for windows that do not fall on whole hours (linear TV programme junctions, quarter-hour schedules). Pair with end_time; mutually exclusive with start_hour and end_hour. A window whose end_time is earlier than its start_time crosses midnight and belongs to the day it starts on. A product accepts only the finest time granularity it declares in overlay_support.daypart_targets.time_granularity; sellers MUST reject, never round, a clock time the product does not honor.
|
|
4595
|
-
*/
|
|
4596
|
-
start_time?: string;
|
|
4597
|
-
/**
|
|
4598
|
-
* Experimental in AdCP 3.3. End of the window (exclusive) as a 24-hour HH:MM civil clock time, such as '23:00'. Pair with start_time; mutually exclusive with start_hour and end_hour. end_time earlier than start_time means the window crosses midnight and ends at end_time on the following civil day (for example, 22:00 to 02:00 runs from 22:00 on a listed day until 02:00 the next morning); '00:00' therefore ends the window at the midnight closing the start day. end_time MUST NOT equal start_time: a zero-length or full-day window is invalid, and a full day uses start_hour 0 with end_hour 24. Sellers MUST reject an equal pair with INVALID_REQUEST.
|
|
4599
|
-
*/
|
|
4600
|
-
end_time?: string;
|
|
4601
|
-
/**
|
|
4602
|
-
* Civil-time clock used to evaluate this window. 'inventory_local' evaluates the hours in the seller-assigned local timezone of each inventory unit that can deliver the impression, such as a screen, venue, station, or publisher property; it never means the buyer, account, or server timezone. A concrete IANA timezone identifier (for example, 'America/New_York', 'CET', or 'UTC') evaluates one shared civil-time clock across the targeted inventory. Omission defaults to 'inventory_local'. Buyers that begin with a user or account preference MUST resolve it to a concrete IANA identifier before sending the daypart; 'user_timezone' and 'account_timezone' are not wire values. For each candidate delivery instant, convert the instant into this clock and compare its resulting local day and time of day with the half-open window: a skipped DST hour or interval has no matching instants, while both occurrences of a repeated hour or interval match. For an overnight start_time/end_time window, an instant matches when its local day is a listed day and its local time is at or after start_time, or when the local day before it is a listed day and its local time is before end_time. This delivery clock is independent of reporting_capabilities.timezone.
|
|
4603
|
-
*/
|
|
4604
|
-
timezone?: 'inventory_local' | IANATimezoneIdentifier;
|
|
4605
|
-
/**
|
|
4606
|
-
* Optional human-readable name for this time window (e.g., 'Morning Drive', 'Prime Time')
|
|
4607
|
-
*/
|
|
4608
|
-
label?: string;
|
|
4609
|
-
} & ({} | {}) & {
|
|
4610
|
-
/**
|
|
4611
|
-
* Days of week this window applies to. Use multiple days for compact targeting (e.g., monday-friday in one object). For an overnight start_time/end_time window, each day names the day the window starts on.
|
|
4612
|
-
*
|
|
4613
|
-
* @minItems 1
|
|
4614
|
-
*/
|
|
4615
|
-
days: [DayOfWeek, ...DayOfWeek[]];
|
|
4616
|
-
/**
|
|
4617
|
-
* Start hour (inclusive), 0-23 in 24-hour format. 0 = midnight, 6 = 6:00am, 18 = 6:00pm. Whole-hour form: pair with end_hour; mutually exclusive with start_time and end_time.
|
|
4618
|
-
*/
|
|
4619
|
-
start_hour?: number;
|
|
4620
|
-
/**
|
|
4621
|
-
* End hour (exclusive), 1-24 in 24-hour format. 10 = 10:00am, 24 = midnight. Must be greater than start_hour; whole-hour windows never cross midnight. Whole-hour form: pair with start_hour; mutually exclusive with start_time and end_time.
|
|
4622
|
-
*/
|
|
4623
|
-
end_hour?: number;
|
|
4624
|
-
/**
|
|
4625
|
-
* Experimental in AdCP 3.3. Start of the window (inclusive) as a 24-hour HH:MM civil clock time on the entry's timezone clock, such as '19:30'. Use for windows that do not fall on whole hours (linear TV programme junctions, quarter-hour schedules). Pair with end_time; mutually exclusive with start_hour and end_hour. A window whose end_time is earlier than its start_time crosses midnight and belongs to the day it starts on. A product accepts only the finest time granularity it declares in overlay_support.daypart_targets.time_granularity; sellers MUST reject, never round, a clock time the product does not honor.
|
|
4626
|
-
*/
|
|
4627
|
-
start_time?: string;
|
|
4628
|
-
/**
|
|
4629
|
-
* Experimental in AdCP 3.3. End of the window (exclusive) as a 24-hour HH:MM civil clock time, such as '23:00'. Pair with start_time; mutually exclusive with start_hour and end_hour. end_time earlier than start_time means the window crosses midnight and ends at end_time on the following civil day (for example, 22:00 to 02:00 runs from 22:00 on a listed day until 02:00 the next morning); '00:00' therefore ends the window at the midnight closing the start day. end_time MUST NOT equal start_time: a zero-length or full-day window is invalid, and a full day uses start_hour 0 with end_hour 24. Sellers MUST reject an equal pair with INVALID_REQUEST.
|
|
4630
|
-
*/
|
|
4631
|
-
end_time?: string;
|
|
4632
|
-
/**
|
|
4633
|
-
* Civil-time clock used to evaluate this window. 'inventory_local' evaluates the hours in the seller-assigned local timezone of each inventory unit that can deliver the impression, such as a screen, venue, station, or publisher property; it never means the buyer, account, or server timezone. A concrete IANA timezone identifier (for example, 'America/New_York', 'CET', or 'UTC') evaluates one shared civil-time clock across the targeted inventory. Omission defaults to 'inventory_local'. Buyers that begin with a user or account preference MUST resolve it to a concrete IANA identifier before sending the daypart; 'user_timezone' and 'account_timezone' are not wire values. For each candidate delivery instant, convert the instant into this clock and compare its resulting local day and time of day with the half-open window: a skipped DST hour or interval has no matching instants, while both occurrences of a repeated hour or interval match. For an overnight start_time/end_time window, an instant matches when its local day is a listed day and its local time is at or after start_time, or when the local day before it is a listed day and its local time is before end_time. This delivery clock is independent of reporting_capabilities.timezone.
|
|
4634
|
-
*/
|
|
4635
|
-
timezone?: 'inventory_local' | IANATimezoneIdentifier;
|
|
4636
|
-
/**
|
|
4637
|
-
* Optional human-readable name for this time window (e.g., 'Morning Drive', 'Prime Time')
|
|
4638
|
-
*/
|
|
4639
|
-
label?: string;
|
|
4640
|
-
} & ({} | {});
|
|
4641
4633
|
/**
|
|
4642
4634
|
* Restrict delivery to members of these first-party CRM audiences. Only users present in the uploaded lists are eligible. References audience_id values from sync_audiences on the same seller account — audience IDs are not portable across sellers. Not for lookalike expansion — express that intent in the campaign brief. Seller must declare support in get_adcp_capabilities.
|
|
4643
4635
|
*
|
|
@@ -12006,6 +11998,217 @@ export interface AuthorizationResult {
|
|
|
12006
11998
|
message: string;
|
|
12007
11999
|
};
|
|
12008
12000
|
}
|
|
12001
|
+
/**
|
|
12002
|
+
* A qualified standard delivery value reported at package grain. The qualifier is required and must be non-empty; unqualified spend remains on the package's flat spend field.
|
|
12003
|
+
*/
|
|
12004
|
+
export type PackageDeliveryMetricValue = ({} & {
|
|
12005
|
+
/**
|
|
12006
|
+
* Standard metric from the closed `available-metric.json` enum.
|
|
12007
|
+
*/
|
|
12008
|
+
scope: 'standard';
|
|
12009
|
+
/**
|
|
12010
|
+
* Identifier for a scalar standard metric. Container tokens and structured distribution identities are committed and selected through their canonical carriers, not represented as numeric aggregate rows.
|
|
12011
|
+
*/
|
|
12012
|
+
metric_id: AvailableMetric & {};
|
|
12013
|
+
/**
|
|
12014
|
+
* Qualifier keys disambiguating this row from sibling rows under the same `metric_id`. Symmetric with `committed_metrics.qualifier` today; expected to diverge in future minors as transparency disclosures buyers don't commit to ship delivery-only. Closed (`additionalProperties: false`) — new qualifier keys ship explicitly.
|
|
12015
|
+
*/
|
|
12016
|
+
qualifier?: {
|
|
12017
|
+
viewability_standard?: ViewabilityStandard;
|
|
12018
|
+
completion_source?: CompletionSource;
|
|
12019
|
+
attribution_methodology?: AttributionMethodology;
|
|
12020
|
+
attribution_window?: Duration;
|
|
12021
|
+
lift_dimension?: LiftDimension;
|
|
12022
|
+
};
|
|
12023
|
+
/**
|
|
12024
|
+
* Aggregated metric value for this `(metric_id, qualifier)` partition. Heterogeneous by `metric_id` — rate metrics (`viewable_rate`, `completion_rate`) are 0.0–1.0; cost-per metrics (`cost_per_acquisition`, `cost_per_completed_view`) are currency amounts; count metrics (`impressions`, `clicks`) are non-negative integers as numbers; ratio metrics (`roas`) are non-negative numbers. Buyer agents MUST inspect `metric_id` before doing arithmetic — same dispatch convention as `committed_metrics`.
|
|
12025
|
+
*/
|
|
12026
|
+
value: number;
|
|
12027
|
+
/**
|
|
12028
|
+
* Coverage denominator for verification metrics (e.g., `viewable_rate`). Buyers compute coverage as `measurable_impressions / impressions` from the partition.
|
|
12029
|
+
*/
|
|
12030
|
+
measurable_impressions?: number;
|
|
12031
|
+
/**
|
|
12032
|
+
* Component for `viewable_rate` (numerator).
|
|
12033
|
+
*/
|
|
12034
|
+
viewable_impressions?: number;
|
|
12035
|
+
/**
|
|
12036
|
+
* Component for rate metrics whose denominator is total impressions (e.g., `completion_rate`, `engagement_rate`).
|
|
12037
|
+
*/
|
|
12038
|
+
impressions?: number;
|
|
12039
|
+
/**
|
|
12040
|
+
* Component for `completion_rate` (numerator).
|
|
12041
|
+
*/
|
|
12042
|
+
completed_views?: number;
|
|
12043
|
+
/**
|
|
12044
|
+
* Component for cost-per metrics (denominator-ish; the cost half of the ratio).
|
|
12045
|
+
*/
|
|
12046
|
+
spend?: number;
|
|
12047
|
+
/**
|
|
12048
|
+
* Component for `cost_per_acquisition` and ROAS-family metrics.
|
|
12049
|
+
*/
|
|
12050
|
+
conversions?: number;
|
|
12051
|
+
/**
|
|
12052
|
+
* Component for `roas` (numerator).
|
|
12053
|
+
*/
|
|
12054
|
+
conversion_value?: number;
|
|
12055
|
+
/**
|
|
12056
|
+
* Component for `cost_per_click` and click-rate metrics.
|
|
12057
|
+
*/
|
|
12058
|
+
clicks?: number;
|
|
12059
|
+
}) & {
|
|
12060
|
+
qualifier: {};
|
|
12061
|
+
};
|
|
12062
|
+
/**
|
|
12063
|
+
* Payload-only delivery report result carried under core/mcp-webhook-payload.json result for task_type media_buy_delivery. This is not a top-level webhook POST body and does not include protocol envelope fields such as task_id or status. `aggregated_totals` is API-only (`get_media_buy_delivery`) and MUST NOT appear in this payload; see webhooks.mdx.
|
|
12064
|
+
*/
|
|
12065
|
+
export interface MediaBuyDeliveryWebhookResult {
|
|
12066
|
+
/**
|
|
12067
|
+
* Type of delivery-report notification: scheduled = regular periodic update, final = campaign completed, delayed = data not yet available, adjusted = corrected data for the same window, window_update = a wider measurement window supersedes a prior window.
|
|
12068
|
+
*/
|
|
12069
|
+
notification_type: 'scheduled' | 'final' | 'delayed' | 'adjusted' | 'window_update';
|
|
12070
|
+
/**
|
|
12071
|
+
* Indicates if any media buys in this webhook have missing or delayed data.
|
|
12072
|
+
*/
|
|
12073
|
+
partial_data?: boolean;
|
|
12074
|
+
/**
|
|
12075
|
+
* Number of media buys with reporting_delayed or failed status when partial_data is true.
|
|
12076
|
+
* @minimum 0
|
|
12077
|
+
* @format int
|
|
12078
|
+
*/
|
|
12079
|
+
unavailable_count?: number;
|
|
12080
|
+
/**
|
|
12081
|
+
* Sequential notification number for this reporting webhook stream.
|
|
12082
|
+
* @minimum 1
|
|
12083
|
+
* @format int
|
|
12084
|
+
*/
|
|
12085
|
+
sequence_number?: number;
|
|
12086
|
+
/**
|
|
12087
|
+
* ISO 8601 timestamp for the next expected notification. Omitted on final notifications.
|
|
12088
|
+
* @format date-time
|
|
12089
|
+
*/
|
|
12090
|
+
next_expected_at?: string;
|
|
12091
|
+
/**
|
|
12092
|
+
* Period covered by the delivery report. start and end are instants on the reporting timezone's period boundaries (the products' reporting_capabilities.timezone, echoed in timezone). They fall on UTC midnight only when that timezone is UTC.
|
|
12093
|
+
*/
|
|
12094
|
+
reporting_period: {
|
|
12095
|
+
/**
|
|
12096
|
+
* @format date-time
|
|
12097
|
+
*/
|
|
12098
|
+
start: string;
|
|
12099
|
+
/**
|
|
12100
|
+
* @format date-time
|
|
12101
|
+
*/
|
|
12102
|
+
end: string;
|
|
12103
|
+
/**
|
|
12104
|
+
* Reporting timezone applied to this report, as 'UTC' or an IANA timezone identifier. Same meaning as get_media_buy_delivery reporting_period.timezone. Sellers SHOULD return it whenever every reported media buy shares one reporting timezone.
|
|
12105
|
+
* @minLength 1
|
|
12106
|
+
*/
|
|
12107
|
+
timezone?: string;
|
|
12108
|
+
};
|
|
12109
|
+
/**
|
|
12110
|
+
* @deprecated
|
|
12111
|
+
* Deprecated in AdCP 3.2 and removed in AdCP 4.0. Optional legacy report-wide ISO 4217 currency code. It may be used only when every monetary value in the report has that denomination. A report can contain media buys with different currencies, so buyers MUST NOT interpret this field as an aggregation currency or evidence of currency conversion. Prefer media_buy_deliveries[].currency when present and package-level currency otherwise.
|
|
12112
|
+
* @pattern ^[A-Z]{3}$
|
|
12113
|
+
*/
|
|
12114
|
+
currency?: string;
|
|
12115
|
+
attribution_window?: AttributionWindow;
|
|
12116
|
+
/**
|
|
12117
|
+
* Delivery rows for one or more media buys included in this notification.
|
|
12118
|
+
*/
|
|
12119
|
+
media_buy_deliveries: {
|
|
12120
|
+
/**
|
|
12121
|
+
* Seller's media buy identifier.
|
|
12122
|
+
*/
|
|
12123
|
+
media_buy_id: string;
|
|
12124
|
+
/**
|
|
12125
|
+
* ISO 4217 denomination for monetary values in this media-buy delivery row, including totals, package spend, and currency-denominated package rates. Sellers SHOULD populate this field whenever all monetary values in the row share one currency. For AdCP-authored buys it MUST equal the media-buy currency, and every by_package[].currency MUST equal it. For a legacy or externally created mixed-currency buy, omit this field and all monetary or money-derived values from row totals; report those values only at package level with each package's own currency. AdCP does not perform currency conversion.
|
|
12126
|
+
* @pattern ^[A-Z]{3}$
|
|
12127
|
+
*/
|
|
12128
|
+
currency?: string;
|
|
12129
|
+
/**
|
|
12130
|
+
* Current media buy lifecycle or reporting status. This is distinct from the webhook envelope's top-level task status.
|
|
12131
|
+
*/
|
|
12132
|
+
status: 'pending_creatives' | 'pending_start' | 'pending' | 'active' | 'paused' | 'completed' | 'rejected' | 'canceled' | 'failed' | 'reporting_delayed';
|
|
12133
|
+
/**
|
|
12134
|
+
* When delayed data is expected to be available. Present when status is reporting_delayed.
|
|
12135
|
+
* @format date-time
|
|
12136
|
+
*/
|
|
12137
|
+
expected_availability?: string;
|
|
12138
|
+
/**
|
|
12139
|
+
* Indicates this row contains updated data for a previously reported period.
|
|
12140
|
+
*/
|
|
12141
|
+
is_adjusted?: boolean;
|
|
12142
|
+
/**
|
|
12143
|
+
* Whether this row's delivery data is final for the reporting period.
|
|
12144
|
+
*/
|
|
12145
|
+
is_final?: boolean;
|
|
12146
|
+
/**
|
|
12147
|
+
* Timestamp when this row became final. Present only when is_final is true.
|
|
12148
|
+
* @format date-time
|
|
12149
|
+
*/
|
|
12150
|
+
finalized_at?: string;
|
|
12151
|
+
pricing_model?: PricingModel;
|
|
12152
|
+
/**
|
|
12153
|
+
* Aggregate media-buy delivery pace relative to the media-buy pacing plan. Authoritative for seller-optimized buys.
|
|
12154
|
+
* @minimum 0
|
|
12155
|
+
*/
|
|
12156
|
+
pacing_index?: number;
|
|
12157
|
+
totals: DeliveryMetrics & {
|
|
12158
|
+
/**
|
|
12159
|
+
* @minimum 0
|
|
12160
|
+
*/
|
|
12161
|
+
effective_rate?: number;
|
|
12162
|
+
};
|
|
12163
|
+
/**
|
|
12164
|
+
* Metrics broken down by package.
|
|
12165
|
+
*/
|
|
12166
|
+
by_package: (DeliveryMetrics & {
|
|
12167
|
+
package_id?: string;
|
|
12168
|
+
/**
|
|
12169
|
+
* Subordinate package pacing diagnostic. May be absent for seller-optimized packages without package-level pacing.
|
|
12170
|
+
* @minimum 0
|
|
12171
|
+
*/
|
|
12172
|
+
pacing_index?: number;
|
|
12173
|
+
pricing_model?: PricingModel;
|
|
12174
|
+
/**
|
|
12175
|
+
* @minimum 0
|
|
12176
|
+
*/
|
|
12177
|
+
rate?: number;
|
|
12178
|
+
/**
|
|
12179
|
+
* ISO 4217 currency code for this package's spend and currency-denominated pricing rate. The rate for revenue_share is a dimensionless commission fraction, but attributed monetary values still use this currency. When the enclosing media_buy_deliveries[].currency is present, this value MUST equal it. For AdCP-authored buys both values MUST equal the media-buy currency. A different package currency is permitted only for a legacy or externally created mixed-currency buy whose row currency and row-level monetary totals are omitted. When both row and deprecated response-wide currency are absent, a package with monetary values MUST include this field. AdCP does not perform currency conversion.
|
|
12180
|
+
* @pattern ^[A-Z]{3}$
|
|
12181
|
+
*/
|
|
12182
|
+
currency?: string;
|
|
12183
|
+
delivery_status?: DeliveryStatus;
|
|
12184
|
+
paused?: boolean;
|
|
12185
|
+
is_final?: boolean;
|
|
12186
|
+
/**
|
|
12187
|
+
* @format date-time
|
|
12188
|
+
*/
|
|
12189
|
+
finalized_at?: string;
|
|
12190
|
+
/**
|
|
12191
|
+
* @maxLength 50
|
|
12192
|
+
*/
|
|
12193
|
+
measurement_window?: string;
|
|
12194
|
+
/**
|
|
12195
|
+
* @maxLength 50
|
|
12196
|
+
*/
|
|
12197
|
+
supersedes_window?: string;
|
|
12198
|
+
/**
|
|
12199
|
+
* Qualified standard delivery values for this package. Each entry is the delivered counterpart to a standard-scope package.committed_metrics or by_package[].missing_metrics row, using the same atomic key (scope, metric_id, qualifier). Sellers report one row per full qualifier set at package grain; when a metric appears here, its flat scalar counterpart on the package MUST be omitted to avoid two sources of truth. Vendor-scope values continue to use vendor_metric_values. Buyers reconcile rows directly and perform any compatible cross-package aggregation themselves.
|
|
12200
|
+
*/
|
|
12201
|
+
metric_values?: PackageDeliveryMetricValue[];
|
|
12202
|
+
})[];
|
|
12203
|
+
}[];
|
|
12204
|
+
/**
|
|
12205
|
+
* Task-specific delivery errors or warnings.
|
|
12206
|
+
*/
|
|
12207
|
+
errors?: Error[];
|
|
12208
|
+
sandbox?: boolean;
|
|
12209
|
+
context?: ContextObject;
|
|
12210
|
+
ext?: ExtensionObject;
|
|
12211
|
+
}
|
|
12009
12212
|
/**
|
|
12010
12213
|
* Compact immutable proposal for the AdCP 3.2 lifecycle. commercial_terms is the sole authoritative commercial envelope; narrative fields do not duplicate legacy allocation or creative graphs.
|
|
12011
12214
|
*/
|
|
@@ -21009,59 +21212,6 @@ export interface UpdateMediaBuyAsyncSubmitted {
|
|
|
21009
21212
|
context?: ContextObject;
|
|
21010
21213
|
ext?: ExtensionObject;
|
|
21011
21214
|
}
|
|
21012
|
-
/**
|
|
21013
|
-
* Delivery-report payload for media_buy_delivery webhook notifications. This is the inner result object carried by mcp-webhook-payload.json, not the full top-level get_media_buy_delivery task response envelope.
|
|
21014
|
-
*/
|
|
21015
|
-
export interface MediaBuyDeliveryWebhookResult {
|
|
21016
|
-
/**
|
|
21017
|
-
* Type of delivery-report notification: scheduled = regular periodic update, final = campaign completed, delayed = data not yet available, adjusted = corrected data for the same window, window_update = a wider measurement window supersedes a prior window.
|
|
21018
|
-
*/
|
|
21019
|
-
notification_type: 'scheduled' | 'final' | 'delayed' | 'adjusted' | 'window_update';
|
|
21020
|
-
/**
|
|
21021
|
-
* Indicates if any media buys in this webhook have missing or delayed data.
|
|
21022
|
-
*/
|
|
21023
|
-
partial_data?: boolean;
|
|
21024
|
-
/**
|
|
21025
|
-
* Number of media buys with reporting_delayed or failed status when partial_data is true.
|
|
21026
|
-
*/
|
|
21027
|
-
unavailable_count?: number;
|
|
21028
|
-
/**
|
|
21029
|
-
* Sequential notification number for this reporting webhook stream.
|
|
21030
|
-
*/
|
|
21031
|
-
sequence_number?: number;
|
|
21032
|
-
/**
|
|
21033
|
-
* ISO 8601 timestamp for the next expected notification. Omitted on final notifications.
|
|
21034
|
-
*/
|
|
21035
|
-
next_expected_at?: string;
|
|
21036
|
-
/**
|
|
21037
|
-
* Period covered by the delivery report. start and end are instants on the reporting timezone's period boundaries (the products' reporting_capabilities.timezone, echoed in timezone). They fall on UTC midnight only when that timezone is UTC.
|
|
21038
|
-
*/
|
|
21039
|
-
reporting_period: {
|
|
21040
|
-
start: string;
|
|
21041
|
-
end: string;
|
|
21042
|
-
/**
|
|
21043
|
-
* Reporting timezone applied to this report, as 'UTC' or an IANA timezone identifier. Same meaning as get_media_buy_delivery reporting_period.timezone. Sellers SHOULD return it whenever every reported media buy shares one reporting timezone.
|
|
21044
|
-
*/
|
|
21045
|
-
timezone?: string;
|
|
21046
|
-
};
|
|
21047
|
-
/**
|
|
21048
|
-
* @deprecated
|
|
21049
|
-
* Deprecated in AdCP 3.2 and removed in AdCP 4.0. Optional legacy report-wide ISO 4217 currency code. It may be used only when every monetary value in the report has that denomination. A report can contain media buys with different currencies, so buyers MUST NOT interpret this field as an aggregation currency or evidence of currency conversion. Prefer media_buy_deliveries[].currency when present and package-level currency otherwise.
|
|
21050
|
-
*/
|
|
21051
|
-
currency?: string;
|
|
21052
|
-
attribution_window?: AttributionWindow;
|
|
21053
|
-
/**
|
|
21054
|
-
* Delivery rows for one or more media buys included in this notification.
|
|
21055
|
-
*/
|
|
21056
|
-
media_buy_deliveries: {}[];
|
|
21057
|
-
/**
|
|
21058
|
-
* Task-specific delivery errors or warnings.
|
|
21059
|
-
*/
|
|
21060
|
-
errors?: Error[];
|
|
21061
|
-
sandbox?: boolean;
|
|
21062
|
-
context?: ContextObject;
|
|
21063
|
-
ext?: ExtensionObject;
|
|
21064
|
-
}
|
|
21065
21215
|
/**
|
|
21066
21216
|
* Single-capability success response. Returned when the request used target_capability_id (or deprecated target_format_id) without fan-out. The returned creative_manifest uses canonical format_kind on the 3.2 path.
|
|
21067
21217
|
*/
|
|
@@ -29956,67 +30106,6 @@ export interface OutcomeTargetCostPer {
|
|
|
29956
30106
|
currency: string;
|
|
29957
30107
|
strength: OutcomeTargetCostStrength;
|
|
29958
30108
|
}
|
|
29959
|
-
/**
|
|
29960
|
-
* A qualified standard delivery value reported at package grain. The qualifier is required and must be non-empty; unqualified spend remains on the package's flat spend field.
|
|
29961
|
-
*/
|
|
29962
|
-
export type PackageDeliveryMetricValue = ({} & {
|
|
29963
|
-
/**
|
|
29964
|
-
* Standard metric from the closed `available-metric.json` enum.
|
|
29965
|
-
*/
|
|
29966
|
-
scope: 'standard';
|
|
29967
|
-
/**
|
|
29968
|
-
* Identifier for a scalar standard metric. Container tokens and structured distribution identities are committed and selected through their canonical carriers, not represented as numeric aggregate rows.
|
|
29969
|
-
*/
|
|
29970
|
-
metric_id: AvailableMetric & {};
|
|
29971
|
-
/**
|
|
29972
|
-
* Qualifier keys disambiguating this row from sibling rows under the same `metric_id`. Symmetric with `committed_metrics.qualifier` today; expected to diverge in future minors as transparency disclosures buyers don't commit to ship delivery-only. Closed (`additionalProperties: false`) — new qualifier keys ship explicitly.
|
|
29973
|
-
*/
|
|
29974
|
-
qualifier?: {
|
|
29975
|
-
viewability_standard?: ViewabilityStandard;
|
|
29976
|
-
completion_source?: CompletionSource;
|
|
29977
|
-
attribution_methodology?: AttributionMethodology;
|
|
29978
|
-
attribution_window?: Duration;
|
|
29979
|
-
lift_dimension?: LiftDimension;
|
|
29980
|
-
};
|
|
29981
|
-
/**
|
|
29982
|
-
* Aggregated metric value for this `(metric_id, qualifier)` partition. Heterogeneous by `metric_id` — rate metrics (`viewable_rate`, `completion_rate`) are 0.0–1.0; cost-per metrics (`cost_per_acquisition`, `cost_per_completed_view`) are currency amounts; count metrics (`impressions`, `clicks`) are non-negative integers as numbers; ratio metrics (`roas`) are non-negative numbers. Buyer agents MUST inspect `metric_id` before doing arithmetic — same dispatch convention as `committed_metrics`.
|
|
29983
|
-
*/
|
|
29984
|
-
value: number;
|
|
29985
|
-
/**
|
|
29986
|
-
* Coverage denominator for verification metrics (e.g., `viewable_rate`). Buyers compute coverage as `measurable_impressions / impressions` from the partition.
|
|
29987
|
-
*/
|
|
29988
|
-
measurable_impressions?: number;
|
|
29989
|
-
/**
|
|
29990
|
-
* Component for `viewable_rate` (numerator).
|
|
29991
|
-
*/
|
|
29992
|
-
viewable_impressions?: number;
|
|
29993
|
-
/**
|
|
29994
|
-
* Component for rate metrics whose denominator is total impressions (e.g., `completion_rate`, `engagement_rate`).
|
|
29995
|
-
*/
|
|
29996
|
-
impressions?: number;
|
|
29997
|
-
/**
|
|
29998
|
-
* Component for `completion_rate` (numerator).
|
|
29999
|
-
*/
|
|
30000
|
-
completed_views?: number;
|
|
30001
|
-
/**
|
|
30002
|
-
* Component for cost-per metrics (denominator-ish; the cost half of the ratio).
|
|
30003
|
-
*/
|
|
30004
|
-
spend?: number;
|
|
30005
|
-
/**
|
|
30006
|
-
* Component for `cost_per_acquisition` and ROAS-family metrics.
|
|
30007
|
-
*/
|
|
30008
|
-
conversions?: number;
|
|
30009
|
-
/**
|
|
30010
|
-
* Component for `roas` (numerator).
|
|
30011
|
-
*/
|
|
30012
|
-
conversion_value?: number;
|
|
30013
|
-
/**
|
|
30014
|
-
* Component for `cost_per_click` and click-rate metrics.
|
|
30015
|
-
*/
|
|
30016
|
-
clicks?: number;
|
|
30017
|
-
}) & {
|
|
30018
|
-
qualifier: {};
|
|
30019
|
-
};
|
|
30020
30109
|
/**
|
|
30021
30110
|
* Top-level basic Boolean composition for package signal targeting. The groups-level operator is required; v1 supports operator 'all', meaning every child group must be satisfied. This represents the portable baseline: (any of include group 1) AND (any of include group 2) AND NOT (any of exclude group N).
|
|
30022
30111
|
*/
|
|
@@ -5801,26 +5801,22 @@ export type DayOfWeek = 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'frida
|
|
|
5801
5801
|
export type DaypartTarget = {
|
|
5802
5802
|
/**
|
|
5803
5803
|
* Days of week this window applies to. Use multiple days for compact targeting (e.g., monday-friday in one object). For an overnight start_time/end_time window, each day names the day the window starts on.
|
|
5804
|
-
*
|
|
5805
|
-
* @minItems 1
|
|
5806
5804
|
*/
|
|
5807
|
-
days:
|
|
5805
|
+
days: DayOfWeek[];
|
|
5808
5806
|
/**
|
|
5809
5807
|
* Start hour (inclusive), 0-23 in 24-hour format. 0 = midnight, 6 = 6:00am, 18 = 6:00pm. Whole-hour form: pair with end_hour; mutually exclusive with start_time and end_time.
|
|
5808
|
+
* @minimum 0
|
|
5809
|
+
* @maximum 23
|
|
5810
|
+
* @format int
|
|
5810
5811
|
*/
|
|
5811
|
-
start_hour
|
|
5812
|
+
start_hour: number;
|
|
5812
5813
|
/**
|
|
5813
5814
|
* End hour (exclusive), 1-24 in 24-hour format. 10 = 10:00am, 24 = midnight. Must be greater than start_hour; whole-hour windows never cross midnight. Whole-hour form: pair with start_hour; mutually exclusive with start_time and end_time.
|
|
5815
|
+
* @minimum 1
|
|
5816
|
+
* @maximum 24
|
|
5817
|
+
* @format int
|
|
5814
5818
|
*/
|
|
5815
|
-
end_hour
|
|
5816
|
-
/**
|
|
5817
|
-
* Experimental in AdCP 3.3. Start of the window (inclusive) as a 24-hour HH:MM civil clock time on the entry's timezone clock, such as '19:30'. Use for windows that do not fall on whole hours (linear TV programme junctions, quarter-hour schedules). Pair with end_time; mutually exclusive with start_hour and end_hour. A window whose end_time is earlier than its start_time crosses midnight and belongs to the day it starts on. A product accepts only the finest time granularity it declares in overlay_support.daypart_targets.time_granularity; sellers MUST reject, never round, a clock time the product does not honor.
|
|
5818
|
-
*/
|
|
5819
|
-
start_time?: string;
|
|
5820
|
-
/**
|
|
5821
|
-
* Experimental in AdCP 3.3. End of the window (exclusive) as a 24-hour HH:MM civil clock time, such as '23:00'. Pair with start_time; mutually exclusive with start_hour and end_hour. end_time earlier than start_time means the window crosses midnight and ends at end_time on the following civil day (for example, 22:00 to 02:00 runs from 22:00 on a listed day until 02:00 the next morning); '00:00' therefore ends the window at the midnight closing the start day. end_time MUST NOT equal start_time: a zero-length or full-day window is invalid, and a full day uses start_hour 0 with end_hour 24. Sellers MUST reject an equal pair with INVALID_REQUEST.
|
|
5822
|
-
*/
|
|
5823
|
-
end_time?: string;
|
|
5819
|
+
end_hour: number;
|
|
5824
5820
|
/**
|
|
5825
5821
|
* Civil-time clock used to evaluate this window. 'inventory_local' evaluates the hours in the seller-assigned local timezone of each inventory unit that can deliver the impression, such as a screen, venue, station, or publisher property; it never means the buyer, account, or server timezone. A concrete IANA timezone identifier (for example, 'America/New_York', 'CET', or 'UTC') evaluates one shared civil-time clock across the targeted inventory. Omission defaults to 'inventory_local'. Buyers that begin with a user or account preference MUST resolve it to a concrete IANA identifier before sending the daypart; 'user_timezone' and 'account_timezone' are not wire values. For each candidate delivery instant, convert the instant into this clock and compare its resulting local day and time of day with the half-open window: a skipped DST hour or interval has no matching instants, while both occurrences of a repeated hour or interval match. For an overnight start_time/end_time window, an instant matches when its local day is a listed day and its local time is at or after start_time, or when the local day before it is a listed day and its local time is before end_time. This delivery clock is independent of reporting_capabilities.timezone.
|
|
5826
5822
|
*/
|
|
@@ -5829,29 +5825,23 @@ export type DaypartTarget = {
|
|
|
5829
5825
|
* Optional human-readable name for this time window (e.g., 'Morning Drive', 'Prime Time')
|
|
5830
5826
|
*/
|
|
5831
5827
|
label?: string;
|
|
5832
|
-
|
|
5828
|
+
start_time?: never;
|
|
5829
|
+
end_time?: never;
|
|
5830
|
+
} | {
|
|
5833
5831
|
/**
|
|
5834
5832
|
* Days of week this window applies to. Use multiple days for compact targeting (e.g., monday-friday in one object). For an overnight start_time/end_time window, each day names the day the window starts on.
|
|
5835
|
-
*
|
|
5836
|
-
* @minItems 1
|
|
5837
|
-
*/
|
|
5838
|
-
days: [DayOfWeek, ...DayOfWeek[]];
|
|
5839
|
-
/**
|
|
5840
|
-
* Start hour (inclusive), 0-23 in 24-hour format. 0 = midnight, 6 = 6:00am, 18 = 6:00pm. Whole-hour form: pair with end_hour; mutually exclusive with start_time and end_time.
|
|
5841
5833
|
*/
|
|
5842
|
-
|
|
5843
|
-
/**
|
|
5844
|
-
* End hour (exclusive), 1-24 in 24-hour format. 10 = 10:00am, 24 = midnight. Must be greater than start_hour; whole-hour windows never cross midnight. Whole-hour form: pair with start_hour; mutually exclusive with start_time and end_time.
|
|
5845
|
-
*/
|
|
5846
|
-
end_hour?: number;
|
|
5834
|
+
days: DayOfWeek[];
|
|
5847
5835
|
/**
|
|
5848
5836
|
* Experimental in AdCP 3.3. Start of the window (inclusive) as a 24-hour HH:MM civil clock time on the entry's timezone clock, such as '19:30'. Use for windows that do not fall on whole hours (linear TV programme junctions, quarter-hour schedules). Pair with end_time; mutually exclusive with start_hour and end_hour. A window whose end_time is earlier than its start_time crosses midnight and belongs to the day it starts on. A product accepts only the finest time granularity it declares in overlay_support.daypart_targets.time_granularity; sellers MUST reject, never round, a clock time the product does not honor.
|
|
5837
|
+
* @pattern ^([01][0-9]|2[0-3]):[0-5][0-9]$
|
|
5849
5838
|
*/
|
|
5850
|
-
start_time
|
|
5839
|
+
start_time: string;
|
|
5851
5840
|
/**
|
|
5852
5841
|
* Experimental in AdCP 3.3. End of the window (exclusive) as a 24-hour HH:MM civil clock time, such as '23:00'. Pair with start_time; mutually exclusive with start_hour and end_hour. end_time earlier than start_time means the window crosses midnight and ends at end_time on the following civil day (for example, 22:00 to 02:00 runs from 22:00 on a listed day until 02:00 the next morning); '00:00' therefore ends the window at the midnight closing the start day. end_time MUST NOT equal start_time: a zero-length or full-day window is invalid, and a full day uses start_hour 0 with end_hour 24. Sellers MUST reject an equal pair with INVALID_REQUEST.
|
|
5842
|
+
* @pattern ^([01][0-9]|2[0-3]):[0-5][0-9]$
|
|
5853
5843
|
*/
|
|
5854
|
-
end_time
|
|
5844
|
+
end_time: string;
|
|
5855
5845
|
/**
|
|
5856
5846
|
* Civil-time clock used to evaluate this window. 'inventory_local' evaluates the hours in the seller-assigned local timezone of each inventory unit that can deliver the impression, such as a screen, venue, station, or publisher property; it never means the buyer, account, or server timezone. A concrete IANA timezone identifier (for example, 'America/New_York', 'CET', or 'UTC') evaluates one shared civil-time clock across the targeted inventory. Omission defaults to 'inventory_local'. Buyers that begin with a user or account preference MUST resolve it to a concrete IANA identifier before sending the daypart; 'user_timezone' and 'account_timezone' are not wire values. For each candidate delivery instant, convert the instant into this clock and compare its resulting local day and time of day with the half-open window: a skipped DST hour or interval has no matching instants, while both occurrences of a repeated hour or interval match. For an overnight start_time/end_time window, an instant matches when its local day is a listed day and its local time is at or after start_time, or when the local day before it is a listed day and its local time is before end_time. This delivery clock is independent of reporting_capabilities.timezone.
|
|
5857
5847
|
*/
|
|
@@ -5860,7 +5850,9 @@ export type DaypartTarget = {
|
|
|
5860
5850
|
* Optional human-readable name for this time window (e.g., 'Morning Drive', 'Prime Time')
|
|
5861
5851
|
*/
|
|
5862
5852
|
label?: string;
|
|
5863
|
-
|
|
5853
|
+
start_hour?: never;
|
|
5854
|
+
end_hour?: never;
|
|
5855
|
+
};
|
|
5864
5856
|
|
|
5865
5857
|
/**
|
|
5866
5858
|
* Restrict delivery to specific time windows. Each entry specifies days of week, an hour range, and an optional timezone that defaults to inventory_local. A concrete IANA zone uses one shared civil-time clock, while inventory_local evaluates each inventory unit in its seller-assigned local timezone. Entries are independent and MAY use different clocks.
|