@zernio/node 0.2.527 → 0.2.529
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 +58 -14
- package/dist/index.d.ts +58 -14
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +1 -1
- package/src/generated/sdk.gen.ts +15 -1
- package/src/generated/types.gen.ts +58 -14
package/dist/index.d.mts
CHANGED
|
@@ -3025,13 +3025,27 @@ type CtwaAdRequestBody = {
|
|
|
3025
3025
|
thumbnailUrl: string;
|
|
3026
3026
|
};
|
|
3027
3027
|
}>;
|
|
3028
|
+
/**
|
|
3029
|
+
* Attach the creatives to this EXISTING messaging ad set instead of
|
|
3030
|
+
* building a campaign, so the ad set keeps its learning phase. It then
|
|
3031
|
+
* owns budget, targeting and schedule, so `budgetAmount`, `budgetType`,
|
|
3032
|
+
* `endDate`, `objective`, `countries`, `interests` and `audienceId` are
|
|
3033
|
+
* rejected with a 400 alongside it. Its `destination_type` must match
|
|
3034
|
+
* the ad's destination.
|
|
3035
|
+
*
|
|
3036
|
+
*/
|
|
3037
|
+
adSetId?: string;
|
|
3028
3038
|
/**
|
|
3029
3039
|
* Budget amount in the ad account's currency major units
|
|
3030
3040
|
* (e.g. dollars for USD, not cents). Must be > 0.
|
|
3041
|
+
* Required unless `adSetId` is set, where the ad set owns it.
|
|
3031
3042
|
*
|
|
3032
3043
|
*/
|
|
3033
|
-
budgetAmount
|
|
3034
|
-
|
|
3044
|
+
budgetAmount?: number;
|
|
3045
|
+
/**
|
|
3046
|
+
* Required unless `adSetId` is set.
|
|
3047
|
+
*/
|
|
3048
|
+
budgetType?: 'daily' | 'lifetime';
|
|
3035
3049
|
/**
|
|
3036
3050
|
* ISO 4217 currency code matching the ad account's currency
|
|
3037
3051
|
* (e.g. `USD`). Optional; Meta infers from the ad account
|
|
@@ -3200,6 +3214,9 @@ type CtwaAdRequestBody = {
|
|
|
3200
3214
|
*/
|
|
3201
3215
|
dsaPayor?: string;
|
|
3202
3216
|
};
|
|
3217
|
+
/**
|
|
3218
|
+
* Required unless `adSetId` is set.
|
|
3219
|
+
*/
|
|
3203
3220
|
type budgetType = 'daily' | 'lifetime';
|
|
3204
3221
|
/**
|
|
3205
3222
|
* Meta's Advantage+ audience expansion. `0` (default) keeps
|
|
@@ -17468,7 +17485,7 @@ type SendInboxMessageData = {
|
|
|
17468
17485
|
};
|
|
17469
17486
|
path: {
|
|
17470
17487
|
/**
|
|
17471
|
-
*
|
|
17488
|
+
* Opaque conversation identifier, accepted verbatim from the list endpoint or from the conversationId on inbox webhooks. Format not to be assumed.
|
|
17472
17489
|
*/
|
|
17473
17490
|
conversationId: string;
|
|
17474
17491
|
};
|
|
@@ -28231,13 +28248,28 @@ type BoostPostData = {
|
|
|
28231
28248
|
* Available goals vary by platform. Meta (Facebook/Instagram) and TikTok support all 7. LinkedIn supports all except app_promotion. Twitter/X supports engagement, traffic, awareness, video_views, app_promotion. Pinterest and Google Ads support only engagement, traffic, awareness, video_views.
|
|
28232
28249
|
*/
|
|
28233
28250
|
goal: 'engagement' | 'traffic' | 'awareness' | 'video_views' | 'lead_generation' | 'conversions' | 'app_promotion';
|
|
28234
|
-
|
|
28251
|
+
/**
|
|
28252
|
+
* Meta only. Attach the boosted post to this existing ad set instead of creating a campaign. The ad set then owns budget, schedule and targeting; sending those too is a 400.
|
|
28253
|
+
*/
|
|
28254
|
+
adSetId?: string;
|
|
28255
|
+
/**
|
|
28256
|
+
* Required unless adSetId is set.
|
|
28257
|
+
*/
|
|
28258
|
+
budget?: {
|
|
28235
28259
|
/**
|
|
28236
28260
|
* Minimum varies: TikTok=$20, Pinterest=$5, others=$1
|
|
28237
28261
|
*/
|
|
28238
28262
|
amount: number;
|
|
28239
28263
|
type: 'daily' | 'lifetime';
|
|
28240
28264
|
};
|
|
28265
|
+
/**
|
|
28266
|
+
* Meta only. Instagram identity the ad runs AS (creative.instagram_user_id), overriding the account linked to the Page. Live-verified against a Page-post creative.
|
|
28267
|
+
*/
|
|
28268
|
+
instagramAccountId?: string;
|
|
28269
|
+
/**
|
|
28270
|
+
* Meta only. Ad-set destination_type — where the click LANDS, as opposed to instagramAccountId which is who the ad runs as. Lead ads force ON_AD and ignore this.
|
|
28271
|
+
*/
|
|
28272
|
+
destinationType?: 'INSTAGRAM_PROFILE' | 'WEBSITE' | 'ON_AD' | 'MESSENGER' | 'WHATSAPP';
|
|
28241
28273
|
currency?: string;
|
|
28242
28274
|
schedule?: {
|
|
28243
28275
|
startDate?: string;
|
|
@@ -28403,20 +28435,32 @@ type BoostPostData = {
|
|
|
28403
28435
|
*/
|
|
28404
28436
|
specialAdCategoryCountry?: Array<(string)>;
|
|
28405
28437
|
/**
|
|
28406
|
-
*
|
|
28407
|
-
*
|
|
28408
|
-
*
|
|
28409
|
-
*
|
|
28410
|
-
*
|
|
28438
|
+
* Destination URL for the CTA button. Send it together with `callToAction`.
|
|
28439
|
+
*
|
|
28440
|
+
* **Meta**: adds a top-level `call_to_action` to the post-reference creative.
|
|
28441
|
+
* This is what gives a `traffic` boost a clickable destination without
|
|
28442
|
+
* replacing the creative and losing the post's social proof. Ignored when
|
|
28443
|
+
* `leadGenFormId` is set, which supplies its own destination. Live-verified
|
|
28444
|
+
* against a Page-post creative.
|
|
28445
|
+
*
|
|
28446
|
+
* **TikTok**: maps to `landing_page_url` on the Spark Ad creative
|
|
28447
|
+
* (`AdcreateCreatives.landing_page_url`); Spark Ads have no clickable
|
|
28448
|
+
* destination without it.
|
|
28449
|
+
*
|
|
28450
|
+
* Ignored on LinkedIn / Pinterest / X / Google, which infer the destination
|
|
28451
|
+
* from the boosted post.
|
|
28411
28452
|
*
|
|
28412
28453
|
*/
|
|
28413
28454
|
linkUrl?: string;
|
|
28414
28455
|
/**
|
|
28415
|
-
*
|
|
28416
|
-
*
|
|
28417
|
-
*
|
|
28418
|
-
*
|
|
28419
|
-
*
|
|
28456
|
+
* CTA button label. Send it together with `linkUrl` — a CTA without a
|
|
28457
|
+
* destination produces a button that goes nowhere, so sending one alone is a 400.
|
|
28458
|
+
*
|
|
28459
|
+
* **Meta**: validated against the Meta CTA enum (same values as
|
|
28460
|
+
* POST /v1/ads/create), e.g. `LEARN_MORE`, `SHOP_NOW`, `SIGN_UP`.
|
|
28461
|
+
*
|
|
28462
|
+
* **TikTok**: pass-through to `call_to_action` on the Spark Ad creative; the
|
|
28463
|
+
* platform validates the value. See TikTok's "Enumeration - Call-to-Action".
|
|
28420
28464
|
*
|
|
28421
28465
|
*/
|
|
28422
28466
|
callToAction?: string;
|
package/dist/index.d.ts
CHANGED
|
@@ -3025,13 +3025,27 @@ type CtwaAdRequestBody = {
|
|
|
3025
3025
|
thumbnailUrl: string;
|
|
3026
3026
|
};
|
|
3027
3027
|
}>;
|
|
3028
|
+
/**
|
|
3029
|
+
* Attach the creatives to this EXISTING messaging ad set instead of
|
|
3030
|
+
* building a campaign, so the ad set keeps its learning phase. It then
|
|
3031
|
+
* owns budget, targeting and schedule, so `budgetAmount`, `budgetType`,
|
|
3032
|
+
* `endDate`, `objective`, `countries`, `interests` and `audienceId` are
|
|
3033
|
+
* rejected with a 400 alongside it. Its `destination_type` must match
|
|
3034
|
+
* the ad's destination.
|
|
3035
|
+
*
|
|
3036
|
+
*/
|
|
3037
|
+
adSetId?: string;
|
|
3028
3038
|
/**
|
|
3029
3039
|
* Budget amount in the ad account's currency major units
|
|
3030
3040
|
* (e.g. dollars for USD, not cents). Must be > 0.
|
|
3041
|
+
* Required unless `adSetId` is set, where the ad set owns it.
|
|
3031
3042
|
*
|
|
3032
3043
|
*/
|
|
3033
|
-
budgetAmount
|
|
3034
|
-
|
|
3044
|
+
budgetAmount?: number;
|
|
3045
|
+
/**
|
|
3046
|
+
* Required unless `adSetId` is set.
|
|
3047
|
+
*/
|
|
3048
|
+
budgetType?: 'daily' | 'lifetime';
|
|
3035
3049
|
/**
|
|
3036
3050
|
* ISO 4217 currency code matching the ad account's currency
|
|
3037
3051
|
* (e.g. `USD`). Optional; Meta infers from the ad account
|
|
@@ -3200,6 +3214,9 @@ type CtwaAdRequestBody = {
|
|
|
3200
3214
|
*/
|
|
3201
3215
|
dsaPayor?: string;
|
|
3202
3216
|
};
|
|
3217
|
+
/**
|
|
3218
|
+
* Required unless `adSetId` is set.
|
|
3219
|
+
*/
|
|
3203
3220
|
type budgetType = 'daily' | 'lifetime';
|
|
3204
3221
|
/**
|
|
3205
3222
|
* Meta's Advantage+ audience expansion. `0` (default) keeps
|
|
@@ -17468,7 +17485,7 @@ type SendInboxMessageData = {
|
|
|
17468
17485
|
};
|
|
17469
17486
|
path: {
|
|
17470
17487
|
/**
|
|
17471
|
-
*
|
|
17488
|
+
* Opaque conversation identifier, accepted verbatim from the list endpoint or from the conversationId on inbox webhooks. Format not to be assumed.
|
|
17472
17489
|
*/
|
|
17473
17490
|
conversationId: string;
|
|
17474
17491
|
};
|
|
@@ -28231,13 +28248,28 @@ type BoostPostData = {
|
|
|
28231
28248
|
* Available goals vary by platform. Meta (Facebook/Instagram) and TikTok support all 7. LinkedIn supports all except app_promotion. Twitter/X supports engagement, traffic, awareness, video_views, app_promotion. Pinterest and Google Ads support only engagement, traffic, awareness, video_views.
|
|
28232
28249
|
*/
|
|
28233
28250
|
goal: 'engagement' | 'traffic' | 'awareness' | 'video_views' | 'lead_generation' | 'conversions' | 'app_promotion';
|
|
28234
|
-
|
|
28251
|
+
/**
|
|
28252
|
+
* Meta only. Attach the boosted post to this existing ad set instead of creating a campaign. The ad set then owns budget, schedule and targeting; sending those too is a 400.
|
|
28253
|
+
*/
|
|
28254
|
+
adSetId?: string;
|
|
28255
|
+
/**
|
|
28256
|
+
* Required unless adSetId is set.
|
|
28257
|
+
*/
|
|
28258
|
+
budget?: {
|
|
28235
28259
|
/**
|
|
28236
28260
|
* Minimum varies: TikTok=$20, Pinterest=$5, others=$1
|
|
28237
28261
|
*/
|
|
28238
28262
|
amount: number;
|
|
28239
28263
|
type: 'daily' | 'lifetime';
|
|
28240
28264
|
};
|
|
28265
|
+
/**
|
|
28266
|
+
* Meta only. Instagram identity the ad runs AS (creative.instagram_user_id), overriding the account linked to the Page. Live-verified against a Page-post creative.
|
|
28267
|
+
*/
|
|
28268
|
+
instagramAccountId?: string;
|
|
28269
|
+
/**
|
|
28270
|
+
* Meta only. Ad-set destination_type — where the click LANDS, as opposed to instagramAccountId which is who the ad runs as. Lead ads force ON_AD and ignore this.
|
|
28271
|
+
*/
|
|
28272
|
+
destinationType?: 'INSTAGRAM_PROFILE' | 'WEBSITE' | 'ON_AD' | 'MESSENGER' | 'WHATSAPP';
|
|
28241
28273
|
currency?: string;
|
|
28242
28274
|
schedule?: {
|
|
28243
28275
|
startDate?: string;
|
|
@@ -28403,20 +28435,32 @@ type BoostPostData = {
|
|
|
28403
28435
|
*/
|
|
28404
28436
|
specialAdCategoryCountry?: Array<(string)>;
|
|
28405
28437
|
/**
|
|
28406
|
-
*
|
|
28407
|
-
*
|
|
28408
|
-
*
|
|
28409
|
-
*
|
|
28410
|
-
*
|
|
28438
|
+
* Destination URL for the CTA button. Send it together with `callToAction`.
|
|
28439
|
+
*
|
|
28440
|
+
* **Meta**: adds a top-level `call_to_action` to the post-reference creative.
|
|
28441
|
+
* This is what gives a `traffic` boost a clickable destination without
|
|
28442
|
+
* replacing the creative and losing the post's social proof. Ignored when
|
|
28443
|
+
* `leadGenFormId` is set, which supplies its own destination. Live-verified
|
|
28444
|
+
* against a Page-post creative.
|
|
28445
|
+
*
|
|
28446
|
+
* **TikTok**: maps to `landing_page_url` on the Spark Ad creative
|
|
28447
|
+
* (`AdcreateCreatives.landing_page_url`); Spark Ads have no clickable
|
|
28448
|
+
* destination without it.
|
|
28449
|
+
*
|
|
28450
|
+
* Ignored on LinkedIn / Pinterest / X / Google, which infer the destination
|
|
28451
|
+
* from the boosted post.
|
|
28411
28452
|
*
|
|
28412
28453
|
*/
|
|
28413
28454
|
linkUrl?: string;
|
|
28414
28455
|
/**
|
|
28415
|
-
*
|
|
28416
|
-
*
|
|
28417
|
-
*
|
|
28418
|
-
*
|
|
28419
|
-
*
|
|
28456
|
+
* CTA button label. Send it together with `linkUrl` — a CTA without a
|
|
28457
|
+
* destination produces a button that goes nowhere, so sending one alone is a 400.
|
|
28458
|
+
*
|
|
28459
|
+
* **Meta**: validated against the Meta CTA enum (same values as
|
|
28460
|
+
* POST /v1/ads/create), e.g. `LEARN_MORE`, `SHOP_NOW`, `SIGN_UP`.
|
|
28461
|
+
*
|
|
28462
|
+
* **TikTok**: pass-through to `call_to_action` on the Spark Ad creative; the
|
|
28463
|
+
* platform validates the value. See TikTok's "Enumeration - Call-to-Action".
|
|
28420
28464
|
*
|
|
28421
28465
|
*/
|
|
28422
28466
|
callToAction?: 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: "@zernio/node",
|
|
39
|
-
version: "0.2.
|
|
39
|
+
version: "0.2.529",
|
|
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.
|
|
8
|
+
version: "0.2.529",
|
|
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
package/src/generated/sdk.gen.ts
CHANGED
|
@@ -7855,7 +7855,19 @@ export const getDsaRecommendations = <ThrowOnError extends boolean = false>(opti
|
|
|
7855
7855
|
|
|
7856
7856
|
/**
|
|
7857
7857
|
* Boost post as ad
|
|
7858
|
-
* Creates a paid ad
|
|
7858
|
+
* Creates a paid ad from an existing published post, keeping the post's
|
|
7859
|
+
* engagement. By default it provisions the whole hierarchy (campaign, ad
|
|
7860
|
+
* set, ad).
|
|
7861
|
+
*
|
|
7862
|
+
* **Attach shape (Meta).** Send `adSetId` to put the ad under an EXISTING
|
|
7863
|
+
* ad set instead, so that ad set keeps its learning phase. It then owns
|
|
7864
|
+
* `budget`, `schedule` and `targeting`, and sending any of those alongside
|
|
7865
|
+
* `adSetId` is a 400 rather than a silent drop. `budget` is required only
|
|
7866
|
+
* without `adSetId`.
|
|
7867
|
+
*
|
|
7868
|
+
* `instagramAccountId`, `destinationType` and `adSetId` are Meta-only and
|
|
7869
|
+
* return 400 on other platforms.
|
|
7870
|
+
*
|
|
7859
7871
|
*/
|
|
7860
7872
|
export const boostPost = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<BoostPostData, ThrowOnError>) => {
|
|
7861
7873
|
return (options?.client ?? client).post<BoostPostResponse, BoostPostError, ThrowOnError>({
|
|
@@ -8608,6 +8620,8 @@ export const createCallAd = <ThrowOnError extends boolean = false>(options: Opti
|
|
|
8608
8620
|
*
|
|
8609
8621
|
* - **Multi-creative**: supply a `creatives[]` array with N entries (each carrying its own headline, body, and image/video). Creates 1 campaign + 1 ad set + N ads sharing budget and targeting so Meta A/Bs the creatives inside a single auction instead of fragmenting budget across N parallel campaigns. Recommended when launching multiple creative variants for the same campaign.
|
|
8610
8622
|
*
|
|
8623
|
+
* **Attach shape.** Send `adSetId` (with either creative shape) to add the ads to an EXISTING messaging ad set instead of building a campaign, so the ad set keeps its learning phase — the way to refresh a CTWA creative without resetting delivery. The ad set then owns budget, targeting and schedule, so `budgetAmount`, `budgetType`, `endDate`, `objective`, `countries`, `interests` and `audienceId` are rejected with a 400 alongside it rather than silently dropped. The target ad set's `destination_type` must match the ad's destination (a WhatsApp ad needs a `WHATSAPP` ad set), otherwise Meta would accept an ad that never delivers.
|
|
8624
|
+
*
|
|
8611
8625
|
* Prerequisites enforced by Meta (surfaced as platform_error on failure): the Facebook Page must be paired with a verified WhatsApp Business number, the WhatsApp Business Account must be business-verified, and the Meta access token must carry ads_management.
|
|
8612
8626
|
*/
|
|
8613
8627
|
export const createCtwaAd = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<CreateCtwaAdData, ThrowOnError>) => {
|
|
@@ -1854,13 +1854,27 @@ export type CtwaAdRequestBody = {
|
|
|
1854
1854
|
thumbnailUrl: string;
|
|
1855
1855
|
};
|
|
1856
1856
|
}>;
|
|
1857
|
+
/**
|
|
1858
|
+
* Attach the creatives to this EXISTING messaging ad set instead of
|
|
1859
|
+
* building a campaign, so the ad set keeps its learning phase. It then
|
|
1860
|
+
* owns budget, targeting and schedule, so `budgetAmount`, `budgetType`,
|
|
1861
|
+
* `endDate`, `objective`, `countries`, `interests` and `audienceId` are
|
|
1862
|
+
* rejected with a 400 alongside it. Its `destination_type` must match
|
|
1863
|
+
* the ad's destination.
|
|
1864
|
+
*
|
|
1865
|
+
*/
|
|
1866
|
+
adSetId?: string;
|
|
1857
1867
|
/**
|
|
1858
1868
|
* Budget amount in the ad account's currency major units
|
|
1859
1869
|
* (e.g. dollars for USD, not cents). Must be > 0.
|
|
1870
|
+
* Required unless `adSetId` is set, where the ad set owns it.
|
|
1860
1871
|
*
|
|
1861
1872
|
*/
|
|
1862
|
-
budgetAmount
|
|
1863
|
-
|
|
1873
|
+
budgetAmount?: number;
|
|
1874
|
+
/**
|
|
1875
|
+
* Required unless `adSetId` is set.
|
|
1876
|
+
*/
|
|
1877
|
+
budgetType?: 'daily' | 'lifetime';
|
|
1864
1878
|
/**
|
|
1865
1879
|
* ISO 4217 currency code matching the ad account's currency
|
|
1866
1880
|
* (e.g. `USD`). Optional; Meta infers from the ad account
|
|
@@ -2030,6 +2044,9 @@ export type CtwaAdRequestBody = {
|
|
|
2030
2044
|
dsaPayor?: string;
|
|
2031
2045
|
};
|
|
2032
2046
|
|
|
2047
|
+
/**
|
|
2048
|
+
* Required unless `adSetId` is set.
|
|
2049
|
+
*/
|
|
2033
2050
|
export type budgetType = 'daily' | 'lifetime';
|
|
2034
2051
|
|
|
2035
2052
|
/**
|
|
@@ -17131,7 +17148,7 @@ export type SendInboxMessageData = {
|
|
|
17131
17148
|
};
|
|
17132
17149
|
path: {
|
|
17133
17150
|
/**
|
|
17134
|
-
*
|
|
17151
|
+
* Opaque conversation identifier, accepted verbatim from the list endpoint or from the conversationId on inbox webhooks. Format not to be assumed.
|
|
17135
17152
|
*/
|
|
17136
17153
|
conversationId: string;
|
|
17137
17154
|
};
|
|
@@ -28767,13 +28784,28 @@ export type BoostPostData = {
|
|
|
28767
28784
|
* Available goals vary by platform. Meta (Facebook/Instagram) and TikTok support all 7. LinkedIn supports all except app_promotion. Twitter/X supports engagement, traffic, awareness, video_views, app_promotion. Pinterest and Google Ads support only engagement, traffic, awareness, video_views.
|
|
28768
28785
|
*/
|
|
28769
28786
|
goal: 'engagement' | 'traffic' | 'awareness' | 'video_views' | 'lead_generation' | 'conversions' | 'app_promotion';
|
|
28770
|
-
|
|
28787
|
+
/**
|
|
28788
|
+
* Meta only. Attach the boosted post to this existing ad set instead of creating a campaign. The ad set then owns budget, schedule and targeting; sending those too is a 400.
|
|
28789
|
+
*/
|
|
28790
|
+
adSetId?: string;
|
|
28791
|
+
/**
|
|
28792
|
+
* Required unless adSetId is set.
|
|
28793
|
+
*/
|
|
28794
|
+
budget?: {
|
|
28771
28795
|
/**
|
|
28772
28796
|
* Minimum varies: TikTok=$20, Pinterest=$5, others=$1
|
|
28773
28797
|
*/
|
|
28774
28798
|
amount: number;
|
|
28775
28799
|
type: 'daily' | 'lifetime';
|
|
28776
28800
|
};
|
|
28801
|
+
/**
|
|
28802
|
+
* Meta only. Instagram identity the ad runs AS (creative.instagram_user_id), overriding the account linked to the Page. Live-verified against a Page-post creative.
|
|
28803
|
+
*/
|
|
28804
|
+
instagramAccountId?: string;
|
|
28805
|
+
/**
|
|
28806
|
+
* Meta only. Ad-set destination_type — where the click LANDS, as opposed to instagramAccountId which is who the ad runs as. Lead ads force ON_AD and ignore this.
|
|
28807
|
+
*/
|
|
28808
|
+
destinationType?: 'INSTAGRAM_PROFILE' | 'WEBSITE' | 'ON_AD' | 'MESSENGER' | 'WHATSAPP';
|
|
28777
28809
|
currency?: string;
|
|
28778
28810
|
schedule?: {
|
|
28779
28811
|
startDate?: string;
|
|
@@ -28939,20 +28971,32 @@ export type BoostPostData = {
|
|
|
28939
28971
|
*/
|
|
28940
28972
|
specialAdCategoryCountry?: Array<(string)>;
|
|
28941
28973
|
/**
|
|
28942
|
-
*
|
|
28943
|
-
*
|
|
28944
|
-
*
|
|
28945
|
-
*
|
|
28946
|
-
*
|
|
28974
|
+
* Destination URL for the CTA button. Send it together with `callToAction`.
|
|
28975
|
+
*
|
|
28976
|
+
* **Meta**: adds a top-level `call_to_action` to the post-reference creative.
|
|
28977
|
+
* This is what gives a `traffic` boost a clickable destination without
|
|
28978
|
+
* replacing the creative and losing the post's social proof. Ignored when
|
|
28979
|
+
* `leadGenFormId` is set, which supplies its own destination. Live-verified
|
|
28980
|
+
* against a Page-post creative.
|
|
28981
|
+
*
|
|
28982
|
+
* **TikTok**: maps to `landing_page_url` on the Spark Ad creative
|
|
28983
|
+
* (`AdcreateCreatives.landing_page_url`); Spark Ads have no clickable
|
|
28984
|
+
* destination without it.
|
|
28985
|
+
*
|
|
28986
|
+
* Ignored on LinkedIn / Pinterest / X / Google, which infer the destination
|
|
28987
|
+
* from the boosted post.
|
|
28947
28988
|
*
|
|
28948
28989
|
*/
|
|
28949
28990
|
linkUrl?: string;
|
|
28950
28991
|
/**
|
|
28951
|
-
*
|
|
28952
|
-
*
|
|
28953
|
-
*
|
|
28954
|
-
*
|
|
28955
|
-
*
|
|
28992
|
+
* CTA button label. Send it together with `linkUrl` — a CTA without a
|
|
28993
|
+
* destination produces a button that goes nowhere, so sending one alone is a 400.
|
|
28994
|
+
*
|
|
28995
|
+
* **Meta**: validated against the Meta CTA enum (same values as
|
|
28996
|
+
* POST /v1/ads/create), e.g. `LEARN_MORE`, `SHOP_NOW`, `SIGN_UP`.
|
|
28997
|
+
*
|
|
28998
|
+
* **TikTok**: pass-through to `call_to_action` on the Spark Ad creative; the
|
|
28999
|
+
* platform validates the value. See TikTok's "Enumeration - Call-to-Action".
|
|
28956
29000
|
*
|
|
28957
29001
|
*/
|
|
28958
29002
|
callToAction?: string;
|