@getlatedev/node 0.2.1192 → 0.2.1194

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
@@ -14817,13 +14817,14 @@ type WebhookPayloadComment = {
14817
14817
  * Facebook: populated from a Graph API lookup of the parent post. Present when the post is an
14818
14818
  * ad dark post (isDarkPost true, whatever its promotionStatus) or an organic post that is or was
14819
14819
  * boosted (promotionStatus "active", "extendable" or "finished"). Meta does not link a dark post
14820
- * back to its ad, so id and title are never set on Facebook.
14820
+ * back to its ad, so on Facebook id is set only when exactly one ad on the Page, created before the
14821
+ * dark post, carries the same copy as the post. title is never set on Facebook.
14821
14822
  * Absent for comments on organic posts that are not promoted.
14822
14823
  *
14823
14824
  */
14824
14825
  ad?: {
14825
14826
  /**
14826
- * Meta ad ID (Instagram only).
14827
+ * Meta ad ID. Instagram: from the webhook. Facebook: only on a dark post matched to a single ad by its copy.
14827
14828
  */
14828
14829
  id?: string;
14829
14830
  /**
@@ -42493,6 +42494,39 @@ type GetAdResponse = ({
42493
42494
  * Only with `live=true`. When the switches were read from the platform; null when the live read failed and the stored values were returned.
42494
42495
  */
42495
42496
  statusReadAt?: (string) | null;
42497
+ /**
42498
+ * Only when `{adId}` is a Facebook ad dark post with no resolvable ad (then `ad` is null).
42499
+ */
42500
+ darkPost?: {
42501
+ platform?: 'facebook';
42502
+ /**
42503
+ * The dark post id, `{pageId}_{postId}`.
42504
+ */
42505
+ platformPostId?: string;
42506
+ pageId?: string;
42507
+ /**
42508
+ * Always true.
42509
+ */
42510
+ isDarkPost?: boolean;
42511
+ /**
42512
+ * Always null: Meta exposes no link from a placement dark post to its ad.
42513
+ */
42514
+ adId?: (string) | null;
42515
+ /**
42516
+ * Zernio Meta Ads account id for the Page, null when none is connected.
42517
+ */
42518
+ accountId?: (string) | null;
42519
+ /**
42520
+ * Zernio Facebook account id of the Page.
42521
+ */
42522
+ facebookAccountId?: string;
42523
+ /**
42524
+ * Meta ad accounts (`act_...`) with synced ads on this Page.
42525
+ */
42526
+ platformAdAccountIds?: Array<(string)>;
42527
+ firstSeenAt?: string;
42528
+ lastActivityAt?: string;
42529
+ };
42496
42530
  });
42497
42531
  type GetAdError = (ErrorResponse | {
42498
42532
  error?: string;
package/dist/index.d.ts CHANGED
@@ -14817,13 +14817,14 @@ type WebhookPayloadComment = {
14817
14817
  * Facebook: populated from a Graph API lookup of the parent post. Present when the post is an
14818
14818
  * ad dark post (isDarkPost true, whatever its promotionStatus) or an organic post that is or was
14819
14819
  * boosted (promotionStatus "active", "extendable" or "finished"). Meta does not link a dark post
14820
- * back to its ad, so id and title are never set on Facebook.
14820
+ * back to its ad, so on Facebook id is set only when exactly one ad on the Page, created before the
14821
+ * dark post, carries the same copy as the post. title is never set on Facebook.
14821
14822
  * Absent for comments on organic posts that are not promoted.
14822
14823
  *
14823
14824
  */
14824
14825
  ad?: {
14825
14826
  /**
14826
- * Meta ad ID (Instagram only).
14827
+ * Meta ad ID. Instagram: from the webhook. Facebook: only on a dark post matched to a single ad by its copy.
14827
14828
  */
14828
14829
  id?: string;
14829
14830
  /**
@@ -42493,6 +42494,39 @@ type GetAdResponse = ({
42493
42494
  * Only with `live=true`. When the switches were read from the platform; null when the live read failed and the stored values were returned.
42494
42495
  */
42495
42496
  statusReadAt?: (string) | null;
42497
+ /**
42498
+ * Only when `{adId}` is a Facebook ad dark post with no resolvable ad (then `ad` is null).
42499
+ */
42500
+ darkPost?: {
42501
+ platform?: 'facebook';
42502
+ /**
42503
+ * The dark post id, `{pageId}_{postId}`.
42504
+ */
42505
+ platformPostId?: string;
42506
+ pageId?: string;
42507
+ /**
42508
+ * Always true.
42509
+ */
42510
+ isDarkPost?: boolean;
42511
+ /**
42512
+ * Always null: Meta exposes no link from a placement dark post to its ad.
42513
+ */
42514
+ adId?: (string) | null;
42515
+ /**
42516
+ * Zernio Meta Ads account id for the Page, null when none is connected.
42517
+ */
42518
+ accountId?: (string) | null;
42519
+ /**
42520
+ * Zernio Facebook account id of the Page.
42521
+ */
42522
+ facebookAccountId?: string;
42523
+ /**
42524
+ * Meta ad accounts (`act_...`) with synced ads on this Page.
42525
+ */
42526
+ platformAdAccountIds?: Array<(string)>;
42527
+ firstSeenAt?: string;
42528
+ lastActivityAt?: string;
42529
+ };
42496
42530
  });
42497
42531
  type GetAdError = (ErrorResponse | {
42498
42532
  error?: string;
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: "@getlatedev/node",
39
- version: "0.2.1192",
39
+ version: "0.2.1194",
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: "@getlatedev/node",
8
- version: "0.2.1192",
8
+ version: "0.2.1194",
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": "@getlatedev/node",
3
- "version": "0.2.1192",
3
+ "version": "0.2.1194",
4
4
  "description": "The official Node.js library for the Zernio API",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -5717,11 +5717,13 @@ export const createVoiceWebSession = <ThrowOnError extends boolean = false>(opti
5717
5717
 
5718
5718
  /**
5719
5719
  * Dial from the browser softphone
5720
- * Step 2 of the browser softphone handshake: places an outbound call
5721
- * whose answered leg is bridged to the browser registered with the
5722
- * credential from `POST /v1/voice/calls/web`. The call runs through the
5723
- * normal outbound lane, so it is logged as outbound (from = your number,
5724
- * to = target) and recorded per the number's settings.
5720
+ * Step 2 of the browser softphone handshake: rings the browser registered
5721
+ * with the credential from `POST /v1/voice/calls/web` first, and dials
5722
+ * the target only once the browser answers, so the callee's pickup
5723
+ * connects immediately with no ringing after they answer. The call is
5724
+ * logged as outbound (from = your number, to = target) and recorded per
5725
+ * the number's settings. `ringTimeoutSeconds` applies to the target's
5726
+ * phone, not to the browser.
5725
5727
  *
5726
5728
  */
5727
5729
  export const dialVoiceWebCall = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<DialVoiceWebCallData, ThrowOnError>) => {
@@ -10641,10 +10643,21 @@ export const getAdsTimeline = <ThrowOnError extends boolean = false>(options: Op
10641
10643
  * - the creative's `effective_object_story_id` (`{pageId}_{postId}` shape, Facebook side)
10642
10644
  * - the creative's `effective_instagram_media_id` (Instagram side)
10643
10645
  *
10644
- * Any of the four resolve to the same ad. Caller doesn't need a translation step.
10646
+ * - an Instagram media id an ad comment arrived on (`comment.platformPostId` of a `comment.received`
10647
+ * carrying `comment.ad.id`), including the extra media Meta creates for placement variants
10648
+ *
10649
+ * Any of these resolve to the same ad. Caller doesn't need a translation step.
10645
10650
  * `creative.creativeFeatures` holds the stored requested settings, which do not confirm
10646
10651
  * platform application.
10647
10652
  *
10653
+ * **Facebook ad dark posts.** Meta gives an ad with per-placement assets one extra unpublished
10654
+ * post per placement, and comments land on it. Meta exposes no link from that post to its ad.
10655
+ * When exactly one ad on the Page, created before the dark post, carries the same copy as the
10656
+ * post, the dark post id resolves to that ad. Otherwise, when the id is a dark post Zernio has
10657
+ * seen comments on and its Page is connected, the response is `ad: null` plus `darkPost`, which
10658
+ * carries the Meta Ads account and the ad accounts running ads for that Page. Read its comments
10659
+ * with GET /v1/ads/{adId}/comments using the same id.
10660
+ *
10648
10661
  * **Status freshness.** `status`, `configuredStatus`, `platformStatus`, `platformAdSetStatus`
10649
10662
  * and `platformCampaignStatus` are the values Zernio last stored. Background sync refreshes
10650
10663
  * them, typically within 15 to 60 minutes (Google up to about 3 hours), and ended or
@@ -11268,6 +11281,12 @@ export const updateAdTrackingTags = <ThrowOnError extends boolean = false>(optio
11268
11281
  * identifiers are read from the ad record (persisted during sync) with a Marketing-API
11269
11282
  * fallback for ads that predate the field.
11270
11283
  *
11284
+ * Comments can land on extra posts Meta creates for placement variants, which the creative
11285
+ * does not report. On Instagram, every media a `comment.received` for this ad arrived on is
11286
+ * read too; on Facebook, every dark post matched to this ad by its copy. They are merged
11287
+ * newest first. With more than one post, `pagination.cursor` is a Zernio cursor covering all
11288
+ * of them: pass it back unchanged.
11289
+ *
11271
11290
  * For Instagram-placed comments, the Instagram account that runs the ad must be connected
11272
11291
  * to Zernio, because those comments are read through that account's token. If no connected
11273
11292
  * Instagram account on the profile can read the ad's media, the call returns
@@ -13372,13 +13372,14 @@ export type WebhookPayloadComment = {
13372
13372
  * Facebook: populated from a Graph API lookup of the parent post. Present when the post is an
13373
13373
  * ad dark post (isDarkPost true, whatever its promotionStatus) or an organic post that is or was
13374
13374
  * boosted (promotionStatus "active", "extendable" or "finished"). Meta does not link a dark post
13375
- * back to its ad, so id and title are never set on Facebook.
13375
+ * back to its ad, so on Facebook id is set only when exactly one ad on the Page, created before the
13376
+ * dark post, carries the same copy as the post. title is never set on Facebook.
13376
13377
  * Absent for comments on organic posts that are not promoted.
13377
13378
  *
13378
13379
  */
13379
13380
  ad?: {
13380
13381
  /**
13381
- * Meta ad ID (Instagram only).
13382
+ * Meta ad ID. Instagram: from the webhook. Facebook: only on a dark post matched to a single ad by its copy.
13382
13383
  */
13383
13384
  id?: string;
13384
13385
  /**
@@ -42991,6 +42992,39 @@ export type GetAdResponse = ({
42991
42992
  * Only with `live=true`. When the switches were read from the platform; null when the live read failed and the stored values were returned.
42992
42993
  */
42993
42994
  statusReadAt?: (string) | null;
42995
+ /**
42996
+ * Only when `{adId}` is a Facebook ad dark post with no resolvable ad (then `ad` is null).
42997
+ */
42998
+ darkPost?: {
42999
+ platform?: 'facebook';
43000
+ /**
43001
+ * The dark post id, `{pageId}_{postId}`.
43002
+ */
43003
+ platformPostId?: string;
43004
+ pageId?: string;
43005
+ /**
43006
+ * Always true.
43007
+ */
43008
+ isDarkPost?: boolean;
43009
+ /**
43010
+ * Always null: Meta exposes no link from a placement dark post to its ad.
43011
+ */
43012
+ adId?: (string) | null;
43013
+ /**
43014
+ * Zernio Meta Ads account id for the Page, null when none is connected.
43015
+ */
43016
+ accountId?: (string) | null;
43017
+ /**
43018
+ * Zernio Facebook account id of the Page.
43019
+ */
43020
+ facebookAccountId?: string;
43021
+ /**
43022
+ * Meta ad accounts (`act_...`) with synced ads on this Page.
43023
+ */
43024
+ platformAdAccountIds?: Array<(string)>;
43025
+ firstSeenAt?: string;
43026
+ lastActivityAt?: string;
43027
+ };
42994
43028
  });
42995
43029
 
42996
43030
  export type GetAdError = (ErrorResponse | {