@zernio/node 0.2.546 → 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 CHANGED
@@ -27234,10 +27234,25 @@ type UpdateAdData = {
27234
27234
  type?: 'daily' | 'lifetime';
27235
27235
  };
27236
27236
  /**
27237
- * Meta + TikTok only. Pinterest / X / LinkedIn / Google return 501.
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
@@ -27234,10 +27234,25 @@ type UpdateAdData = {
27234
27234
  type?: 'daily' | 'lifetime';
27235
27235
  };
27236
27236
  /**
27237
- * Meta + TikTok only. Pinterest / X / LinkedIn / Google return 501.
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.546",
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.546",
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zernio/node",
3
- "version": "0.2.546",
3
+ "version": "0.2.547",
4
4
  "description": "The official Node.js library for the Zernio API",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -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
- * - **Pinterest / X / LinkedIn / Google / OpenAI Ads**: status + budget only. Sending
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
  *
@@ -27638,10 +27638,25 @@ export type UpdateAdData = {
27638
27638
  type?: 'daily' | 'lifetime';
27639
27639
  };
27640
27640
  /**
27641
- * Meta + TikTok only. Pinterest / X / LinkedIn / Google return 501.
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
  */