@zernio/node 0.2.750 → 0.2.751

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
@@ -36673,7 +36673,7 @@ type CreateStandaloneAdData = {
36673
36673
  */
36674
36674
  multiAdvertiser?: 'OPT_IN' | 'OPT_OUT';
36675
36675
  /**
36676
- * Google Performance Max validates the complete atomic campaign and asset group with no resource creation or local persistence. Google validation still downloads image URLs and consumes quota. On Meta, validates the complete inline campaign, ad set, creative and ad with execution_options validate_only. Nothing is uploaded or created, and validation bypasses Idempotency-Key storage. Supports a single image, existing video.id or existingCreativeId; media pools, new video uploads, creatives[], adSetId and RESERVED buying return 400. Existing campaign or creative nodes are marked skipped. Success returns 200 with per-node results; Meta rejection returns an error.
36676
+ * Google Performance Max validates the complete atomic campaign and asset group with no resource creation or local persistence. Google validation still downloads image URLs and consumes quota. On Meta, validates the complete inline campaign, ad set, creative and ad with execution_options validate_only. Nothing is uploaded or created, and validation bypasses Idempotency-Key storage. Supports a single image, all-image placementAssets with per-rule copy, existing video.id or existingCreativeId; other media pools, new video uploads, creatives[], adSetId and RESERVED buying return 400. Placement validation uses existing Instagram identities only. Existing campaign or creative nodes are marked skipped. Success returns 200 with per-node results; Meta rejection returns an error.
36677
36677
  */
36678
36678
  validateOnly?: boolean;
36679
36679
  /**
@@ -36733,7 +36733,7 @@ type CreateStandaloneAdData = {
36733
36733
  * `body` field is used as the `object_story_spec.link_data.message` (the preview text) and
36734
36734
  * `headlines` must also be present. On a video creative the copy lands in
36735
36735
  * `video_data.message` / `video_data.title` instead of `link_data`. Mutually exclusive
36736
- * with `dynamicCreative`, `placementAssets`, `carouselCards`, and `creatives[]`.
36736
+ * with `dynamicCreative`, `placementAssets`, `carouselCards`, and `creatives[]`. For placement-specific copy, use the singular `placementAssets.rules[].body` and `headline` fields instead.
36737
36737
  *
36738
36738
  */
36739
36739
  bodies?: Array<(string)>;
@@ -37316,15 +37316,19 @@ type CreateStandaloneAdData = {
37316
37316
  * on the legacy single shape AND the attach shape (`adSetId` + placementAssets adds one
37317
37317
  * placement-customized ad to an existing ad set, the way to build N per-placement ads
37318
37318
  * sharing one ad set: create the first normally, attach the rest). Cannot be combined
37319
- * with `creatives[]`. Shared copy (headline, body, link,
37320
- * CTA) comes from the top-level single-creative fields since only the asset varies by
37321
- * placement. Each rule's `placements` accepts the same fields as the top-level
37319
+ * with `creatives[]` or top-level `bodies`/`headlines`/`descriptions` arrays. Each rule
37320
+ * can override `headline`, `body` and `description` with one string per field. Omitted
37321
+ * fields and unmatched placements use the top-level copy; `linkUrl` and `callToAction`
37322
+ * remain shared. Zernio emits labelled text with `optimization_type: PLACEMENT`.
37323
+ * Multiple text options rotating within a placement are not supported by this input. Each rule's `placements` accepts the same fields as the top-level
37322
37324
  * `placements` object; Meta enforces co-selection rules and returns an actionable error.
37323
37325
  *
37324
- * Note on text rendering: Meta suppresses primary text and headline on fullscreen
37325
- * placements (Stories and Reels) in actual ad delivery; the fields are accepted and
37326
- * the ad publishes, but the copy is not shown to users. For visible copy on those
37327
- * placements, bake the text into the creative image or video itself.
37326
+ * Meta controls text rendering by placement and format. Validation accepts these fields
37327
+ * but does not prove that every field appears in delivery. Preview the ad; put copy that
37328
+ * must always be visible into the image or video itself.
37329
+ *
37330
+ * `validateOnly: true` supports all-image placementAssets without uploading or creating
37331
+ * anything. Video placement validation remains unsupported because it requires uploads.
37328
37332
  *
37329
37333
  * A block is all-image OR all-video, never mixed (Meta's asset_feed_spec carries one ad
37330
37334
  * format). Image mode: `defaultImageUrl` + `rules[].imageUrl`. Video mode:
@@ -37361,6 +37365,18 @@ type CreateStandaloneAdData = {
37361
37365
  * Video mode (optional). Poster image for this rule's video; auto-generated when omitted.
37362
37366
  */
37363
37367
  thumbnailUrl?: string;
37368
+ /**
37369
+ * One headline pinned to this rule. Omit to inherit the top-level headline.
37370
+ */
37371
+ headline?: string;
37372
+ /**
37373
+ * One primary text pinned to this rule. Omit to inherit the top-level body.
37374
+ */
37375
+ body?: string;
37376
+ /**
37377
+ * One link description pinned to this rule. Omit to inherit the top-level description.
37378
+ */
37379
+ description?: string;
37364
37380
  /**
37365
37381
  * Placements this asset is pinned to. At least one field must be set (an empty rule is invalid; that role is served by the default asset). Same enums as the top-level `placements` object.
37366
37382
  */
package/dist/index.d.ts CHANGED
@@ -36673,7 +36673,7 @@ type CreateStandaloneAdData = {
36673
36673
  */
36674
36674
  multiAdvertiser?: 'OPT_IN' | 'OPT_OUT';
36675
36675
  /**
36676
- * Google Performance Max validates the complete atomic campaign and asset group with no resource creation or local persistence. Google validation still downloads image URLs and consumes quota. On Meta, validates the complete inline campaign, ad set, creative and ad with execution_options validate_only. Nothing is uploaded or created, and validation bypasses Idempotency-Key storage. Supports a single image, existing video.id or existingCreativeId; media pools, new video uploads, creatives[], adSetId and RESERVED buying return 400. Existing campaign or creative nodes are marked skipped. Success returns 200 with per-node results; Meta rejection returns an error.
36676
+ * Google Performance Max validates the complete atomic campaign and asset group with no resource creation or local persistence. Google validation still downloads image URLs and consumes quota. On Meta, validates the complete inline campaign, ad set, creative and ad with execution_options validate_only. Nothing is uploaded or created, and validation bypasses Idempotency-Key storage. Supports a single image, all-image placementAssets with per-rule copy, existing video.id or existingCreativeId; other media pools, new video uploads, creatives[], adSetId and RESERVED buying return 400. Placement validation uses existing Instagram identities only. Existing campaign or creative nodes are marked skipped. Success returns 200 with per-node results; Meta rejection returns an error.
36677
36677
  */
36678
36678
  validateOnly?: boolean;
36679
36679
  /**
@@ -36733,7 +36733,7 @@ type CreateStandaloneAdData = {
36733
36733
  * `body` field is used as the `object_story_spec.link_data.message` (the preview text) and
36734
36734
  * `headlines` must also be present. On a video creative the copy lands in
36735
36735
  * `video_data.message` / `video_data.title` instead of `link_data`. Mutually exclusive
36736
- * with `dynamicCreative`, `placementAssets`, `carouselCards`, and `creatives[]`.
36736
+ * with `dynamicCreative`, `placementAssets`, `carouselCards`, and `creatives[]`. For placement-specific copy, use the singular `placementAssets.rules[].body` and `headline` fields instead.
36737
36737
  *
36738
36738
  */
36739
36739
  bodies?: Array<(string)>;
@@ -37316,15 +37316,19 @@ type CreateStandaloneAdData = {
37316
37316
  * on the legacy single shape AND the attach shape (`adSetId` + placementAssets adds one
37317
37317
  * placement-customized ad to an existing ad set, the way to build N per-placement ads
37318
37318
  * sharing one ad set: create the first normally, attach the rest). Cannot be combined
37319
- * with `creatives[]`. Shared copy (headline, body, link,
37320
- * CTA) comes from the top-level single-creative fields since only the asset varies by
37321
- * placement. Each rule's `placements` accepts the same fields as the top-level
37319
+ * with `creatives[]` or top-level `bodies`/`headlines`/`descriptions` arrays. Each rule
37320
+ * can override `headline`, `body` and `description` with one string per field. Omitted
37321
+ * fields and unmatched placements use the top-level copy; `linkUrl` and `callToAction`
37322
+ * remain shared. Zernio emits labelled text with `optimization_type: PLACEMENT`.
37323
+ * Multiple text options rotating within a placement are not supported by this input. Each rule's `placements` accepts the same fields as the top-level
37322
37324
  * `placements` object; Meta enforces co-selection rules and returns an actionable error.
37323
37325
  *
37324
- * Note on text rendering: Meta suppresses primary text and headline on fullscreen
37325
- * placements (Stories and Reels) in actual ad delivery; the fields are accepted and
37326
- * the ad publishes, but the copy is not shown to users. For visible copy on those
37327
- * placements, bake the text into the creative image or video itself.
37326
+ * Meta controls text rendering by placement and format. Validation accepts these fields
37327
+ * but does not prove that every field appears in delivery. Preview the ad; put copy that
37328
+ * must always be visible into the image or video itself.
37329
+ *
37330
+ * `validateOnly: true` supports all-image placementAssets without uploading or creating
37331
+ * anything. Video placement validation remains unsupported because it requires uploads.
37328
37332
  *
37329
37333
  * A block is all-image OR all-video, never mixed (Meta's asset_feed_spec carries one ad
37330
37334
  * format). Image mode: `defaultImageUrl` + `rules[].imageUrl`. Video mode:
@@ -37361,6 +37365,18 @@ type CreateStandaloneAdData = {
37361
37365
  * Video mode (optional). Poster image for this rule's video; auto-generated when omitted.
37362
37366
  */
37363
37367
  thumbnailUrl?: string;
37368
+ /**
37369
+ * One headline pinned to this rule. Omit to inherit the top-level headline.
37370
+ */
37371
+ headline?: string;
37372
+ /**
37373
+ * One primary text pinned to this rule. Omit to inherit the top-level body.
37374
+ */
37375
+ body?: string;
37376
+ /**
37377
+ * One link description pinned to this rule. Omit to inherit the top-level description.
37378
+ */
37379
+ description?: string;
37364
37380
  /**
37365
37381
  * Placements this asset is pinned to. At least one field must be set (an empty rule is invalid; that role is served by the default asset). Same enums as the top-level `placements` object.
37366
37382
  */
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.750",
39
+ version: "0.2.751",
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.750",
8
+ version: "0.2.751",
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.750",
3
+ "version": "0.2.751",
4
4
  "description": "The official Node.js library for the Zernio API",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -37282,7 +37282,7 @@ export type CreateStandaloneAdData = {
37282
37282
  */
37283
37283
  multiAdvertiser?: 'OPT_IN' | 'OPT_OUT';
37284
37284
  /**
37285
- * Google Performance Max validates the complete atomic campaign and asset group with no resource creation or local persistence. Google validation still downloads image URLs and consumes quota. On Meta, validates the complete inline campaign, ad set, creative and ad with execution_options validate_only. Nothing is uploaded or created, and validation bypasses Idempotency-Key storage. Supports a single image, existing video.id or existingCreativeId; media pools, new video uploads, creatives[], adSetId and RESERVED buying return 400. Existing campaign or creative nodes are marked skipped. Success returns 200 with per-node results; Meta rejection returns an error.
37285
+ * Google Performance Max validates the complete atomic campaign and asset group with no resource creation or local persistence. Google validation still downloads image URLs and consumes quota. On Meta, validates the complete inline campaign, ad set, creative and ad with execution_options validate_only. Nothing is uploaded or created, and validation bypasses Idempotency-Key storage. Supports a single image, all-image placementAssets with per-rule copy, existing video.id or existingCreativeId; other media pools, new video uploads, creatives[], adSetId and RESERVED buying return 400. Placement validation uses existing Instagram identities only. Existing campaign or creative nodes are marked skipped. Success returns 200 with per-node results; Meta rejection returns an error.
37286
37286
  */
37287
37287
  validateOnly?: boolean;
37288
37288
  /**
@@ -37342,7 +37342,7 @@ export type CreateStandaloneAdData = {
37342
37342
  * `body` field is used as the `object_story_spec.link_data.message` (the preview text) and
37343
37343
  * `headlines` must also be present. On a video creative the copy lands in
37344
37344
  * `video_data.message` / `video_data.title` instead of `link_data`. Mutually exclusive
37345
- * with `dynamicCreative`, `placementAssets`, `carouselCards`, and `creatives[]`.
37345
+ * with `dynamicCreative`, `placementAssets`, `carouselCards`, and `creatives[]`. For placement-specific copy, use the singular `placementAssets.rules[].body` and `headline` fields instead.
37346
37346
  *
37347
37347
  */
37348
37348
  bodies?: Array<(string)>;
@@ -37925,15 +37925,19 @@ export type CreateStandaloneAdData = {
37925
37925
  * on the legacy single shape AND the attach shape (`adSetId` + placementAssets adds one
37926
37926
  * placement-customized ad to an existing ad set, the way to build N per-placement ads
37927
37927
  * sharing one ad set: create the first normally, attach the rest). Cannot be combined
37928
- * with `creatives[]`. Shared copy (headline, body, link,
37929
- * CTA) comes from the top-level single-creative fields since only the asset varies by
37930
- * placement. Each rule's `placements` accepts the same fields as the top-level
37928
+ * with `creatives[]` or top-level `bodies`/`headlines`/`descriptions` arrays. Each rule
37929
+ * can override `headline`, `body` and `description` with one string per field. Omitted
37930
+ * fields and unmatched placements use the top-level copy; `linkUrl` and `callToAction`
37931
+ * remain shared. Zernio emits labelled text with `optimization_type: PLACEMENT`.
37932
+ * Multiple text options rotating within a placement are not supported by this input. Each rule's `placements` accepts the same fields as the top-level
37931
37933
  * `placements` object; Meta enforces co-selection rules and returns an actionable error.
37932
37934
  *
37933
- * Note on text rendering: Meta suppresses primary text and headline on fullscreen
37934
- * placements (Stories and Reels) in actual ad delivery; the fields are accepted and
37935
- * the ad publishes, but the copy is not shown to users. For visible copy on those
37936
- * placements, bake the text into the creative image or video itself.
37935
+ * Meta controls text rendering by placement and format. Validation accepts these fields
37936
+ * but does not prove that every field appears in delivery. Preview the ad; put copy that
37937
+ * must always be visible into the image or video itself.
37938
+ *
37939
+ * `validateOnly: true` supports all-image placementAssets without uploading or creating
37940
+ * anything. Video placement validation remains unsupported because it requires uploads.
37937
37941
  *
37938
37942
  * A block is all-image OR all-video, never mixed (Meta's asset_feed_spec carries one ad
37939
37943
  * format). Image mode: `defaultImageUrl` + `rules[].imageUrl`. Video mode:
@@ -37970,6 +37974,18 @@ export type CreateStandaloneAdData = {
37970
37974
  * Video mode (optional). Poster image for this rule's video; auto-generated when omitted.
37971
37975
  */
37972
37976
  thumbnailUrl?: string;
37977
+ /**
37978
+ * One headline pinned to this rule. Omit to inherit the top-level headline.
37979
+ */
37980
+ headline?: string;
37981
+ /**
37982
+ * One primary text pinned to this rule. Omit to inherit the top-level body.
37983
+ */
37984
+ body?: string;
37985
+ /**
37986
+ * One link description pinned to this rule. Omit to inherit the top-level description.
37987
+ */
37988
+ description?: string;
37973
37989
  /**
37974
37990
  * Placements this asset is pinned to. At least one field must be set (an empty rule is invalid; that role is served by the default asset). Same enums as the top-level `placements` object.
37975
37991
  */