@zernio/node 0.2.205 → 0.2.207

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
@@ -18044,36 +18044,53 @@ type CreateStandaloneAdData = {
18044
18044
  adFormat?: 'SINGLE_IMAGE' | 'CAROUSEL_IMAGE';
18045
18045
  };
18046
18046
  /**
18047
- * Meta only. Placement asset customization: pin a SPECIFIC image to each placement
18048
- * group on a SINGLE ad (e.g. a 9:16 image on Stories/Reels and a 4:5 on Feed). This
18049
- * is the same thing Meta Ads Manager produces with "different creative per placement",
18050
- * mapped to the creative's `asset_feed_spec` + `asset_customization_rules`. It is
18051
- * deterministic pinning, NOT the auto-optimizing pool of `dynamicCreative` (the two are
18052
- * mutually exclusive, and it cannot be combined with `creatives[]` or `adSetId`). The
18053
- * shared copy (headline, body, link, CTA) comes from the top-level single-creative
18054
- * fields (`headline`, `body`, `linkUrl`, `callToAction`) since only the image varies by
18047
+ * Meta only. Placement asset customization: pin a SPECIFIC asset (image OR video) to
18048
+ * each placement group on a SINGLE ad (e.g. a 9:16 on Stories/Reels and a 4:5 on Feed).
18049
+ * The same thing Meta Ads Manager produces with "different creative per placement",
18050
+ * mapped to the creative's `asset_feed_spec` + `asset_customization_rules`. Deterministic
18051
+ * pinning, NOT the auto-optimizing pool of `dynamicCreative` (mutually exclusive, and it
18052
+ * cannot be combined with `creatives[]` or `adSetId`). Shared copy (headline, body, link,
18053
+ * CTA) comes from the top-level single-creative fields since only the asset varies by
18055
18054
  * placement. Each rule's `placements` accepts the same fields as the top-level
18056
18055
  * `placements` object; Meta enforces co-selection rules and returns an actionable error.
18057
18056
  *
18057
+ * A block is all-image OR all-video, never mixed (Meta's asset_feed_spec carries one ad
18058
+ * format). Image mode: `defaultImageUrl` + `rules[].imageUrl`. Video mode:
18059
+ * `defaultVideoUrl` + `rules[].videoUrl` (optional `thumbnailUrl`/`defaultThumbnailUrl`
18060
+ * posters; Meta auto-generates when omitted). Exactly one catch-all default is required.
18061
+ *
18058
18062
  */
18059
18063
  placementAssets?: {
18060
18064
  /**
18061
- * Catch-all image for any placement not matched by a rule. REQUIRED Meta mandates
18062
- * a default asset customization rule (empty placement spec, lowest priority) on every
18063
- * placement-customized creative.
18064
- *
18065
+ * Image mode. Catch-all image for any placement no rule matches. Required in image mode (Meta mandates a default rule).
18066
+ */
18067
+ defaultImageUrl?: string;
18068
+ /**
18069
+ * Video mode. Catch-all video for any placement no rule matches. Required in video mode.
18065
18070
  */
18066
- defaultImageUrl: string;
18071
+ defaultVideoUrl?: string;
18067
18072
  /**
18068
- * One entry per placement group you want to pin a specific image to.
18073
+ * Video mode (optional). Poster image for the default video; Meta auto-generates one when omitted.
18074
+ */
18075
+ defaultThumbnailUrl?: string;
18076
+ /**
18077
+ * One entry per placement group you want to pin a specific asset to.
18069
18078
  */
18070
18079
  rules: Array<{
18071
18080
  /**
18072
- * The image to deliver for this rule's placements.
18081
+ * Image mode. The image to deliver for this rule's placements.
18073
18082
  */
18074
- imageUrl: string;
18083
+ imageUrl?: string;
18075
18084
  /**
18076
- * Placements this image is pinned to. At least one field must be set (an empty rule is invalid — that role is served by defaultImageUrl). Same enums as the top-level `placements` object.
18085
+ * Video mode. The video to deliver for this rule's placements.
18086
+ */
18087
+ videoUrl?: string;
18088
+ /**
18089
+ * Video mode (optional). Poster image for this rule's video; auto-generated when omitted.
18090
+ */
18091
+ thumbnailUrl?: string;
18092
+ /**
18093
+ * 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.
18077
18094
  */
18078
18095
  placements: {
18079
18096
  publisherPlatforms?: Array<('facebook' | 'instagram' | 'threads' | 'messenger' | 'audience_network')>;
@@ -18594,9 +18611,13 @@ type SearchAdTargetingError = (unknown | {
18594
18611
  type EstimateAdReachData = {
18595
18612
  body: {
18596
18613
  /**
18597
- * Social account ID on the target ad platform.
18614
+ * Zernio social account ID on the target ad platform (the estimate runs against its platform).
18598
18615
  */
18599
18616
  accountId: string;
18617
+ /**
18618
+ * Required. The platform ad-account ID the reach call runs against (Meta act_..., LinkedIn numeric sponsoredAccount ID, Pinterest ad-account ID, X account ID) - every backing reach API is scoped to one ad account. Get it from GET /v1/ads/accounts.
18619
+ */
18620
+ adAccountId: string;
18600
18621
  /**
18601
18622
  * The targeting spec to estimate. Same shape used by POST /v1/ads/create.
18602
18623
  */
package/dist/index.d.ts CHANGED
@@ -18044,36 +18044,53 @@ type CreateStandaloneAdData = {
18044
18044
  adFormat?: 'SINGLE_IMAGE' | 'CAROUSEL_IMAGE';
18045
18045
  };
18046
18046
  /**
18047
- * Meta only. Placement asset customization: pin a SPECIFIC image to each placement
18048
- * group on a SINGLE ad (e.g. a 9:16 image on Stories/Reels and a 4:5 on Feed). This
18049
- * is the same thing Meta Ads Manager produces with "different creative per placement",
18050
- * mapped to the creative's `asset_feed_spec` + `asset_customization_rules`. It is
18051
- * deterministic pinning, NOT the auto-optimizing pool of `dynamicCreative` (the two are
18052
- * mutually exclusive, and it cannot be combined with `creatives[]` or `adSetId`). The
18053
- * shared copy (headline, body, link, CTA) comes from the top-level single-creative
18054
- * fields (`headline`, `body`, `linkUrl`, `callToAction`) since only the image varies by
18047
+ * Meta only. Placement asset customization: pin a SPECIFIC asset (image OR video) to
18048
+ * each placement group on a SINGLE ad (e.g. a 9:16 on Stories/Reels and a 4:5 on Feed).
18049
+ * The same thing Meta Ads Manager produces with "different creative per placement",
18050
+ * mapped to the creative's `asset_feed_spec` + `asset_customization_rules`. Deterministic
18051
+ * pinning, NOT the auto-optimizing pool of `dynamicCreative` (mutually exclusive, and it
18052
+ * cannot be combined with `creatives[]` or `adSetId`). Shared copy (headline, body, link,
18053
+ * CTA) comes from the top-level single-creative fields since only the asset varies by
18055
18054
  * placement. Each rule's `placements` accepts the same fields as the top-level
18056
18055
  * `placements` object; Meta enforces co-selection rules and returns an actionable error.
18057
18056
  *
18057
+ * A block is all-image OR all-video, never mixed (Meta's asset_feed_spec carries one ad
18058
+ * format). Image mode: `defaultImageUrl` + `rules[].imageUrl`. Video mode:
18059
+ * `defaultVideoUrl` + `rules[].videoUrl` (optional `thumbnailUrl`/`defaultThumbnailUrl`
18060
+ * posters; Meta auto-generates when omitted). Exactly one catch-all default is required.
18061
+ *
18058
18062
  */
18059
18063
  placementAssets?: {
18060
18064
  /**
18061
- * Catch-all image for any placement not matched by a rule. REQUIRED Meta mandates
18062
- * a default asset customization rule (empty placement spec, lowest priority) on every
18063
- * placement-customized creative.
18064
- *
18065
+ * Image mode. Catch-all image for any placement no rule matches. Required in image mode (Meta mandates a default rule).
18066
+ */
18067
+ defaultImageUrl?: string;
18068
+ /**
18069
+ * Video mode. Catch-all video for any placement no rule matches. Required in video mode.
18065
18070
  */
18066
- defaultImageUrl: string;
18071
+ defaultVideoUrl?: string;
18067
18072
  /**
18068
- * One entry per placement group you want to pin a specific image to.
18073
+ * Video mode (optional). Poster image for the default video; Meta auto-generates one when omitted.
18074
+ */
18075
+ defaultThumbnailUrl?: string;
18076
+ /**
18077
+ * One entry per placement group you want to pin a specific asset to.
18069
18078
  */
18070
18079
  rules: Array<{
18071
18080
  /**
18072
- * The image to deliver for this rule's placements.
18081
+ * Image mode. The image to deliver for this rule's placements.
18073
18082
  */
18074
- imageUrl: string;
18083
+ imageUrl?: string;
18075
18084
  /**
18076
- * Placements this image is pinned to. At least one field must be set (an empty rule is invalid — that role is served by defaultImageUrl). Same enums as the top-level `placements` object.
18085
+ * Video mode. The video to deliver for this rule's placements.
18086
+ */
18087
+ videoUrl?: string;
18088
+ /**
18089
+ * Video mode (optional). Poster image for this rule's video; auto-generated when omitted.
18090
+ */
18091
+ thumbnailUrl?: string;
18092
+ /**
18093
+ * 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.
18077
18094
  */
18078
18095
  placements: {
18079
18096
  publisherPlatforms?: Array<('facebook' | 'instagram' | 'threads' | 'messenger' | 'audience_network')>;
@@ -18594,9 +18611,13 @@ type SearchAdTargetingError = (unknown | {
18594
18611
  type EstimateAdReachData = {
18595
18612
  body: {
18596
18613
  /**
18597
- * Social account ID on the target ad platform.
18614
+ * Zernio social account ID on the target ad platform (the estimate runs against its platform).
18598
18615
  */
18599
18616
  accountId: string;
18617
+ /**
18618
+ * Required. The platform ad-account ID the reach call runs against (Meta act_..., LinkedIn numeric sponsoredAccount ID, Pinterest ad-account ID, X account ID) - every backing reach API is scoped to one ad account. Get it from GET /v1/ads/accounts.
18619
+ */
18620
+ adAccountId: string;
18600
18621
  /**
18601
18622
  * The targeting spec to estimate. Same shape used by POST /v1/ads/create.
18602
18623
  */
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.205",
39
+ version: "0.2.207",
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.205",
8
+ version: "0.2.207",
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.205",
3
+ "version": "0.2.207",
4
4
  "description": "The official Node.js library for the Zernio API",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -18509,36 +18509,53 @@ export type CreateStandaloneAdData = {
18509
18509
  adFormat?: 'SINGLE_IMAGE' | 'CAROUSEL_IMAGE';
18510
18510
  };
18511
18511
  /**
18512
- * Meta only. Placement asset customization: pin a SPECIFIC image to each placement
18513
- * group on a SINGLE ad (e.g. a 9:16 image on Stories/Reels and a 4:5 on Feed). This
18514
- * is the same thing Meta Ads Manager produces with "different creative per placement",
18515
- * mapped to the creative's `asset_feed_spec` + `asset_customization_rules`. It is
18516
- * deterministic pinning, NOT the auto-optimizing pool of `dynamicCreative` (the two are
18517
- * mutually exclusive, and it cannot be combined with `creatives[]` or `adSetId`). The
18518
- * shared copy (headline, body, link, CTA) comes from the top-level single-creative
18519
- * fields (`headline`, `body`, `linkUrl`, `callToAction`) since only the image varies by
18512
+ * Meta only. Placement asset customization: pin a SPECIFIC asset (image OR video) to
18513
+ * each placement group on a SINGLE ad (e.g. a 9:16 on Stories/Reels and a 4:5 on Feed).
18514
+ * The same thing Meta Ads Manager produces with "different creative per placement",
18515
+ * mapped to the creative's `asset_feed_spec` + `asset_customization_rules`. Deterministic
18516
+ * pinning, NOT the auto-optimizing pool of `dynamicCreative` (mutually exclusive, and it
18517
+ * cannot be combined with `creatives[]` or `adSetId`). Shared copy (headline, body, link,
18518
+ * CTA) comes from the top-level single-creative fields since only the asset varies by
18520
18519
  * placement. Each rule's `placements` accepts the same fields as the top-level
18521
18520
  * `placements` object; Meta enforces co-selection rules and returns an actionable error.
18522
18521
  *
18522
+ * A block is all-image OR all-video, never mixed (Meta's asset_feed_spec carries one ad
18523
+ * format). Image mode: `defaultImageUrl` + `rules[].imageUrl`. Video mode:
18524
+ * `defaultVideoUrl` + `rules[].videoUrl` (optional `thumbnailUrl`/`defaultThumbnailUrl`
18525
+ * posters; Meta auto-generates when omitted). Exactly one catch-all default is required.
18526
+ *
18523
18527
  */
18524
18528
  placementAssets?: {
18525
18529
  /**
18526
- * Catch-all image for any placement not matched by a rule. REQUIRED Meta mandates
18527
- * a default asset customization rule (empty placement spec, lowest priority) on every
18528
- * placement-customized creative.
18529
- *
18530
+ * Image mode. Catch-all image for any placement no rule matches. Required in image mode (Meta mandates a default rule).
18531
+ */
18532
+ defaultImageUrl?: string;
18533
+ /**
18534
+ * Video mode. Catch-all video for any placement no rule matches. Required in video mode.
18530
18535
  */
18531
- defaultImageUrl: string;
18536
+ defaultVideoUrl?: string;
18532
18537
  /**
18533
- * One entry per placement group you want to pin a specific image to.
18538
+ * Video mode (optional). Poster image for the default video; Meta auto-generates one when omitted.
18539
+ */
18540
+ defaultThumbnailUrl?: string;
18541
+ /**
18542
+ * One entry per placement group you want to pin a specific asset to.
18534
18543
  */
18535
18544
  rules: Array<{
18536
18545
  /**
18537
- * The image to deliver for this rule's placements.
18546
+ * Image mode. The image to deliver for this rule's placements.
18547
+ */
18548
+ imageUrl?: string;
18549
+ /**
18550
+ * Video mode. The video to deliver for this rule's placements.
18551
+ */
18552
+ videoUrl?: string;
18553
+ /**
18554
+ * Video mode (optional). Poster image for this rule's video; auto-generated when omitted.
18538
18555
  */
18539
- imageUrl: string;
18556
+ thumbnailUrl?: string;
18540
18557
  /**
18541
- * Placements this image is pinned to. At least one field must be set (an empty rule is invalid — that role is served by defaultImageUrl). Same enums as the top-level `placements` object.
18558
+ * 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.
18542
18559
  */
18543
18560
  placements: {
18544
18561
  publisherPlatforms?: Array<('facebook' | 'instagram' | 'threads' | 'messenger' | 'audience_network')>;
@@ -19089,9 +19106,13 @@ export type SearchAdTargetingError = (unknown | {
19089
19106
  export type EstimateAdReachData = {
19090
19107
  body: {
19091
19108
  /**
19092
- * Social account ID on the target ad platform.
19109
+ * Zernio social account ID on the target ad platform (the estimate runs against its platform).
19093
19110
  */
19094
19111
  accountId: string;
19112
+ /**
19113
+ * Required. The platform ad-account ID the reach call runs against (Meta act_..., LinkedIn numeric sponsoredAccount ID, Pinterest ad-account ID, X account ID) - every backing reach API is scoped to one ad account. Get it from GET /v1/ads/accounts.
19114
+ */
19115
+ adAccountId: string;
19095
19116
  /**
19096
19117
  * The targeting spec to estimate. Same shape used by POST /v1/ads/create.
19097
19118
  */