@zernio/node 0.2.130 → 0.2.132
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 +69 -4
- package/dist/index.d.ts +69 -4
- package/package.json +1 -1
- package/src/generated/sdk.gen.ts +20 -0
- package/src/generated/types.gen.ts +69 -4
package/dist/index.d.mts
CHANGED
|
@@ -845,6 +845,26 @@ type Ad = {
|
|
|
845
845
|
* Meta creative object_type (e.g. SHARE, VIDEO, PRIVACY_CHECK_FAIL, POST_DELETED). Use this to render state-aware previews — when Meta moderation strips image/video fields, only thumbnailUrl at 64x64 is available.
|
|
846
846
|
*/
|
|
847
847
|
objectType?: string;
|
|
848
|
+
/**
|
|
849
|
+
* Meta creative `object_story_id` (the SHARE reference). Frequently absent — Meta omits it for SHARE creatives. Use effectiveObjectStoryId instead.
|
|
850
|
+
*/
|
|
851
|
+
objectStoryId?: (string) | null;
|
|
852
|
+
/**
|
|
853
|
+
* Meta `effective_object_story_id` — `{pageId}_{postId}` of the Facebook post the ad's engagement (comments) lives on. Pass to GET /v1/ads?effectiveObjectStoryId= to map a Business-Manager-visible post back to this ad; GET /v1/ads/{adId}/comments resolves comments against it.
|
|
854
|
+
*/
|
|
855
|
+
effectiveObjectStoryId?: (string) | null;
|
|
856
|
+
/**
|
|
857
|
+
* Meta `effective_instagram_media_id` — the Instagram media ID of the boosted post the ad's engagement lives on. Pass to GET /v1/ads?effectiveInstagramMediaId= to map a Business-Manager-visible IG post back to this ad.
|
|
858
|
+
*/
|
|
859
|
+
effectiveInstagramMediaId?: (string) | null;
|
|
860
|
+
/**
|
|
861
|
+
* Meta `instagram_user_id` — the Instagram-scoped business ID that owns the boosted media.
|
|
862
|
+
*/
|
|
863
|
+
instagramUserId?: (string) | null;
|
|
864
|
+
/**
|
|
865
|
+
* Meta `instagram_permalink_url` — public Instagram post URL of the boosted media.
|
|
866
|
+
*/
|
|
867
|
+
instagramPermalinkUrl?: (string) | null;
|
|
848
868
|
/**
|
|
849
869
|
* All media URLs for this ad (carousel images, multiple assets). Populated for Meta (carousel child_attachments), Google Ads (responsive display marketing_images), and LinkedIn (multi-image posts).
|
|
850
870
|
*/
|
|
@@ -10391,9 +10411,9 @@ type ListInboxCommentsData = {
|
|
|
10391
10411
|
*/
|
|
10392
10412
|
minComments?: number;
|
|
10393
10413
|
/**
|
|
10394
|
-
* Filter by platform
|
|
10414
|
+
* Filter by platform. `metaads` is a synthetic value meaning the user's ads (boosted/dark posts) only; `facebook`/`instagram` return organic posts only.
|
|
10395
10415
|
*/
|
|
10396
|
-
platform?: 'facebook' | 'instagram' | 'twitter' | 'bluesky' | 'threads' | 'youtube' | 'linkedin' | 'reddit';
|
|
10416
|
+
platform?: 'facebook' | 'instagram' | 'twitter' | 'bluesky' | 'threads' | 'youtube' | 'linkedin' | 'reddit' | 'metaads';
|
|
10397
10417
|
/**
|
|
10398
10418
|
* Filter by profile ID
|
|
10399
10419
|
*/
|
|
@@ -10432,6 +10452,14 @@ type ListInboxCommentsResponse = ({
|
|
|
10432
10452
|
* Reddit subreddit name
|
|
10433
10453
|
*/
|
|
10434
10454
|
subreddit?: (string) | null;
|
|
10455
|
+
/**
|
|
10456
|
+
* True when this row is an ad (boosted/dark post). `platform` is then the comment platform (facebook or instagram), `id` equals `adId`, and the thread is at GET /v1/ads/{adId}/comments.
|
|
10457
|
+
*/
|
|
10458
|
+
isAd?: boolean;
|
|
10459
|
+
/**
|
|
10460
|
+
* Internal Zernio ad id — only on ad rows (same value as `id`).
|
|
10461
|
+
*/
|
|
10462
|
+
adId?: string;
|
|
10435
10463
|
}>;
|
|
10436
10464
|
pagination?: {
|
|
10437
10465
|
hasMore?: boolean;
|
|
@@ -10569,11 +10597,24 @@ type GetInboxPostCommentsResponse = ({
|
|
|
10569
10597
|
*/
|
|
10570
10598
|
subreddit?: (string) | null;
|
|
10571
10599
|
lastUpdated?: string;
|
|
10600
|
+
/**
|
|
10601
|
+
* (Facebook/Instagram only) Present when this post has no organic comments but is a boosted post — the engagement lives on the ad. Use the ad-comments endpoint instead.
|
|
10602
|
+
*/
|
|
10603
|
+
adComments?: {
|
|
10604
|
+
/**
|
|
10605
|
+
* Internal Zernio ad ID
|
|
10606
|
+
*/
|
|
10607
|
+
adId?: string;
|
|
10608
|
+
/**
|
|
10609
|
+
* Path to fetch the ad's comments (GET /v1/ads/{adId}/comments)
|
|
10610
|
+
*/
|
|
10611
|
+
adCommentsUrl?: string;
|
|
10612
|
+
} | null;
|
|
10572
10613
|
};
|
|
10573
10614
|
});
|
|
10574
|
-
type GetInboxPostCommentsError = ({
|
|
10615
|
+
type GetInboxPostCommentsError = (unknown | {
|
|
10575
10616
|
error?: string;
|
|
10576
|
-
}
|
|
10617
|
+
});
|
|
10577
10618
|
type ReplyToInboxPostData = {
|
|
10578
10619
|
body: {
|
|
10579
10620
|
accountId: string;
|
|
@@ -13279,6 +13320,14 @@ type ListAdsData = {
|
|
|
13279
13320
|
* Platform campaign ID (filter ads within a campaign)
|
|
13280
13321
|
*/
|
|
13281
13322
|
campaignId?: string;
|
|
13323
|
+
/**
|
|
13324
|
+
* Instagram media ID of the boosted post (Meta `effective_instagram_media_id`). Use to map a Business-Manager-visible IG post back to the Zernio ad.
|
|
13325
|
+
*/
|
|
13326
|
+
effectiveInstagramMediaId?: string;
|
|
13327
|
+
/**
|
|
13328
|
+
* Facebook `{pageId}_{postId}` of the post the ad's engagement lives on (Meta `effective_object_story_id`). Use to map a Business-Manager-visible post back to the Zernio ad.
|
|
13329
|
+
*/
|
|
13330
|
+
effectiveObjectStoryId?: string;
|
|
13282
13331
|
/**
|
|
13283
13332
|
* Start of metrics date range (YYYY-MM-DD). Defaults to 90 days ago.
|
|
13284
13333
|
*/
|
|
@@ -13289,6 +13338,10 @@ type ListAdsData = {
|
|
|
13289
13338
|
*/
|
|
13290
13339
|
page?: number;
|
|
13291
13340
|
platform?: 'facebook' | 'instagram' | 'tiktok' | 'linkedin' | 'pinterest' | 'google' | 'twitter';
|
|
13341
|
+
/**
|
|
13342
|
+
* Meta ad ID. Returns the ad with this platform-side ad ID.
|
|
13343
|
+
*/
|
|
13344
|
+
platformAdId?: string;
|
|
13292
13345
|
/**
|
|
13293
13346
|
* Profile ID
|
|
13294
13347
|
*/
|
|
@@ -13791,6 +13844,18 @@ type GetAdCommentsResponse = ({
|
|
|
13791
13844
|
* Underlying post ID the comments belong to. effective_object_story_id for Facebook, effective_instagram_media_id for Instagram.
|
|
13792
13845
|
*/
|
|
13793
13846
|
effectiveStoryId: string;
|
|
13847
|
+
/**
|
|
13848
|
+
* Instagram-only. The Instagram-scoped business ID that owns the boosted media (creative.instagram_user_id).
|
|
13849
|
+
*/
|
|
13850
|
+
instagramUserId?: string;
|
|
13851
|
+
/**
|
|
13852
|
+
* Instagram-only. Public permalink of the boosted IG post (creative.instagram_permalink_url).
|
|
13853
|
+
*/
|
|
13854
|
+
instagramPermalink?: string;
|
|
13855
|
+
/**
|
|
13856
|
+
* Instagram-only. The connected Instagram SocialAccount these comments were read through — use it for reply/hide actions via /v1/inbox/comments.
|
|
13857
|
+
*/
|
|
13858
|
+
instagramAccountId?: string;
|
|
13794
13859
|
/**
|
|
13795
13860
|
* Social account ID (ads SocialAccount).
|
|
13796
13861
|
*/
|
package/dist/index.d.ts
CHANGED
|
@@ -845,6 +845,26 @@ type Ad = {
|
|
|
845
845
|
* Meta creative object_type (e.g. SHARE, VIDEO, PRIVACY_CHECK_FAIL, POST_DELETED). Use this to render state-aware previews — when Meta moderation strips image/video fields, only thumbnailUrl at 64x64 is available.
|
|
846
846
|
*/
|
|
847
847
|
objectType?: string;
|
|
848
|
+
/**
|
|
849
|
+
* Meta creative `object_story_id` (the SHARE reference). Frequently absent — Meta omits it for SHARE creatives. Use effectiveObjectStoryId instead.
|
|
850
|
+
*/
|
|
851
|
+
objectStoryId?: (string) | null;
|
|
852
|
+
/**
|
|
853
|
+
* Meta `effective_object_story_id` — `{pageId}_{postId}` of the Facebook post the ad's engagement (comments) lives on. Pass to GET /v1/ads?effectiveObjectStoryId= to map a Business-Manager-visible post back to this ad; GET /v1/ads/{adId}/comments resolves comments against it.
|
|
854
|
+
*/
|
|
855
|
+
effectiveObjectStoryId?: (string) | null;
|
|
856
|
+
/**
|
|
857
|
+
* Meta `effective_instagram_media_id` — the Instagram media ID of the boosted post the ad's engagement lives on. Pass to GET /v1/ads?effectiveInstagramMediaId= to map a Business-Manager-visible IG post back to this ad.
|
|
858
|
+
*/
|
|
859
|
+
effectiveInstagramMediaId?: (string) | null;
|
|
860
|
+
/**
|
|
861
|
+
* Meta `instagram_user_id` — the Instagram-scoped business ID that owns the boosted media.
|
|
862
|
+
*/
|
|
863
|
+
instagramUserId?: (string) | null;
|
|
864
|
+
/**
|
|
865
|
+
* Meta `instagram_permalink_url` — public Instagram post URL of the boosted media.
|
|
866
|
+
*/
|
|
867
|
+
instagramPermalinkUrl?: (string) | null;
|
|
848
868
|
/**
|
|
849
869
|
* All media URLs for this ad (carousel images, multiple assets). Populated for Meta (carousel child_attachments), Google Ads (responsive display marketing_images), and LinkedIn (multi-image posts).
|
|
850
870
|
*/
|
|
@@ -10391,9 +10411,9 @@ type ListInboxCommentsData = {
|
|
|
10391
10411
|
*/
|
|
10392
10412
|
minComments?: number;
|
|
10393
10413
|
/**
|
|
10394
|
-
* Filter by platform
|
|
10414
|
+
* Filter by platform. `metaads` is a synthetic value meaning the user's ads (boosted/dark posts) only; `facebook`/`instagram` return organic posts only.
|
|
10395
10415
|
*/
|
|
10396
|
-
platform?: 'facebook' | 'instagram' | 'twitter' | 'bluesky' | 'threads' | 'youtube' | 'linkedin' | 'reddit';
|
|
10416
|
+
platform?: 'facebook' | 'instagram' | 'twitter' | 'bluesky' | 'threads' | 'youtube' | 'linkedin' | 'reddit' | 'metaads';
|
|
10397
10417
|
/**
|
|
10398
10418
|
* Filter by profile ID
|
|
10399
10419
|
*/
|
|
@@ -10432,6 +10452,14 @@ type ListInboxCommentsResponse = ({
|
|
|
10432
10452
|
* Reddit subreddit name
|
|
10433
10453
|
*/
|
|
10434
10454
|
subreddit?: (string) | null;
|
|
10455
|
+
/**
|
|
10456
|
+
* True when this row is an ad (boosted/dark post). `platform` is then the comment platform (facebook or instagram), `id` equals `adId`, and the thread is at GET /v1/ads/{adId}/comments.
|
|
10457
|
+
*/
|
|
10458
|
+
isAd?: boolean;
|
|
10459
|
+
/**
|
|
10460
|
+
* Internal Zernio ad id — only on ad rows (same value as `id`).
|
|
10461
|
+
*/
|
|
10462
|
+
adId?: string;
|
|
10435
10463
|
}>;
|
|
10436
10464
|
pagination?: {
|
|
10437
10465
|
hasMore?: boolean;
|
|
@@ -10569,11 +10597,24 @@ type GetInboxPostCommentsResponse = ({
|
|
|
10569
10597
|
*/
|
|
10570
10598
|
subreddit?: (string) | null;
|
|
10571
10599
|
lastUpdated?: string;
|
|
10600
|
+
/**
|
|
10601
|
+
* (Facebook/Instagram only) Present when this post has no organic comments but is a boosted post — the engagement lives on the ad. Use the ad-comments endpoint instead.
|
|
10602
|
+
*/
|
|
10603
|
+
adComments?: {
|
|
10604
|
+
/**
|
|
10605
|
+
* Internal Zernio ad ID
|
|
10606
|
+
*/
|
|
10607
|
+
adId?: string;
|
|
10608
|
+
/**
|
|
10609
|
+
* Path to fetch the ad's comments (GET /v1/ads/{adId}/comments)
|
|
10610
|
+
*/
|
|
10611
|
+
adCommentsUrl?: string;
|
|
10612
|
+
} | null;
|
|
10572
10613
|
};
|
|
10573
10614
|
});
|
|
10574
|
-
type GetInboxPostCommentsError = ({
|
|
10615
|
+
type GetInboxPostCommentsError = (unknown | {
|
|
10575
10616
|
error?: string;
|
|
10576
|
-
}
|
|
10617
|
+
});
|
|
10577
10618
|
type ReplyToInboxPostData = {
|
|
10578
10619
|
body: {
|
|
10579
10620
|
accountId: string;
|
|
@@ -13279,6 +13320,14 @@ type ListAdsData = {
|
|
|
13279
13320
|
* Platform campaign ID (filter ads within a campaign)
|
|
13280
13321
|
*/
|
|
13281
13322
|
campaignId?: string;
|
|
13323
|
+
/**
|
|
13324
|
+
* Instagram media ID of the boosted post (Meta `effective_instagram_media_id`). Use to map a Business-Manager-visible IG post back to the Zernio ad.
|
|
13325
|
+
*/
|
|
13326
|
+
effectiveInstagramMediaId?: string;
|
|
13327
|
+
/**
|
|
13328
|
+
* Facebook `{pageId}_{postId}` of the post the ad's engagement lives on (Meta `effective_object_story_id`). Use to map a Business-Manager-visible post back to the Zernio ad.
|
|
13329
|
+
*/
|
|
13330
|
+
effectiveObjectStoryId?: string;
|
|
13282
13331
|
/**
|
|
13283
13332
|
* Start of metrics date range (YYYY-MM-DD). Defaults to 90 days ago.
|
|
13284
13333
|
*/
|
|
@@ -13289,6 +13338,10 @@ type ListAdsData = {
|
|
|
13289
13338
|
*/
|
|
13290
13339
|
page?: number;
|
|
13291
13340
|
platform?: 'facebook' | 'instagram' | 'tiktok' | 'linkedin' | 'pinterest' | 'google' | 'twitter';
|
|
13341
|
+
/**
|
|
13342
|
+
* Meta ad ID. Returns the ad with this platform-side ad ID.
|
|
13343
|
+
*/
|
|
13344
|
+
platformAdId?: string;
|
|
13292
13345
|
/**
|
|
13293
13346
|
* Profile ID
|
|
13294
13347
|
*/
|
|
@@ -13791,6 +13844,18 @@ type GetAdCommentsResponse = ({
|
|
|
13791
13844
|
* Underlying post ID the comments belong to. effective_object_story_id for Facebook, effective_instagram_media_id for Instagram.
|
|
13792
13845
|
*/
|
|
13793
13846
|
effectiveStoryId: string;
|
|
13847
|
+
/**
|
|
13848
|
+
* Instagram-only. The Instagram-scoped business ID that owns the boosted media (creative.instagram_user_id).
|
|
13849
|
+
*/
|
|
13850
|
+
instagramUserId?: string;
|
|
13851
|
+
/**
|
|
13852
|
+
* Instagram-only. Public permalink of the boosted IG post (creative.instagram_permalink_url).
|
|
13853
|
+
*/
|
|
13854
|
+
instagramPermalink?: string;
|
|
13855
|
+
/**
|
|
13856
|
+
* Instagram-only. The connected Instagram SocialAccount these comments were read through — use it for reply/hide actions via /v1/inbox/comments.
|
|
13857
|
+
*/
|
|
13858
|
+
instagramAccountId?: string;
|
|
13794
13859
|
/**
|
|
13795
13860
|
* Social account ID (ads SocialAccount).
|
|
13796
13861
|
*/
|
package/package.json
CHANGED
package/src/generated/sdk.gen.ts
CHANGED
|
@@ -2080,6 +2080,15 @@ export const deleteTelegramCommands = <ThrowOnError extends boolean = false>(opt
|
|
|
2080
2080
|
/**
|
|
2081
2081
|
* List commented posts
|
|
2082
2082
|
* Returns posts with comment counts from all connected accounts. Aggregates data across multiple accounts.
|
|
2083
|
+
*
|
|
2084
|
+
* For users with the Ads add-on (Metronome plans always qualify), the user's Meta ads
|
|
2085
|
+
* (boosted/dark posts) are included too, flagged with `isAd: true` and an `adId`. Use
|
|
2086
|
+
* `?platform=metaads` to return *only* ad rows; passing `facebook`/`instagram` returns
|
|
2087
|
+
* *organic* posts only (no ads); omitting `platform` returns both. Fetch an ad row's
|
|
2088
|
+
* thread from GET /v1/ads/{adId}/comments. Ad comment counts are read with the Marketing
|
|
2089
|
+
* API token (Facebook) or the connected Instagram account's token (Instagram); an ad
|
|
2090
|
+
* whose count can't be read is omitted.
|
|
2091
|
+
*
|
|
2083
2092
|
*/
|
|
2084
2093
|
export const listInboxComments = <ThrowOnError extends boolean = false>(options?: OptionsLegacyParser<ListInboxCommentsData, ThrowOnError>) => {
|
|
2085
2094
|
return (options?.client ?? client).get<ListInboxCommentsResponse, ListInboxCommentsError, ThrowOnError>({
|
|
@@ -3237,6 +3246,12 @@ export const listCommentAutomationLogs = <ThrowOnError extends boolean = false>(
|
|
|
3237
3246
|
* Use source=all to include externally-synced ads from platform ad managers.
|
|
3238
3247
|
* If no date range is provided, defaults to the last 90 days. Date range is capped at 730 days max.
|
|
3239
3248
|
*
|
|
3249
|
+
* To find the Zernio ad behind a comment you see in Meta Business Manager, filter by
|
|
3250
|
+
* platformAdId (the Meta ad ID), effectiveObjectStoryId (Facebook), or
|
|
3251
|
+
* effectiveInstagramMediaId (Instagram) — those are the post/media the ad's engagement
|
|
3252
|
+
* lives on, and are also returned on each ad's `creative` object. Then call
|
|
3253
|
+
* GET /v1/ads/{adId}/comments with the returned ad id.
|
|
3254
|
+
*
|
|
3240
3255
|
*/
|
|
3241
3256
|
export const listAds = <ThrowOnError extends boolean = false>(options?: OptionsLegacyParser<ListAdsData, ThrowOnError>) => {
|
|
3242
3257
|
return (options?.client ?? client).get<ListAdsResponse, ListAdsError, ThrowOnError>({
|
|
@@ -3474,6 +3489,11 @@ export const getAdAnalytics = <ThrowOnError extends boolean = false>(options: Op
|
|
|
3474
3489
|
* effective_instagram_media_id (Instagram) via the Marketing API on each call
|
|
3475
3490
|
* (cached in-process by the platform client), then fetches comments from the Graph API.
|
|
3476
3491
|
*
|
|
3492
|
+
* For Instagram-placed ads, the Instagram account that runs the ad must be connected
|
|
3493
|
+
* to Zernio — comments are read through that account's token. If none of the connected
|
|
3494
|
+
* Instagram accounts on the profile can read the ad's media, the call returns
|
|
3495
|
+
* ads_connection_required.
|
|
3496
|
+
*
|
|
3477
3497
|
* Meta-only. Other ad platforms (TikTok, LinkedIn, Pinterest, Google, X) do not
|
|
3478
3498
|
* expose a public per-ad comments API and return feature_not_available.
|
|
3479
3499
|
*
|
|
@@ -216,6 +216,26 @@ export type Ad = {
|
|
|
216
216
|
* Meta creative object_type (e.g. SHARE, VIDEO, PRIVACY_CHECK_FAIL, POST_DELETED). Use this to render state-aware previews — when Meta moderation strips image/video fields, only thumbnailUrl at 64x64 is available.
|
|
217
217
|
*/
|
|
218
218
|
objectType?: string;
|
|
219
|
+
/**
|
|
220
|
+
* Meta creative `object_story_id` (the SHARE reference). Frequently absent — Meta omits it for SHARE creatives. Use effectiveObjectStoryId instead.
|
|
221
|
+
*/
|
|
222
|
+
objectStoryId?: (string) | null;
|
|
223
|
+
/**
|
|
224
|
+
* Meta `effective_object_story_id` — `{pageId}_{postId}` of the Facebook post the ad's engagement (comments) lives on. Pass to GET /v1/ads?effectiveObjectStoryId= to map a Business-Manager-visible post back to this ad; GET /v1/ads/{adId}/comments resolves comments against it.
|
|
225
|
+
*/
|
|
226
|
+
effectiveObjectStoryId?: (string) | null;
|
|
227
|
+
/**
|
|
228
|
+
* Meta `effective_instagram_media_id` — the Instagram media ID of the boosted post the ad's engagement lives on. Pass to GET /v1/ads?effectiveInstagramMediaId= to map a Business-Manager-visible IG post back to this ad.
|
|
229
|
+
*/
|
|
230
|
+
effectiveInstagramMediaId?: (string) | null;
|
|
231
|
+
/**
|
|
232
|
+
* Meta `instagram_user_id` — the Instagram-scoped business ID that owns the boosted media.
|
|
233
|
+
*/
|
|
234
|
+
instagramUserId?: (string) | null;
|
|
235
|
+
/**
|
|
236
|
+
* Meta `instagram_permalink_url` — public Instagram post URL of the boosted media.
|
|
237
|
+
*/
|
|
238
|
+
instagramPermalinkUrl?: (string) | null;
|
|
219
239
|
/**
|
|
220
240
|
* All media URLs for this ad (carousel images, multiple assets). Populated for Meta (carousel child_attachments), Google Ads (responsive display marketing_images), and LinkedIn (multi-image posts).
|
|
221
241
|
*/
|
|
@@ -10392,9 +10412,9 @@ export type ListInboxCommentsData = {
|
|
|
10392
10412
|
*/
|
|
10393
10413
|
minComments?: number;
|
|
10394
10414
|
/**
|
|
10395
|
-
* Filter by platform
|
|
10415
|
+
* Filter by platform. `metaads` is a synthetic value meaning the user's ads (boosted/dark posts) only; `facebook`/`instagram` return organic posts only.
|
|
10396
10416
|
*/
|
|
10397
|
-
platform?: 'facebook' | 'instagram' | 'twitter' | 'bluesky' | 'threads' | 'youtube' | 'linkedin' | 'reddit';
|
|
10417
|
+
platform?: 'facebook' | 'instagram' | 'twitter' | 'bluesky' | 'threads' | 'youtube' | 'linkedin' | 'reddit' | 'metaads';
|
|
10398
10418
|
/**
|
|
10399
10419
|
* Filter by profile ID
|
|
10400
10420
|
*/
|
|
@@ -10434,6 +10454,14 @@ export type ListInboxCommentsResponse = ({
|
|
|
10434
10454
|
* Reddit subreddit name
|
|
10435
10455
|
*/
|
|
10436
10456
|
subreddit?: (string) | null;
|
|
10457
|
+
/**
|
|
10458
|
+
* True when this row is an ad (boosted/dark post). `platform` is then the comment platform (facebook or instagram), `id` equals `adId`, and the thread is at GET /v1/ads/{adId}/comments.
|
|
10459
|
+
*/
|
|
10460
|
+
isAd?: boolean;
|
|
10461
|
+
/**
|
|
10462
|
+
* Internal Zernio ad id — only on ad rows (same value as `id`).
|
|
10463
|
+
*/
|
|
10464
|
+
adId?: string;
|
|
10437
10465
|
}>;
|
|
10438
10466
|
pagination?: {
|
|
10439
10467
|
hasMore?: boolean;
|
|
@@ -10574,12 +10602,25 @@ export type GetInboxPostCommentsResponse = ({
|
|
|
10574
10602
|
*/
|
|
10575
10603
|
subreddit?: (string) | null;
|
|
10576
10604
|
lastUpdated?: string;
|
|
10605
|
+
/**
|
|
10606
|
+
* (Facebook/Instagram only) Present when this post has no organic comments but is a boosted post — the engagement lives on the ad. Use the ad-comments endpoint instead.
|
|
10607
|
+
*/
|
|
10608
|
+
adComments?: {
|
|
10609
|
+
/**
|
|
10610
|
+
* Internal Zernio ad ID
|
|
10611
|
+
*/
|
|
10612
|
+
adId?: string;
|
|
10613
|
+
/**
|
|
10614
|
+
* Path to fetch the ad's comments (GET /v1/ads/{adId}/comments)
|
|
10615
|
+
*/
|
|
10616
|
+
adCommentsUrl?: string;
|
|
10617
|
+
} | null;
|
|
10577
10618
|
};
|
|
10578
10619
|
});
|
|
10579
10620
|
|
|
10580
|
-
export type GetInboxPostCommentsError = ({
|
|
10621
|
+
export type GetInboxPostCommentsError = (unknown | {
|
|
10581
10622
|
error?: string;
|
|
10582
|
-
}
|
|
10623
|
+
});
|
|
10583
10624
|
|
|
10584
10625
|
export type ReplyToInboxPostData = {
|
|
10585
10626
|
body: {
|
|
@@ -13556,6 +13597,14 @@ export type ListAdsData = {
|
|
|
13556
13597
|
* Platform campaign ID (filter ads within a campaign)
|
|
13557
13598
|
*/
|
|
13558
13599
|
campaignId?: string;
|
|
13600
|
+
/**
|
|
13601
|
+
* Instagram media ID of the boosted post (Meta `effective_instagram_media_id`). Use to map a Business-Manager-visible IG post back to the Zernio ad.
|
|
13602
|
+
*/
|
|
13603
|
+
effectiveInstagramMediaId?: string;
|
|
13604
|
+
/**
|
|
13605
|
+
* Facebook `{pageId}_{postId}` of the post the ad's engagement lives on (Meta `effective_object_story_id`). Use to map a Business-Manager-visible post back to the Zernio ad.
|
|
13606
|
+
*/
|
|
13607
|
+
effectiveObjectStoryId?: string;
|
|
13559
13608
|
/**
|
|
13560
13609
|
* Start of metrics date range (YYYY-MM-DD). Defaults to 90 days ago.
|
|
13561
13610
|
*/
|
|
@@ -13566,6 +13615,10 @@ export type ListAdsData = {
|
|
|
13566
13615
|
*/
|
|
13567
13616
|
page?: number;
|
|
13568
13617
|
platform?: 'facebook' | 'instagram' | 'tiktok' | 'linkedin' | 'pinterest' | 'google' | 'twitter';
|
|
13618
|
+
/**
|
|
13619
|
+
* Meta ad ID. Returns the ad with this platform-side ad ID.
|
|
13620
|
+
*/
|
|
13621
|
+
platformAdId?: string;
|
|
13569
13622
|
/**
|
|
13570
13623
|
* Profile ID
|
|
13571
13624
|
*/
|
|
@@ -14111,6 +14164,18 @@ export type GetAdCommentsResponse = ({
|
|
|
14111
14164
|
* Underlying post ID the comments belong to. effective_object_story_id for Facebook, effective_instagram_media_id for Instagram.
|
|
14112
14165
|
*/
|
|
14113
14166
|
effectiveStoryId: string;
|
|
14167
|
+
/**
|
|
14168
|
+
* Instagram-only. The Instagram-scoped business ID that owns the boosted media (creative.instagram_user_id).
|
|
14169
|
+
*/
|
|
14170
|
+
instagramUserId?: string;
|
|
14171
|
+
/**
|
|
14172
|
+
* Instagram-only. Public permalink of the boosted IG post (creative.instagram_permalink_url).
|
|
14173
|
+
*/
|
|
14174
|
+
instagramPermalink?: string;
|
|
14175
|
+
/**
|
|
14176
|
+
* Instagram-only. The connected Instagram SocialAccount these comments were read through — use it for reply/hide actions via /v1/inbox/comments.
|
|
14177
|
+
*/
|
|
14178
|
+
instagramAccountId?: string;
|
|
14114
14179
|
/**
|
|
14115
14180
|
* Social account ID (ads SocialAccount).
|
|
14116
14181
|
*/
|