@zernio/node 0.2.545 → 0.2.547
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/index.d.mts +31 -12
- package/dist/index.d.ts +31 -12
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +1 -1
- package/src/generated/sdk.gen.ts +6 -1
- package/src/generated/types.gen.ts +31 -12
package/dist/index.d.mts
CHANGED
|
@@ -1926,43 +1926,43 @@ type AdMetrics = {
|
|
|
1926
1926
|
*/
|
|
1927
1927
|
roas?: number;
|
|
1928
1928
|
/**
|
|
1929
|
-
*
|
|
1929
|
+
* Number of times the video started playing, summed over the date range and across children at ad-set/campaign level. 0 for non-video ads. Sources: Meta `video_play_actions`, TikTok `video_play_actions`.
|
|
1930
1930
|
*/
|
|
1931
1931
|
videoPlayActions?: number;
|
|
1932
1932
|
/**
|
|
1933
|
-
* Views of at least 30 seconds (or to the end, for shorter videos). Meta `video_30_sec_watched_actions
|
|
1933
|
+
* Views of at least 30 seconds (or to the end, for shorter videos). Sources: Meta `video_30_sec_watched_actions` (Meta only).
|
|
1934
1934
|
*/
|
|
1935
1935
|
video30SecWatchedActions?: number;
|
|
1936
1936
|
/**
|
|
1937
|
-
* ThruPlays (watched to completion, or at least 15 seconds). Meta `video_thruplay_watched_actions
|
|
1937
|
+
* ThruPlays (watched to completion, or at least 15 seconds). Sources: Meta `video_thruplay_watched_actions` (Meta only).
|
|
1938
1938
|
*/
|
|
1939
1939
|
videoThruplayWatchedActions?: number;
|
|
1940
1940
|
/**
|
|
1941
|
-
* Views reaching 25% of the video's length. With the other percentile fields, powers hook/hold/drop-off analysis (e.g. hook rate = videoP25WatchedActions / videoPlayActions). Meta `video_p25_watched_actions`.
|
|
1941
|
+
* Views reaching 25% of the video's length. With the other percentile fields, powers hook/hold/drop-off analysis (e.g. hook rate = videoP25WatchedActions / videoPlayActions). Sources: Meta `video_p25_watched_actions`, TikTok `video_views_p25`.
|
|
1942
1942
|
*/
|
|
1943
1943
|
videoP25WatchedActions?: number;
|
|
1944
1944
|
/**
|
|
1945
|
-
* Views reaching 50% of the video's length. Meta `video_p50_watched_actions`.
|
|
1945
|
+
* Views reaching 50% of the video's length. Sources: Meta `video_p50_watched_actions`, TikTok `video_views_p50`.
|
|
1946
1946
|
*/
|
|
1947
1947
|
videoP50WatchedActions?: number;
|
|
1948
1948
|
/**
|
|
1949
|
-
* Views reaching 75% of the video's length. Meta `video_p75_watched_actions`.
|
|
1949
|
+
* Views reaching 75% of the video's length. Sources: Meta `video_p75_watched_actions`, TikTok `video_views_p75`.
|
|
1950
1950
|
*/
|
|
1951
1951
|
videoP75WatchedActions?: number;
|
|
1952
1952
|
/**
|
|
1953
|
-
* Views reaching 95% of the video's length. Meta `video_p95_watched_actions
|
|
1953
|
+
* Views reaching 95% of the video's length. Sources: Meta `video_p95_watched_actions` (Meta only).
|
|
1954
1954
|
*/
|
|
1955
1955
|
videoP95WatchedActions?: number;
|
|
1956
1956
|
/**
|
|
1957
|
-
* Views reaching 100% of the video's length. Meta `video_p100_watched_actions`.
|
|
1957
|
+
* Views reaching 100% of the video's length. Sources: Meta `video_p100_watched_actions`, TikTok `video_views_p100`.
|
|
1958
1958
|
*/
|
|
1959
1959
|
videoP100WatchedActions?: number;
|
|
1960
1960
|
/**
|
|
1961
|
-
* Average seconds watched per play
|
|
1961
|
+
* Average seconds watched per play. Aggregated over date ranges and across children as a play-weighted average (total watch time / total plays), never a plain average of averages. Sources: Meta `video_avg_time_watched_actions`, TikTok `average_video_play`.
|
|
1962
1962
|
*/
|
|
1963
1963
|
videoAvgTimeWatchedActions?: number;
|
|
1964
1964
|
/**
|
|
1965
|
-
* Derived `spend / videoThruplayWatchedActions`, in ad-account native currency. Rounded to 4 decimals rather than the usual 2 because a ThruPlay routinely costs well under a cent. 0 when the ad has no ThruPlays.
|
|
1965
|
+
* Derived `spend / videoThruplayWatchedActions`, in ad-account native currency. Rounded to 4 decimals rather than the usual 2 because a ThruPlay routinely costs well under a cent. 0 when the ad has no ThruPlays (ThruPlay is Meta-only).
|
|
1966
1966
|
*/
|
|
1967
1967
|
costPerThruplay?: number;
|
|
1968
1968
|
funnel?: AdFunnelCounts;
|
|
@@ -27234,10 +27234,25 @@ type UpdateAdData = {
|
|
|
27234
27234
|
type?: 'daily' | 'lifetime';
|
|
27235
27235
|
};
|
|
27236
27236
|
/**
|
|
27237
|
-
* Meta + TikTok
|
|
27237
|
+
* Meta + TikTok (demographics/interests) and Google (keyword edits only).
|
|
27238
|
+
* Pinterest / X / LinkedIn return 501.
|
|
27238
27239
|
*
|
|
27239
27240
|
*/
|
|
27240
27241
|
targeting?: {
|
|
27242
|
+
/**
|
|
27243
|
+
* Google only. The FULL new set of positive keywords for the ad group; live keywords not listed are removed. Entries are strings (BROAD) or { text, matchType } with matchType exact | phrase | broad. Mirrored to GET /v1/ads/keywords immediately.
|
|
27244
|
+
*/
|
|
27245
|
+
keywords?: Array<(string | {
|
|
27246
|
+
text: string;
|
|
27247
|
+
matchType?: 'exact' | 'phrase' | 'broad';
|
|
27248
|
+
})>;
|
|
27249
|
+
/**
|
|
27250
|
+
* Google only. Same declarative contract as keywords, for the ad group's negative keywords.
|
|
27251
|
+
*/
|
|
27252
|
+
negativeKeywords?: Array<(string | {
|
|
27253
|
+
text: string;
|
|
27254
|
+
matchType?: 'exact' | 'phrase' | 'broad';
|
|
27255
|
+
})>;
|
|
27241
27256
|
ageMin?: number;
|
|
27242
27257
|
ageMax?: number;
|
|
27243
27258
|
countries?: Array<(string)>;
|
|
@@ -29843,9 +29858,13 @@ type CreateStandaloneAdData = {
|
|
|
29843
29858
|
*/
|
|
29844
29859
|
campaignType?: 'display' | 'search';
|
|
29845
29860
|
/**
|
|
29846
|
-
* Google Search only
|
|
29861
|
+
* Google Search only. BROAD-match keywords on the new ad group (first 20).
|
|
29847
29862
|
*/
|
|
29848
29863
|
keywords?: Array<(string)>;
|
|
29864
|
+
/**
|
|
29865
|
+
* Google Search only; other platforms return 400. BROAD-match negative keywords on the new ad group. Editable later via PUT /v1/ads/{adId} targeting.negativeKeywords.
|
|
29866
|
+
*/
|
|
29867
|
+
negativeKeywords?: Array<(string)>;
|
|
29849
29868
|
/**
|
|
29850
29869
|
* Google Search RSA only. Extra headlines.
|
|
29851
29870
|
*/
|
package/dist/index.d.ts
CHANGED
|
@@ -1926,43 +1926,43 @@ type AdMetrics = {
|
|
|
1926
1926
|
*/
|
|
1927
1927
|
roas?: number;
|
|
1928
1928
|
/**
|
|
1929
|
-
*
|
|
1929
|
+
* Number of times the video started playing, summed over the date range and across children at ad-set/campaign level. 0 for non-video ads. Sources: Meta `video_play_actions`, TikTok `video_play_actions`.
|
|
1930
1930
|
*/
|
|
1931
1931
|
videoPlayActions?: number;
|
|
1932
1932
|
/**
|
|
1933
|
-
* Views of at least 30 seconds (or to the end, for shorter videos). Meta `video_30_sec_watched_actions
|
|
1933
|
+
* Views of at least 30 seconds (or to the end, for shorter videos). Sources: Meta `video_30_sec_watched_actions` (Meta only).
|
|
1934
1934
|
*/
|
|
1935
1935
|
video30SecWatchedActions?: number;
|
|
1936
1936
|
/**
|
|
1937
|
-
* ThruPlays (watched to completion, or at least 15 seconds). Meta `video_thruplay_watched_actions
|
|
1937
|
+
* ThruPlays (watched to completion, or at least 15 seconds). Sources: Meta `video_thruplay_watched_actions` (Meta only).
|
|
1938
1938
|
*/
|
|
1939
1939
|
videoThruplayWatchedActions?: number;
|
|
1940
1940
|
/**
|
|
1941
|
-
* Views reaching 25% of the video's length. With the other percentile fields, powers hook/hold/drop-off analysis (e.g. hook rate = videoP25WatchedActions / videoPlayActions). Meta `video_p25_watched_actions`.
|
|
1941
|
+
* Views reaching 25% of the video's length. With the other percentile fields, powers hook/hold/drop-off analysis (e.g. hook rate = videoP25WatchedActions / videoPlayActions). Sources: Meta `video_p25_watched_actions`, TikTok `video_views_p25`.
|
|
1942
1942
|
*/
|
|
1943
1943
|
videoP25WatchedActions?: number;
|
|
1944
1944
|
/**
|
|
1945
|
-
* Views reaching 50% of the video's length. Meta `video_p50_watched_actions`.
|
|
1945
|
+
* Views reaching 50% of the video's length. Sources: Meta `video_p50_watched_actions`, TikTok `video_views_p50`.
|
|
1946
1946
|
*/
|
|
1947
1947
|
videoP50WatchedActions?: number;
|
|
1948
1948
|
/**
|
|
1949
|
-
* Views reaching 75% of the video's length. Meta `video_p75_watched_actions`.
|
|
1949
|
+
* Views reaching 75% of the video's length. Sources: Meta `video_p75_watched_actions`, TikTok `video_views_p75`.
|
|
1950
1950
|
*/
|
|
1951
1951
|
videoP75WatchedActions?: number;
|
|
1952
1952
|
/**
|
|
1953
|
-
* Views reaching 95% of the video's length. Meta `video_p95_watched_actions
|
|
1953
|
+
* Views reaching 95% of the video's length. Sources: Meta `video_p95_watched_actions` (Meta only).
|
|
1954
1954
|
*/
|
|
1955
1955
|
videoP95WatchedActions?: number;
|
|
1956
1956
|
/**
|
|
1957
|
-
* Views reaching 100% of the video's length. Meta `video_p100_watched_actions`.
|
|
1957
|
+
* Views reaching 100% of the video's length. Sources: Meta `video_p100_watched_actions`, TikTok `video_views_p100`.
|
|
1958
1958
|
*/
|
|
1959
1959
|
videoP100WatchedActions?: number;
|
|
1960
1960
|
/**
|
|
1961
|
-
* Average seconds watched per play
|
|
1961
|
+
* Average seconds watched per play. Aggregated over date ranges and across children as a play-weighted average (total watch time / total plays), never a plain average of averages. Sources: Meta `video_avg_time_watched_actions`, TikTok `average_video_play`.
|
|
1962
1962
|
*/
|
|
1963
1963
|
videoAvgTimeWatchedActions?: number;
|
|
1964
1964
|
/**
|
|
1965
|
-
* Derived `spend / videoThruplayWatchedActions`, in ad-account native currency. Rounded to 4 decimals rather than the usual 2 because a ThruPlay routinely costs well under a cent. 0 when the ad has no ThruPlays.
|
|
1965
|
+
* Derived `spend / videoThruplayWatchedActions`, in ad-account native currency. Rounded to 4 decimals rather than the usual 2 because a ThruPlay routinely costs well under a cent. 0 when the ad has no ThruPlays (ThruPlay is Meta-only).
|
|
1966
1966
|
*/
|
|
1967
1967
|
costPerThruplay?: number;
|
|
1968
1968
|
funnel?: AdFunnelCounts;
|
|
@@ -27234,10 +27234,25 @@ type UpdateAdData = {
|
|
|
27234
27234
|
type?: 'daily' | 'lifetime';
|
|
27235
27235
|
};
|
|
27236
27236
|
/**
|
|
27237
|
-
* Meta + TikTok
|
|
27237
|
+
* Meta + TikTok (demographics/interests) and Google (keyword edits only).
|
|
27238
|
+
* Pinterest / X / LinkedIn return 501.
|
|
27238
27239
|
*
|
|
27239
27240
|
*/
|
|
27240
27241
|
targeting?: {
|
|
27242
|
+
/**
|
|
27243
|
+
* Google only. The FULL new set of positive keywords for the ad group; live keywords not listed are removed. Entries are strings (BROAD) or { text, matchType } with matchType exact | phrase | broad. Mirrored to GET /v1/ads/keywords immediately.
|
|
27244
|
+
*/
|
|
27245
|
+
keywords?: Array<(string | {
|
|
27246
|
+
text: string;
|
|
27247
|
+
matchType?: 'exact' | 'phrase' | 'broad';
|
|
27248
|
+
})>;
|
|
27249
|
+
/**
|
|
27250
|
+
* Google only. Same declarative contract as keywords, for the ad group's negative keywords.
|
|
27251
|
+
*/
|
|
27252
|
+
negativeKeywords?: Array<(string | {
|
|
27253
|
+
text: string;
|
|
27254
|
+
matchType?: 'exact' | 'phrase' | 'broad';
|
|
27255
|
+
})>;
|
|
27241
27256
|
ageMin?: number;
|
|
27242
27257
|
ageMax?: number;
|
|
27243
27258
|
countries?: Array<(string)>;
|
|
@@ -29843,9 +29858,13 @@ type CreateStandaloneAdData = {
|
|
|
29843
29858
|
*/
|
|
29844
29859
|
campaignType?: 'display' | 'search';
|
|
29845
29860
|
/**
|
|
29846
|
-
* Google Search only
|
|
29861
|
+
* Google Search only. BROAD-match keywords on the new ad group (first 20).
|
|
29847
29862
|
*/
|
|
29848
29863
|
keywords?: Array<(string)>;
|
|
29864
|
+
/**
|
|
29865
|
+
* Google Search only; other platforms return 400. BROAD-match negative keywords on the new ad group. Editable later via PUT /v1/ads/{adId} targeting.negativeKeywords.
|
|
29866
|
+
*/
|
|
29867
|
+
negativeKeywords?: Array<(string)>;
|
|
29849
29868
|
/**
|
|
29850
29869
|
* Google Search RSA only. Extra headlines.
|
|
29851
29870
|
*/
|
package/dist/index.js
CHANGED
|
@@ -36,7 +36,7 @@ module.exports = __toCommonJS(index_exports);
|
|
|
36
36
|
// package.json
|
|
37
37
|
var package_default = {
|
|
38
38
|
name: "@zernio/node",
|
|
39
|
-
version: "0.2.
|
|
39
|
+
version: "0.2.547",
|
|
40
40
|
description: "The official Node.js library for the Zernio API",
|
|
41
41
|
main: "dist/index.js",
|
|
42
42
|
module: "dist/index.mjs",
|
package/dist/index.mjs
CHANGED
|
@@ -5,7 +5,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
5
5
|
// package.json
|
|
6
6
|
var package_default = {
|
|
7
7
|
name: "@zernio/node",
|
|
8
|
-
version: "0.2.
|
|
8
|
+
version: "0.2.547",
|
|
9
9
|
description: "The official Node.js library for the Zernio API",
|
|
10
10
|
main: "dist/index.js",
|
|
11
11
|
module: "dist/index.mjs",
|
package/package.json
CHANGED
package/src/generated/sdk.gen.ts
CHANGED
|
@@ -7333,7 +7333,12 @@ export const getAd = <ThrowOnError extends boolean = false>(options: OptionsLega
|
|
|
7333
7333
|
* - **Meta** (Facebook + Instagram): all fields supported.
|
|
7334
7334
|
* - **TikTok**: status, budget, targeting (via `/v2/adgroup/update/`), and creative
|
|
7335
7335
|
* (via `/v2/ad/update/` patch-style — `headline` is ignored, `body` becomes `ad_text`).
|
|
7336
|
-
* - **
|
|
7336
|
+
* - **Google**: status, budget, and KEYWORD edits via `targeting.keywords` /
|
|
7337
|
+
* `targeting.negativeKeywords` — each list you send becomes the FULL new set of its
|
|
7338
|
+
* kind on the ad group (criteria not in the list are removed); a kind left out is
|
|
7339
|
+
* untouched. Any other `targeting` field returns 400: Google cannot mutate broad
|
|
7340
|
+
* targeting post-create without recreating the campaign. `creative` returns 501.
|
|
7341
|
+
* - **Pinterest / X / LinkedIn / OpenAI Ads**: status + budget only. Sending
|
|
7337
7342
|
* `targeting` or `creative` returns 501 with code `unsupported_platform_operation`.
|
|
7338
7343
|
* OpenAI Ads budget is lifetime-only (see `budget.type` below).
|
|
7339
7344
|
*
|
|
@@ -675,43 +675,43 @@ export type AdMetrics = {
|
|
|
675
675
|
*/
|
|
676
676
|
roas?: number;
|
|
677
677
|
/**
|
|
678
|
-
*
|
|
678
|
+
* Number of times the video started playing, summed over the date range and across children at ad-set/campaign level. 0 for non-video ads. Sources: Meta `video_play_actions`, TikTok `video_play_actions`.
|
|
679
679
|
*/
|
|
680
680
|
videoPlayActions?: number;
|
|
681
681
|
/**
|
|
682
|
-
* Views of at least 30 seconds (or to the end, for shorter videos). Meta `video_30_sec_watched_actions
|
|
682
|
+
* Views of at least 30 seconds (or to the end, for shorter videos). Sources: Meta `video_30_sec_watched_actions` (Meta only).
|
|
683
683
|
*/
|
|
684
684
|
video30SecWatchedActions?: number;
|
|
685
685
|
/**
|
|
686
|
-
* ThruPlays (watched to completion, or at least 15 seconds). Meta `video_thruplay_watched_actions
|
|
686
|
+
* ThruPlays (watched to completion, or at least 15 seconds). Sources: Meta `video_thruplay_watched_actions` (Meta only).
|
|
687
687
|
*/
|
|
688
688
|
videoThruplayWatchedActions?: number;
|
|
689
689
|
/**
|
|
690
|
-
* Views reaching 25% of the video's length. With the other percentile fields, powers hook/hold/drop-off analysis (e.g. hook rate = videoP25WatchedActions / videoPlayActions). Meta `video_p25_watched_actions`.
|
|
690
|
+
* Views reaching 25% of the video's length. With the other percentile fields, powers hook/hold/drop-off analysis (e.g. hook rate = videoP25WatchedActions / videoPlayActions). Sources: Meta `video_p25_watched_actions`, TikTok `video_views_p25`.
|
|
691
691
|
*/
|
|
692
692
|
videoP25WatchedActions?: number;
|
|
693
693
|
/**
|
|
694
|
-
* Views reaching 50% of the video's length. Meta `video_p50_watched_actions`.
|
|
694
|
+
* Views reaching 50% of the video's length. Sources: Meta `video_p50_watched_actions`, TikTok `video_views_p50`.
|
|
695
695
|
*/
|
|
696
696
|
videoP50WatchedActions?: number;
|
|
697
697
|
/**
|
|
698
|
-
* Views reaching 75% of the video's length. Meta `video_p75_watched_actions`.
|
|
698
|
+
* Views reaching 75% of the video's length. Sources: Meta `video_p75_watched_actions`, TikTok `video_views_p75`.
|
|
699
699
|
*/
|
|
700
700
|
videoP75WatchedActions?: number;
|
|
701
701
|
/**
|
|
702
|
-
* Views reaching 95% of the video's length. Meta `video_p95_watched_actions
|
|
702
|
+
* Views reaching 95% of the video's length. Sources: Meta `video_p95_watched_actions` (Meta only).
|
|
703
703
|
*/
|
|
704
704
|
videoP95WatchedActions?: number;
|
|
705
705
|
/**
|
|
706
|
-
* Views reaching 100% of the video's length. Meta `video_p100_watched_actions`.
|
|
706
|
+
* Views reaching 100% of the video's length. Sources: Meta `video_p100_watched_actions`, TikTok `video_views_p100`.
|
|
707
707
|
*/
|
|
708
708
|
videoP100WatchedActions?: number;
|
|
709
709
|
/**
|
|
710
|
-
* Average seconds watched per play
|
|
710
|
+
* Average seconds watched per play. Aggregated over date ranges and across children as a play-weighted average (total watch time / total plays), never a plain average of averages. Sources: Meta `video_avg_time_watched_actions`, TikTok `average_video_play`.
|
|
711
711
|
*/
|
|
712
712
|
videoAvgTimeWatchedActions?: number;
|
|
713
713
|
/**
|
|
714
|
-
* Derived `spend / videoThruplayWatchedActions`, in ad-account native currency. Rounded to 4 decimals rather than the usual 2 because a ThruPlay routinely costs well under a cent. 0 when the ad has no ThruPlays.
|
|
714
|
+
* Derived `spend / videoThruplayWatchedActions`, in ad-account native currency. Rounded to 4 decimals rather than the usual 2 because a ThruPlay routinely costs well under a cent. 0 when the ad has no ThruPlays (ThruPlay is Meta-only).
|
|
715
715
|
*/
|
|
716
716
|
costPerThruplay?: number;
|
|
717
717
|
funnel?: AdFunnelCounts;
|
|
@@ -27638,10 +27638,25 @@ export type UpdateAdData = {
|
|
|
27638
27638
|
type?: 'daily' | 'lifetime';
|
|
27639
27639
|
};
|
|
27640
27640
|
/**
|
|
27641
|
-
* Meta + TikTok
|
|
27641
|
+
* Meta + TikTok (demographics/interests) and Google (keyword edits only).
|
|
27642
|
+
* Pinterest / X / LinkedIn return 501.
|
|
27642
27643
|
*
|
|
27643
27644
|
*/
|
|
27644
27645
|
targeting?: {
|
|
27646
|
+
/**
|
|
27647
|
+
* Google only. The FULL new set of positive keywords for the ad group; live keywords not listed are removed. Entries are strings (BROAD) or { text, matchType } with matchType exact | phrase | broad. Mirrored to GET /v1/ads/keywords immediately.
|
|
27648
|
+
*/
|
|
27649
|
+
keywords?: Array<(string | {
|
|
27650
|
+
text: string;
|
|
27651
|
+
matchType?: 'exact' | 'phrase' | 'broad';
|
|
27652
|
+
})>;
|
|
27653
|
+
/**
|
|
27654
|
+
* Google only. Same declarative contract as keywords, for the ad group's negative keywords.
|
|
27655
|
+
*/
|
|
27656
|
+
negativeKeywords?: Array<(string | {
|
|
27657
|
+
text: string;
|
|
27658
|
+
matchType?: 'exact' | 'phrase' | 'broad';
|
|
27659
|
+
})>;
|
|
27645
27660
|
ageMin?: number;
|
|
27646
27661
|
ageMax?: number;
|
|
27647
27662
|
countries?: Array<(string)>;
|
|
@@ -30373,9 +30388,13 @@ export type CreateStandaloneAdData = {
|
|
|
30373
30388
|
*/
|
|
30374
30389
|
campaignType?: 'display' | 'search';
|
|
30375
30390
|
/**
|
|
30376
|
-
* Google Search only
|
|
30391
|
+
* Google Search only. BROAD-match keywords on the new ad group (first 20).
|
|
30377
30392
|
*/
|
|
30378
30393
|
keywords?: Array<(string)>;
|
|
30394
|
+
/**
|
|
30395
|
+
* Google Search only; other platforms return 400. BROAD-match negative keywords on the new ad group. Editable later via PUT /v1/ads/{adId} targeting.negativeKeywords.
|
|
30396
|
+
*/
|
|
30397
|
+
negativeKeywords?: Array<(string)>;
|
|
30379
30398
|
/**
|
|
30380
30399
|
* Google Search RSA only. Extra headlines.
|
|
30381
30400
|
*/
|