@zernio/node 0.2.718 → 0.2.720
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/README.md +4 -0
- package/dist/index.d.mts +349 -12
- package/dist/index.d.ts +349 -12
- package/dist/index.js +37 -1
- package/dist/index.mjs +37 -1
- package/package.json +1 -1
- package/src/client.ts +16 -0
- package/src/generated/sdk.gen.ts +109 -29
- package/src/generated/types.gen.ts +352 -11
|
@@ -1858,6 +1858,58 @@ export type CampaignAnalyticsResponse = {
|
|
|
1858
1858
|
};
|
|
1859
1859
|
};
|
|
1860
1860
|
|
|
1861
|
+
/**
|
|
1862
|
+
* A Google campaign's current bidding, mapped onto the same triplet PUT /v1/ads/campaigns/{campaignId} accepts.
|
|
1863
|
+
*/
|
|
1864
|
+
export type CampaignBidding = {
|
|
1865
|
+
/**
|
|
1866
|
+
* campaign.advertising_channel_type. COST_CAP's underlying Google field differs by channel; see bidStrategy on PUT.
|
|
1867
|
+
*/
|
|
1868
|
+
channel?: 'SEARCH' | 'DISPLAY';
|
|
1869
|
+
/**
|
|
1870
|
+
* Google's raw enum: MAXIMIZE_CONVERSIONS, TARGET_CPA, MAXIMIZE_CONVERSION_VALUE, TARGET_ROAS, TARGET_SPEND, MANUAL_CPC, TARGET_IMPRESSION_SHARE, or another Google adds later.
|
|
1871
|
+
*/
|
|
1872
|
+
biddingStrategyType?: string;
|
|
1873
|
+
/**
|
|
1874
|
+
* Null when the campaign is on a strategy PUT does not model (Manual CPC, Target Impression Share, ...); show biddingStrategyType instead in that case.
|
|
1875
|
+
*/
|
|
1876
|
+
bidSpec?: {
|
|
1877
|
+
bidStrategy?: BidStrategy;
|
|
1878
|
+
/**
|
|
1879
|
+
* Whole currency units. Present for COST_CAP and LOWEST_COST_WITH_BID_CAP, and omitted when the campaign is on a bare TARGET_SPEND with no CPC ceiling set.
|
|
1880
|
+
*/
|
|
1881
|
+
bidAmount?: number;
|
|
1882
|
+
/**
|
|
1883
|
+
* Decimal ROAS multiplier (2.0 = 2.0x). Present for LOWEST_COST_WITH_MIN_ROAS.
|
|
1884
|
+
*/
|
|
1885
|
+
roasAverageFloor?: number;
|
|
1886
|
+
/**
|
|
1887
|
+
* Present alone (bidStrategy omitted) when the campaign is on a portfolio strategy; see portfolio.
|
|
1888
|
+
*/
|
|
1889
|
+
portfolioBidStrategyId?: string;
|
|
1890
|
+
} | null;
|
|
1891
|
+
/**
|
|
1892
|
+
* Set only when the campaign is on a portfolio bid strategy (campaign.bidding_strategy); null otherwise.
|
|
1893
|
+
*/
|
|
1894
|
+
portfolio?: {
|
|
1895
|
+
id?: string;
|
|
1896
|
+
name?: string;
|
|
1897
|
+
} | null;
|
|
1898
|
+
/**
|
|
1899
|
+
* When this data was fetched from Google. Null when it was never served from cache.
|
|
1900
|
+
*/
|
|
1901
|
+
cachedAt?: (string) | null;
|
|
1902
|
+
/**
|
|
1903
|
+
* True when Google's daily API quota was exhausted and this is the last successful fetch, not a live read.
|
|
1904
|
+
*/
|
|
1905
|
+
stale?: boolean;
|
|
1906
|
+
};
|
|
1907
|
+
|
|
1908
|
+
/**
|
|
1909
|
+
* campaign.advertising_channel_type. COST_CAP's underlying Google field differs by channel; see bidStrategy on PUT.
|
|
1910
|
+
*/
|
|
1911
|
+
export type channel2 = 'SEARCH' | 'DISPLAY';
|
|
1912
|
+
|
|
1861
1913
|
/**
|
|
1862
1914
|
* Who a comment automation answers. Instagram only - Meta exposes the follow
|
|
1863
1915
|
* relationship on no other platform, and only for people who have MESSAGED the
|
|
@@ -5003,6 +5055,51 @@ export type errorCategory = 'auth_expired' | 'user_content' | 'user_abuse' | 'ac
|
|
|
5003
5055
|
*/
|
|
5004
5056
|
export type errorSource = 'user' | 'platform' | 'system';
|
|
5005
5057
|
|
|
5058
|
+
/**
|
|
5059
|
+
* A Google Ads portfolio bid strategy: a named bidding strategy shared across campaigns, with its R.130 report metrics over the queried date range.
|
|
5060
|
+
*/
|
|
5061
|
+
export type PortfolioBidStrategy = {
|
|
5062
|
+
/**
|
|
5063
|
+
* Numeric bid strategy id; pass as portfolioBidStrategyId or in the {strategyId} path.
|
|
5064
|
+
*/
|
|
5065
|
+
id?: string;
|
|
5066
|
+
name?: string;
|
|
5067
|
+
type?: 'TARGET_CPA' | 'TARGET_ROAS' | 'MAXIMIZE_CONVERSIONS' | 'MAXIMIZE_CONVERSION_VALUE';
|
|
5068
|
+
/**
|
|
5069
|
+
* ENABLED or REMOVED.
|
|
5070
|
+
*/
|
|
5071
|
+
status?: string;
|
|
5072
|
+
/**
|
|
5073
|
+
* Number of campaigns currently attached.
|
|
5074
|
+
*/
|
|
5075
|
+
campaignCount?: number;
|
|
5076
|
+
clicks?: number;
|
|
5077
|
+
/**
|
|
5078
|
+
* Cost in the account's currency units (converted from micros).
|
|
5079
|
+
*/
|
|
5080
|
+
cost?: number;
|
|
5081
|
+
/**
|
|
5082
|
+
* Cost per conversion in the account's currency units.
|
|
5083
|
+
*/
|
|
5084
|
+
costPerConversion?: number;
|
|
5085
|
+
impressions?: number;
|
|
5086
|
+
/**
|
|
5087
|
+
* Average CPC in the account's currency units.
|
|
5088
|
+
*/
|
|
5089
|
+
averageCpc?: number;
|
|
5090
|
+
conversions?: number;
|
|
5091
|
+
/**
|
|
5092
|
+
* Current target, in the account's currency units. Null for a ROAS-family type (TARGET_ROAS, MAXIMIZE_CONVERSION_VALUE), or a Maximize type with no target set. Pre-fills the edit form's target field.
|
|
5093
|
+
*/
|
|
5094
|
+
targetCpa?: (number) | null;
|
|
5095
|
+
/**
|
|
5096
|
+
* Current target as a decimal multiplier (2.0 = 2.0x). Null for a CPA-family type (TARGET_CPA, MAXIMIZE_CONVERSIONS), or a Maximize type with no target set.
|
|
5097
|
+
*/
|
|
5098
|
+
targetRoas?: (number) | null;
|
|
5099
|
+
};
|
|
5100
|
+
|
|
5101
|
+
export type type8 = 'TARGET_CPA' | 'TARGET_ROAS' | 'MAXIMIZE_CONVERSIONS' | 'MAXIMIZE_CONVERSION_VALUE';
|
|
5102
|
+
|
|
5006
5103
|
export type Post = {
|
|
5007
5104
|
_id?: string;
|
|
5008
5105
|
userId?: (string | User);
|
|
@@ -6271,7 +6368,7 @@ export type UploadedFile = {
|
|
|
6271
6368
|
mimeType?: string;
|
|
6272
6369
|
};
|
|
6273
6370
|
|
|
6274
|
-
export type
|
|
6371
|
+
export type type9 = 'image' | 'video' | 'document';
|
|
6275
6372
|
|
|
6276
6373
|
export type UploadTokenResponse = {
|
|
6277
6374
|
token?: string;
|
|
@@ -6757,7 +6854,7 @@ export type Verification = {
|
|
|
6757
6854
|
|
|
6758
6855
|
export type status11 = 'pending' | 'approved' | 'expired' | 'max_attempts_reached' | 'canceled' | 'delivery_failed';
|
|
6759
6856
|
|
|
6760
|
-
export type
|
|
6857
|
+
export type channel3 = 'sms';
|
|
6761
6858
|
|
|
6762
6859
|
/**
|
|
6763
6860
|
* Individual webhook configuration for receiving real-time notifications
|
|
@@ -9350,7 +9447,7 @@ export type WhatsAppTemplateButton = {
|
|
|
9350
9447
|
navigate_screen?: string;
|
|
9351
9448
|
};
|
|
9352
9449
|
|
|
9353
|
-
export type
|
|
9450
|
+
export type type10 = 'quick_reply' | 'url' | 'phone_number' | 'otp' | 'copy_code' | 'flow' | 'mpm' | 'catalog';
|
|
9354
9451
|
|
|
9355
9452
|
/**
|
|
9356
9453
|
* Required when type is otp
|
|
@@ -9512,7 +9609,7 @@ export type WorkflowNode = {
|
|
|
9512
9609
|
* integrations (webhook, ai, handoff, start_call).
|
|
9513
9610
|
*
|
|
9514
9611
|
*/
|
|
9515
|
-
export type
|
|
9612
|
+
export type type11 = 'trigger' | 'send_message' | 'wait_for_reply' | 'condition' | 'set_variable' | 'delay' | 'webhook' | 'ai' | 'handoff' | 'start_call' | 'a_b_split' | 'set_field' | 'enroll_sequence' | 'add_tag' | 'remove_tag' | 'end';
|
|
9516
9613
|
|
|
9517
9614
|
/**
|
|
9518
9615
|
* A single X API operation with its per-call price and the Zernio platform methods that trigger it.
|
|
@@ -9648,7 +9745,7 @@ export type XArticleBlock = {
|
|
|
9648
9745
|
entity_ranges?: Array<XArticleEntityRange>;
|
|
9649
9746
|
};
|
|
9650
9747
|
|
|
9651
|
-
export type
|
|
9748
|
+
export type type12 = 'unstyled' | 'header-one' | 'header-two' | 'header-three' | 'unordered-list-item' | 'ordered-list-item' | 'blockquote' | 'atomic';
|
|
9652
9749
|
|
|
9653
9750
|
/**
|
|
9654
9751
|
* X's snake_case content-state shape. Standard DraftJS camelCase fields such as entityMap, inlineStyleRanges, and entityRanges are rejected.
|
|
@@ -9727,7 +9824,7 @@ export type XArticleEntity = {
|
|
|
9727
9824
|
|
|
9728
9825
|
export type mutability = 'immutable' | 'mutable' | 'segmented';
|
|
9729
9826
|
|
|
9730
|
-
export type
|
|
9827
|
+
export type type13 = 'divider' | 'latex';
|
|
9731
9828
|
|
|
9732
9829
|
/**
|
|
9733
9830
|
* The referenced entity must exist, and offset plus length must not exceed the containing block's text length.
|
|
@@ -30422,12 +30519,133 @@ export type GetAdsSearchTermsResponse = ({
|
|
|
30422
30519
|
*/
|
|
30423
30520
|
nextPageToken?: (string) | null;
|
|
30424
30521
|
};
|
|
30522
|
+
/**
|
|
30523
|
+
* When this data was fetched from Google. Null when it was never served from cache.
|
|
30524
|
+
*/
|
|
30525
|
+
cachedAt?: (string) | null;
|
|
30526
|
+
/**
|
|
30527
|
+
* True when Google's daily API quota was exhausted and this is the last successful fetch, not a live read.
|
|
30528
|
+
*/
|
|
30529
|
+
stale?: boolean;
|
|
30425
30530
|
});
|
|
30426
30531
|
|
|
30427
30532
|
export type GetAdsSearchTermsError = (ErrorResponse | {
|
|
30428
30533
|
error?: string;
|
|
30429
30534
|
} | unknown);
|
|
30430
30535
|
|
|
30536
|
+
export type ListBidStrategiesData = {
|
|
30537
|
+
query: {
|
|
30538
|
+
/**
|
|
30539
|
+
* Google ads SocialAccount id.
|
|
30540
|
+
*/
|
|
30541
|
+
accountId: string;
|
|
30542
|
+
/**
|
|
30543
|
+
* Numeric Google Ads customer id (no dashes). Defaults to the account's connected customer.
|
|
30544
|
+
*/
|
|
30545
|
+
customerId?: string;
|
|
30546
|
+
/**
|
|
30547
|
+
* Defaults to 30 days ago.
|
|
30548
|
+
*/
|
|
30549
|
+
fromDate?: string;
|
|
30550
|
+
/**
|
|
30551
|
+
* Defaults to today.
|
|
30552
|
+
*/
|
|
30553
|
+
toDate?: string;
|
|
30554
|
+
};
|
|
30555
|
+
};
|
|
30556
|
+
|
|
30557
|
+
export type ListBidStrategiesResponse = ({
|
|
30558
|
+
customerId?: string;
|
|
30559
|
+
/**
|
|
30560
|
+
* Account currency code; money fields are in this currency's units.
|
|
30561
|
+
*/
|
|
30562
|
+
currency?: string;
|
|
30563
|
+
strategies?: Array<PortfolioBidStrategy>;
|
|
30564
|
+
/**
|
|
30565
|
+
* When this data was fetched from Google. Null when it was never served from cache.
|
|
30566
|
+
*/
|
|
30567
|
+
cachedAt?: (string) | null;
|
|
30568
|
+
/**
|
|
30569
|
+
* True when Google's daily API quota was exhausted and this is the last successful fetch, not a live read.
|
|
30570
|
+
*/
|
|
30571
|
+
stale?: boolean;
|
|
30572
|
+
});
|
|
30573
|
+
|
|
30574
|
+
export type ListBidStrategiesError = (ErrorResponse | {
|
|
30575
|
+
error?: string;
|
|
30576
|
+
} | unknown);
|
|
30577
|
+
|
|
30578
|
+
export type CreateBidStrategyData = {
|
|
30579
|
+
body: {
|
|
30580
|
+
/**
|
|
30581
|
+
* Google ads SocialAccount id.
|
|
30582
|
+
*/
|
|
30583
|
+
accountId: string;
|
|
30584
|
+
/**
|
|
30585
|
+
* Numeric Google Ads customer id (no dashes). Defaults to the account's connected customer.
|
|
30586
|
+
*/
|
|
30587
|
+
customerId?: string;
|
|
30588
|
+
name: string;
|
|
30589
|
+
type: 'TARGET_CPA' | 'TARGET_ROAS' | 'MAXIMIZE_CONVERSIONS' | 'MAXIMIZE_CONVERSION_VALUE';
|
|
30590
|
+
/**
|
|
30591
|
+
* Required when type is TARGET_CPA, in the account's currency units.
|
|
30592
|
+
*/
|
|
30593
|
+
targetCpa?: number;
|
|
30594
|
+
/**
|
|
30595
|
+
* Required when type is TARGET_ROAS; a multiplier (2.0 = 2.0x).
|
|
30596
|
+
*/
|
|
30597
|
+
targetRoas?: number;
|
|
30598
|
+
};
|
|
30599
|
+
};
|
|
30600
|
+
|
|
30601
|
+
export type CreateBidStrategyResponse = ({
|
|
30602
|
+
strategy?: {
|
|
30603
|
+
customerId?: string;
|
|
30604
|
+
/**
|
|
30605
|
+
* Numeric bid strategy id; pass as portfolioBidStrategyId or in the {strategyId} path.
|
|
30606
|
+
*/
|
|
30607
|
+
id?: string;
|
|
30608
|
+
resourceName?: string;
|
|
30609
|
+
};
|
|
30610
|
+
});
|
|
30611
|
+
|
|
30612
|
+
export type CreateBidStrategyError = (unknown | {
|
|
30613
|
+
error?: string;
|
|
30614
|
+
});
|
|
30615
|
+
|
|
30616
|
+
export type UpdateBidStrategyData = {
|
|
30617
|
+
body: {
|
|
30618
|
+
/**
|
|
30619
|
+
* Google ads SocialAccount id.
|
|
30620
|
+
*/
|
|
30621
|
+
accountId: string;
|
|
30622
|
+
/**
|
|
30623
|
+
* Numeric Google Ads customer id (no dashes). Defaults to the account's connected customer.
|
|
30624
|
+
*/
|
|
30625
|
+
customerId?: string;
|
|
30626
|
+
name?: string;
|
|
30627
|
+
type?: 'TARGET_CPA' | 'TARGET_ROAS' | 'MAXIMIZE_CONVERSIONS' | 'MAXIMIZE_CONVERSION_VALUE';
|
|
30628
|
+
targetCpa?: number;
|
|
30629
|
+
targetRoas?: number;
|
|
30630
|
+
};
|
|
30631
|
+
path: {
|
|
30632
|
+
/**
|
|
30633
|
+
* Numeric Google Ads bid strategy id.
|
|
30634
|
+
*/
|
|
30635
|
+
strategyId: string;
|
|
30636
|
+
};
|
|
30637
|
+
};
|
|
30638
|
+
|
|
30639
|
+
export type UpdateBidStrategyResponse = ({
|
|
30640
|
+
strategy?: {
|
|
30641
|
+
customerId?: string;
|
|
30642
|
+
};
|
|
30643
|
+
});
|
|
30644
|
+
|
|
30645
|
+
export type UpdateBidStrategyError = (ErrorResponse | {
|
|
30646
|
+
error?: string;
|
|
30647
|
+
} | unknown);
|
|
30648
|
+
|
|
30431
30649
|
export type ListLocalServicesLeadsData = {
|
|
30432
30650
|
query: {
|
|
30433
30651
|
/**
|
|
@@ -30777,17 +30995,21 @@ export type CreateAdCampaignData = {
|
|
|
30777
30995
|
budgetType?: 'daily' | 'lifetime';
|
|
30778
30996
|
status?: 'ACTIVE' | 'PAUSED';
|
|
30779
30997
|
/**
|
|
30780
|
-
* Campaign bid strategy. Meta stores `bid_strategy` alongside the budget, so this REQUIRES `budgetAmount` + `budgetType` on the same request; sending it without a campaign budget is a 400. A campaign carrying a strategy without its `bid_amount` makes every ad set created under it fail with an error that names the ad set (code 100, subcode 1815857), so the bad state is rejected up front rather than accepted. To bid at ad-set level, set the strategy there instead.
|
|
30998
|
+
* Campaign bid strategy. Meta stores `bid_strategy` alongside the budget, so this REQUIRES `budgetAmount` + `budgetType` on the same request; sending it without a campaign budget is a 400. A campaign carrying a strategy without its `bid_amount` makes every ad set created under it fail with an error that names the ad set (code 100, subcode 1815857), so the bad state is rejected up front rather than accepted. To bid at ad-set level on Meta, set the strategy there instead. On Google: LOWEST_COST_WITHOUT_CAP = Maximize Conversions, COST_CAP + bidAmount = Target CPA, LOWEST_COST_WITH_MIN_ROAS + roasAverageFloor = Target ROAS, LOWEST_COST_WITH_BID_CAP + bidAmount = Maximize Clicks with a CPC ceiling; portfolioBidStrategyId attaches a portfolio strategy instead.
|
|
30781
30999
|
*/
|
|
30782
31000
|
bidStrategy?: 'LOWEST_COST_WITHOUT_CAP' | 'LOWEST_COST_WITH_BID_CAP' | 'COST_CAP' | 'LOWEST_COST_WITH_MIN_ROAS';
|
|
30783
31001
|
/**
|
|
30784
|
-
* Whole currency units (USD: 5 = $5.00). Required for LOWEST_COST_WITH_BID_CAP and COST_CAP; ignored otherwise.
|
|
31002
|
+
* Whole currency units (USD: 5 = $5.00). Required for LOWEST_COST_WITH_BID_CAP and COST_CAP; ignored otherwise. On Meta, validated here but NOT stored: the campaign object has no bid_amount field, only bid_strategy lives on it, and the amount takes effect once an ad set joins this campaign (existingCampaignId on POST /v1/ads/create) and supplies its own bidAmount there. On Google, stored directly on the campaign's bidding strategy.
|
|
30785
31003
|
*/
|
|
30786
31004
|
bidAmount?: number;
|
|
30787
31005
|
/**
|
|
30788
31006
|
* Decimal ROAS multiplier (2.0 = 2.0x). Required for LOWEST_COST_WITH_MIN_ROAS.
|
|
30789
31007
|
*/
|
|
30790
31008
|
roasAverageFloor?: number;
|
|
31009
|
+
/**
|
|
31010
|
+
* Google only. Attach an existing portfolio bid strategy (numeric id from GET /v1/ads/bid-strategies) to the new campaign instead of a standard one. Exclusive with bidStrategy.
|
|
31011
|
+
*/
|
|
31012
|
+
portfolioBidStrategyId?: string;
|
|
30791
31013
|
};
|
|
30792
31014
|
headers?: {
|
|
30793
31015
|
/**
|
|
@@ -30850,6 +31072,37 @@ export type UpdateAdCampaignStatusError = (unknown | {
|
|
|
30850
31072
|
error?: string;
|
|
30851
31073
|
});
|
|
30852
31074
|
|
|
31075
|
+
export type GetCampaignBiddingData = {
|
|
31076
|
+
path: {
|
|
31077
|
+
/**
|
|
31078
|
+
* Numeric Google platform campaign id.
|
|
31079
|
+
*/
|
|
31080
|
+
campaignId: string;
|
|
31081
|
+
};
|
|
31082
|
+
query: {
|
|
31083
|
+
/**
|
|
31084
|
+
* Zernio Google Ads SocialAccount id: resolves the customer id + refresh token.
|
|
31085
|
+
*/
|
|
31086
|
+
accountId: string;
|
|
31087
|
+
/**
|
|
31088
|
+
* Numeric Google Ads customer id (no dashes). Required when the connection has multiple Google Ads accounts; optional (and inferred) when it has only one.
|
|
31089
|
+
*/
|
|
31090
|
+
customerId?: string;
|
|
31091
|
+
/**
|
|
31092
|
+
* Required: campaign IDs are not globally unique. Only "google" is supported today.
|
|
31093
|
+
*/
|
|
31094
|
+
platform: 'google';
|
|
31095
|
+
};
|
|
31096
|
+
};
|
|
31097
|
+
|
|
31098
|
+
export type GetCampaignBiddingResponse = (({
|
|
31099
|
+
campaignId?: string;
|
|
31100
|
+
} & CampaignBidding));
|
|
31101
|
+
|
|
31102
|
+
export type GetCampaignBiddingError = (unknown | {
|
|
31103
|
+
error?: string;
|
|
31104
|
+
});
|
|
31105
|
+
|
|
30853
31106
|
export type UpdateAdCampaignData = {
|
|
30854
31107
|
body: {
|
|
30855
31108
|
/**
|
|
@@ -30861,7 +31114,7 @@ export type UpdateAdCampaignData = {
|
|
|
30861
31114
|
*/
|
|
30862
31115
|
accountId?: string;
|
|
30863
31116
|
/**
|
|
30864
|
-
* **Meta + Google.** On Meta, the campaign default that ad sets inherit unless they override it. On Google, the campaign's own bidding strategy.
|
|
31117
|
+
* **Meta + Google.** On Meta, the campaign default that ad sets inherit unless they override it. On Google, the campaign's own bidding strategy. On Google: LOWEST_COST_WITHOUT_CAP = Maximize Conversions, COST_CAP + bidAmount = Target CPA, LOWEST_COST_WITH_MIN_ROAS + roasAverageFloor = Target ROAS, LOWEST_COST_WITH_BID_CAP + bidAmount = Maximize Clicks with a CPC ceiling; portfolioBidStrategyId attaches a portfolio strategy instead.
|
|
30865
31118
|
*/
|
|
30866
31119
|
bidStrategy?: (BidStrategy);
|
|
30867
31120
|
/**
|
|
@@ -30872,6 +31125,10 @@ export type UpdateAdCampaignData = {
|
|
|
30872
31125
|
* **Google only.** Decimal ROAS multiplier (2.0 = 2.0x), required for LOWEST_COST_WITH_MIN_ROAS.
|
|
30873
31126
|
*/
|
|
30874
31127
|
roasAverageFloor?: number;
|
|
31128
|
+
/**
|
|
31129
|
+
* **Google only.** Attach an existing portfolio bid strategy (numeric id from GET /v1/ads/bid-strategies) instead of setting bidStrategy. Exclusive with bidStrategy.
|
|
31130
|
+
*/
|
|
31131
|
+
portfolioBidStrategyId?: string;
|
|
30875
31132
|
/**
|
|
30876
31133
|
* **Meta only.** The CBO budget.
|
|
30877
31134
|
*/
|
|
@@ -30914,6 +31171,10 @@ export type UpdateAdCampaignResponse = ({
|
|
|
30914
31171
|
bidStrategy?: BidStrategy;
|
|
30915
31172
|
bidAmount?: number;
|
|
30916
31173
|
roasAverageFloor?: number;
|
|
31174
|
+
/**
|
|
31175
|
+
* Google only. Echoed back, but NOT mirrored onto local Ad documents (no column for it yet).
|
|
31176
|
+
*/
|
|
31177
|
+
portfolioBidStrategyId?: string;
|
|
30917
31178
|
platformSpecificData?: {
|
|
30918
31179
|
[key: string]: unknown;
|
|
30919
31180
|
};
|
|
@@ -30972,6 +31233,14 @@ export type ListCampaignNegativeKeywordsResponse = ({
|
|
|
30972
31233
|
text?: string;
|
|
30973
31234
|
matchType?: 'exact' | 'phrase' | 'broad';
|
|
30974
31235
|
}>;
|
|
31236
|
+
/**
|
|
31237
|
+
* When this list was fetched from Google. Null when it was never served from cache.
|
|
31238
|
+
*/
|
|
31239
|
+
cachedAt?: (string) | null;
|
|
31240
|
+
/**
|
|
31241
|
+
* True when Google's daily API quota was exhausted and this is the last successful fetch, not a live read.
|
|
31242
|
+
*/
|
|
31243
|
+
stale?: boolean;
|
|
30975
31244
|
});
|
|
30976
31245
|
|
|
30977
31246
|
export type ListCampaignNegativeKeywordsError = ({
|
|
@@ -31149,6 +31418,14 @@ export type GetCampaignTargetingResponse = ({
|
|
|
31149
31418
|
id?: string;
|
|
31150
31419
|
name?: string;
|
|
31151
31420
|
}>;
|
|
31421
|
+
/**
|
|
31422
|
+
* When this targeting was fetched from Google. Null when it was never served from cache.
|
|
31423
|
+
*/
|
|
31424
|
+
cachedAt?: (string) | null;
|
|
31425
|
+
/**
|
|
31426
|
+
* True when Google's daily API quota was exhausted and this is the last successful fetch, not a live read.
|
|
31427
|
+
*/
|
|
31428
|
+
stale?: boolean;
|
|
31152
31429
|
});
|
|
31153
31430
|
|
|
31154
31431
|
export type GetCampaignTargetingError = (ErrorResponse | {
|
|
@@ -31211,6 +31488,29 @@ export type UpdateCampaignTargetingResponse = ({
|
|
|
31211
31488
|
* Which targeting fields were applied.
|
|
31212
31489
|
*/
|
|
31213
31490
|
updated?: Array<('devices' | 'locations' | 'languages')>;
|
|
31491
|
+
devices?: Array<{
|
|
31492
|
+
device?: 'MOBILE' | 'DESKTOP' | 'TABLET' | 'CONNECTED_TV';
|
|
31493
|
+
included?: boolean;
|
|
31494
|
+
/**
|
|
31495
|
+
* Always null on this read; see GET's description.
|
|
31496
|
+
*/
|
|
31497
|
+
bidModifier?: (number) | null;
|
|
31498
|
+
}>;
|
|
31499
|
+
locations?: Array<{
|
|
31500
|
+
/**
|
|
31501
|
+
* Numeric id from Google's geoTargetConstants/{id}.
|
|
31502
|
+
*/
|
|
31503
|
+
geoTargetId?: string;
|
|
31504
|
+
/**
|
|
31505
|
+
* true = excluded location.
|
|
31506
|
+
*/
|
|
31507
|
+
negative?: boolean;
|
|
31508
|
+
}>;
|
|
31509
|
+
languages?: Array<{
|
|
31510
|
+
code?: string;
|
|
31511
|
+
id?: string;
|
|
31512
|
+
name?: string;
|
|
31513
|
+
}>;
|
|
31214
31514
|
});
|
|
31215
31515
|
|
|
31216
31516
|
export type UpdateCampaignTargetingError = (ErrorResponse | {
|
|
@@ -31803,8 +32103,9 @@ export type UpdateAdData = {
|
|
|
31803
32103
|
type?: 'daily' | 'lifetime';
|
|
31804
32104
|
};
|
|
31805
32105
|
/**
|
|
31806
|
-
* Meta + TikTok (demographics/interests), Google (keyword
|
|
31807
|
-
* and LinkedIn (geo countries). Pinterest / X
|
|
32106
|
+
* Meta + TikTok (demographics/interests), Google (keyword and device
|
|
32107
|
+
* bid adjustment edits only), and LinkedIn (geo countries). Pinterest / X
|
|
32108
|
+
* return 501.
|
|
31808
32109
|
*
|
|
31809
32110
|
*/
|
|
31810
32111
|
targeting?: {
|
|
@@ -31821,6 +32122,16 @@ export type UpdateAdData = {
|
|
|
31821
32122
|
negativeKeywords?: Array<(string | {
|
|
31822
32123
|
text: string;
|
|
31823
32124
|
matchType?: 'exact' | 'phrase' | 'broad';
|
|
32125
|
+
})>;
|
|
32126
|
+
/**
|
|
32127
|
+
* Google only. The FULL new set of device criteria for the campaign; devices not listed are excluded. Entries are a device name alone (included, no bid adjustment) or { device, bidModifier }.
|
|
32128
|
+
*/
|
|
32129
|
+
devices?: Array<('MOBILE' | 'DESKTOP' | 'TABLET' | 'CONNECTED_TV' | {
|
|
32130
|
+
device: 'MOBILE' | 'DESKTOP' | 'TABLET' | 'CONNECTED_TV';
|
|
32131
|
+
/**
|
|
32132
|
+
* Google device bid modifier, 0.1 to 10 (minus 90% to plus 900%). Omit a device to exclude it.
|
|
32133
|
+
*/
|
|
32134
|
+
bidModifier?: number;
|
|
31824
32135
|
})>;
|
|
31825
32136
|
ageMin?: number;
|
|
31826
32137
|
ageMax?: number;
|
|
@@ -33435,6 +33746,14 @@ export type ListAccountCalloutsResponse = ({
|
|
|
33435
33746
|
*/
|
|
33436
33747
|
status?: string;
|
|
33437
33748
|
}>;
|
|
33749
|
+
/**
|
|
33750
|
+
* When this list was fetched from Google. Null when it was never served from cache.
|
|
33751
|
+
*/
|
|
33752
|
+
cachedAt?: (string) | null;
|
|
33753
|
+
/**
|
|
33754
|
+
* True when Google's daily API quota was exhausted and this is the last successful fetch, not a live read.
|
|
33755
|
+
*/
|
|
33756
|
+
stale?: boolean;
|
|
33438
33757
|
});
|
|
33439
33758
|
|
|
33440
33759
|
export type ListAccountCalloutsError = (ErrorResponse | {
|
|
@@ -33626,6 +33945,14 @@ export type ListAdAccountsResponse = ({
|
|
|
33626
33945
|
*/
|
|
33627
33946
|
unusableReason?: (string) | null;
|
|
33628
33947
|
}>;
|
|
33948
|
+
/**
|
|
33949
|
+
* Google only. When this list was fetched from Google. Null when it was never served from cache, or on other platforms.
|
|
33950
|
+
*/
|
|
33951
|
+
cachedAt?: (string) | null;
|
|
33952
|
+
/**
|
|
33953
|
+
* Google only. True when Google's daily API quota was exhausted and this is the last successful fetch, not a live read. Absent on other platforms.
|
|
33954
|
+
*/
|
|
33955
|
+
stale?: boolean;
|
|
33629
33956
|
});
|
|
33630
33957
|
|
|
33631
33958
|
export type ListAdAccountsError = ({
|
|
@@ -34907,6 +35234,8 @@ export type CreateStandaloneAdData = {
|
|
|
34907
35234
|
*
|
|
34908
35235
|
* OpenAI Ads: required on every ad group via this flat field, the only channel it supports (`platformSpecificData` is Meta/LinkedIn-only and returns 400 for OpenAI). No auto-bid option exists; send `LOWEST_COST_WITH_BID_CAP` or `COST_CAP` together with `bidAmount`, omitting it returns 400.
|
|
34909
35236
|
*
|
|
35237
|
+
* Google (not deprecated there, this shared flat field is Google's only shape): applied to the campaign this call creates. On Google: LOWEST_COST_WITHOUT_CAP = Maximize Conversions, COST_CAP + bidAmount = Target CPA, LOWEST_COST_WITH_MIN_ROAS + roasAverageFloor = Target ROAS, LOWEST_COST_WITH_BID_CAP + bidAmount = Maximize Clicks with a CPC ceiling; portfolioBidStrategyId attaches a portfolio strategy instead. Omitted, the campaign falls back to a goal-based default.
|
|
35238
|
+
*
|
|
34910
35239
|
* @deprecated
|
|
34911
35240
|
*/
|
|
34912
35241
|
bidStrategy?: (BidStrategy);
|
|
@@ -34939,6 +35268,10 @@ export type CreateStandaloneAdData = {
|
|
|
34939
35268
|
* @deprecated
|
|
34940
35269
|
*/
|
|
34941
35270
|
roasAverageFloor?: number;
|
|
35271
|
+
/**
|
|
35272
|
+
* Google only. Attach an existing portfolio bid strategy (numeric id from GET /v1/ads/bid-strategies) to the new campaign instead of a standard one. Exclusive with bidStrategy.
|
|
35273
|
+
*/
|
|
35274
|
+
portfolioBidStrategyId?: string;
|
|
34942
35275
|
/**
|
|
34943
35276
|
* Meta only (facebook, instagram; other platforms return 400). Value rule set
|
|
34944
35277
|
* to attach to the new ad set, from `/v1/ads/value-rule-sets`. Attachment is
|
|
@@ -36768,6 +37101,14 @@ export type ListConversionActionsResponse = ({
|
|
|
36768
37101
|
*/
|
|
36769
37102
|
customerId?: string;
|
|
36770
37103
|
actions?: Array<ConversionAction>;
|
|
37104
|
+
/**
|
|
37105
|
+
* When this list was fetched from Google. Null when it was never served from cache.
|
|
37106
|
+
*/
|
|
37107
|
+
cachedAt?: (string) | null;
|
|
37108
|
+
/**
|
|
37109
|
+
* True when Google's daily API quota was exhausted and this is the last successful fetch, not a live read.
|
|
37110
|
+
*/
|
|
37111
|
+
stale?: boolean;
|
|
36771
37112
|
});
|
|
36772
37113
|
|
|
36773
37114
|
export type ListConversionActionsError = (ErrorResponse | {
|