@zernio/node 0.2.1168 → 0.2.1169
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 +30 -17
- package/dist/index.d.ts +30 -17
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +1 -1
- package/src/generated/sdk.gen.ts +10 -4
- package/src/generated/types.gen.ts +30 -17
package/dist/index.d.mts
CHANGED
|
@@ -2139,11 +2139,11 @@ type Ad = {
|
|
|
2139
2139
|
amount?: number;
|
|
2140
2140
|
type?: 'daily' | 'lifetime';
|
|
2141
2141
|
/**
|
|
2142
|
-
* LinkedIn only. The parent campaign's `dailyBudget
|
|
2142
|
+
* LinkedIn and X only. The daily budget (LinkedIn: the parent campaign's `dailyBudget`; X: the line item's, or the campaign's when the line item has none). Both allow a daily AND a lifetime budget together, which `amount`/`type` cannot express (daily wins there); read `daily` and `lifetime` to see both.
|
|
2143
2143
|
*/
|
|
2144
2144
|
daily?: number;
|
|
2145
2145
|
/**
|
|
2146
|
-
* LinkedIn only. The parent campaign's `totalBudget`, readable even when a daily budget is also set.
|
|
2146
|
+
* LinkedIn and X only. The lifetime total (LinkedIn: the parent campaign's `totalBudget`; X: `total_budget_amount_local_micro`, for example the `lifetimeBudgetCap` of a boost), readable even when a daily budget is also set.
|
|
2147
2147
|
*/
|
|
2148
2148
|
lifetime?: number;
|
|
2149
2149
|
/**
|
|
@@ -3373,11 +3373,11 @@ type AdTreeAdSet = {
|
|
|
3373
3373
|
amount?: number;
|
|
3374
3374
|
type?: 'daily' | 'lifetime';
|
|
3375
3375
|
/**
|
|
3376
|
-
* LinkedIn only. The campaign's `dailyBudget
|
|
3376
|
+
* LinkedIn and X only. The daily budget (LinkedIn: the campaign's `dailyBudget`; X: the line item's `daily_budget_amount_local_micro`). Both allow a daily AND a lifetime budget together, which `amount`/`type` cannot express (daily wins there); read `daily` and `lifetime` to see both.
|
|
3377
3377
|
*/
|
|
3378
3378
|
daily?: number;
|
|
3379
3379
|
/**
|
|
3380
|
-
* LinkedIn only. The campaign's `totalBudget
|
|
3380
|
+
* LinkedIn and X only. The lifetime total (LinkedIn: the campaign's `totalBudget`; X: the line item's `total_budget_amount_local_micro`), readable even when a daily budget is also set.
|
|
3381
3381
|
*/
|
|
3382
3382
|
lifetime?: number;
|
|
3383
3383
|
/**
|
|
@@ -10696,7 +10696,7 @@ type ParameterCatalogTokenAccountId = string;
|
|
|
10696
10696
|
*/
|
|
10697
10697
|
type ParameterIdempotencyKeyHeader = string;
|
|
10698
10698
|
/**
|
|
10699
|
-
* Read the on/off switches live from the platform instead of returning the synced values. The fresh values are stored (so later reads return them too) and the response carries `statusReadAt`, the time of the read. At most 20 platform objects are read per request. Where a read fails (credentials, platform error, no reader on that platform), the stored values come back with `statusReadAt: null`. See "Status freshness" in the operation description.
|
|
10699
|
+
* Read the on/off switches live from the platform instead of returning the synced values. The fresh values are stored (so later reads return them too) and the response carries `statusReadAt`, the time of the read. At most 20 platform objects are read per request. Where a read fails (credentials, platform error, no reader on that platform), the stored values come back with `statusReadAt: null`. See "Status freshness" in the operation description. On X the budget is read live in the same read: on GET /v1/ads/{adId} `budget`, `adSetBudget`, `campaignBudget` and `budgetLevel` are the line item and campaign budgets X holds now (stored like the switches); on the ad set and campaign listings `budget` is the one that line item or campaign holds now (returned, not stored); a row whose budget the other level holds keeps its synced `budget`.
|
|
10700
10700
|
*/
|
|
10701
10701
|
type ParameterLiveStatusRead = boolean;
|
|
10702
10702
|
/**
|
|
@@ -40609,7 +40609,7 @@ type ListAdCampaignsData = {
|
|
|
40609
40609
|
includeEmpty?: boolean;
|
|
40610
40610
|
limit?: number;
|
|
40611
40611
|
/**
|
|
40612
|
-
* Read the on/off switches live from the platform instead of returning the synced values. The fresh values are stored (so later reads return them too) and the response carries `statusReadAt`, the time of the read. At most 20 platform objects are read per request. Where a read fails (credentials, platform error, no reader on that platform), the stored values come back with `statusReadAt: null`. See "Status freshness" in the operation description.
|
|
40612
|
+
* Read the on/off switches live from the platform instead of returning the synced values. The fresh values are stored (so later reads return them too) and the response carries `statusReadAt`, the time of the read. At most 20 platform objects are read per request. Where a read fails (credentials, platform error, no reader on that platform), the stored values come back with `statusReadAt: null`. See "Status freshness" in the operation description. On X the budget is read live in the same read: on GET /v1/ads/{adId} `budget`, `adSetBudget`, `campaignBudget` and `budgetLevel` are the line item and campaign budgets X holds now (stored like the switches); on the ad set and campaign listings `budget` is the one that line item or campaign holds now (returned, not stored); a row whose budget the other level holds keeps its synced `budget`.
|
|
40613
40613
|
*/
|
|
40614
40614
|
live?: boolean;
|
|
40615
40615
|
/**
|
|
@@ -41066,11 +41066,15 @@ type UpdateAdCampaignResponse = ({
|
|
|
41066
41066
|
type UpdateAdCampaignError = (unknown | ErrorResponse);
|
|
41067
41067
|
type DeleteAdCampaignData = {
|
|
41068
41068
|
body: {
|
|
41069
|
-
platform: 'facebook' | 'instagram' | 'google';
|
|
41069
|
+
platform: 'facebook' | 'instagram' | 'google' | 'twitter';
|
|
41070
41070
|
/**
|
|
41071
41071
|
* Zernio SocialAccount id owning the ad account. Required only to delete an EMPTY campaign (zero ads), which has no local Ad documents to resolve a token from.
|
|
41072
41072
|
*/
|
|
41073
41073
|
accountId?: string;
|
|
41074
|
+
/**
|
|
41075
|
+
* X only, for an EMPTY campaign that was never synced: the X ad account id the campaign belongs to (lowercase letters and digits). The synced campaign's ad account wins when there is one. Also accepted on the query string.
|
|
41076
|
+
*/
|
|
41077
|
+
adAccountId?: string;
|
|
41074
41078
|
};
|
|
41075
41079
|
path: {
|
|
41076
41080
|
/**
|
|
@@ -41502,7 +41506,7 @@ type ListAdSetsData = {
|
|
|
41502
41506
|
*/
|
|
41503
41507
|
campaignId?: string;
|
|
41504
41508
|
/**
|
|
41505
|
-
* Read the on/off switches live from the platform instead of returning the synced values. The fresh values are stored (so later reads return them too) and the response carries `statusReadAt`, the time of the read. At most 20 platform objects are read per request. Where a read fails (credentials, platform error, no reader on that platform), the stored values come back with `statusReadAt: null`. See "Status freshness" in the operation description.
|
|
41509
|
+
* Read the on/off switches live from the platform instead of returning the synced values. The fresh values are stored (so later reads return them too) and the response carries `statusReadAt`, the time of the read. At most 20 platform objects are read per request. Where a read fails (credentials, platform error, no reader on that platform), the stored values come back with `statusReadAt: null`. See "Status freshness" in the operation description. On X the budget is read live in the same read: on GET /v1/ads/{adId} `budget`, `adSetBudget`, `campaignBudget` and `budgetLevel` are the line item and campaign budgets X holds now (stored like the switches); on the ad set and campaign listings `budget` is the one that line item or campaign holds now (returned, not stored); a row whose budget the other level holds keeps its synced `budget`.
|
|
41506
41510
|
*/
|
|
41507
41511
|
live?: boolean;
|
|
41508
41512
|
platform?: 'facebook' | 'instagram' | 'tiktok' | 'linkedin' | 'pinterest' | 'google' | 'twitter' | 'openai';
|
|
@@ -41527,11 +41531,11 @@ type ListAdSetsResponse = ({
|
|
|
41527
41531
|
amount?: number;
|
|
41528
41532
|
type?: 'daily' | 'lifetime';
|
|
41529
41533
|
/**
|
|
41530
|
-
* LinkedIn only. The campaign's `dailyBudget
|
|
41534
|
+
* LinkedIn and X only. The daily budget (LinkedIn: the campaign's `dailyBudget`; X: the line item's `daily_budget_amount_local_micro`). Both allow a daily AND a lifetime budget together, which `amount`/`type` cannot express (daily wins there); read `daily` and `lifetime` to see both.
|
|
41531
41535
|
*/
|
|
41532
41536
|
daily?: number;
|
|
41533
41537
|
/**
|
|
41534
|
-
* LinkedIn only. The campaign's `totalBudget
|
|
41538
|
+
* LinkedIn and X only. The lifetime total (LinkedIn: the campaign's `totalBudget`; X: the line item's `total_budget_amount_local_micro`), readable even when a daily budget is also set.
|
|
41535
41539
|
*/
|
|
41536
41540
|
lifetime?: number;
|
|
41537
41541
|
/**
|
|
@@ -41835,11 +41839,11 @@ type UpdateAdSetData = {
|
|
|
41835
41839
|
type?: 'daily' | 'lifetime';
|
|
41836
41840
|
};
|
|
41837
41841
|
/**
|
|
41838
|
-
* Writes the ad set's own on/off switch (Meta: `configured_status`
|
|
41842
|
+
* Writes the ad set's own on/off switch (Meta: `configured_status`; X: the line item's `entity_status` ACTIVE / PAUSED), whatever delivery status its ads report. Omit if not toggling delivery state.
|
|
41839
41843
|
*/
|
|
41840
41844
|
status?: 'active' | 'paused';
|
|
41841
41845
|
/**
|
|
41842
|
-
* Rename the ad set (
|
|
41846
|
+
* Rename the ad set (on X, the line item `name`). Platforms without a rename return 501. At least one of budget/status/bidStrategy/name is required.
|
|
41843
41847
|
*/
|
|
41844
41848
|
name?: string;
|
|
41845
41849
|
/**
|
|
@@ -41849,8 +41853,13 @@ type UpdateAdSetData = {
|
|
|
41849
41853
|
* automatically. On OpenAI, LOWEST_COST_WITH_BID_CAP and COST_CAP both map to
|
|
41850
41854
|
* the ad group's `bidding_config.max_bid_micros` (one knob covers both);
|
|
41851
41855
|
* LOWEST_COST_WITH_MIN_ROAS is rejected with 422 (OpenAI has no ROAS-based
|
|
41852
|
-
* bidding).
|
|
41853
|
-
*
|
|
41856
|
+
* bidding). On X it writes the line item's `bid_strategy`:
|
|
41857
|
+
* LOWEST_COST_WITHOUT_CAP = AUTO, LOWEST_COST_WITH_BID_CAP = MAX and
|
|
41858
|
+
* COST_CAP = TARGET, with `bidAmount` as `bid_amount_local_micro`;
|
|
41859
|
+
* LOWEST_COST_WITH_MIN_ROAS is rejected with 422. X decides which strategy
|
|
41860
|
+
* the line item's objective allows (TARGET only on REACH, FOLLOWERS and
|
|
41861
|
+
* WEBSITE_CLICKS, MAX not on REACH or FOLLOWERS). Other platforms
|
|
41862
|
+
* (linkedin, pinterest, google) return 501 Not Implemented when bidStrategy is set.
|
|
41854
41863
|
*
|
|
41855
41864
|
*/
|
|
41856
41865
|
bidStrategy?: (BidStrategy);
|
|
@@ -41877,7 +41886,7 @@ type UpdateAdSetData = {
|
|
|
41877
41886
|
/**
|
|
41878
41887
|
* Bid cap in WHOLE currency units (USD: 5 = $5.00; JPY: 100 = ¥100). Required when
|
|
41879
41888
|
* bidStrategy is LOWEST_COST_WITH_BID_CAP or COST_CAP. Internally converted to Meta's
|
|
41880
|
-
* smallest-denomination integer, or (on OpenAI) to micros (× 1,000,000). Meta only:
|
|
41889
|
+
* smallest-denomination integer, or (on OpenAI and X) to micros (× 1,000,000). Meta only:
|
|
41881
41890
|
* may be sent alone, WITHOUT bidStrategy, to update the cap amount on an ad set whose
|
|
41882
41891
|
* parent campaign is COST_CAP or LOWEST_COST_WITH_BID_CAP (the strategy is inherited
|
|
41883
41892
|
* from the campaign and is left untouched).
|
|
@@ -42193,7 +42202,7 @@ type GetAdData = {
|
|
|
42193
42202
|
};
|
|
42194
42203
|
query?: {
|
|
42195
42204
|
/**
|
|
42196
|
-
* Read the on/off switches live from the platform instead of returning the synced values. The fresh values are stored (so later reads return them too) and the response carries `statusReadAt`, the time of the read. At most 20 platform objects are read per request. Where a read fails (credentials, platform error, no reader on that platform), the stored values come back with `statusReadAt: null`. See "Status freshness" in the operation description.
|
|
42205
|
+
* Read the on/off switches live from the platform instead of returning the synced values. The fresh values are stored (so later reads return them too) and the response carries `statusReadAt`, the time of the read. At most 20 platform objects are read per request. Where a read fails (credentials, platform error, no reader on that platform), the stored values come back with `statusReadAt: null`. See "Status freshness" in the operation description. On X the budget is read live in the same read: on GET /v1/ads/{adId} `budget`, `adSetBudget`, `campaignBudget` and `budgetLevel` are the line item and campaign budgets X holds now (stored like the switches); on the ad set and campaign listings `budget` is the one that line item or campaign holds now (returned, not stored); a row whose budget the other level holds keeps its synced `budget`.
|
|
42197
42206
|
*/
|
|
42198
42207
|
live?: boolean;
|
|
42199
42208
|
};
|
|
@@ -46385,6 +46394,10 @@ type BoostPostData = {
|
|
|
46385
46394
|
* Goes together with budgetAmount. lifetime requires schedule.endDate.
|
|
46386
46395
|
*/
|
|
46387
46396
|
budgetType?: 'daily' | 'lifetime';
|
|
46397
|
+
/**
|
|
46398
|
+
* X only. A lifetime total, in whole currency units, that caps a daily budget (budgetType daily): the line item gets both daily_budget_amount_local_micro and total_budget_amount_local_micro, and stops spending once the total is reached. Must be at least budgetAmount. Read back as budget.daily and budget.lifetime. 400 on a lifetime budget or on another platform.
|
|
46399
|
+
*/
|
|
46400
|
+
lifetimeBudgetCap?: number;
|
|
46388
46401
|
/**
|
|
46389
46402
|
* Alias of budgetAmount + budgetType, kept for existing callers
|
|
46390
46403
|
* @deprecated
|
|
@@ -46421,7 +46434,7 @@ type BoostPostData = {
|
|
|
46421
46434
|
*/
|
|
46422
46435
|
startDate?: string;
|
|
46423
46436
|
/**
|
|
46424
|
-
* Ad-set end time (ISO 8601), mapped to the ad set's `end_time
|
|
46437
|
+
* Ad-set end time (ISO 8601), mapped to the ad set's `end_time` (on X, the line item's `end_time`; X campaigns carry no flight dates). Required for lifetime budgets. On Meta, TikTok, X and Pinterest a value without an offset (`YYYY-MM-DD`, `YYYY-MM-DD HH:MM:SS` or `YYYY-MM-DDTHH:MM:SS`) is read in the ad account timezone, and a date-only end runs to 23:59:59 local. Same field as on POST /v1/ads/create.
|
|
46425
46438
|
*/
|
|
46426
46439
|
endDate?: string;
|
|
46427
46440
|
/**
|
package/dist/index.d.ts
CHANGED
|
@@ -2139,11 +2139,11 @@ type Ad = {
|
|
|
2139
2139
|
amount?: number;
|
|
2140
2140
|
type?: 'daily' | 'lifetime';
|
|
2141
2141
|
/**
|
|
2142
|
-
* LinkedIn only. The parent campaign's `dailyBudget
|
|
2142
|
+
* LinkedIn and X only. The daily budget (LinkedIn: the parent campaign's `dailyBudget`; X: the line item's, or the campaign's when the line item has none). Both allow a daily AND a lifetime budget together, which `amount`/`type` cannot express (daily wins there); read `daily` and `lifetime` to see both.
|
|
2143
2143
|
*/
|
|
2144
2144
|
daily?: number;
|
|
2145
2145
|
/**
|
|
2146
|
-
* LinkedIn only. The parent campaign's `totalBudget`, readable even when a daily budget is also set.
|
|
2146
|
+
* LinkedIn and X only. The lifetime total (LinkedIn: the parent campaign's `totalBudget`; X: `total_budget_amount_local_micro`, for example the `lifetimeBudgetCap` of a boost), readable even when a daily budget is also set.
|
|
2147
2147
|
*/
|
|
2148
2148
|
lifetime?: number;
|
|
2149
2149
|
/**
|
|
@@ -3373,11 +3373,11 @@ type AdTreeAdSet = {
|
|
|
3373
3373
|
amount?: number;
|
|
3374
3374
|
type?: 'daily' | 'lifetime';
|
|
3375
3375
|
/**
|
|
3376
|
-
* LinkedIn only. The campaign's `dailyBudget
|
|
3376
|
+
* LinkedIn and X only. The daily budget (LinkedIn: the campaign's `dailyBudget`; X: the line item's `daily_budget_amount_local_micro`). Both allow a daily AND a lifetime budget together, which `amount`/`type` cannot express (daily wins there); read `daily` and `lifetime` to see both.
|
|
3377
3377
|
*/
|
|
3378
3378
|
daily?: number;
|
|
3379
3379
|
/**
|
|
3380
|
-
* LinkedIn only. The campaign's `totalBudget
|
|
3380
|
+
* LinkedIn and X only. The lifetime total (LinkedIn: the campaign's `totalBudget`; X: the line item's `total_budget_amount_local_micro`), readable even when a daily budget is also set.
|
|
3381
3381
|
*/
|
|
3382
3382
|
lifetime?: number;
|
|
3383
3383
|
/**
|
|
@@ -10696,7 +10696,7 @@ type ParameterCatalogTokenAccountId = string;
|
|
|
10696
10696
|
*/
|
|
10697
10697
|
type ParameterIdempotencyKeyHeader = string;
|
|
10698
10698
|
/**
|
|
10699
|
-
* Read the on/off switches live from the platform instead of returning the synced values. The fresh values are stored (so later reads return them too) and the response carries `statusReadAt`, the time of the read. At most 20 platform objects are read per request. Where a read fails (credentials, platform error, no reader on that platform), the stored values come back with `statusReadAt: null`. See "Status freshness" in the operation description.
|
|
10699
|
+
* Read the on/off switches live from the platform instead of returning the synced values. The fresh values are stored (so later reads return them too) and the response carries `statusReadAt`, the time of the read. At most 20 platform objects are read per request. Where a read fails (credentials, platform error, no reader on that platform), the stored values come back with `statusReadAt: null`. See "Status freshness" in the operation description. On X the budget is read live in the same read: on GET /v1/ads/{adId} `budget`, `adSetBudget`, `campaignBudget` and `budgetLevel` are the line item and campaign budgets X holds now (stored like the switches); on the ad set and campaign listings `budget` is the one that line item or campaign holds now (returned, not stored); a row whose budget the other level holds keeps its synced `budget`.
|
|
10700
10700
|
*/
|
|
10701
10701
|
type ParameterLiveStatusRead = boolean;
|
|
10702
10702
|
/**
|
|
@@ -40609,7 +40609,7 @@ type ListAdCampaignsData = {
|
|
|
40609
40609
|
includeEmpty?: boolean;
|
|
40610
40610
|
limit?: number;
|
|
40611
40611
|
/**
|
|
40612
|
-
* Read the on/off switches live from the platform instead of returning the synced values. The fresh values are stored (so later reads return them too) and the response carries `statusReadAt`, the time of the read. At most 20 platform objects are read per request. Where a read fails (credentials, platform error, no reader on that platform), the stored values come back with `statusReadAt: null`. See "Status freshness" in the operation description.
|
|
40612
|
+
* Read the on/off switches live from the platform instead of returning the synced values. The fresh values are stored (so later reads return them too) and the response carries `statusReadAt`, the time of the read. At most 20 platform objects are read per request. Where a read fails (credentials, platform error, no reader on that platform), the stored values come back with `statusReadAt: null`. See "Status freshness" in the operation description. On X the budget is read live in the same read: on GET /v1/ads/{adId} `budget`, `adSetBudget`, `campaignBudget` and `budgetLevel` are the line item and campaign budgets X holds now (stored like the switches); on the ad set and campaign listings `budget` is the one that line item or campaign holds now (returned, not stored); a row whose budget the other level holds keeps its synced `budget`.
|
|
40613
40613
|
*/
|
|
40614
40614
|
live?: boolean;
|
|
40615
40615
|
/**
|
|
@@ -41066,11 +41066,15 @@ type UpdateAdCampaignResponse = ({
|
|
|
41066
41066
|
type UpdateAdCampaignError = (unknown | ErrorResponse);
|
|
41067
41067
|
type DeleteAdCampaignData = {
|
|
41068
41068
|
body: {
|
|
41069
|
-
platform: 'facebook' | 'instagram' | 'google';
|
|
41069
|
+
platform: 'facebook' | 'instagram' | 'google' | 'twitter';
|
|
41070
41070
|
/**
|
|
41071
41071
|
* Zernio SocialAccount id owning the ad account. Required only to delete an EMPTY campaign (zero ads), which has no local Ad documents to resolve a token from.
|
|
41072
41072
|
*/
|
|
41073
41073
|
accountId?: string;
|
|
41074
|
+
/**
|
|
41075
|
+
* X only, for an EMPTY campaign that was never synced: the X ad account id the campaign belongs to (lowercase letters and digits). The synced campaign's ad account wins when there is one. Also accepted on the query string.
|
|
41076
|
+
*/
|
|
41077
|
+
adAccountId?: string;
|
|
41074
41078
|
};
|
|
41075
41079
|
path: {
|
|
41076
41080
|
/**
|
|
@@ -41502,7 +41506,7 @@ type ListAdSetsData = {
|
|
|
41502
41506
|
*/
|
|
41503
41507
|
campaignId?: string;
|
|
41504
41508
|
/**
|
|
41505
|
-
* Read the on/off switches live from the platform instead of returning the synced values. The fresh values are stored (so later reads return them too) and the response carries `statusReadAt`, the time of the read. At most 20 platform objects are read per request. Where a read fails (credentials, platform error, no reader on that platform), the stored values come back with `statusReadAt: null`. See "Status freshness" in the operation description.
|
|
41509
|
+
* Read the on/off switches live from the platform instead of returning the synced values. The fresh values are stored (so later reads return them too) and the response carries `statusReadAt`, the time of the read. At most 20 platform objects are read per request. Where a read fails (credentials, platform error, no reader on that platform), the stored values come back with `statusReadAt: null`. See "Status freshness" in the operation description. On X the budget is read live in the same read: on GET /v1/ads/{adId} `budget`, `adSetBudget`, `campaignBudget` and `budgetLevel` are the line item and campaign budgets X holds now (stored like the switches); on the ad set and campaign listings `budget` is the one that line item or campaign holds now (returned, not stored); a row whose budget the other level holds keeps its synced `budget`.
|
|
41506
41510
|
*/
|
|
41507
41511
|
live?: boolean;
|
|
41508
41512
|
platform?: 'facebook' | 'instagram' | 'tiktok' | 'linkedin' | 'pinterest' | 'google' | 'twitter' | 'openai';
|
|
@@ -41527,11 +41531,11 @@ type ListAdSetsResponse = ({
|
|
|
41527
41531
|
amount?: number;
|
|
41528
41532
|
type?: 'daily' | 'lifetime';
|
|
41529
41533
|
/**
|
|
41530
|
-
* LinkedIn only. The campaign's `dailyBudget
|
|
41534
|
+
* LinkedIn and X only. The daily budget (LinkedIn: the campaign's `dailyBudget`; X: the line item's `daily_budget_amount_local_micro`). Both allow a daily AND a lifetime budget together, which `amount`/`type` cannot express (daily wins there); read `daily` and `lifetime` to see both.
|
|
41531
41535
|
*/
|
|
41532
41536
|
daily?: number;
|
|
41533
41537
|
/**
|
|
41534
|
-
* LinkedIn only. The campaign's `totalBudget
|
|
41538
|
+
* LinkedIn and X only. The lifetime total (LinkedIn: the campaign's `totalBudget`; X: the line item's `total_budget_amount_local_micro`), readable even when a daily budget is also set.
|
|
41535
41539
|
*/
|
|
41536
41540
|
lifetime?: number;
|
|
41537
41541
|
/**
|
|
@@ -41835,11 +41839,11 @@ type UpdateAdSetData = {
|
|
|
41835
41839
|
type?: 'daily' | 'lifetime';
|
|
41836
41840
|
};
|
|
41837
41841
|
/**
|
|
41838
|
-
* Writes the ad set's own on/off switch (Meta: `configured_status`
|
|
41842
|
+
* Writes the ad set's own on/off switch (Meta: `configured_status`; X: the line item's `entity_status` ACTIVE / PAUSED), whatever delivery status its ads report. Omit if not toggling delivery state.
|
|
41839
41843
|
*/
|
|
41840
41844
|
status?: 'active' | 'paused';
|
|
41841
41845
|
/**
|
|
41842
|
-
* Rename the ad set (
|
|
41846
|
+
* Rename the ad set (on X, the line item `name`). Platforms without a rename return 501. At least one of budget/status/bidStrategy/name is required.
|
|
41843
41847
|
*/
|
|
41844
41848
|
name?: string;
|
|
41845
41849
|
/**
|
|
@@ -41849,8 +41853,13 @@ type UpdateAdSetData = {
|
|
|
41849
41853
|
* automatically. On OpenAI, LOWEST_COST_WITH_BID_CAP and COST_CAP both map to
|
|
41850
41854
|
* the ad group's `bidding_config.max_bid_micros` (one knob covers both);
|
|
41851
41855
|
* LOWEST_COST_WITH_MIN_ROAS is rejected with 422 (OpenAI has no ROAS-based
|
|
41852
|
-
* bidding).
|
|
41853
|
-
*
|
|
41856
|
+
* bidding). On X it writes the line item's `bid_strategy`:
|
|
41857
|
+
* LOWEST_COST_WITHOUT_CAP = AUTO, LOWEST_COST_WITH_BID_CAP = MAX and
|
|
41858
|
+
* COST_CAP = TARGET, with `bidAmount` as `bid_amount_local_micro`;
|
|
41859
|
+
* LOWEST_COST_WITH_MIN_ROAS is rejected with 422. X decides which strategy
|
|
41860
|
+
* the line item's objective allows (TARGET only on REACH, FOLLOWERS and
|
|
41861
|
+
* WEBSITE_CLICKS, MAX not on REACH or FOLLOWERS). Other platforms
|
|
41862
|
+
* (linkedin, pinterest, google) return 501 Not Implemented when bidStrategy is set.
|
|
41854
41863
|
*
|
|
41855
41864
|
*/
|
|
41856
41865
|
bidStrategy?: (BidStrategy);
|
|
@@ -41877,7 +41886,7 @@ type UpdateAdSetData = {
|
|
|
41877
41886
|
/**
|
|
41878
41887
|
* Bid cap in WHOLE currency units (USD: 5 = $5.00; JPY: 100 = ¥100). Required when
|
|
41879
41888
|
* bidStrategy is LOWEST_COST_WITH_BID_CAP or COST_CAP. Internally converted to Meta's
|
|
41880
|
-
* smallest-denomination integer, or (on OpenAI) to micros (× 1,000,000). Meta only:
|
|
41889
|
+
* smallest-denomination integer, or (on OpenAI and X) to micros (× 1,000,000). Meta only:
|
|
41881
41890
|
* may be sent alone, WITHOUT bidStrategy, to update the cap amount on an ad set whose
|
|
41882
41891
|
* parent campaign is COST_CAP or LOWEST_COST_WITH_BID_CAP (the strategy is inherited
|
|
41883
41892
|
* from the campaign and is left untouched).
|
|
@@ -42193,7 +42202,7 @@ type GetAdData = {
|
|
|
42193
42202
|
};
|
|
42194
42203
|
query?: {
|
|
42195
42204
|
/**
|
|
42196
|
-
* Read the on/off switches live from the platform instead of returning the synced values. The fresh values are stored (so later reads return them too) and the response carries `statusReadAt`, the time of the read. At most 20 platform objects are read per request. Where a read fails (credentials, platform error, no reader on that platform), the stored values come back with `statusReadAt: null`. See "Status freshness" in the operation description.
|
|
42205
|
+
* Read the on/off switches live from the platform instead of returning the synced values. The fresh values are stored (so later reads return them too) and the response carries `statusReadAt`, the time of the read. At most 20 platform objects are read per request. Where a read fails (credentials, platform error, no reader on that platform), the stored values come back with `statusReadAt: null`. See "Status freshness" in the operation description. On X the budget is read live in the same read: on GET /v1/ads/{adId} `budget`, `adSetBudget`, `campaignBudget` and `budgetLevel` are the line item and campaign budgets X holds now (stored like the switches); on the ad set and campaign listings `budget` is the one that line item or campaign holds now (returned, not stored); a row whose budget the other level holds keeps its synced `budget`.
|
|
42197
42206
|
*/
|
|
42198
42207
|
live?: boolean;
|
|
42199
42208
|
};
|
|
@@ -46385,6 +46394,10 @@ type BoostPostData = {
|
|
|
46385
46394
|
* Goes together with budgetAmount. lifetime requires schedule.endDate.
|
|
46386
46395
|
*/
|
|
46387
46396
|
budgetType?: 'daily' | 'lifetime';
|
|
46397
|
+
/**
|
|
46398
|
+
* X only. A lifetime total, in whole currency units, that caps a daily budget (budgetType daily): the line item gets both daily_budget_amount_local_micro and total_budget_amount_local_micro, and stops spending once the total is reached. Must be at least budgetAmount. Read back as budget.daily and budget.lifetime. 400 on a lifetime budget or on another platform.
|
|
46399
|
+
*/
|
|
46400
|
+
lifetimeBudgetCap?: number;
|
|
46388
46401
|
/**
|
|
46389
46402
|
* Alias of budgetAmount + budgetType, kept for existing callers
|
|
46390
46403
|
* @deprecated
|
|
@@ -46421,7 +46434,7 @@ type BoostPostData = {
|
|
|
46421
46434
|
*/
|
|
46422
46435
|
startDate?: string;
|
|
46423
46436
|
/**
|
|
46424
|
-
* Ad-set end time (ISO 8601), mapped to the ad set's `end_time
|
|
46437
|
+
* Ad-set end time (ISO 8601), mapped to the ad set's `end_time` (on X, the line item's `end_time`; X campaigns carry no flight dates). Required for lifetime budgets. On Meta, TikTok, X and Pinterest a value without an offset (`YYYY-MM-DD`, `YYYY-MM-DD HH:MM:SS` or `YYYY-MM-DDTHH:MM:SS`) is read in the ad account timezone, and a date-only end runs to 23:59:59 local. Same field as on POST /v1/ads/create.
|
|
46425
46438
|
*/
|
|
46426
46439
|
endDate?: string;
|
|
46427
46440
|
/**
|
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.1169",
|
|
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.1169",
|
|
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
|
@@ -10054,9 +10054,15 @@ export const updateAdCampaign = <ThrowOnError extends boolean = false>(options:
|
|
|
10054
10054
|
* to resolve, so it is invisible to `/v1/ads/tree` and this endpoint would
|
|
10055
10055
|
* 404. That state is produced by the two-step create flow (campaign, then
|
|
10056
10056
|
* ads via `existingCampaignId`) whenever Meta rejects the ad step. To
|
|
10057
|
-
* delete such a shell, send `accountId` in the body
|
|
10058
|
-
* lookup entirely and forward the delete to Meta
|
|
10059
|
-
* when
|
|
10057
|
+
* delete such a shell, send `accountId` in the body or the query string:
|
|
10058
|
+
* we skip the local lookup entirely and forward the delete to Meta, or to
|
|
10059
|
+
* X when `accountId` is an X or X Ads connection. On X the ad account comes
|
|
10060
|
+
* from the synced campaign, which wins over `adAccountId`; when the campaign
|
|
10061
|
+
* was never synced, send `adAccountId` too. Before deleting, Zernio asks X
|
|
10062
|
+
* whether the campaign still holds undeleted line items (ads not synced
|
|
10063
|
+
* yet); if it does the answer is 409 and nothing is deleted, so sync the ad
|
|
10064
|
+
* account and retry. Other platforms answer 501 for an empty campaign.
|
|
10065
|
+
* `accountId` is ignored when the campaign does have ads.
|
|
10060
10066
|
*
|
|
10061
10067
|
*/
|
|
10062
10068
|
export const deleteAdCampaign = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<DeleteAdCampaignData, ThrowOnError>) => {
|
|
@@ -10714,7 +10720,7 @@ export const updateAd = <ThrowOnError extends boolean = false>(options: OptionsL
|
|
|
10714
10720
|
*
|
|
10715
10721
|
* Deletes the ad on the platform and marks it as cancelled in the database. The ad is preserved for history. OpenAI Ads has no delete API; the ad is archived instead (a terminal state, the closest equivalent).
|
|
10716
10722
|
*
|
|
10717
|
-
* Only the ad is deleted; a campaign or ad set is never deleted while it still holds another ad. On Meta, when the ad set and campaign were created by Zernio (by `POST /v1/ads/create` or `POST /v1/ads/boost`) and Meta lists no other ad in the ad set (archived ads count), the emptied ad set is deleted too, then the campaign once it holds no other ad set. Parents created outside Zernio, and the parents of an ad imported from the platform, are always kept. On LinkedIn the ad is a creative inside a campaign inside a campaign group: the creative is always removed, the campaign only when Zernio created it and LinkedIn lists no other creative in it that is not archived, canceled or deleted, and the campaign group only when Zernio created it and LinkedIn lists no other campaign in it that is not canceled or deleted (archived campaigns count). If the creative itself cannot be removed the request fails and no parent is touched. To delete a whole campaign on purpose use `DELETE /v1/ads/campaigns/{campaignId}`.
|
|
10723
|
+
* Only the ad is deleted; a campaign or ad set is never deleted while it still holds another ad. On Meta, when the ad set and campaign were created by Zernio (by `POST /v1/ads/create` or `POST /v1/ads/boost`) and Meta lists no other ad in the ad set (archived ads count), the emptied ad set is deleted too, then the campaign once it holds no other ad set. Parents created outside Zernio, and the parents of an ad imported from the platform, are always kept. On LinkedIn the ad is a creative inside a campaign inside a campaign group: the creative is always removed, the campaign only when Zernio created it and LinkedIn lists no other creative in it that is not archived, canceled or deleted, and the campaign group only when Zernio created it and LinkedIn lists no other campaign in it that is not canceled or deleted (archived campaigns count). If the creative itself cannot be removed the request fails and no parent is touched. On X the ad is a promoted post inside a line item inside a campaign: the promoted post is always removed, the line item only when Zernio created it (by `POST /v1/ads/create` or `POST /v1/ads/boost`) and X lists no other undeleted promoted post in it, and the campaign only when Zernio created it and X lists no other undeleted line item in it. If X refuses the promoted post delete the request fails and no parent is touched. To delete a whole campaign on purpose use `DELETE /v1/ads/campaigns/{campaignId}`.
|
|
10718
10724
|
*
|
|
10719
10725
|
*/
|
|
10720
10726
|
export const deleteAd = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<DeleteAdData, ThrowOnError>) => {
|
|
@@ -135,11 +135,11 @@ export type Ad = {
|
|
|
135
135
|
amount?: number;
|
|
136
136
|
type?: 'daily' | 'lifetime';
|
|
137
137
|
/**
|
|
138
|
-
* LinkedIn only. The parent campaign's `dailyBudget
|
|
138
|
+
* LinkedIn and X only. The daily budget (LinkedIn: the parent campaign's `dailyBudget`; X: the line item's, or the campaign's when the line item has none). Both allow a daily AND a lifetime budget together, which `amount`/`type` cannot express (daily wins there); read `daily` and `lifetime` to see both.
|
|
139
139
|
*/
|
|
140
140
|
daily?: number;
|
|
141
141
|
/**
|
|
142
|
-
* LinkedIn only. The parent campaign's `totalBudget`, readable even when a daily budget is also set.
|
|
142
|
+
* LinkedIn and X only. The lifetime total (LinkedIn: the parent campaign's `totalBudget`; X: `total_budget_amount_local_micro`, for example the `lifetimeBudgetCap` of a boost), readable even when a daily budget is also set.
|
|
143
143
|
*/
|
|
144
144
|
lifetime?: number;
|
|
145
145
|
/**
|
|
@@ -1405,11 +1405,11 @@ export type AdTreeAdSet = {
|
|
|
1405
1405
|
amount?: number;
|
|
1406
1406
|
type?: 'daily' | 'lifetime';
|
|
1407
1407
|
/**
|
|
1408
|
-
* LinkedIn only. The campaign's `dailyBudget
|
|
1408
|
+
* LinkedIn and X only. The daily budget (LinkedIn: the campaign's `dailyBudget`; X: the line item's `daily_budget_amount_local_micro`). Both allow a daily AND a lifetime budget together, which `amount`/`type` cannot express (daily wins there); read `daily` and `lifetime` to see both.
|
|
1409
1409
|
*/
|
|
1410
1410
|
daily?: number;
|
|
1411
1411
|
/**
|
|
1412
|
-
* LinkedIn only. The campaign's `totalBudget
|
|
1412
|
+
* LinkedIn and X only. The lifetime total (LinkedIn: the campaign's `totalBudget`; X: the line item's `total_budget_amount_local_micro`), readable even when a daily budget is also set.
|
|
1413
1413
|
*/
|
|
1414
1414
|
lifetime?: number;
|
|
1415
1415
|
/**
|
|
@@ -9067,7 +9067,7 @@ export type ParameterCatalogTokenAccountId = string;
|
|
|
9067
9067
|
export type ParameterIdempotencyKeyHeader = string;
|
|
9068
9068
|
|
|
9069
9069
|
/**
|
|
9070
|
-
* Read the on/off switches live from the platform instead of returning the synced values. The fresh values are stored (so later reads return them too) and the response carries `statusReadAt`, the time of the read. At most 20 platform objects are read per request. Where a read fails (credentials, platform error, no reader on that platform), the stored values come back with `statusReadAt: null`. See "Status freshness" in the operation description.
|
|
9070
|
+
* Read the on/off switches live from the platform instead of returning the synced values. The fresh values are stored (so later reads return them too) and the response carries `statusReadAt`, the time of the read. At most 20 platform objects are read per request. Where a read fails (credentials, platform error, no reader on that platform), the stored values come back with `statusReadAt: null`. See "Status freshness" in the operation description. On X the budget is read live in the same read: on GET /v1/ads/{adId} `budget`, `adSetBudget`, `campaignBudget` and `budgetLevel` are the line item and campaign budgets X holds now (stored like the switches); on the ad set and campaign listings `budget` is the one that line item or campaign holds now (returned, not stored); a row whose budget the other level holds keeps its synced `budget`.
|
|
9071
9071
|
*/
|
|
9072
9072
|
export type ParameterLiveStatusRead = boolean;
|
|
9073
9073
|
|
|
@@ -41028,7 +41028,7 @@ export type ListAdCampaignsData = {
|
|
|
41028
41028
|
includeEmpty?: boolean;
|
|
41029
41029
|
limit?: number;
|
|
41030
41030
|
/**
|
|
41031
|
-
* Read the on/off switches live from the platform instead of returning the synced values. The fresh values are stored (so later reads return them too) and the response carries `statusReadAt`, the time of the read. At most 20 platform objects are read per request. Where a read fails (credentials, platform error, no reader on that platform), the stored values come back with `statusReadAt: null`. See "Status freshness" in the operation description.
|
|
41031
|
+
* Read the on/off switches live from the platform instead of returning the synced values. The fresh values are stored (so later reads return them too) and the response carries `statusReadAt`, the time of the read. At most 20 platform objects are read per request. Where a read fails (credentials, platform error, no reader on that platform), the stored values come back with `statusReadAt: null`. See "Status freshness" in the operation description. On X the budget is read live in the same read: on GET /v1/ads/{adId} `budget`, `adSetBudget`, `campaignBudget` and `budgetLevel` are the line item and campaign budgets X holds now (stored like the switches); on the ad set and campaign listings `budget` is the one that line item or campaign holds now (returned, not stored); a row whose budget the other level holds keeps its synced `budget`.
|
|
41032
41032
|
*/
|
|
41033
41033
|
live?: boolean;
|
|
41034
41034
|
/**
|
|
@@ -41509,11 +41509,15 @@ export type UpdateAdCampaignError = (unknown | ErrorResponse);
|
|
|
41509
41509
|
|
|
41510
41510
|
export type DeleteAdCampaignData = {
|
|
41511
41511
|
body: {
|
|
41512
|
-
platform: 'facebook' | 'instagram' | 'google';
|
|
41512
|
+
platform: 'facebook' | 'instagram' | 'google' | 'twitter';
|
|
41513
41513
|
/**
|
|
41514
41514
|
* Zernio SocialAccount id owning the ad account. Required only to delete an EMPTY campaign (zero ads), which has no local Ad documents to resolve a token from.
|
|
41515
41515
|
*/
|
|
41516
41516
|
accountId?: string;
|
|
41517
|
+
/**
|
|
41518
|
+
* X only, for an EMPTY campaign that was never synced: the X ad account id the campaign belongs to (lowercase letters and digits). The synced campaign's ad account wins when there is one. Also accepted on the query string.
|
|
41519
|
+
*/
|
|
41520
|
+
adAccountId?: string;
|
|
41517
41521
|
};
|
|
41518
41522
|
path: {
|
|
41519
41523
|
/**
|
|
@@ -41966,7 +41970,7 @@ export type ListAdSetsData = {
|
|
|
41966
41970
|
*/
|
|
41967
41971
|
campaignId?: string;
|
|
41968
41972
|
/**
|
|
41969
|
-
* Read the on/off switches live from the platform instead of returning the synced values. The fresh values are stored (so later reads return them too) and the response carries `statusReadAt`, the time of the read. At most 20 platform objects are read per request. Where a read fails (credentials, platform error, no reader on that platform), the stored values come back with `statusReadAt: null`. See "Status freshness" in the operation description.
|
|
41973
|
+
* Read the on/off switches live from the platform instead of returning the synced values. The fresh values are stored (so later reads return them too) and the response carries `statusReadAt`, the time of the read. At most 20 platform objects are read per request. Where a read fails (credentials, platform error, no reader on that platform), the stored values come back with `statusReadAt: null`. See "Status freshness" in the operation description. On X the budget is read live in the same read: on GET /v1/ads/{adId} `budget`, `adSetBudget`, `campaignBudget` and `budgetLevel` are the line item and campaign budgets X holds now (stored like the switches); on the ad set and campaign listings `budget` is the one that line item or campaign holds now (returned, not stored); a row whose budget the other level holds keeps its synced `budget`.
|
|
41970
41974
|
*/
|
|
41971
41975
|
live?: boolean;
|
|
41972
41976
|
platform?: 'facebook' | 'instagram' | 'tiktok' | 'linkedin' | 'pinterest' | 'google' | 'twitter' | 'openai';
|
|
@@ -41992,11 +41996,11 @@ export type ListAdSetsResponse = ({
|
|
|
41992
41996
|
amount?: number;
|
|
41993
41997
|
type?: 'daily' | 'lifetime';
|
|
41994
41998
|
/**
|
|
41995
|
-
* LinkedIn only. The campaign's `dailyBudget
|
|
41999
|
+
* LinkedIn and X only. The daily budget (LinkedIn: the campaign's `dailyBudget`; X: the line item's `daily_budget_amount_local_micro`). Both allow a daily AND a lifetime budget together, which `amount`/`type` cannot express (daily wins there); read `daily` and `lifetime` to see both.
|
|
41996
42000
|
*/
|
|
41997
42001
|
daily?: number;
|
|
41998
42002
|
/**
|
|
41999
|
-
* LinkedIn only. The campaign's `totalBudget
|
|
42003
|
+
* LinkedIn and X only. The lifetime total (LinkedIn: the campaign's `totalBudget`; X: the line item's `total_budget_amount_local_micro`), readable even when a daily budget is also set.
|
|
42000
42004
|
*/
|
|
42001
42005
|
lifetime?: number;
|
|
42002
42006
|
/**
|
|
@@ -42314,11 +42318,11 @@ export type UpdateAdSetData = {
|
|
|
42314
42318
|
type?: 'daily' | 'lifetime';
|
|
42315
42319
|
};
|
|
42316
42320
|
/**
|
|
42317
|
-
* Writes the ad set's own on/off switch (Meta: `configured_status`
|
|
42321
|
+
* Writes the ad set's own on/off switch (Meta: `configured_status`; X: the line item's `entity_status` ACTIVE / PAUSED), whatever delivery status its ads report. Omit if not toggling delivery state.
|
|
42318
42322
|
*/
|
|
42319
42323
|
status?: 'active' | 'paused';
|
|
42320
42324
|
/**
|
|
42321
|
-
* Rename the ad set (
|
|
42325
|
+
* Rename the ad set (on X, the line item `name`). Platforms without a rename return 501. At least one of budget/status/bidStrategy/name is required.
|
|
42322
42326
|
*/
|
|
42323
42327
|
name?: string;
|
|
42324
42328
|
/**
|
|
@@ -42328,8 +42332,13 @@ export type UpdateAdSetData = {
|
|
|
42328
42332
|
* automatically. On OpenAI, LOWEST_COST_WITH_BID_CAP and COST_CAP both map to
|
|
42329
42333
|
* the ad group's `bidding_config.max_bid_micros` (one knob covers both);
|
|
42330
42334
|
* LOWEST_COST_WITH_MIN_ROAS is rejected with 422 (OpenAI has no ROAS-based
|
|
42331
|
-
* bidding).
|
|
42332
|
-
*
|
|
42335
|
+
* bidding). On X it writes the line item's `bid_strategy`:
|
|
42336
|
+
* LOWEST_COST_WITHOUT_CAP = AUTO, LOWEST_COST_WITH_BID_CAP = MAX and
|
|
42337
|
+
* COST_CAP = TARGET, with `bidAmount` as `bid_amount_local_micro`;
|
|
42338
|
+
* LOWEST_COST_WITH_MIN_ROAS is rejected with 422. X decides which strategy
|
|
42339
|
+
* the line item's objective allows (TARGET only on REACH, FOLLOWERS and
|
|
42340
|
+
* WEBSITE_CLICKS, MAX not on REACH or FOLLOWERS). Other platforms
|
|
42341
|
+
* (linkedin, pinterest, google) return 501 Not Implemented when bidStrategy is set.
|
|
42333
42342
|
*
|
|
42334
42343
|
*/
|
|
42335
42344
|
bidStrategy?: (BidStrategy);
|
|
@@ -42356,7 +42365,7 @@ export type UpdateAdSetData = {
|
|
|
42356
42365
|
/**
|
|
42357
42366
|
* Bid cap in WHOLE currency units (USD: 5 = $5.00; JPY: 100 = ¥100). Required when
|
|
42358
42367
|
* bidStrategy is LOWEST_COST_WITH_BID_CAP or COST_CAP. Internally converted to Meta's
|
|
42359
|
-
* smallest-denomination integer, or (on OpenAI) to micros (× 1,000,000). Meta only:
|
|
42368
|
+
* smallest-denomination integer, or (on OpenAI and X) to micros (× 1,000,000). Meta only:
|
|
42360
42369
|
* may be sent alone, WITHOUT bidStrategy, to update the cap amount on an ad set whose
|
|
42361
42370
|
* parent campaign is COST_CAP or LOWEST_COST_WITH_BID_CAP (the strategy is inherited
|
|
42362
42371
|
* from the campaign and is left untouched).
|
|
@@ -42687,7 +42696,7 @@ export type GetAdData = {
|
|
|
42687
42696
|
};
|
|
42688
42697
|
query?: {
|
|
42689
42698
|
/**
|
|
42690
|
-
* Read the on/off switches live from the platform instead of returning the synced values. The fresh values are stored (so later reads return them too) and the response carries `statusReadAt`, the time of the read. At most 20 platform objects are read per request. Where a read fails (credentials, platform error, no reader on that platform), the stored values come back with `statusReadAt: null`. See "Status freshness" in the operation description.
|
|
42699
|
+
* Read the on/off switches live from the platform instead of returning the synced values. The fresh values are stored (so later reads return them too) and the response carries `statusReadAt`, the time of the read. At most 20 platform objects are read per request. Where a read fails (credentials, platform error, no reader on that platform), the stored values come back with `statusReadAt: null`. See "Status freshness" in the operation description. On X the budget is read live in the same read: on GET /v1/ads/{adId} `budget`, `adSetBudget`, `campaignBudget` and `budgetLevel` are the line item and campaign budgets X holds now (stored like the switches); on the ad set and campaign listings `budget` is the one that line item or campaign holds now (returned, not stored); a row whose budget the other level holds keeps its synced `budget`.
|
|
42691
42700
|
*/
|
|
42692
42701
|
live?: boolean;
|
|
42693
42702
|
};
|
|
@@ -47173,6 +47182,10 @@ export type BoostPostData = {
|
|
|
47173
47182
|
* Goes together with budgetAmount. lifetime requires schedule.endDate.
|
|
47174
47183
|
*/
|
|
47175
47184
|
budgetType?: 'daily' | 'lifetime';
|
|
47185
|
+
/**
|
|
47186
|
+
* X only. A lifetime total, in whole currency units, that caps a daily budget (budgetType daily): the line item gets both daily_budget_amount_local_micro and total_budget_amount_local_micro, and stops spending once the total is reached. Must be at least budgetAmount. Read back as budget.daily and budget.lifetime. 400 on a lifetime budget or on another platform.
|
|
47187
|
+
*/
|
|
47188
|
+
lifetimeBudgetCap?: number;
|
|
47176
47189
|
/**
|
|
47177
47190
|
* Alias of budgetAmount + budgetType, kept for existing callers
|
|
47178
47191
|
* @deprecated
|
|
@@ -47209,7 +47222,7 @@ export type BoostPostData = {
|
|
|
47209
47222
|
*/
|
|
47210
47223
|
startDate?: string;
|
|
47211
47224
|
/**
|
|
47212
|
-
* Ad-set end time (ISO 8601), mapped to the ad set's `end_time
|
|
47225
|
+
* Ad-set end time (ISO 8601), mapped to the ad set's `end_time` (on X, the line item's `end_time`; X campaigns carry no flight dates). Required for lifetime budgets. On Meta, TikTok, X and Pinterest a value without an offset (`YYYY-MM-DD`, `YYYY-MM-DD HH:MM:SS` or `YYYY-MM-DDTHH:MM:SS`) is read in the ad account timezone, and a date-only end runs to 23:59:59 local. Same field as on POST /v1/ads/create.
|
|
47213
47226
|
*/
|
|
47214
47227
|
endDate?: string;
|
|
47215
47228
|
/**
|