@getlatedev/node 0.2.1157 → 0.2.1159
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 +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +1 -1
- package/src/generated/sdk.gen.ts +645 -94
- package/src/generated/types.gen.ts +2 -1
package/src/generated/sdk.gen.ts
CHANGED
|
@@ -1727,7 +1727,9 @@ export const handleOAuthCallback = <ThrowOnError extends boolean = false>(option
|
|
|
1727
1727
|
|
|
1728
1728
|
/**
|
|
1729
1729
|
* Connect ads for a platform
|
|
1730
|
-
*
|
|
1730
|
+
* Starts connecting a platform's ads account, giving you a dedicated ads connection to manage campaigns without touching posting accounts.
|
|
1731
|
+
*
|
|
1732
|
+
* Creates a dedicated ads SocialAccount for the specified platform.
|
|
1731
1733
|
*
|
|
1732
1734
|
* **Meta business login (opt-in).** Set `loginMode=business` for `facebook` or
|
|
1733
1735
|
* `instagram` to use Facebook Login for Business and a Business Integration System User
|
|
@@ -1827,7 +1829,10 @@ export const connectAds = <ThrowOnError extends boolean = false>(options: Option
|
|
|
1827
1829
|
|
|
1828
1830
|
/**
|
|
1829
1831
|
* Complete Meta business login
|
|
1832
|
+
* Finishes a Meta business login after the user approves access, connects the Meta ads account and sends them back to your app.
|
|
1833
|
+
*
|
|
1830
1834
|
* Facebook Login for Business redirect target. Meta supplies the single-use authorization code and the authenticated state returned by connectAds. The state expires after 30 minutes and binds the user, profile, Page selection and ad-account scope. No bearer token is sent by the browser. Success reconnects only metaads and redirects to the original redirect_url. Invalid state returns 400; inaccessible profiles or missing ads access cannot connect. Dashboard logins with several Pages redirect to the Facebook Page picker with an encrypted selectionToken valid for ten minutes. Listing and selecting require the initiating user and current profile access. No plaintext platform token is returned to the browser.
|
|
1835
|
+
*
|
|
1831
1836
|
*/
|
|
1832
1837
|
export const completeMetaAdsBusinessLogin = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<CompleteMetaAdsBusinessLoginData, ThrowOnError>) => {
|
|
1833
1838
|
return (options?.client ?? client).get<void, unknown, ThrowOnError>({
|
|
@@ -1956,7 +1961,10 @@ export const configureTikTokAdsBrandIdentity = <ThrowOnError extends boolean = f
|
|
|
1956
1961
|
|
|
1957
1962
|
/**
|
|
1958
1963
|
* List Facebook pages
|
|
1959
|
-
*
|
|
1964
|
+
* Lists the Facebook Pages a user can pick from after signing in, so they can choose which Page to connect.
|
|
1965
|
+
*
|
|
1966
|
+
* Classic connections require profileId and tempToken from the OAuth redirect. Use X-Connect-Token for headless connections. The dashboard business-login picker instead sends only selectionToken, an encrypted grant valid for ten minutes. This requires the initiating user and current profile access and returns only Page IDs and names. X-Connect-Token cannot authorize business selection.
|
|
1967
|
+
*
|
|
1960
1968
|
*/
|
|
1961
1969
|
export const listFacebookPages = <ThrowOnError extends boolean = false>(options?: OptionsLegacyParser<ListFacebookPagesData, ThrowOnError>) => {
|
|
1962
1970
|
return (options?.client ?? client).get<ListFacebookPagesResponse, ListFacebookPagesError, ThrowOnError>({
|
|
@@ -1967,7 +1975,10 @@ export const listFacebookPages = <ThrowOnError extends boolean = false>(options?
|
|
|
1967
1975
|
|
|
1968
1976
|
/**
|
|
1969
1977
|
* Select Facebook page
|
|
1978
|
+
* Connects the Facebook Page the user picked after signing in, completing the Facebook or Meta Ads connection.
|
|
1979
|
+
*
|
|
1970
1980
|
* Complete a classic Facebook Page connection with profileId, pageId, tempToken and userProfile. Use X-Connect-Token for headless connections. The dashboard business-login picker instead sends only selectionToken and pageId to complete a Meta Ads connection. The server verifies the initiating user, profile access, current grants and connection eligibility. The profile, platform token, ad-account scope and return URL come only from the encrypted grant. Business selection requires a session or bearer authentication for the initiating user; X-Connect-Token is not accepted. It returns redirect_url with connected=metaads on success or an eligibility error redirect.
|
|
1981
|
+
*
|
|
1971
1982
|
*/
|
|
1972
1983
|
export const selectFacebookPage = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<SelectFacebookPageData, ThrowOnError>) => {
|
|
1973
1984
|
return (options?.client ?? client).post<SelectFacebookPageResponse, SelectFacebookPageError, ThrowOnError>({
|
|
@@ -4936,6 +4947,9 @@ export const unlikePost = <ThrowOnError extends boolean = false>(options: Option
|
|
|
4936
4947
|
* non-followers and add buttons once they reply. `quickReplies` and `buttons` are mutually
|
|
4937
4948
|
* exclusive. When the comment's single private reply is spent (by this call or an earlier
|
|
4938
4949
|
* one) the 400 carries `details.privateReplyConsumed: true`; never retry it.
|
|
4950
|
+
* A 502 means Meta answered a server error after receiving the reply; it carries
|
|
4951
|
+
* `details.privateReplyOutcome: "unknown"`, the reply is usually delivered and the comment's
|
|
4952
|
+
* private reply spent, so check the conversation before retrying.
|
|
4939
4953
|
*
|
|
4940
4954
|
*/
|
|
4941
4955
|
export const sendPrivateReplyToComment = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<SendPrivateReplyToCommentData, ThrowOnError>) => {
|
|
@@ -9465,6 +9479,8 @@ export const listCommentAutomationLogs = <ThrowOnError extends boolean = false>(
|
|
|
9465
9479
|
|
|
9466
9480
|
/**
|
|
9467
9481
|
* List ads
|
|
9482
|
+
* Lists your ads with their performance over a date range, including ads created directly in each platform's ads manager.
|
|
9483
|
+
*
|
|
9468
9484
|
* Returns a paginated list of ads with metrics computed over an optional date range.
|
|
9469
9485
|
* Use source=all to include externally-synced ads from platform ad managers.
|
|
9470
9486
|
* If no date range is provided, defaults to the last 90 days. Date range is capped at 730 days max.
|
|
@@ -9485,6 +9501,8 @@ export const listAds = <ThrowOnError extends boolean = false>(options?: OptionsL
|
|
|
9485
9501
|
|
|
9486
9502
|
/**
|
|
9487
9503
|
* Google Ads search terms report
|
|
9504
|
+
* Shows the actual Google searches that triggered your ads, with spend and results, so you can spot wasted spend and add negative keywords.
|
|
9505
|
+
*
|
|
9488
9506
|
* The actual search queries that triggered your ads, with matched-keyword
|
|
9489
9507
|
* status and spend metrics, the raw material for wasted-spend analysis and
|
|
9490
9508
|
* negative-keyword lists. Reads Google's `search_term_view`, cached for
|
|
@@ -9502,7 +9520,10 @@ export const getAdsSearchTerms = <ThrowOnError extends boolean = false>(options:
|
|
|
9502
9520
|
|
|
9503
9521
|
/**
|
|
9504
9522
|
* List Google Ads recommendations
|
|
9523
|
+
* Lists Google's optimization suggestions for an ad account, with the estimated impact of each.
|
|
9524
|
+
*
|
|
9505
9525
|
* Google's optimization recommendations for one ad account: type, estimated impact (base vs potential metrics, cost in account currency units), the campaign, ad group or budget they target, and the type-specific payload Google returns (`details`, in Google's own shape with micros). Filter by campaignId and types. Cached for 10 minutes and cleared by apply or dismiss; served stale when Google quota is exhausted.
|
|
9526
|
+
*
|
|
9506
9527
|
*/
|
|
9507
9528
|
export const listGoogleRecommendations = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ListGoogleRecommendationsData, ThrowOnError>) => {
|
|
9508
9529
|
return (options?.client ?? client).get<ListGoogleRecommendationsResponse, ListGoogleRecommendationsError, ThrowOnError>({
|
|
@@ -9513,7 +9534,10 @@ export const listGoogleRecommendations = <ThrowOnError extends boolean = false>(
|
|
|
9513
9534
|
|
|
9514
9535
|
/**
|
|
9515
9536
|
* Apply Google Ads recommendations
|
|
9537
|
+
* Applies Google's optimization suggestions to an ad account, using Google's values or your own; the changes cannot be undone.
|
|
9538
|
+
*
|
|
9516
9539
|
* Apply up to 100 recommendations. This changes the account (budgets, bidding, keywords, assets) and is not reversible or idempotent; Google offers no validate-only mode for it. Items run in partial-failure mode, so one stale recommendation does not block the rest. `parameters` is optional and takes exactly one key named for the recommendation type, in Google's ApplyRecommendationOperation shape (for example `campaignBudget: { newBudgetAmountMicros }` or `keyword: { matchType, cpcBidMicros }`); omit it to apply Google's suggested values.
|
|
9540
|
+
*
|
|
9517
9541
|
*/
|
|
9518
9542
|
export const applyGoogleRecommendations = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ApplyGoogleRecommendationsData, ThrowOnError>) => {
|
|
9519
9543
|
return (options?.client ?? client).post<ApplyGoogleRecommendationsResponse, ApplyGoogleRecommendationsError, ThrowOnError>({
|
|
@@ -9524,7 +9548,10 @@ export const applyGoogleRecommendations = <ThrowOnError extends boolean = false>
|
|
|
9524
9548
|
|
|
9525
9549
|
/**
|
|
9526
9550
|
* Dismiss Google Ads recommendations
|
|
9551
|
+
* Dismisses Google optimization suggestions so Google stops showing them.
|
|
9552
|
+
*
|
|
9527
9553
|
* Dismiss up to 100 recommendations so Google stops suggesting them. Items run in partial-failure mode.
|
|
9554
|
+
*
|
|
9528
9555
|
*/
|
|
9529
9556
|
export const dismissGoogleRecommendations = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<DismissGoogleRecommendationsData, ThrowOnError>) => {
|
|
9530
9557
|
return (options?.client ?? client).post<DismissGoogleRecommendationsResponse, DismissGoogleRecommendationsError, ThrowOnError>({
|
|
@@ -9535,6 +9562,8 @@ export const dismissGoogleRecommendations = <ThrowOnError extends boolean = fals
|
|
|
9535
9562
|
|
|
9536
9563
|
/**
|
|
9537
9564
|
* List portfolio bid strategies
|
|
9565
|
+
* Lists a Google Ads account's shared bid strategies with how many campaigns use each and how they performed.
|
|
9566
|
+
*
|
|
9538
9567
|
* Bidding strategy report: type, status, campaign count, clicks, cost, cost per conversion, impressions, average CPC and conversions over the date range (default last 30 days). Reads Google's `bidding_strategy` resource, cached for the quota window. Draws on the shared Google Ads operations budget. The response carries `cachedAt` and `stale`, set when a quota-exhausted call falls back to the last-good copy instead of a live read.
|
|
9539
9568
|
*/
|
|
9540
9569
|
export const listBidStrategies = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ListBidStrategiesData, ThrowOnError>) => {
|
|
@@ -9546,7 +9575,10 @@ export const listBidStrategies = <ThrowOnError extends boolean = false>(options:
|
|
|
9546
9575
|
|
|
9547
9576
|
/**
|
|
9548
9577
|
* Create portfolio bid strategy
|
|
9549
|
-
* Creates a
|
|
9578
|
+
* Creates a Google Ads bid strategy that several campaigns can share, such as one target CPA or ROAS.
|
|
9579
|
+
*
|
|
9580
|
+
* Attach it to a campaign with `portfolioBidStrategyId` on POST /v1/ads/create, PUT /v1/ads/campaigns/{campaignId}, or PUT /v1/ads/ad-sets/{adSetId}. Attaching a strategy aligned to a shared budget fails there with a 400 (Google's `BIDDING_STRATEGY_AND_BUDGET_MUST_BE_ALIGNED`); this is not retryable.
|
|
9581
|
+
*
|
|
9550
9582
|
*/
|
|
9551
9583
|
export const createBidStrategy = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<CreateBidStrategyData, ThrowOnError>) => {
|
|
9552
9584
|
return (options?.client ?? client).post<CreateBidStrategyResponse, CreateBidStrategyError, ThrowOnError>({
|
|
@@ -9557,7 +9589,10 @@ export const createBidStrategy = <ThrowOnError extends boolean = false>(options:
|
|
|
9557
9589
|
|
|
9558
9590
|
/**
|
|
9559
9591
|
* Update portfolio bid strategy
|
|
9560
|
-
* Renames
|
|
9592
|
+
* Renames a shared Google Ads bid strategy or changes its target CPA or ROAS.
|
|
9593
|
+
*
|
|
9594
|
+
* The strategy's status is output only on Google's side, so it cannot be changed here; remove a strategy in Google Ads. `type` is only needed alongside `targetCpa`/`targetRoas` to disambiguate the field Google writes to (TARGET_CPA and MAXIMIZE_CONVERSIONS both take a target CPA; TARGET_ROAS and MAXIMIZE_CONVERSION_VALUE both take a target ROAS); the strategy's family is otherwise immutable once created.
|
|
9595
|
+
*
|
|
9561
9596
|
*/
|
|
9562
9597
|
export const updateBidStrategy = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<UpdateBidStrategyData, ThrowOnError>) => {
|
|
9563
9598
|
return (options?.client ?? client).patch<UpdateBidStrategyResponse, UpdateBidStrategyError, ThrowOnError>({
|
|
@@ -9568,6 +9603,8 @@ export const updateBidStrategy = <ThrowOnError extends boolean = false>(options:
|
|
|
9568
9603
|
|
|
9569
9604
|
/**
|
|
9570
9605
|
* List shared budgets
|
|
9606
|
+
* Lists a Google Ads account's shared budgets and how many campaigns draw from each.
|
|
9607
|
+
*
|
|
9571
9608
|
* Lists the Google Ads customer's shared campaign budgets (`campaign_budget.explicitly_shared`
|
|
9572
9609
|
* = true, not removed), with how many campaigns use each. Move a campaign onto one with
|
|
9573
9610
|
* `sharedBudgetId` on PUT /v1/ads/campaigns/{campaignId}. Google only; other platforms return 501.
|
|
@@ -9582,6 +9619,8 @@ export const listSharedBudgets = <ThrowOnError extends boolean = false>(options:
|
|
|
9582
9619
|
|
|
9583
9620
|
/**
|
|
9584
9621
|
* Create a shared budget
|
|
9622
|
+
* Creates a daily Google Ads budget that several campaigns can share.
|
|
9623
|
+
*
|
|
9585
9624
|
* Creates a daily shared campaign budget (`explicitly_shared: true`, standard delivery) that
|
|
9586
9625
|
* several campaigns can draw from. A lifetime budget returns 422, like every Google budget.
|
|
9587
9626
|
* Google refuses some bidding strategies on a shared budget; that error surfaces when a
|
|
@@ -9597,6 +9636,8 @@ export const createSharedBudget = <ThrowOnError extends boolean = false>(options
|
|
|
9597
9636
|
|
|
9598
9637
|
/**
|
|
9599
9638
|
* Google Local Services Ads leads
|
|
9639
|
+
* Lists the calls, messages and bookings your Google Local Services Ads generated, newest first.
|
|
9640
|
+
*
|
|
9600
9641
|
* Leads generated by Local Services Ads (phone calls, messages, bookings),
|
|
9601
9642
|
* read live from Google's `local_services_lead` resource, newest first.
|
|
9602
9643
|
* No persistence: Google is the source of truth and lead/credit statuses
|
|
@@ -9613,6 +9654,8 @@ export const listLocalServicesLeads = <ThrowOnError extends boolean = false>(opt
|
|
|
9613
9654
|
|
|
9614
9655
|
/**
|
|
9615
9656
|
* List lead conversations
|
|
9657
|
+
* Shows the calls (with recordings) and messages exchanged with one Google Local Services lead, oldest first.
|
|
9658
|
+
*
|
|
9616
9659
|
* Conversation entries of one Local Services lead: phone calls (duration,
|
|
9617
9660
|
* recording URL) and messages (text, attachment URLs), oldest first. Read
|
|
9618
9661
|
* live from `local_services_lead_conversation`, always scoped to a single
|
|
@@ -9628,6 +9671,8 @@ export const listLocalServicesLeadConversations = <ThrowOnError extends boolean
|
|
|
9628
9671
|
|
|
9629
9672
|
/**
|
|
9630
9673
|
* List Search keywords
|
|
9674
|
+
* Lists the keywords and negative keywords in your Google Search ad groups.
|
|
9675
|
+
*
|
|
9631
9676
|
* Returns the Google Search keyword criteria (positive and negative) synced from
|
|
9632
9677
|
* connected Google Ads accounts, one row per ad-group keyword. Refreshed about
|
|
9633
9678
|
* once a day per Google Ads customer (the keyword sweep rides the ads discovery
|
|
@@ -9648,6 +9693,8 @@ export const listAdKeywords = <ThrowOnError extends boolean = false>(options?: O
|
|
|
9648
9693
|
|
|
9649
9694
|
/**
|
|
9650
9695
|
* Add Search ad-group keywords
|
|
9696
|
+
* Adds keywords, or negative keywords, to a Google Search ad group without replacing the ones already there.
|
|
9697
|
+
*
|
|
9651
9698
|
* Adds one or more keyword criteria to an existing Google Search ad group,
|
|
9652
9699
|
* without touching the keywords already there (unlike the whole-set diff on
|
|
9653
9700
|
* `PUT /v1/ads/{adId}`, `keywords`/`negativeKeywords` in `platformSpecificData`,
|
|
@@ -9664,6 +9711,8 @@ export const addAdKeywords = <ThrowOnError extends boolean = false>(options: Opt
|
|
|
9664
9711
|
|
|
9665
9712
|
/**
|
|
9666
9713
|
* Pause or enable a Search keyword
|
|
9714
|
+
* Pauses or re-enables a single Google Search keyword.
|
|
9715
|
+
*
|
|
9667
9716
|
* Changes `ad_group_criterion.status` for one keyword criterion (M.140).
|
|
9668
9717
|
* Negative keywords have no status on Google and cannot be paused or enabled.
|
|
9669
9718
|
*
|
|
@@ -9677,7 +9726,10 @@ export const updateAdKeyword = <ThrowOnError extends boolean = false>(options: O
|
|
|
9677
9726
|
|
|
9678
9727
|
/**
|
|
9679
9728
|
* Remove a Search keyword
|
|
9729
|
+
* Removes a single keyword or negative keyword from a Google Search ad group.
|
|
9730
|
+
*
|
|
9680
9731
|
* Removes one keyword criterion (positive or negative) from its ad group (M.140).
|
|
9732
|
+
*
|
|
9681
9733
|
*/
|
|
9682
9734
|
export const removeAdKeyword = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<RemoveAdKeywordData, ThrowOnError>) => {
|
|
9683
9735
|
return (options?.client ?? client).delete<RemoveAdKeywordResponse, RemoveAdKeywordError, ThrowOnError>({
|
|
@@ -9688,6 +9740,8 @@ export const removeAdKeyword = <ThrowOnError extends boolean = false>(options: O
|
|
|
9688
9740
|
|
|
9689
9741
|
/**
|
|
9690
9742
|
* List campaigns
|
|
9743
|
+
* Lists your campaigns with spend, impressions and clicks summed across their ads, plus each campaign's status and budget.
|
|
9744
|
+
*
|
|
9691
9745
|
* Returns campaigns as virtual aggregations over ad documents grouped by platform campaign ID.
|
|
9692
9746
|
* Metrics (spend, impressions, clicks, etc.) are summed across all ads in each campaign.
|
|
9693
9747
|
* Campaign status is derived from child ad statuses (active > pending_review > paused > error > completed > cancelled > rejected).
|
|
@@ -9720,6 +9774,8 @@ export const listAdCampaigns = <ThrowOnError extends boolean = false>(options?:
|
|
|
9720
9774
|
|
|
9721
9775
|
/**
|
|
9722
9776
|
* Create a standalone campaign
|
|
9777
|
+
* Creates an empty campaign, paused, so you can add ad sets and ads to it afterwards.
|
|
9778
|
+
*
|
|
9723
9779
|
* Creates a campaign WITHOUT its first ad set / ad, on the platform of the given
|
|
9724
9780
|
* `accountId`. Ad sets join it later via `existingCampaignId` on the create endpoints.
|
|
9725
9781
|
* Platform notes: on Meta a budget here is campaign-level (CBO) by definition; omit it
|
|
@@ -9744,6 +9800,8 @@ export const createAdCampaign = <ThrowOnError extends boolean = false>(options:
|
|
|
9744
9800
|
|
|
9745
9801
|
/**
|
|
9746
9802
|
* Pause or resume a campaign
|
|
9803
|
+
* Pauses or resumes a campaign, leaving the on/off switches of its ad sets and ads as they are.
|
|
9804
|
+
*
|
|
9747
9805
|
* Writes the campaign's own on/off switch and nothing else, on every platform (Meta, TikTok,
|
|
9748
9806
|
* Google, LinkedIn campaign group, Pinterest, X, ChatGPT (OpenAI)). Its ad sets and ads keep
|
|
9749
9807
|
* their own switches: pausing stops their delivery through the campaign, and resuming lets
|
|
@@ -9770,6 +9828,8 @@ export const updateAdCampaignStatus = <ThrowOnError extends boolean = false>(opt
|
|
|
9770
9828
|
|
|
9771
9829
|
/**
|
|
9772
9830
|
* Read a campaign's ad schedule (dayparting)
|
|
9831
|
+
* Shows the days and hours a Google campaign runs and its bid adjustments, optionally with performance by day and hour.
|
|
9832
|
+
*
|
|
9773
9833
|
* The windows a Google campaign serves in, with the bid modifier on each, plus the
|
|
9774
9834
|
* criterion ids Google minted for them.
|
|
9775
9835
|
*
|
|
@@ -9794,7 +9854,9 @@ export const getCampaignAdSchedule = <ThrowOnError extends boolean = false>(opti
|
|
|
9794
9854
|
|
|
9795
9855
|
/**
|
|
9796
9856
|
* Replace a campaign's ad schedule (dayparting)
|
|
9797
|
-
* Replaces the campaign
|
|
9857
|
+
* Replaces the days and hours a Google campaign runs, or clears them so it serves around the clock.
|
|
9858
|
+
*
|
|
9859
|
+
* This is a
|
|
9798
9860
|
* REPLACE, not a merge: windows you leave out stop serving.
|
|
9799
9861
|
*
|
|
9800
9862
|
* Send `schedule: []` to clear dayparting, which returns the campaign to serving around
|
|
@@ -9823,6 +9885,8 @@ export const updateCampaignAdSchedule = <ThrowOnError extends boolean = false>(o
|
|
|
9823
9885
|
|
|
9824
9886
|
/**
|
|
9825
9887
|
* Read a campaign's current bidding
|
|
9888
|
+
* Shows a Google campaign's current bidding strategy and targets, ready to prefill an edit.
|
|
9889
|
+
*
|
|
9826
9890
|
* Read of the campaign's bidding strategy on Google, cached for the quota window, for
|
|
9827
9891
|
* pre-filling the bid strategy block before a PUT to /v1/ads/campaigns/{campaignId}.
|
|
9828
9892
|
* Google Ads only; `platform` is required and rejected when it is anything else, since
|
|
@@ -9847,6 +9911,8 @@ export const getCampaignBidding = <ThrowOnError extends boolean = false>(options
|
|
|
9847
9911
|
|
|
9848
9912
|
/**
|
|
9849
9913
|
* Get live campaign details
|
|
9914
|
+
* Shows a Meta campaign's current settings straight from Meta, such as its objective, budget, bid strategy, schedule and delivery issues.
|
|
9915
|
+
*
|
|
9850
9916
|
* Reads one campaign live from Meta, returned verbatim, so a caller that knows a
|
|
9851
9917
|
* campaign id no longer has to page `GET /v1/ads/campaigns` to find it. The default
|
|
9852
9918
|
* projection covers name, status, objective, buying type, bid strategy, budgets,
|
|
@@ -9863,7 +9929,9 @@ export const getAdCampaignDetails = <ThrowOnError extends boolean = false>(optio
|
|
|
9863
9929
|
|
|
9864
9930
|
/**
|
|
9865
9931
|
* Update a campaign
|
|
9866
|
-
*
|
|
9932
|
+
* Changes a campaign's settings, such as its name, budget, bidding or tracking URLs.
|
|
9933
|
+
*
|
|
9934
|
+
* Send at least one of `budget`, `bidStrategy`,
|
|
9867
9935
|
* `portfolioBidStrategyId`, `targetImpressionShare`, `manualCpc`, `networkSettings`,
|
|
9868
9936
|
* `trackingUrlTemplate`, `finalUrlSuffix`, `sharedBudgetId`, `name` or `platformSpecificData`. An unsupported
|
|
9869
9937
|
* field is always an error, never a silent drop.
|
|
@@ -9933,8 +10001,9 @@ export const updateAdCampaign = <ThrowOnError extends boolean = false>(options:
|
|
|
9933
10001
|
|
|
9934
10002
|
/**
|
|
9935
10003
|
* Delete a campaign
|
|
9936
|
-
* Deletes
|
|
9937
|
-
*
|
|
10004
|
+
* Deletes a campaign along with all of its ad sets and ads, including a campaign that never got any ads.
|
|
10005
|
+
*
|
|
10006
|
+
* Locally, all Ad documents for this campaign are marked
|
|
9938
10007
|
* `status: cancelled`.
|
|
9939
10008
|
*
|
|
9940
10009
|
* **Empty campaigns.** A campaign with zero ads has no local Ad documents
|
|
@@ -9955,6 +10024,8 @@ export const deleteAdCampaign = <ThrowOnError extends boolean = false>(options:
|
|
|
9955
10024
|
|
|
9956
10025
|
/**
|
|
9957
10026
|
* List campaign-level negative keywords
|
|
10027
|
+
* Lists the negative keywords set on a whole Google campaign, separate from ad group negatives.
|
|
10028
|
+
*
|
|
9958
10029
|
* Returns the campaign-level negative keywords (`campaign_criterion.negative`),
|
|
9959
10030
|
* distinct from the ad-group-level negatives under `GET /v1/ads/keywords`. Cached
|
|
9960
10031
|
* for the quota window (not synced to Postgres), and gated by the shared Google
|
|
@@ -9975,6 +10046,8 @@ export const listCampaignNegativeKeywords = <ThrowOnError extends boolean = fals
|
|
|
9975
10046
|
|
|
9976
10047
|
/**
|
|
9977
10048
|
* Replace campaign-level negative keywords
|
|
10049
|
+
* Replaces a Google campaign's full list of campaign-level negative keywords, or clears it.
|
|
10050
|
+
*
|
|
9978
10051
|
* Replaces the FULL set of campaign-level negative keywords (C.270): the desired
|
|
9979
10052
|
* list is diffed against what Google already has, and the difference is applied
|
|
9980
10053
|
* as one `create`/`remove` mutate. Send an empty array to clear every campaign
|
|
@@ -9993,7 +10066,9 @@ export const replaceCampaignNegativeKeywords = <ThrowOnError extends boolean = f
|
|
|
9993
10066
|
|
|
9994
10067
|
/**
|
|
9995
10068
|
* Pause or resume many campaigns
|
|
9996
|
-
*
|
|
10069
|
+
* Pauses or resumes up to 50 campaigns in one call, with a separate result per campaign so one failure does not block the rest.
|
|
10070
|
+
*
|
|
10071
|
+
* Each campaign is updated
|
|
9997
10072
|
* concurrently and the response contains a per-campaign result so a
|
|
9998
10073
|
* single bad row does not fail the whole batch. Each campaign is read,
|
|
9999
10074
|
* written and re-read exactly as PUT /v1/ads/campaigns/{campaignId}/status
|
|
@@ -10010,6 +10085,8 @@ export const bulkUpdateAdCampaignStatus = <ThrowOnError extends boolean = false>
|
|
|
10010
10085
|
|
|
10011
10086
|
/**
|
|
10012
10087
|
* Duplicate a campaign
|
|
10088
|
+
* Copies a campaign with its ad sets, ads, creatives and targeting, created paused so you can review it before launch.
|
|
10089
|
+
*
|
|
10013
10090
|
* Duplicates a campaign, including its ad sets, ads, creatives, and
|
|
10014
10091
|
* targeting by default (`deepCopy: true`). The copy is created paused
|
|
10015
10092
|
* so callers can review before launching.
|
|
@@ -10050,6 +10127,8 @@ export const duplicateAdCampaign = <ThrowOnError extends boolean = false>(option
|
|
|
10050
10127
|
|
|
10051
10128
|
/**
|
|
10052
10129
|
* Read a Google campaign's device, location, excluded location, and language targeting
|
|
10130
|
+
* Shows a Google campaign's device, location, excluded location and language targeting so you can build an editor for it.
|
|
10131
|
+
*
|
|
10053
10132
|
* Google Ads compliance requires geo, language, budget, and bidding targeting
|
|
10054
10133
|
* set at creation to stay editable afterwards; this reads the campaign state
|
|
10055
10134
|
* so an integrator can build an editor around it. Cached for the quota window
|
|
@@ -10077,6 +10156,8 @@ export const getCampaignTargeting = <ThrowOnError extends boolean = false>(optio
|
|
|
10077
10156
|
|
|
10078
10157
|
/**
|
|
10079
10158
|
* Edit a Google campaign's device, location, excluded location, or language targeting
|
|
10159
|
+
* Changes a Google campaign's device, location, excluded location or language targeting after it was created.
|
|
10160
|
+
*
|
|
10080
10161
|
* Google Ads compliance row M.10: geo and language targeting set at
|
|
10081
10162
|
* creation must stay editable afterwards. Send at least one of `devices`,
|
|
10082
10163
|
* `locations`, `excludedLocations`, `languages`, `locationTargetingType`; each provided field REPLACES that field's
|
|
@@ -10138,6 +10219,8 @@ export const updateCampaignTargeting = <ThrowOnError extends boolean = false>(op
|
|
|
10138
10219
|
|
|
10139
10220
|
/**
|
|
10140
10221
|
* List ad sets
|
|
10222
|
+
* Lists ad sets (ad groups on Google) with their targeting, bidding and optimization settings, optionally for one campaign.
|
|
10223
|
+
*
|
|
10141
10224
|
* Ad sets (Google ad groups) synced for the connection, optionally
|
|
10142
10225
|
* filtered by platform and campaignId. Reads the `ad_sets` table
|
|
10143
10226
|
* directly, independent of the `ads` rollup GET /v1/ads/tree uses, so a
|
|
@@ -10185,6 +10268,8 @@ export const listAdSets = <ThrowOnError extends boolean = false>(options?: Optio
|
|
|
10185
10268
|
|
|
10186
10269
|
/**
|
|
10187
10270
|
* Create a standalone ad group
|
|
10271
|
+
* Creates an empty Google ad group under an existing campaign, ready for ads to be added later.
|
|
10272
|
+
*
|
|
10188
10273
|
* Google Ads compliance row C.190: creates an ad group WITHOUT an ad,
|
|
10189
10274
|
* under an existing campaign. Ads join it later via `adSetId`
|
|
10190
10275
|
* on POST /v1/ads/create. Google only; every other platform returns 501.
|
|
@@ -10205,7 +10290,9 @@ export const createAdSet = <ThrowOnError extends boolean = false>(options: Optio
|
|
|
10205
10290
|
|
|
10206
10291
|
/**
|
|
10207
10292
|
* Duplicate an ad set
|
|
10208
|
-
*
|
|
10293
|
+
* Copies an ad set, optionally with its ads and into another campaign, created paused so you can review it before launch.
|
|
10294
|
+
*
|
|
10295
|
+
* The copy is created paused so callers can review before launching.
|
|
10209
10296
|
* `campaignId` retargets the copy into another campaign; omitted = the source's own campaign.
|
|
10210
10297
|
*
|
|
10211
10298
|
* Meta: ads and creatives are included by default (`deepCopy: true`) via Meta's native
|
|
@@ -10216,6 +10303,7 @@ export const createAdSet = <ThrowOnError extends boolean = false>(options: Optio
|
|
|
10216
10303
|
* budget and schedule (start reset to now); `deepCopy: true` recreates its ads too (default
|
|
10217
10304
|
* false). `startTime`, `endTime` and `renameStrategy` are ignored and `statusOption` must be
|
|
10218
10305
|
* PAUSED or absent. The copy appears on the next discovery sync.
|
|
10306
|
+
*
|
|
10219
10307
|
*/
|
|
10220
10308
|
export const duplicateAdSet = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<DuplicateAdSetData, ThrowOnError>) => {
|
|
10221
10309
|
return (options?.client ?? client).post<DuplicateAdSetResponse, DuplicateAdSetError, ThrowOnError>({
|
|
@@ -10226,6 +10314,8 @@ export const duplicateAdSet = <ThrowOnError extends boolean = false>(options: Op
|
|
|
10226
10314
|
|
|
10227
10315
|
/**
|
|
10228
10316
|
* Duplicate an ad
|
|
10317
|
+
* Copies a single Meta ad, optionally into another ad set, created paused so you can review it before launch.
|
|
10318
|
+
*
|
|
10229
10319
|
* Duplicates a single ad via Meta's native `POST /{ad-id}/copies`. The copy is created
|
|
10230
10320
|
* paused. `adSetId` retargets the copy into another ad set; omitted = the source's own ad
|
|
10231
10321
|
* set. Accepts the Zernio ad id or the platform ad id. Sync discovery is triggered
|
|
@@ -10246,6 +10336,8 @@ export const duplicateAd = <ThrowOnError extends boolean = false>(options: Optio
|
|
|
10246
10336
|
|
|
10247
10337
|
/**
|
|
10248
10338
|
* Get live ad-set details
|
|
10339
|
+
* Shows a Meta ad set's current settings straight from Meta, including its learning phase, budget, schedule and targeting.
|
|
10340
|
+
*
|
|
10249
10341
|
* Reads the ad set live from Meta, returned verbatim. The default projection includes
|
|
10250
10342
|
* `learning_stage_info` (learning-phase status: LEARNING / SUCCESS / FAIL / WAIVING; Meta
|
|
10251
10343
|
* omits its `status` key on paused ad sets), delivery settings, budgets, schedule and
|
|
@@ -10261,7 +10353,9 @@ export const getAdSetDetails = <ThrowOnError extends boolean = false>(options: O
|
|
|
10261
10353
|
|
|
10262
10354
|
/**
|
|
10263
10355
|
* Update an ad set
|
|
10264
|
-
*
|
|
10356
|
+
* Changes an ad set's settings, such as its budget, bid strategy, status or delivery options.
|
|
10357
|
+
*
|
|
10358
|
+
* Use this for ABO budget updates, ad-set-scoped
|
|
10265
10359
|
* pause/resume, bid-strategy edits, Meta value-rule-set attach/detach, and
|
|
10266
10360
|
* Meta-only post-launch delivery settings via `platformSpecificData`. At
|
|
10267
10361
|
* least one updatable field is required.
|
|
@@ -10314,8 +10408,9 @@ export const updateAdSet = <ThrowOnError extends boolean = false>(options: Optio
|
|
|
10314
10408
|
|
|
10315
10409
|
/**
|
|
10316
10410
|
* Delete an ad set
|
|
10317
|
-
* Deletes
|
|
10318
|
-
*
|
|
10411
|
+
* Deletes an ad set and its ads while keeping the campaign, archiving it instead on platforms without a hard delete.
|
|
10412
|
+
*
|
|
10413
|
+
* Locally, every Ad document under the ad set is marked
|
|
10319
10414
|
* `status: cancelled`.
|
|
10320
10415
|
*
|
|
10321
10416
|
* Delete is soft on platforms that have no hard delete: LinkedIn moves the
|
|
@@ -10333,7 +10428,9 @@ export const deleteAdSet = <ThrowOnError extends boolean = false>(options: Optio
|
|
|
10333
10428
|
|
|
10334
10429
|
/**
|
|
10335
10430
|
* Pause or resume a single ad set
|
|
10336
|
-
*
|
|
10431
|
+
* Pauses or resumes one ad set without touching its campaign, its sibling ad sets or the switches of its ads.
|
|
10432
|
+
*
|
|
10433
|
+
* Thin wrapper
|
|
10337
10434
|
* over PUT /v1/ads/ad-sets/{adSetId} for callers that only want the
|
|
10338
10435
|
* status toggle and prefer a symmetric URL to
|
|
10339
10436
|
* /v1/ads/campaigns/{campaignId}/status.
|
|
@@ -10368,7 +10465,8 @@ export const updateAdSetStatus = <ThrowOnError extends boolean = false>(options:
|
|
|
10368
10465
|
|
|
10369
10466
|
/**
|
|
10370
10467
|
* Get campaign tree
|
|
10371
|
-
*
|
|
10468
|
+
* Shows your campaigns with their ad sets and ads nested inside, with spend and results rolled up at every level.
|
|
10469
|
+
*
|
|
10372
10470
|
* Uses a two-stage aggregation: ads are grouped into ad sets, then ad sets into campaigns.
|
|
10373
10471
|
* Metrics are computed over an optional date range, then rolled up from ad level to ad set
|
|
10374
10472
|
* and campaign levels. Pagination is at the campaign level. Ads without a campaign or ad set
|
|
@@ -10396,6 +10494,8 @@ export const getAdTree = <ThrowOnError extends boolean = false>(options?: Option
|
|
|
10396
10494
|
|
|
10397
10495
|
/**
|
|
10398
10496
|
* Get daily account metrics
|
|
10497
|
+
* Returns an ads account's spend, results and other metrics day by day, ready for a daily performance chart.
|
|
10498
|
+
*
|
|
10399
10499
|
* Returns daily aggregate metrics across all ads in a SocialAccount as a single
|
|
10400
10500
|
* time series, one row per calendar day in the requested range. Use this for
|
|
10401
10501
|
* dashboards that draw a daily-spend or daily-conversions chart, instead of
|
|
@@ -10422,7 +10522,8 @@ export const getAdsTimeline = <ThrowOnError extends boolean = false>(options: Op
|
|
|
10422
10522
|
|
|
10423
10523
|
/**
|
|
10424
10524
|
* Get ad details
|
|
10425
|
-
*
|
|
10525
|
+
* Shows one ad with its creative, targeting, status and performance metrics.
|
|
10526
|
+
*
|
|
10426
10527
|
* Google Search ads include current creative.headlines, creative.descriptions and creative.finalUrls,
|
|
10427
10528
|
* preserving pinnedField. Top-level cachedAt and stale report cache freshness. Google mutations invalidate this read.
|
|
10428
10529
|
* RSA enrichment requires a stored advertisingChannelType of SEARCH. Ads with an unknown or other channel
|
|
@@ -10461,6 +10562,8 @@ export const getAd = <ThrowOnError extends boolean = false>(options: OptionsLega
|
|
|
10461
10562
|
|
|
10462
10563
|
/**
|
|
10463
10564
|
* Update ad
|
|
10565
|
+
* Changes an ad's status, budget, targeting or creative and applies the change on the platform.
|
|
10566
|
+
*
|
|
10464
10567
|
* Patch one or more fields on an ad. Status, budget, targeting, and creative changes
|
|
10465
10568
|
* are propagated to the platform.
|
|
10466
10569
|
*
|
|
@@ -10563,6 +10666,8 @@ export const updateAd = <ThrowOnError extends boolean = false>(options: OptionsL
|
|
|
10563
10666
|
|
|
10564
10667
|
/**
|
|
10565
10668
|
* Cancel an ad
|
|
10669
|
+
* Deletes an ad on the platform while keeping its history, and removes empty parents only when they were created through this API.
|
|
10670
|
+
*
|
|
10566
10671
|
* 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).
|
|
10567
10672
|
*
|
|
10568
10673
|
* 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}`.
|
|
@@ -10577,6 +10682,8 @@ export const deleteAd = <ThrowOnError extends boolean = false>(options: OptionsL
|
|
|
10577
10682
|
|
|
10578
10683
|
/**
|
|
10579
10684
|
* Pause or resume a single ad
|
|
10685
|
+
* Pauses or resumes a single ad without touching its ad set, campaign or sibling ads.
|
|
10686
|
+
*
|
|
10580
10687
|
* Ad-scoped pause/resume: flips ONLY this ad's own switch (Meta
|
|
10581
10688
|
* `configured_status`, TikTok `operation_status`, Google ad group ad
|
|
10582
10689
|
* status, LinkedIn creative, Pinterest ad), never its parent ad set or
|
|
@@ -10613,7 +10720,10 @@ export const updateAdStatus = <ThrowOnError extends boolean = false>(options: Op
|
|
|
10613
10720
|
|
|
10614
10721
|
/**
|
|
10615
10722
|
* List campaign assets
|
|
10616
|
-
* Lists
|
|
10723
|
+
* Lists the sitelinks, callouts and other assets attached directly to a Google campaign.
|
|
10724
|
+
*
|
|
10725
|
+
* Fresh reads are cached for 10 minutes; exhausted quota may return the last successful read with stale=true. Inherited assets are not included.
|
|
10726
|
+
*
|
|
10617
10727
|
*/
|
|
10618
10728
|
export const listCampaignAssets = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ListCampaignAssetsData, ThrowOnError>) => {
|
|
10619
10729
|
return (options?.client ?? client).get<ListCampaignAssetsResponse, ListCampaignAssetsError, ThrowOnError>({
|
|
@@ -10624,7 +10734,10 @@ export const listCampaignAssets = <ThrowOnError extends boolean = false>(options
|
|
|
10624
10734
|
|
|
10625
10735
|
/**
|
|
10626
10736
|
* Attach campaign assets
|
|
10737
|
+
* Adds sitelinks, callouts, structured snippets and images to a Google campaign in one step.
|
|
10738
|
+
*
|
|
10627
10739
|
* Creates and attaches sitelinks, callouts, structured snippets and image assets in one Google mutation. Google shows images only on accounts it deems eligible (account age, policy history, vertical).
|
|
10740
|
+
*
|
|
10628
10741
|
*/
|
|
10629
10742
|
export const attachCampaignAssets = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<AttachCampaignAssetsData, ThrowOnError>) => {
|
|
10630
10743
|
return (options?.client ?? client).post<AttachCampaignAssetsResponse, AttachCampaignAssetsError, ThrowOnError>({
|
|
@@ -10635,7 +10748,10 @@ export const attachCampaignAssets = <ThrowOnError extends boolean = false>(optio
|
|
|
10635
10748
|
|
|
10636
10749
|
/**
|
|
10637
10750
|
* Update campaign assets
|
|
10638
|
-
* Edits
|
|
10751
|
+
* Edits a Google campaign's existing assets, such as sitelinks or callouts, in place; the change applies everywhere that asset is used.
|
|
10752
|
+
*
|
|
10753
|
+
* Send updates with assetResourceName and the fields to change. An asset is shared: changes affect every attachment using it. Omitted fields stay unchanged. The operation consumes the Google operations budget and invalidates affected cached lists.
|
|
10754
|
+
*
|
|
10639
10755
|
*/
|
|
10640
10756
|
export const updateCampaignAssets = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<UpdateCampaignAssetsData, ThrowOnError>) => {
|
|
10641
10757
|
return (options?.client ?? client).put<UpdateCampaignAssetsResponse, UpdateCampaignAssetsError, ThrowOnError>({
|
|
@@ -10646,7 +10762,10 @@ export const updateCampaignAssets = <ThrowOnError extends boolean = false>(optio
|
|
|
10646
10762
|
|
|
10647
10763
|
/**
|
|
10648
10764
|
* Remove campaign assets
|
|
10649
|
-
*
|
|
10765
|
+
* Detaches assets from a Google campaign without deleting them, so they stay in the account and on anything else they are attached to.
|
|
10766
|
+
*
|
|
10767
|
+
* Google assets cannot be deleted. Other attachments remain. assetResourceNames is retained for compatibility. Fields go in the query string. A JSON body with the same fields is also accepted and, when sent, the query string is ignored.
|
|
10768
|
+
*
|
|
10650
10769
|
*/
|
|
10651
10770
|
export const removeCampaignAssets = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<RemoveCampaignAssetsData, ThrowOnError>) => {
|
|
10652
10771
|
return (options?.client ?? client).delete<RemoveCampaignAssetsResponse, RemoveCampaignAssetsError, ThrowOnError>({
|
|
@@ -10657,7 +10776,10 @@ export const removeCampaignAssets = <ThrowOnError extends boolean = false>(optio
|
|
|
10657
10776
|
|
|
10658
10777
|
/**
|
|
10659
10778
|
* List ad-group assets
|
|
10660
|
-
* Lists
|
|
10779
|
+
* Lists the sitelinks, callouts, snippets and images attached directly to a Google ad group, not those inherited from the campaign or account.
|
|
10780
|
+
*
|
|
10781
|
+
* Fresh reads are cached for 10 minutes; exhausted quota may return the last successful read with stale=true. Inherited assets are not included.
|
|
10782
|
+
*
|
|
10661
10783
|
*/
|
|
10662
10784
|
export const listAdGroupAssets = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ListAdGroupAssetsData, ThrowOnError>) => {
|
|
10663
10785
|
return (options?.client ?? client).get<ListAdGroupAssetsResponse, ListAdGroupAssetsError, ThrowOnError>({
|
|
@@ -10668,7 +10790,10 @@ export const listAdGroupAssets = <ThrowOnError extends boolean = false>(options:
|
|
|
10668
10790
|
|
|
10669
10791
|
/**
|
|
10670
10792
|
* Attach ad-group assets
|
|
10793
|
+
* Creates sitelinks, callouts, structured snippets or image assets and attaches them to a Google ad group in one step.
|
|
10794
|
+
*
|
|
10671
10795
|
* Creates and attaches sitelinks, callouts, structured snippets and image assets in one Google mutation. Google shows images only on accounts it deems eligible (account age, policy history, vertical).
|
|
10796
|
+
*
|
|
10672
10797
|
*/
|
|
10673
10798
|
export const attachAdGroupAssets = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<AttachAdGroupAssetsData, ThrowOnError>) => {
|
|
10674
10799
|
return (options?.client ?? client).post<AttachAdGroupAssetsResponse, AttachAdGroupAssetsError, ThrowOnError>({
|
|
@@ -10679,7 +10804,10 @@ export const attachAdGroupAssets = <ThrowOnError extends boolean = false>(option
|
|
|
10679
10804
|
|
|
10680
10805
|
/**
|
|
10681
10806
|
* Update ad-group assets
|
|
10682
|
-
* Edits
|
|
10807
|
+
* Edits a Google ad group's existing assets in place; the change applies everywhere that asset is used.
|
|
10808
|
+
*
|
|
10809
|
+
* Send updates with assetResourceName and the fields to change. An asset is shared: changes affect every attachment using it. Omitted fields stay unchanged. The operation consumes the Google operations budget and invalidates affected cached lists.
|
|
10810
|
+
*
|
|
10683
10811
|
*/
|
|
10684
10812
|
export const updateAdGroupAssets = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<UpdateAdGroupAssetsData, ThrowOnError>) => {
|
|
10685
10813
|
return (options?.client ?? client).put<UpdateAdGroupAssetsResponse, UpdateAdGroupAssetsError, ThrowOnError>({
|
|
@@ -10690,7 +10818,10 @@ export const updateAdGroupAssets = <ThrowOnError extends boolean = false>(option
|
|
|
10690
10818
|
|
|
10691
10819
|
/**
|
|
10692
10820
|
* Remove ad-group assets
|
|
10693
|
-
*
|
|
10821
|
+
* Detaches assets from a Google ad group without deleting them, so they stay in the account and on anything else they are attached to.
|
|
10822
|
+
*
|
|
10823
|
+
* Google assets cannot be deleted. Other attachments remain. assetResourceNames is retained for compatibility. Fields go in the query string. A JSON body with the same fields is also accepted and, when sent, the query string is ignored.
|
|
10824
|
+
*
|
|
10694
10825
|
*/
|
|
10695
10826
|
export const removeAdGroupAssets = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<RemoveAdGroupAssetsData, ThrowOnError>) => {
|
|
10696
10827
|
return (options?.client ?? client).delete<RemoveAdGroupAssetsResponse, RemoveAdGroupAssetsError, ThrowOnError>({
|
|
@@ -10701,6 +10832,8 @@ export const removeAdGroupAssets = <ThrowOnError extends boolean = false>(option
|
|
|
10701
10832
|
|
|
10702
10833
|
/**
|
|
10703
10834
|
* Get campaign analytics
|
|
10835
|
+
* Returns a campaign's performance summary and daily timeline, with optional breakdowns by age, gender and other audience dimensions.
|
|
10836
|
+
*
|
|
10704
10837
|
* Returns performance analytics for a whole campaign in one call: summary metrics, a daily
|
|
10705
10838
|
* timeline over the requested date range (summed across the campaign's ads), and optional
|
|
10706
10839
|
* demographic breakdowns. Breakdowns are fetched live from Meta at the campaign level (one call
|
|
@@ -10724,6 +10857,8 @@ export const getCampaignAnalytics = <ThrowOnError extends boolean = false>(optio
|
|
|
10724
10857
|
|
|
10725
10858
|
/**
|
|
10726
10859
|
* Render pre-create ad previews
|
|
10860
|
+
* Shows how a Meta creative will look in each placement before you create the ad, as embeddable previews.
|
|
10861
|
+
*
|
|
10727
10862
|
* Renders how a creative would look per placement BEFORE any ad exists, via Meta's
|
|
10728
10863
|
* `/generatepreviews`. Provide exactly one creative source: `existingCreativeId` or `creativeSpec`.
|
|
10729
10864
|
* Each preview is an HTML `<iframe>` snippet embeddable directly. Unknown `formats` values
|
|
@@ -10739,6 +10874,8 @@ export const generateAdPreviews = <ThrowOnError extends boolean = false>(options
|
|
|
10739
10874
|
|
|
10740
10875
|
/**
|
|
10741
10876
|
* Render previews of an existing ad
|
|
10877
|
+
* Shows how an existing Meta ad looks in each placement, as embeddable previews.
|
|
10878
|
+
*
|
|
10742
10879
|
* Renders an EXISTING ad per placement via Meta's `/{ad_id}/previews`. Each preview is an HTML
|
|
10743
10880
|
* `<iframe>` snippet embeddable directly. Unknown `formats` values return Meta's 400 verbatim.
|
|
10744
10881
|
*
|
|
@@ -10752,6 +10889,8 @@ export const getAdPreviews = <ThrowOnError extends boolean = false>(options: Opt
|
|
|
10752
10889
|
|
|
10753
10890
|
/**
|
|
10754
10891
|
* Read the platform's review verdict for an ad
|
|
10892
|
+
* Shows whether the platform approved an ad, where it may not deliver, and every rejection reason, without re-enabling a paused ad.
|
|
10893
|
+
*
|
|
10755
10894
|
* Reads the ad's review verdict from the platform now: whether it was approved, where it may
|
|
10756
10895
|
* not deliver, and every rejection reason with TikTok's suggestion and the piece of content it
|
|
10757
10896
|
* refers to. Read-only, so it works on a paused ad without re-enabling it.
|
|
@@ -10779,6 +10918,8 @@ export const getAdReview = <ThrowOnError extends boolean = false>(options: Optio
|
|
|
10779
10918
|
|
|
10780
10919
|
/**
|
|
10781
10920
|
* Direct video and image URLs for an ad
|
|
10921
|
+
* Returns fresh, short-lived download links for every image and video a Meta ad uses, including the original media of a boosted Instagram post.
|
|
10922
|
+
*
|
|
10782
10923
|
* Returns the direct signed URLs for every video and image asset used by an ad's live
|
|
10783
10924
|
* creative, normalised across shapes: single image/video, carousel,
|
|
10784
10925
|
* Reels/Story (`object_story_spec.video_data`) and dynamic
|
|
@@ -10804,6 +10945,8 @@ export const getAdMedia = <ThrowOnError extends boolean = false>(options: Option
|
|
|
10804
10945
|
|
|
10805
10946
|
/**
|
|
10806
10947
|
* Generate keyword ideas
|
|
10948
|
+
* Suggests new keywords from seed keywords or a website using Google Keyword Planner, with search volume, competition and bid estimates.
|
|
10949
|
+
*
|
|
10807
10950
|
* Google Ads only. Runs Keyword Planner's generateKeywordIdeas from seed keywords, a seed URL,
|
|
10808
10951
|
* or both, returning idea rows verbatim (avgMonthlySearches, competition, competitionIndex,
|
|
10809
10952
|
* top-of-page bid micros, monthlySearchVolumes). Counters are int64s encoded as strings; bid
|
|
@@ -10819,6 +10962,8 @@ export const generateKeywordIdeas = <ThrowOnError extends boolean = false>(optio
|
|
|
10819
10962
|
|
|
10820
10963
|
/**
|
|
10821
10964
|
* Get historical keyword metrics
|
|
10965
|
+
* Gets historical search volume, competition and bid ranges for up to 1,000 keywords from Google Keyword Planner.
|
|
10966
|
+
*
|
|
10822
10967
|
* Google Ads only. Runs Keyword Planner's generateKeywordHistoricalMetrics for up to 1,000
|
|
10823
10968
|
* exact keywords: historical search volume, competition and top-of-page bid ranges, plus
|
|
10824
10969
|
* averageCpcMicros when includeAverageCpc is set. Rows come back verbatim; counters are int64s
|
|
@@ -10834,7 +10979,9 @@ export const generateKeywordHistoricalMetrics = <ThrowOnError extends boolean =
|
|
|
10834
10979
|
|
|
10835
10980
|
/**
|
|
10836
10981
|
* Flexible live insights query
|
|
10837
|
-
*
|
|
10982
|
+
* Runs a custom performance query against Meta, Google Ads or TikTok and returns the platform's rows as is, for reports the fixed endpoints don't cover.
|
|
10983
|
+
*
|
|
10984
|
+
* The account's platform picks the contract:
|
|
10838
10985
|
*
|
|
10839
10986
|
* **Meta (facebook/instagram)**: forwards caller-chosen `fields`, `breakdowns` and `filtering`
|
|
10840
10987
|
* to any Meta insights node and returns Meta's rows verbatim. `objectId` (required) selects the
|
|
@@ -10885,7 +11032,9 @@ export const queryAdInsights = <ThrowOnError extends boolean = false>(options: O
|
|
|
10885
11032
|
|
|
10886
11033
|
/**
|
|
10887
11034
|
* Submit async insights report
|
|
10888
|
-
*
|
|
11035
|
+
* Starts a background Meta insights report for long date ranges or large accounts where a live query would be too slow.
|
|
11036
|
+
*
|
|
11037
|
+
* Same query surface as GET /v1/ads/insights, but
|
|
10889
11038
|
* in the JSON body; Meta processes the report server-side, which is the right choice for long
|
|
10890
11039
|
* ranges or large accounts where the sync query is slow or rate-limited. Returns a `reportRunId`
|
|
10891
11040
|
* to poll via GET /v1/ads/insights/reports/{reportRunId}.
|
|
@@ -10900,6 +11049,8 @@ export const createAdInsightsReport = <ThrowOnError extends boolean = false>(opt
|
|
|
10900
11049
|
|
|
10901
11050
|
/**
|
|
10902
11051
|
* Poll an async insights report run
|
|
11052
|
+
* Checks progress of a background Meta insights report and returns its results once it has finished.
|
|
11053
|
+
*
|
|
10903
11054
|
* Status and results for a report run created via POST /v1/ads/insights/reports. While the job
|
|
10904
11055
|
* runs, returns `status` and `percentCompletion`. Once `status` is "Job Completed" the response
|
|
10905
11056
|
* also carries a `data` page, cursor-paginated via `limit` / `after`.
|
|
@@ -10914,7 +11065,9 @@ export const getAdInsightsReport = <ThrowOnError extends boolean = false>(option
|
|
|
10914
11065
|
|
|
10915
11066
|
/**
|
|
10916
11067
|
* Get ad analytics
|
|
10917
|
-
* Returns
|
|
11068
|
+
* Returns one ad's performance summary and daily timeline, with optional audience breakdowns on Meta and TikTok.
|
|
11069
|
+
*
|
|
11070
|
+
* Includes summary metrics, a daily timeline
|
|
10918
11071
|
* over the requested date range, and optional demographic breakdowns (Meta and TikTok only).
|
|
10919
11072
|
* If no date range is provided, defaults to the last 90 days. Date range is capped at 730 days max.
|
|
10920
11073
|
*
|
|
@@ -10928,6 +11081,8 @@ export const getAdAnalytics = <ThrowOnError extends boolean = false>(options: Op
|
|
|
10928
11081
|
|
|
10929
11082
|
/**
|
|
10930
11083
|
* Get ad tracking tags
|
|
11084
|
+
* Shows the tracking parameters added to an ad's click URLs, such as UTM tags (not pixels).
|
|
11085
|
+
*
|
|
10931
11086
|
* Unified read of the platform's native click-URL tracking params.
|
|
10932
11087
|
* - Meta (facebook/instagram): the creative's `url_tags` (and template_url_spec).
|
|
10933
11088
|
* - Google (googleads): the campaign's `trackingUrlTemplate` + `finalUrlSuffix`.
|
|
@@ -10949,7 +11104,9 @@ export const getAdTrackingTags = <ThrowOnError extends boolean = false>(options:
|
|
|
10949
11104
|
|
|
10950
11105
|
/**
|
|
10951
11106
|
* Set ad tracking tags
|
|
10952
|
-
*
|
|
11107
|
+
* Sets the tracking parameters added to an ad's click URLs, such as UTM tags, without rebuilding the rest of the ad.
|
|
11108
|
+
*
|
|
11109
|
+
* Send only the fields for the ad's platform:
|
|
10953
11110
|
* - Meta: `urlTags` (array of {key,value}). Meta creatives are immutable, so this rebuilds the
|
|
10954
11111
|
* creative and repoints the ad. By DEFAULT we PRESERVE the existing creative verbatim
|
|
10955
11112
|
* (re-post its object_story_spec + the new url_tags, reusing the image), so you send `urlTags`
|
|
@@ -10972,7 +11129,9 @@ export const updateAdTrackingTags = <ThrowOnError extends boolean = false>(optio
|
|
|
10972
11129
|
|
|
10973
11130
|
/**
|
|
10974
11131
|
* List comments on an ad
|
|
10975
|
-
*
|
|
11132
|
+
* Lists the comments on an ad's post, including dark posts that never ran organically, so you can moderate ad engagement.
|
|
11133
|
+
*
|
|
11134
|
+
* Useful for moderating or analyzing
|
|
10976
11135
|
* engagement on dark posts (ad creatives that never went live organically), which the
|
|
10977
11136
|
* regular GET /v1/inbox/comments/{postId} endpoint cannot serve because dark posts are
|
|
10978
11137
|
* not in Zernio's post database.
|
|
@@ -11123,6 +11282,8 @@ export const listAdsBusinessCenters = <ThrowOnError extends boolean = false>(opt
|
|
|
11123
11282
|
|
|
11124
11283
|
/**
|
|
11125
11284
|
* Ad account change / audit log
|
|
11285
|
+
* Shows who changed what in an ad account and when, as an audit log of edits to campaigns, ad sets and ads.
|
|
11286
|
+
*
|
|
11126
11287
|
* **Google**: reads the customer's `change_event` history, newest first. Google keeps 30 days
|
|
11127
11288
|
* of it, so `since` defaults to 29 days ago and an older `since` returns 400; `until`
|
|
11128
11289
|
* defaults to today. Each change is mapped onto the Meta row shape: `event_type` =
|
|
@@ -11151,7 +11312,9 @@ export const getAdsActivityLog = <ThrowOnError extends boolean = false>(options:
|
|
|
11151
11312
|
|
|
11152
11313
|
/**
|
|
11153
11314
|
* Create reach-frequency prediction
|
|
11154
|
-
*
|
|
11315
|
+
* Quotes the reach or budget for a Meta reach and frequency campaign over a date range, without buying anything.
|
|
11316
|
+
*
|
|
11317
|
+
* This is a QUOTE, nothing is bought and no ad entities are created.
|
|
11155
11318
|
* Provide a date range plus exactly one of `budgetAmount` (Meta predicts reach) or `reach`
|
|
11156
11319
|
* (Meta predicts the budget). The response carries the estimate and its allowed bounds
|
|
11157
11320
|
* (min/max budget and reach). Predictions expire on their own; to buy, reserve one via
|
|
@@ -11162,6 +11325,7 @@ export const getAdsActivityLog = <ThrowOnError extends boolean = false>(options:
|
|
|
11162
11325
|
* omitted, `targeting.placements` is used; when neither is set, placements default to
|
|
11163
11326
|
* Facebook feed (+ Instagram stream when a linked IG professional account resolves).
|
|
11164
11327
|
* Instagram placements require that IG account.
|
|
11328
|
+
*
|
|
11165
11329
|
*/
|
|
11166
11330
|
export const createRfPrediction = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<CreateRfPredictionData, ThrowOnError>) => {
|
|
11167
11331
|
return (options?.client ?? client).post<CreateRfPredictionResponse, CreateRfPredictionError, ThrowOnError>({
|
|
@@ -11172,6 +11336,8 @@ export const createRfPrediction = <ThrowOnError extends boolean = false>(options
|
|
|
11172
11336
|
|
|
11173
11337
|
/**
|
|
11174
11338
|
* Get reach-frequency prediction
|
|
11339
|
+
* Shows a Meta reach and frequency prediction, with its estimate and status.
|
|
11340
|
+
*
|
|
11175
11341
|
*/
|
|
11176
11342
|
export const getRfPrediction = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<GetRfPredictionData, ThrowOnError>) => {
|
|
11177
11343
|
return (options?.client ?? client).get<GetRfPredictionResponse, GetRfPredictionError, ThrowOnError>({
|
|
@@ -11182,7 +11348,10 @@ export const getRfPrediction = <ThrowOnError extends boolean = false>(options: O
|
|
|
11182
11348
|
|
|
11183
11349
|
/**
|
|
11184
11350
|
* Cancel reach-frequency booking
|
|
11185
|
-
*
|
|
11351
|
+
* Cancels a Meta reach and frequency reservation, releasing its locked price and inventory.
|
|
11352
|
+
*
|
|
11353
|
+
* Unreserved predictions expire on their own.
|
|
11354
|
+
*
|
|
11186
11355
|
*/
|
|
11187
11356
|
export const cancelRfReservation = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<CancelRfReservationData, ThrowOnError>) => {
|
|
11188
11357
|
return (options?.client ?? client).delete<CancelRfReservationResponse, CancelRfReservationError, ThrowOnError>({
|
|
@@ -11193,6 +11362,8 @@ export const cancelRfReservation = <ThrowOnError extends boolean = false>(option
|
|
|
11193
11362
|
|
|
11194
11363
|
/**
|
|
11195
11364
|
* Reserve reach-frequency inventory
|
|
11365
|
+
* Locks the quoted price and inventory of a Meta reach and frequency prediction so you can launch a campaign on it.
|
|
11366
|
+
*
|
|
11196
11367
|
* Locks the quoted price + inventory until the returned `expiresAt` and mints a NEW
|
|
11197
11368
|
* prediction id. Pass that RESERVED id (not the original) as `rfPredictionId` on
|
|
11198
11369
|
* POST /v1/ads/create. Release an unused reservation via DELETE.
|
|
@@ -11206,6 +11377,8 @@ export const reserveRfPrediction = <ThrowOnError extends boolean = false>(option
|
|
|
11206
11377
|
|
|
11207
11378
|
/**
|
|
11208
11379
|
* A/B tests and lift studies
|
|
11380
|
+
* Lists the A/B tests and lift studies on a Meta ad account, with their timing and test groups.
|
|
11381
|
+
*
|
|
11209
11382
|
* Lists the ad account's A/B tests and lift studies (Meta's `/act_X/ad_studies`), rows
|
|
11210
11383
|
* returned verbatim. The default projection covers id, name, type, timing and cells with
|
|
11211
11384
|
* split percentages; `fields` is a raw-passthrough override.
|
|
@@ -11241,7 +11414,10 @@ export const getTikTokSmartPlusMaterialReport = <ThrowOnError extends boolean =
|
|
|
11241
11414
|
|
|
11242
11415
|
/**
|
|
11243
11416
|
* List Instagram ad identities
|
|
11417
|
+
* Lists the Instagram accounts a Meta ad connection can run ads as, so you can pick the identity for a new ad.
|
|
11418
|
+
*
|
|
11244
11419
|
* Discovers identities through connected_instagram_accounts, Page linkage and Page-backed identities, with a best-effort business fallback. Business permission errors do not fail discovery. The resolved object uses the same profile-scoped resolver as ad creation; null means no identity was resolved. Format-specific observed-actor fallbacks at creative creation are not predicted.
|
|
11420
|
+
*
|
|
11245
11421
|
*/
|
|
11246
11422
|
export const listAdsInstagramAccounts = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ListAdsInstagramAccountsData, ThrowOnError>) => {
|
|
11247
11423
|
return (options?.client ?? client).get<ListAdsInstagramAccountsResponse, ListAdsInstagramAccountsError, ThrowOnError>({
|
|
@@ -11252,7 +11428,10 @@ export const listAdsInstagramAccounts = <ThrowOnError extends boolean = false>(o
|
|
|
11252
11428
|
|
|
11253
11429
|
/**
|
|
11254
11430
|
* List Instagram posts to boost
|
|
11431
|
+
* Lists posts from the Instagram account a Meta ad connection can reach, so you can boost one as an ad.
|
|
11432
|
+
*
|
|
11255
11433
|
* Lists the media of the Instagram account this Meta connection can reach, so an existing Instagram post can be boosted without connecting the Instagram account separately. Each `posts[].id` is the existing-post id to send as `platformPostId` when creating the ad; Meta turns it into `source_instagram_media_id` on the creative. Identity resolution reuses the same resolver as `/v1/ads/instagram-accounts`. `igUserId` is always checked against the identities the connection can reach and is never trusted as sent. When no identity is reachable the endpoint fails instead of returning an empty list, and the two causes stay apart: `403 reconnect_required` means the connection predates Instagram access (Meta then omits `instagram_business_account` from the Page read rather than erroring, so it looks identical to having no data) and the account must be reconnected granting Instagram access, while `422 instagram_business_account_unresolved` means the Page genuinely has no Instagram professional account linked.
|
|
11434
|
+
*
|
|
11256
11435
|
*/
|
|
11257
11436
|
export const listAdsInstagramPosts = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ListAdsInstagramPostsData, ThrowOnError>) => {
|
|
11258
11437
|
return (options?.client ?? client).get<ListAdsInstagramPostsResponse, ListAdsInstagramPostsError, ThrowOnError>({
|
|
@@ -11263,7 +11442,10 @@ export const listAdsInstagramPosts = <ThrowOnError extends boolean = false>(opti
|
|
|
11263
11442
|
|
|
11264
11443
|
/**
|
|
11265
11444
|
* List advertisable apps
|
|
11445
|
+
* Lists the mobile apps a Meta ad account can promote, with their platforms and store links, for app install campaigns.
|
|
11446
|
+
*
|
|
11266
11447
|
* Lists applications available to a Meta ad account, their supported platforms and unmodified object store URLs. A listed app still needs a configured mobile platform and store URL to run install promotion.
|
|
11448
|
+
*
|
|
11267
11449
|
*/
|
|
11268
11450
|
export const listAdvertisableApplications = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ListAdvertisableApplicationsData, ThrowOnError>) => {
|
|
11269
11451
|
return (options?.client ?? client).get<ListAdvertisableApplicationsResponse, ListAdvertisableApplicationsError, ThrowOnError>({
|
|
@@ -11274,7 +11456,10 @@ export const listAdvertisableApplications = <ThrowOnError extends boolean = fals
|
|
|
11274
11456
|
|
|
11275
11457
|
/**
|
|
11276
11458
|
* Get iOS 14 campaign limits
|
|
11277
|
-
*
|
|
11459
|
+
* Shows Meta's iOS 14 campaign limits for an app on an ad account (it does not confirm the app is set up for iOS promotion).
|
|
11460
|
+
*
|
|
11461
|
+
* applicationId is sent as Meta app_id. This read does not establish that the application is configured for iOS promotion.
|
|
11462
|
+
*
|
|
11278
11463
|
*/
|
|
11279
11464
|
export const getIosFourteenCampaignLimits = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<GetIosFourteenCampaignLimitsData, ThrowOnError>) => {
|
|
11280
11465
|
return (options?.client ?? client).get<GetIosFourteenCampaignLimitsResponse, GetIosFourteenCampaignLimitsError, ThrowOnError>({
|
|
@@ -11285,6 +11470,8 @@ export const getIosFourteenCampaignLimits = <ThrowOnError extends boolean = fals
|
|
|
11285
11470
|
|
|
11286
11471
|
/**
|
|
11287
11472
|
* Businesses list
|
|
11473
|
+
* Lists the Meta business portfolios the connected user belongs to, with their verification status.
|
|
11474
|
+
*
|
|
11288
11475
|
* Business Manager portfolios the connected Meta user belongs to (Meta's `/me/businesses`),
|
|
11289
11476
|
* rows returned verbatim (id, name, verification_status, created_time). Token-scoped, so no
|
|
11290
11477
|
* `adAccountId` is needed. For TikTok Business Centers use
|
|
@@ -11299,6 +11486,8 @@ export const listMetaBusinesses = <ThrowOnError extends boolean = false>(options
|
|
|
11299
11486
|
|
|
11300
11487
|
/**
|
|
11301
11488
|
* Business users
|
|
11489
|
+
* Lists the people and system users of a Meta business portfolio, with the ids you need to assign them to Pages or ad accounts.
|
|
11490
|
+
*
|
|
11302
11491
|
* People and system users of a Meta business portfolio, with the business-scoped ids that
|
|
11303
11492
|
* `POST /v1/ads/accounts/users` and `POST /v1/ads/page-users` take. The connected Meta
|
|
11304
11493
|
* user must be an admin of the portfolio.
|
|
@@ -11312,6 +11501,8 @@ export const listMetaBusinessUsers = <ThrowOnError extends boolean = false>(opti
|
|
|
11312
11501
|
|
|
11313
11502
|
/**
|
|
11314
11503
|
* Page users of a business
|
|
11504
|
+
* Lists the people in a business portfolio who are assigned to a Facebook Page it owns or was shared as a partner.
|
|
11505
|
+
*
|
|
11315
11506
|
* People of a business portfolio assigned to a Facebook Page the portfolio owns or was
|
|
11316
11507
|
* granted as a partner (`POST /v1/accounts/{accountId}/business-partners` on the owner side).
|
|
11317
11508
|
*/
|
|
@@ -11324,6 +11515,8 @@ export const listPageUsers = <ThrowOnError extends boolean = false>(options: Opt
|
|
|
11324
11515
|
|
|
11325
11516
|
/**
|
|
11326
11517
|
* Assign a user to a Page
|
|
11518
|
+
* Gives a person in your business portfolio tasks on a Facebook Page, such as advertising, so they can run ads for it.
|
|
11519
|
+
*
|
|
11327
11520
|
* Gives a person of the portfolio tasks on a Page the portfolio owns or was granted as a
|
|
11328
11521
|
* partner. Meta does not assign partner admins automatically, so after an owner shares a
|
|
11329
11522
|
* Page the partner calls this for the people whose tokens will advertise for it.
|
|
@@ -11339,6 +11532,8 @@ export const assignPageUser = <ThrowOnError extends boolean = false>(options: Op
|
|
|
11339
11532
|
|
|
11340
11533
|
/**
|
|
11341
11534
|
* Remove a user from a Page
|
|
11535
|
+
* Removes a person's access to a Facebook Page assigned through your business portfolio.
|
|
11536
|
+
*
|
|
11342
11537
|
*/
|
|
11343
11538
|
export const removePageUser = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<RemovePageUserData, ThrowOnError>) => {
|
|
11344
11539
|
return (options?.client ?? client).delete<RemovePageUserResponse, RemovePageUserError, ThrowOnError>({
|
|
@@ -11349,7 +11544,7 @@ export const removePageUser = <ThrowOnError extends boolean = false>(options: Op
|
|
|
11349
11544
|
|
|
11350
11545
|
/**
|
|
11351
11546
|
* List ad labels
|
|
11352
|
-
* Lists the
|
|
11547
|
+
* Lists the labels used to organise campaigns and ads in an ad account.
|
|
11353
11548
|
*
|
|
11354
11549
|
* - **Meta**: pass `adAccountId=act_<n>`. Rows are Meta's `/act_X/adlabels` returned verbatim
|
|
11355
11550
|
* (id, name, created/updated time), paginated with `limit` / `after`.
|
|
@@ -11357,6 +11552,7 @@ export const removePageUser = <ThrowOnError extends boolean = false>(options: Op
|
|
|
11357
11552
|
* connection has a single customer). Returns every non-removed label as a `GoogleAdLabel`
|
|
11358
11553
|
* in one page (`paging.after` is always null). Reads are cached for 10 minutes; when the
|
|
11359
11554
|
* shared Google quota is exhausted the last successful result is served with `stale: true`.
|
|
11555
|
+
*
|
|
11360
11556
|
*/
|
|
11361
11557
|
export const listAdLabels = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ListAdLabelsData, ThrowOnError>) => {
|
|
11362
11558
|
return (options?.client ?? client).get<ListAdLabelsResponse, ListAdLabelsError, ThrowOnError>({
|
|
@@ -11367,9 +11563,12 @@ export const listAdLabels = <ThrowOnError extends boolean = false>(options: Opti
|
|
|
11367
11563
|
|
|
11368
11564
|
/**
|
|
11369
11565
|
* Create a Google Ads label
|
|
11370
|
-
* Creates a
|
|
11566
|
+
* Creates a Google Ads label you can then attach to campaigns, ad groups, ads and keywords to organize and filter them.
|
|
11567
|
+
*
|
|
11568
|
+
* Attach it to campaigns, ad groups, ads and
|
|
11371
11569
|
* keywords with `POST /v1/ads/labels/{labelId}/assignments`. Label names are unique per
|
|
11372
11570
|
* customer; a duplicate is a 400.
|
|
11571
|
+
*
|
|
11373
11572
|
*/
|
|
11374
11573
|
export const createAdLabel = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<CreateAdLabelData, ThrowOnError>) => {
|
|
11375
11574
|
return (options?.client ?? client).post<CreateAdLabelResponse, CreateAdLabelError, ThrowOnError>({
|
|
@@ -11380,7 +11579,10 @@ export const createAdLabel = <ThrowOnError extends boolean = false>(options: Opt
|
|
|
11380
11579
|
|
|
11381
11580
|
/**
|
|
11382
11581
|
* Update a Google Ads label
|
|
11383
|
-
* Changes
|
|
11582
|
+
* Changes a Google Ads label's name, color or description.
|
|
11583
|
+
*
|
|
11584
|
+
* Only the fields sent are written.
|
|
11585
|
+
*
|
|
11384
11586
|
*/
|
|
11385
11587
|
export const updateAdLabel = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<UpdateAdLabelData, ThrowOnError>) => {
|
|
11386
11588
|
return (options?.client ?? client).patch<UpdateAdLabelResponse, UpdateAdLabelError, ThrowOnError>({
|
|
@@ -11391,7 +11593,10 @@ export const updateAdLabel = <ThrowOnError extends boolean = false>(options: Opt
|
|
|
11391
11593
|
|
|
11392
11594
|
/**
|
|
11393
11595
|
* Remove a Google Ads label
|
|
11394
|
-
*
|
|
11596
|
+
* Deletes a Google Ads label and removes it from everything it was attached to.
|
|
11597
|
+
*
|
|
11598
|
+
* Google drops it from every campaign, ad group, ad and keyword it was attached to.
|
|
11599
|
+
*
|
|
11395
11600
|
*/
|
|
11396
11601
|
export const removeAdLabel = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<RemoveAdLabelData, ThrowOnError>) => {
|
|
11397
11602
|
return (options?.client ?? client).delete<RemoveAdLabelResponse, RemoveAdLabelError, ThrowOnError>({
|
|
@@ -11402,6 +11607,8 @@ export const removeAdLabel = <ThrowOnError extends boolean = false>(options: Opt
|
|
|
11402
11607
|
|
|
11403
11608
|
/**
|
|
11404
11609
|
* Attach a Google Ads label
|
|
11610
|
+
* Attaches a Google Ads label to campaigns, ad groups, ads and keywords in one call, skipping any that already have it.
|
|
11611
|
+
*
|
|
11405
11612
|
* Attaches the label to campaigns, ad groups, ads and keywords (Google CampaignLabel,
|
|
11406
11613
|
* AdGroupLabel, AdGroupAdLabel and AdGroupCriterionLabel) in one mutate. Idempotent: a
|
|
11407
11614
|
* target that already carries the label is counted in `unchanged` instead of failing the
|
|
@@ -11418,7 +11625,10 @@ export const attachAdLabel = <ThrowOnError extends boolean = false>(options: Opt
|
|
|
11418
11625
|
|
|
11419
11626
|
/**
|
|
11420
11627
|
* Detach a Google Ads label
|
|
11421
|
-
* Removes
|
|
11628
|
+
* Removes a Google Ads label from the campaigns, ad groups, ads or keywords you name, skipping any that do not have it.
|
|
11629
|
+
*
|
|
11630
|
+
* Idempotent; a target without the label is counted in `unchanged`. Fields go in the query string. A JSON body with the same fields is also accepted and, when sent, the query string is ignored.
|
|
11631
|
+
*
|
|
11422
11632
|
*/
|
|
11423
11633
|
export const detachAdLabel = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<DetachAdLabelData, ThrowOnError>) => {
|
|
11424
11634
|
return (options?.client ?? client).delete<DetachAdLabelResponse, DetachAdLabelError, ThrowOnError>({
|
|
@@ -11429,6 +11639,8 @@ export const detachAdLabel = <ThrowOnError extends boolean = false>(options: Opt
|
|
|
11429
11639
|
|
|
11430
11640
|
/**
|
|
11431
11641
|
* List high-demand periods
|
|
11642
|
+
* Lists the scheduled budget increases set on a Meta campaign or ad set.
|
|
11643
|
+
*
|
|
11432
11644
|
* Scheduled budget increases (Meta's budget-scheduling API). The Graph edge lives on the
|
|
11433
11645
|
* campaign and ad-set nodes only, so exactly one of `campaignId` / `adSetId` (platform
|
|
11434
11646
|
* ids) is required. Rows returned verbatim (budget_value, budget_value_type, time window,
|
|
@@ -11443,8 +11655,9 @@ export const listHighDemandPeriods = <ThrowOnError extends boolean = false>(opti
|
|
|
11443
11655
|
|
|
11444
11656
|
/**
|
|
11445
11657
|
* Schedule a budget increase
|
|
11446
|
-
*
|
|
11447
|
-
*
|
|
11658
|
+
* Schedules a temporary budget increase on a Meta campaign or ad set for a busy period, like Black Friday or a launch.
|
|
11659
|
+
*
|
|
11660
|
+
* Same target rule as the GET: exactly one of
|
|
11448
11661
|
* `campaignId` / `adSetId`.
|
|
11449
11662
|
*
|
|
11450
11663
|
* Two Meta constraints worth knowing before you call it. `timeStart` / `timeEnd` must
|
|
@@ -11452,6 +11665,7 @@ export const listHighDemandPeriods = <ThrowOnError extends boolean = false>(opti
|
|
|
11452
11665
|
* across its schedules; the second type is rejected with "Can't mix your budget scaling
|
|
11453
11666
|
* selection". Window rules (must sit inside the campaign's run dates, minimum lead time,
|
|
11454
11667
|
* no overlap) are Meta's and its message is forwarded verbatim.
|
|
11668
|
+
*
|
|
11455
11669
|
*/
|
|
11456
11670
|
export const createHighDemandPeriod = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<CreateHighDemandPeriodData, ThrowOnError>) => {
|
|
11457
11671
|
return (options?.client ?? client).post<CreateHighDemandPeriodResponse, CreateHighDemandPeriodError, ThrowOnError>({
|
|
@@ -11462,6 +11676,8 @@ export const createHighDemandPeriod = <ThrowOnError extends boolean = false>(opt
|
|
|
11462
11676
|
|
|
11463
11677
|
/**
|
|
11464
11678
|
* Creative library
|
|
11679
|
+
* Lists the creatives saved in a Meta ad account so you can reuse one in a new ad.
|
|
11680
|
+
*
|
|
11465
11681
|
* Lists the ad account's creative library (Meta's `/act_X/adcreatives`), rows returned
|
|
11466
11682
|
* verbatim. The default projection covers id, name, status, object type, thumbnail,
|
|
11467
11683
|
* object_story_spec / asset_feed_spec and url_tags; `fields` is a raw-passthrough
|
|
@@ -11477,6 +11693,8 @@ export const listAdCreatives = <ThrowOnError extends boolean = false>(options: O
|
|
|
11477
11693
|
|
|
11478
11694
|
/**
|
|
11479
11695
|
* Create a standalone creative
|
|
11696
|
+
* Creates a reusable Meta creative from an image or carousel without creating an ad, ready to attach to ads later.
|
|
11697
|
+
*
|
|
11480
11698
|
* Creates a creative in the library WITHOUT an ad, reusable on the create endpoints via
|
|
11481
11699
|
* `existingCreativeId`. Provide exactly one of `imageUrl` (uploaded server-side),
|
|
11482
11700
|
* `imageHash` (from POST /v1/ads/images or the library list), or `carouselCards` (2-10
|
|
@@ -11493,6 +11711,8 @@ export const createAdCreative = <ThrowOnError extends boolean = false>(options:
|
|
|
11493
11711
|
|
|
11494
11712
|
/**
|
|
11495
11713
|
* Creative details
|
|
11714
|
+
* Shows the details of one Meta creative, such as its content, status and thumbnail.
|
|
11715
|
+
*
|
|
11496
11716
|
* One creative's details, verbatim from Meta. `fields` is a raw-passthrough override of
|
|
11497
11717
|
* the default projection.
|
|
11498
11718
|
*/
|
|
@@ -11505,9 +11725,12 @@ export const getAdCreative = <ThrowOnError extends boolean = false>(options: Opt
|
|
|
11505
11725
|
|
|
11506
11726
|
/**
|
|
11507
11727
|
* Rename a creative
|
|
11508
|
-
* Renames a creative
|
|
11728
|
+
* Renames a Meta creative (Meta does not allow other changes, so make a new creative to change its content).
|
|
11729
|
+
*
|
|
11730
|
+
* Creatives are immutable on Meta beyond `name`. For content changes
|
|
11509
11731
|
* create a new creative (POST /v1/ads/creatives) and swap it onto the ad
|
|
11510
11732
|
* (PUT /v1/ads/{adId} with `creative`).
|
|
11733
|
+
*
|
|
11511
11734
|
*/
|
|
11512
11735
|
export const updateAdCreative = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<UpdateAdCreativeData, ThrowOnError>) => {
|
|
11513
11736
|
return (options?.client ?? client).put<UpdateAdCreativeResponse, UpdateAdCreativeError, ThrowOnError>({
|
|
@@ -11518,8 +11741,11 @@ export const updateAdCreative = <ThrowOnError extends boolean = false>(options:
|
|
|
11518
11741
|
|
|
11519
11742
|
/**
|
|
11520
11743
|
* Delete a creative
|
|
11521
|
-
* Deletes a creative from the library
|
|
11744
|
+
* Deletes a Meta creative from the library, which Meta only allows when no ad uses it.
|
|
11745
|
+
*
|
|
11746
|
+
* Meta only allows deleting creatives not referenced
|
|
11522
11747
|
* by any ad; otherwise its 400 surfaces verbatim.
|
|
11748
|
+
*
|
|
11523
11749
|
*/
|
|
11524
11750
|
export const deleteAdCreative = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<DeleteAdCreativeData, ThrowOnError>) => {
|
|
11525
11751
|
return (options?.client ?? client).delete<DeleteAdCreativeResponse, DeleteAdCreativeError, ThrowOnError>({
|
|
@@ -11530,6 +11756,8 @@ export const deleteAdCreative = <ThrowOnError extends boolean = false>(options:
|
|
|
11530
11756
|
|
|
11531
11757
|
/**
|
|
11532
11758
|
* List value rule sets
|
|
11759
|
+
* Lists a Meta ad account's value rule sets, which raise or lower bids for audience segments you value differently.
|
|
11760
|
+
*
|
|
11533
11761
|
* Lists the ad account's value rule sets (Meta's `/act_X/value_rule_set`). A value rule
|
|
11534
11762
|
* set adjusts the auction bid up or down for audience segments you value differently;
|
|
11535
11763
|
* attach one to an ad set with `valueRuleSetId` on `POST /v1/ads/create` or
|
|
@@ -11557,6 +11785,8 @@ export const listValueRuleSets = <ThrowOnError extends boolean = false>(options:
|
|
|
11557
11785
|
|
|
11558
11786
|
/**
|
|
11559
11787
|
* Create a value rule set
|
|
11788
|
+
* Creates a Meta value rule set that raises or lowers bids for chosen audience segments, ready to attach to ad sets.
|
|
11789
|
+
*
|
|
11560
11790
|
* Creates a value rule set on the ad account (Meta's `POST /act_X/value_rule_set`).
|
|
11561
11791
|
* Attach the returned id to an ad set with `valueRuleSetId` on `POST /v1/ads/create` or
|
|
11562
11792
|
* `PUT /v1/ads/ad-sets/{adSetId}`.
|
|
@@ -11597,6 +11827,8 @@ export const createValueRuleSet = <ThrowOnError extends boolean = false>(options
|
|
|
11597
11827
|
|
|
11598
11828
|
/**
|
|
11599
11829
|
* Read a value rule set
|
|
11830
|
+
* Shows one Meta value rule set with all its rules and criteria, the first step before editing it.
|
|
11831
|
+
*
|
|
11600
11832
|
* Reads one value rule set including every nested rule id and criterion id. This is step
|
|
11601
11833
|
* one of any edit: `PUT` is a full replace, so you need the ids before you can keep the
|
|
11602
11834
|
* objects you are not changing.
|
|
@@ -11614,6 +11846,8 @@ export const getValueRuleSet = <ThrowOnError extends boolean = false>(options: O
|
|
|
11614
11846
|
|
|
11615
11847
|
/**
|
|
11616
11848
|
* Replace a value rule set
|
|
11849
|
+
* Replaces a Meta value rule set with the rules you send, so any rule left out is deleted.
|
|
11850
|
+
*
|
|
11617
11851
|
* **THIS IS A FULL REPLACE, NOT A PATCH.** Meta's update is declarative: the body you
|
|
11618
11852
|
* send becomes the rule set.
|
|
11619
11853
|
*
|
|
@@ -11640,6 +11874,8 @@ export const updateValueRuleSet = <ThrowOnError extends boolean = false>(options
|
|
|
11640
11874
|
|
|
11641
11875
|
/**
|
|
11642
11876
|
* Delete a value rule set
|
|
11877
|
+
* Deletes a Meta value rule set (detach it from ad sets first, since they are not changed here).
|
|
11878
|
+
*
|
|
11643
11879
|
* Deletes the rule set (Meta's `POST /{value-rule-set-id}/delete_rule_set`, a custom
|
|
11644
11880
|
* action edge rather than an HTTP DELETE on its side). Ad sets pointing at it are not
|
|
11645
11881
|
* modified here; detach them first with `valueRulesApplied: false` on
|
|
@@ -11654,7 +11890,10 @@ export const deleteValueRuleSet = <ThrowOnError extends boolean = false>(options
|
|
|
11654
11890
|
|
|
11655
11891
|
/**
|
|
11656
11892
|
* List negative keyword lists
|
|
11893
|
+
* Lists the shared negative keyword lists in a Google Ads account, which you can apply to many campaigns at once.
|
|
11894
|
+
*
|
|
11657
11895
|
* Google Ads shared negative keyword lists (shared_set type NEGATIVE_KEYWORDS). Reads are cached for 10 minutes; quota exhaustion may return the last successful result for up to 7 days with stale=true. Customer selection is limited to this connection and its account scope.
|
|
11896
|
+
*
|
|
11658
11897
|
*/
|
|
11659
11898
|
export const listAdNegativeKeywordLists = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ListAdNegativeKeywordListsData, ThrowOnError>) => {
|
|
11660
11899
|
return (options?.client ?? client).get<ListAdNegativeKeywordListsResponse, ListAdNegativeKeywordListsError, ThrowOnError>({
|
|
@@ -11665,7 +11904,10 @@ export const listAdNegativeKeywordLists = <ThrowOnError extends boolean = false>
|
|
|
11665
11904
|
|
|
11666
11905
|
/**
|
|
11667
11906
|
* Create a negative keyword list
|
|
11907
|
+
* Creates a shared Google Ads negative keyword list, optionally with starting keywords; it is not attached to any campaign yet.
|
|
11908
|
+
*
|
|
11668
11909
|
* Creates one Google Ads shared negative keyword list with optional initial keywords in a single atomic mutation. Daily quota is reserved for every mutate item, so large batches may return 429 before any change. This operation is not idempotent. The list is not attached to any campaign.
|
|
11910
|
+
*
|
|
11669
11911
|
*/
|
|
11670
11912
|
export const createAdNegativeKeywordList = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<CreateAdNegativeKeywordListData, ThrowOnError>) => {
|
|
11671
11913
|
return (options?.client ?? client).post<CreateAdNegativeKeywordListResponse, CreateAdNegativeKeywordListError, ThrowOnError>({
|
|
@@ -11676,7 +11918,10 @@ export const createAdNegativeKeywordList = <ThrowOnError extends boolean = false
|
|
|
11676
11918
|
|
|
11677
11919
|
/**
|
|
11678
11920
|
* Get a negative keyword list
|
|
11921
|
+
* Shows one shared Google Ads negative keyword list with all of its keywords.
|
|
11922
|
+
*
|
|
11679
11923
|
* Google Ads shared negative keyword lists (shared_set type NEGATIVE_KEYWORDS). Reads are cached for 10 minutes; quota exhaustion may return the last successful result for up to 7 days with stale=true. Customer selection is limited to this connection and its account scope. Includes the keywords and their criterion ids.
|
|
11924
|
+
*
|
|
11680
11925
|
*/
|
|
11681
11926
|
export const getAdNegativeKeywordList = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<GetAdNegativeKeywordListData, ThrowOnError>) => {
|
|
11682
11927
|
return (options?.client ?? client).get<GetAdNegativeKeywordListResponse, GetAdNegativeKeywordListError, ThrowOnError>({
|
|
@@ -11687,7 +11932,10 @@ export const getAdNegativeKeywordList = <ThrowOnError extends boolean = false>(o
|
|
|
11687
11932
|
|
|
11688
11933
|
/**
|
|
11689
11934
|
* Rename a negative keyword list
|
|
11690
|
-
* Renames a shared negative keyword list
|
|
11935
|
+
* Renames a shared Google Ads negative keyword list without changing its keywords or the campaigns using it.
|
|
11936
|
+
*
|
|
11937
|
+
* Keywords and campaign associations are unchanged. Use the keywords endpoint to edit the desired keyword set.
|
|
11938
|
+
*
|
|
11691
11939
|
*/
|
|
11692
11940
|
export const updateAdNegativeKeywordList = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<UpdateAdNegativeKeywordListData, ThrowOnError>) => {
|
|
11693
11941
|
return (options?.client ?? client).put<UpdateAdNegativeKeywordListResponse, UpdateAdNegativeKeywordListError, ThrowOnError>({
|
|
@@ -11698,7 +11946,10 @@ export const updateAdNegativeKeywordList = <ThrowOnError extends boolean = false
|
|
|
11698
11946
|
|
|
11699
11947
|
/**
|
|
11700
11948
|
* Delete a negative keyword list
|
|
11701
|
-
*
|
|
11949
|
+
* Deletes a shared Google Ads negative keyword list; detach it from every campaign first.
|
|
11950
|
+
*
|
|
11951
|
+
* Detach it from all campaigns first; an in-use list is rejected. Only NEGATIVE_KEYWORDS shared sets are supported.
|
|
11952
|
+
*
|
|
11702
11953
|
*/
|
|
11703
11954
|
export const deleteAdNegativeKeywordList = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<DeleteAdNegativeKeywordListData, ThrowOnError>) => {
|
|
11704
11955
|
return (options?.client ?? client).delete<DeleteAdNegativeKeywordListResponse, DeleteAdNegativeKeywordListError, ThrowOnError>({
|
|
@@ -11709,7 +11960,10 @@ export const deleteAdNegativeKeywordList = <ThrowOnError extends boolean = false
|
|
|
11709
11960
|
|
|
11710
11961
|
/**
|
|
11711
11962
|
* Replace negative list keywords
|
|
11712
|
-
* Replaces
|
|
11963
|
+
* Replaces all keywords in a shared Google Ads negative keyword list (or clears it), affecting every campaign that uses the list.
|
|
11964
|
+
*
|
|
11965
|
+
* Existing keywords are diffed by normalized text and match type; creates and removals are applied atomically in one mutation. Unchanged criteria retain their ids. Send an empty keywords array to clear the list. Changes affect every campaign using this list. Each create or removal consumes one daily operation; the entire batch must fit the remaining quota.
|
|
11966
|
+
*
|
|
11713
11967
|
*/
|
|
11714
11968
|
export const replaceAdNegativeKeywordListKeywords = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ReplaceAdNegativeKeywordListKeywordsData, ThrowOnError>) => {
|
|
11715
11969
|
return (options?.client ?? client).put<ReplaceAdNegativeKeywordListKeywordsResponse, ReplaceAdNegativeKeywordListKeywordsError, ThrowOnError>({
|
|
@@ -11720,7 +11974,10 @@ export const replaceAdNegativeKeywordListKeywords = <ThrowOnError extends boolea
|
|
|
11720
11974
|
|
|
11721
11975
|
/**
|
|
11722
11976
|
* List campaign negative lists
|
|
11723
|
-
*
|
|
11977
|
+
* Lists the shared negative keyword lists attached to a Google campaign, separate from its own campaign-level negatives.
|
|
11978
|
+
*
|
|
11979
|
+
* Google Ads shared negative keyword lists (shared_set type NEGATIVE_KEYWORDS). Reads are cached for 10 minutes; quota exhaustion may return the last successful result for up to 7 days with stale=true. Customer selection is limited to this connection and its account scope.
|
|
11980
|
+
*
|
|
11724
11981
|
*/
|
|
11725
11982
|
export const listCampaignNegativeKeywordLists = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ListCampaignNegativeKeywordListsData, ThrowOnError>) => {
|
|
11726
11983
|
return (options?.client ?? client).get<ListCampaignNegativeKeywordListsResponse, ListCampaignNegativeKeywordListsError, ThrowOnError>({
|
|
@@ -11731,7 +11988,10 @@ export const listCampaignNegativeKeywordLists = <ThrowOnError extends boolean =
|
|
|
11731
11988
|
|
|
11732
11989
|
/**
|
|
11733
11990
|
* Replace campaign negative lists
|
|
11734
|
-
* Sets
|
|
11991
|
+
* Sets exactly which shared negative keyword lists apply to a Google campaign, or detaches them all, without changing the lists themselves.
|
|
11992
|
+
*
|
|
11993
|
+
* Send listIds=[] to detach all negative keyword lists. Only campaign_shared_set links are changed; the lists and their keywords are preserved. Every list must belong to the campaign customer and have type NEGATIVE_KEYWORDS.
|
|
11994
|
+
*
|
|
11735
11995
|
*/
|
|
11736
11996
|
export const replaceCampaignNegativeKeywordLists = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ReplaceCampaignNegativeKeywordListsData, ThrowOnError>) => {
|
|
11737
11997
|
return (options?.client ?? client).put<ReplaceCampaignNegativeKeywordListsResponse, ReplaceCampaignNegativeKeywordListsError, ThrowOnError>({
|
|
@@ -11742,7 +12002,10 @@ export const replaceCampaignNegativeKeywordLists = <ThrowOnError extends boolean
|
|
|
11742
12002
|
|
|
11743
12003
|
/**
|
|
11744
12004
|
* List account callouts
|
|
11745
|
-
* Lists
|
|
12005
|
+
* Lists the callouts attached at account level in Google Ads, which can show on ads across all campaigns.
|
|
12006
|
+
*
|
|
12007
|
+
* Fresh reads are cached for 10 minutes; exhausted quota may return the last successful read with stale=true. Inherited assets are not included. Preserves Google RMF C.75 account-level callouts.
|
|
12008
|
+
*
|
|
11746
12009
|
*/
|
|
11747
12010
|
export const listAccountCallouts = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ListAccountCalloutsData, ThrowOnError>) => {
|
|
11748
12011
|
return (options?.client ?? client).get<ListAccountCalloutsResponse, ListAccountCalloutsError, ThrowOnError>({
|
|
@@ -11753,7 +12016,10 @@ export const listAccountCallouts = <ThrowOnError extends boolean = false>(option
|
|
|
11753
12016
|
|
|
11754
12017
|
/**
|
|
11755
12018
|
* Add account callouts
|
|
12019
|
+
* Creates callouts and attaches them at account level in Google Ads so they can show on ads across all campaigns.
|
|
12020
|
+
*
|
|
11756
12021
|
* Creates assets and customer_asset links for this Google customer. Links apply at account level.
|
|
12022
|
+
*
|
|
11757
12023
|
*/
|
|
11758
12024
|
export const addAccountCallouts = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<AddAccountCalloutsData, ThrowOnError>) => {
|
|
11759
12025
|
return (options?.client ?? client).post<AddAccountCalloutsResponse, AddAccountCalloutsError, ThrowOnError>({
|
|
@@ -11764,7 +12030,10 @@ export const addAccountCallouts = <ThrowOnError extends boolean = false>(options
|
|
|
11764
12030
|
|
|
11765
12031
|
/**
|
|
11766
12032
|
* Update account callouts
|
|
11767
|
-
* Edits existing Google
|
|
12033
|
+
* Edits existing Google Ads callouts in place; the change applies everywhere that callout is used.
|
|
12034
|
+
*
|
|
12035
|
+
* Send updates with assetResourceName and the fields to change. An asset is shared: changes affect every attachment using it. Omitted fields stay unchanged. The operation consumes the Google operations budget and invalidates affected cached lists.
|
|
12036
|
+
*
|
|
11768
12037
|
*/
|
|
11769
12038
|
export const updateAccountCallouts = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<UpdateAccountCalloutsData, ThrowOnError>) => {
|
|
11770
12039
|
return (options?.client ?? client).put<UpdateAccountCalloutsResponse, UpdateAccountCalloutsError, ThrowOnError>({
|
|
@@ -11775,7 +12044,10 @@ export const updateAccountCallouts = <ThrowOnError extends boolean = false>(opti
|
|
|
11775
12044
|
|
|
11776
12045
|
/**
|
|
11777
12046
|
* Remove account callout
|
|
12047
|
+
* Detaches a callout from the Google Ads account level, leaving it on any campaigns or ad groups that still use it.
|
|
12048
|
+
*
|
|
11778
12049
|
* Removes the customer_asset attachment only. The underlying shared asset and its campaign or ad-group attachments remain. Fields go in the query string. A JSON body with the same fields is also accepted and, when sent, the query string is ignored.
|
|
12050
|
+
*
|
|
11779
12051
|
*/
|
|
11780
12052
|
export const removeAccountCallout = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<RemoveAccountCalloutData, ThrowOnError>) => {
|
|
11781
12053
|
return (options?.client ?? client).delete<RemoveAccountCalloutResponse, RemoveAccountCalloutError, ThrowOnError>({
|
|
@@ -11786,7 +12058,10 @@ export const removeAccountCallout = <ThrowOnError extends boolean = false>(optio
|
|
|
11786
12058
|
|
|
11787
12059
|
/**
|
|
11788
12060
|
* List account sitelinks
|
|
11789
|
-
* Lists
|
|
12061
|
+
* Lists the sitelinks attached at account level in Google Ads, which can show on ads across all campaigns.
|
|
12062
|
+
*
|
|
12063
|
+
* Fresh reads are cached for 10 minutes; exhausted quota may return the last successful read with stale=true. Inherited assets are not included.
|
|
12064
|
+
*
|
|
11790
12065
|
*/
|
|
11791
12066
|
export const listAccountSitelinks = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ListAccountSitelinksData, ThrowOnError>) => {
|
|
11792
12067
|
return (options?.client ?? client).get<ListAccountSitelinksResponse, ListAccountSitelinksError, ThrowOnError>({
|
|
@@ -11797,7 +12072,10 @@ export const listAccountSitelinks = <ThrowOnError extends boolean = false>(optio
|
|
|
11797
12072
|
|
|
11798
12073
|
/**
|
|
11799
12074
|
* Add account sitelinks
|
|
12075
|
+
* Creates sitelinks and attaches them at account level in Google Ads so they can show on ads across all campaigns.
|
|
12076
|
+
*
|
|
11800
12077
|
* Creates assets and customer_asset links for this Google customer. Links apply at account level.
|
|
12078
|
+
*
|
|
11801
12079
|
*/
|
|
11802
12080
|
export const addAccountSitelinks = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<AddAccountSitelinksData, ThrowOnError>) => {
|
|
11803
12081
|
return (options?.client ?? client).post<AddAccountSitelinksResponse, AddAccountSitelinksError, ThrowOnError>({
|
|
@@ -11808,7 +12086,10 @@ export const addAccountSitelinks = <ThrowOnError extends boolean = false>(option
|
|
|
11808
12086
|
|
|
11809
12087
|
/**
|
|
11810
12088
|
* Update account sitelinks
|
|
11811
|
-
* Edits existing Google
|
|
12089
|
+
* Edits existing Google Ads sitelinks in place; the change applies everywhere that sitelink is used.
|
|
12090
|
+
*
|
|
12091
|
+
* Send updates with assetResourceName and the fields to change. An asset is shared: changes affect every attachment using it. Omitted fields stay unchanged. The operation consumes the Google operations budget and invalidates affected cached lists.
|
|
12092
|
+
*
|
|
11812
12093
|
*/
|
|
11813
12094
|
export const updateAccountSitelinks = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<UpdateAccountSitelinksData, ThrowOnError>) => {
|
|
11814
12095
|
return (options?.client ?? client).put<UpdateAccountSitelinksResponse, UpdateAccountSitelinksError, ThrowOnError>({
|
|
@@ -11819,7 +12100,10 @@ export const updateAccountSitelinks = <ThrowOnError extends boolean = false>(opt
|
|
|
11819
12100
|
|
|
11820
12101
|
/**
|
|
11821
12102
|
* Remove account sitelink
|
|
12103
|
+
* Detaches a sitelink from the Google Ads account level, leaving it on any campaigns or ad groups that still use it.
|
|
12104
|
+
*
|
|
11822
12105
|
* Removes the customer_asset attachment only. The underlying shared asset and its campaign or ad-group attachments remain. Fields go in the query string. A JSON body with the same fields is also accepted and, when sent, the query string is ignored.
|
|
12106
|
+
*
|
|
11823
12107
|
*/
|
|
11824
12108
|
export const removeAccountSitelink = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<RemoveAccountSitelinkData, ThrowOnError>) => {
|
|
11825
12109
|
return (options?.client ?? client).delete<RemoveAccountSitelinkResponse, RemoveAccountSitelinkError, ThrowOnError>({
|
|
@@ -11830,7 +12114,10 @@ export const removeAccountSitelink = <ThrowOnError extends boolean = false>(opti
|
|
|
11830
12114
|
|
|
11831
12115
|
/**
|
|
11832
12116
|
* List account snippets
|
|
11833
|
-
* Lists
|
|
12117
|
+
* Lists the structured snippets attached at account level in Google Ads, which can show on ads across all campaigns.
|
|
12118
|
+
*
|
|
12119
|
+
* Fresh reads are cached for 10 minutes; exhausted quota may return the last successful read with stale=true. Inherited assets are not included.
|
|
12120
|
+
*
|
|
11834
12121
|
*/
|
|
11835
12122
|
export const listAccountStructuredSnippets = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ListAccountStructuredSnippetsData, ThrowOnError>) => {
|
|
11836
12123
|
return (options?.client ?? client).get<ListAccountStructuredSnippetsResponse, ListAccountStructuredSnippetsError, ThrowOnError>({
|
|
@@ -11841,7 +12128,10 @@ export const listAccountStructuredSnippets = <ThrowOnError extends boolean = fal
|
|
|
11841
12128
|
|
|
11842
12129
|
/**
|
|
11843
12130
|
* Add account snippets
|
|
12131
|
+
* Creates structured snippets and attaches them at account level in Google Ads so they can show on ads across all campaigns.
|
|
12132
|
+
*
|
|
11844
12133
|
* Creates assets and customer_asset links for this Google customer. Links apply at account level.
|
|
12134
|
+
*
|
|
11845
12135
|
*/
|
|
11846
12136
|
export const addAccountStructuredSnippets = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<AddAccountStructuredSnippetsData, ThrowOnError>) => {
|
|
11847
12137
|
return (options?.client ?? client).post<AddAccountStructuredSnippetsResponse, AddAccountStructuredSnippetsError, ThrowOnError>({
|
|
@@ -11852,7 +12142,10 @@ export const addAccountStructuredSnippets = <ThrowOnError extends boolean = fals
|
|
|
11852
12142
|
|
|
11853
12143
|
/**
|
|
11854
12144
|
* Update account snippets
|
|
11855
|
-
* Edits existing Google
|
|
12145
|
+
* Edits existing Google Ads structured snippets in place; the change applies everywhere that snippet is used.
|
|
12146
|
+
*
|
|
12147
|
+
* Send updates with assetResourceName and the fields to change. An asset is shared: changes affect every attachment using it. Omitted fields stay unchanged. The operation consumes the Google operations budget and invalidates affected cached lists.
|
|
12148
|
+
*
|
|
11856
12149
|
*/
|
|
11857
12150
|
export const updateAccountStructuredSnippets = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<UpdateAccountStructuredSnippetsData, ThrowOnError>) => {
|
|
11858
12151
|
return (options?.client ?? client).put<UpdateAccountStructuredSnippetsResponse, UpdateAccountStructuredSnippetsError, ThrowOnError>({
|
|
@@ -11863,7 +12156,10 @@ export const updateAccountStructuredSnippets = <ThrowOnError extends boolean = f
|
|
|
11863
12156
|
|
|
11864
12157
|
/**
|
|
11865
12158
|
* Remove account snippet
|
|
12159
|
+
* Detaches a structured snippet from the Google Ads account level, leaving it on any campaigns or ad groups that still use it.
|
|
12160
|
+
*
|
|
11866
12161
|
* Removes the customer_asset attachment only. The underlying shared asset and its campaign or ad-group attachments remain. Fields go in the query string. A JSON body with the same fields is also accepted and, when sent, the query string is ignored.
|
|
12162
|
+
*
|
|
11867
12163
|
*/
|
|
11868
12164
|
export const removeAccountStructuredSnippet = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<RemoveAccountStructuredSnippetData, ThrowOnError>) => {
|
|
11869
12165
|
return (options?.client ?? client).delete<RemoveAccountStructuredSnippetResponse, RemoveAccountStructuredSnippetError, ThrowOnError>({
|
|
@@ -11874,6 +12170,8 @@ export const removeAccountStructuredSnippet = <ThrowOnError extends boolean = fa
|
|
|
11874
12170
|
|
|
11875
12171
|
/**
|
|
11876
12172
|
* Get manager account hierarchy
|
|
12173
|
+
* Shows the Google Ads manager (MCC) and client account tree for a connection, including pending invitations and link status.
|
|
12174
|
+
*
|
|
11877
12175
|
* Live manager (MCC) and client tree for a Google Ads connection. Starts from every customer the Google user behind the connection can access directly and walks each tree to any depth with `customer_client`, then reads each manager's own client links so every client carries its direct parent, the `managerLinkId` and the link status. Invitations a manager sent that the client has not accepted yet appear as clients with `linkStatus: PENDING` (Google returns no name or currency for them). Refused, canceled and ended links are history and are omitted. `managerLinks` on a root lists the managers linked to that account, including invitations it can still accept with PATCH /v1/ads/accounts/manager-links. A directly accessible account that is also nested in another tree appears only once, inside that tree. `directCustomers` lists every account the Google user accesses directly (the ones this connection can accept or decline invitations for) with their pending invitations, including accounts that are also nested in a tree. Customers Google refuses to read (for example a cancelled account) are listed in `unavailable` with Google's reason instead of failing the call. Up to 50 roots and 50 managers per root are read; `truncated` is true when more exist. Cached for 10 minutes per connection; the response carries `cachedAt` and `stale`. When the connection is scoped to specific ad accounts, client accounts outside that scope are hidden (managers stay visible).
|
|
11878
12176
|
*/
|
|
11879
12177
|
export const getAdAccountHierarchy = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<GetAdAccountHierarchyData, ThrowOnError>) => {
|
|
@@ -11885,6 +12183,8 @@ export const getAdAccountHierarchy = <ThrowOnError extends boolean = false>(opti
|
|
|
11885
12183
|
|
|
11886
12184
|
/**
|
|
11887
12185
|
* Invite a client account to a manager
|
|
12186
|
+
* Invites a Google Ads account to be managed by one of your manager accounts; the link stays pending until the client accepts.
|
|
12187
|
+
*
|
|
11888
12188
|
* Sends a manager-to-client link invitation from `managerCustomerId` to `clientCustomerId` (Google's CustomerClientLinkService). The manager must be one the connection's Google user reaches, directly or under another manager (see GET /v1/ads/accounts/hierarchy); the client can be any Google Ads account. The link stays `PENDING` until someone with access to the client accepts it in Google Ads or through PATCH on this path. Not idempotent: Google refuses a second invitation while one is pending. Send `validateOnly: true` to have Google check the request without sending anything.
|
|
11889
12189
|
*/
|
|
11890
12190
|
export const inviteAdAccountToManager = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<InviteAdAccountToManagerData, ThrowOnError>) => {
|
|
@@ -11896,6 +12196,8 @@ export const inviteAdAccountToManager = <ThrowOnError extends boolean = false>(o
|
|
|
11896
12196
|
|
|
11897
12197
|
/**
|
|
11898
12198
|
* Accept, decline, cancel or end a manager link
|
|
12199
|
+
* Accepts, declines or cancels a Google Ads manager invitation, or ends an existing manager-client link.
|
|
12200
|
+
*
|
|
11899
12201
|
* Changes one manager-client link, identified by `managerCustomerId`, `clientCustomerId` and `managerLinkId` (all from GET /v1/ads/accounts/hierarchy). `accept` and `decline` answer a pending invitation as the client (CustomerManagerLinkService), so the connection's Google user needs direct access to the client account; access through a manager is not enough, because the link does not exist yet. `cancel` withdraws a pending invitation and `unlink` ends an active link, both as the manager (CustomerClientLinkService). Send `validateOnly: true` to have Google check the change without applying it.
|
|
11900
12202
|
*/
|
|
11901
12203
|
export const updateAdAccountManagerLink = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<UpdateAdAccountManagerLinkData, ThrowOnError>) => {
|
|
@@ -11907,8 +12209,10 @@ export const updateAdAccountManagerLink = <ThrowOnError extends boolean = false>
|
|
|
11907
12209
|
|
|
11908
12210
|
/**
|
|
11909
12211
|
* Ad account users
|
|
11910
|
-
*
|
|
12212
|
+
* Lists the people in a business portfolio assigned to a Meta ad account, with what each can do.
|
|
12213
|
+
*
|
|
11911
12214
|
* Ids are business-scoped user ids (see `GET /v1/ads/businesses/users`).
|
|
12215
|
+
*
|
|
11912
12216
|
*/
|
|
11913
12217
|
export const listAdAccountUsers = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ListAdAccountUsersData, ThrowOnError>) => {
|
|
11914
12218
|
return (options?.client ?? client).get<ListAdAccountUsersResponse, ListAdAccountUsersError, ThrowOnError>({
|
|
@@ -11919,9 +12223,12 @@ export const listAdAccountUsers = <ThrowOnError extends boolean = false>(options
|
|
|
11919
12223
|
|
|
11920
12224
|
/**
|
|
11921
12225
|
* Assign a user to an ad account
|
|
11922
|
-
* Gives a person
|
|
12226
|
+
* Gives a person in your business portfolio access to a Meta ad account, as admin, advertiser, analyst or draft editor.
|
|
12227
|
+
*
|
|
12228
|
+
* `MANAGE` is admin, `ADVERTISE`
|
|
11923
12229
|
* creates and edits ads, `ANALYZE` reads reports, `DRAFT` edits drafts only. Assigning an
|
|
11924
12230
|
* already assigned user replaces their task set.
|
|
12231
|
+
*
|
|
11925
12232
|
*/
|
|
11926
12233
|
export const assignAdAccountUser = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<AssignAdAccountUserData, ThrowOnError>) => {
|
|
11927
12234
|
return (options?.client ?? client).post<AssignAdAccountUserResponse, AssignAdAccountUserError, ThrowOnError>({
|
|
@@ -11932,6 +12239,8 @@ export const assignAdAccountUser = <ThrowOnError extends boolean = false>(option
|
|
|
11932
12239
|
|
|
11933
12240
|
/**
|
|
11934
12241
|
* Remove a user from an ad account
|
|
12242
|
+
* Removes a person's access to a Meta ad account assigned through your business portfolio.
|
|
12243
|
+
*
|
|
11935
12244
|
*/
|
|
11936
12245
|
export const removeAdAccountUser = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<RemoveAdAccountUserData, ThrowOnError>) => {
|
|
11937
12246
|
return (options?.client ?? client).delete<RemoveAdAccountUserResponse, RemoveAdAccountUserError, ThrowOnError>({
|
|
@@ -11942,6 +12251,8 @@ export const removeAdAccountUser = <ThrowOnError extends boolean = false>(option
|
|
|
11942
12251
|
|
|
11943
12252
|
/**
|
|
11944
12253
|
* Ad account finances
|
|
12254
|
+
* Shows a Meta ad account's balance, total spend, spend cap and funding source.
|
|
12255
|
+
*
|
|
11945
12256
|
* Finances of one Meta ad account: prepaid `balance`, lifetime `amountSpent`, account
|
|
11946
12257
|
* `spendCap` (null = no cap) and the `fundingSource`. Money values are converted from
|
|
11947
12258
|
* Meta's minor units to whole units of `currency`.
|
|
@@ -11955,6 +12266,8 @@ export const getAdAccountFinance = <ThrowOnError extends boolean = false>(option
|
|
|
11955
12266
|
|
|
11956
12267
|
/**
|
|
11957
12268
|
* Read an ad account's campaigns and ad sets live
|
|
12269
|
+
* Reads an ad account's campaigns and ad sets straight from Meta or TikTok, so checks like budget limits see current values.
|
|
12270
|
+
*
|
|
11958
12271
|
* Reads the campaigns and ad sets of one Meta ad account or TikTok advertiser **live from
|
|
11959
12272
|
* the platform**, so it is cheap enough to run before every write: for example a
|
|
11960
12273
|
* per-ad-account spend ceiling that must see the current daily / lifetime budget rather
|
|
@@ -11999,6 +12312,8 @@ export const getAdAccountLiveEntities = <ThrowOnError extends boolean = false>(o
|
|
|
11999
12312
|
|
|
12000
12313
|
/**
|
|
12001
12314
|
* Create Meta ad account
|
|
12315
|
+
* Creates a new Meta ad account in the user's own business portfolio (a payment method must then be added in Ads Manager).
|
|
12316
|
+
*
|
|
12002
12317
|
* Creates a durable Meta ad account in the end user's own business portfolio using
|
|
12003
12318
|
* their connected Meta Ads token. Requires an active metaads accountId, Ads access,
|
|
12004
12319
|
* business_management permission and business admin access. Discover portfolios with
|
|
@@ -12038,6 +12353,8 @@ export const createAdAccount = <ThrowOnError extends boolean = false>(options: O
|
|
|
12038
12353
|
|
|
12039
12354
|
/**
|
|
12040
12355
|
* List ad accounts
|
|
12356
|
+
* Lists the ad accounts a connection can manage, such as Meta ad accounts, TikTok advertisers or Google Ads customers.
|
|
12357
|
+
*
|
|
12041
12358
|
* Returns the platform ad accounts available for the given account (e.g. Meta ad
|
|
12042
12359
|
* accounts, TikTok advertiser IDs, Google Ads customer IDs).
|
|
12043
12360
|
* Meta business-login accounts use their own system-user token. Fresh Meta discovery
|
|
@@ -12063,8 +12380,9 @@ export const listAdAccounts = <ThrowOnError extends boolean = false>(options: Op
|
|
|
12063
12380
|
|
|
12064
12381
|
/**
|
|
12065
12382
|
* Update ad account settings
|
|
12066
|
-
*
|
|
12067
|
-
*
|
|
12383
|
+
* Changes a Meta ad account's name, spend cap or default EU DSA beneficiary and payor.
|
|
12384
|
+
*
|
|
12385
|
+
* Pass any combination of fields.
|
|
12068
12386
|
*
|
|
12069
12387
|
* **Spend cap.** `spendCap` is the total the account may spend before Meta pauses every
|
|
12070
12388
|
* campaign in it, in whole units of the account currency. `spendCap: null` removes the
|
|
@@ -12107,6 +12425,8 @@ export const updateAdAccount = <ThrowOnError extends boolean = false>(options: O
|
|
|
12107
12425
|
|
|
12108
12426
|
/**
|
|
12109
12427
|
* Get ad account DSA defaults
|
|
12428
|
+
* Shows the default EU DSA beneficiary and payor set on a Meta ad account.
|
|
12429
|
+
*
|
|
12110
12430
|
* Returns the default DSA beneficiary and payor currently set on a Meta ad account,
|
|
12111
12431
|
* whether they were set via `PATCH /v1/ads/accounts` or in Meta Ads Manager. Fields
|
|
12112
12432
|
* are omitted when no default is configured. Meta accounts only.
|
|
@@ -12121,6 +12441,8 @@ export const getDsaDefaults = <ThrowOnError extends boolean = false>(options: Op
|
|
|
12121
12441
|
|
|
12122
12442
|
/**
|
|
12123
12443
|
* Get DSA recommendations
|
|
12444
|
+
* Suggests beneficiary and payor names for a Meta ad account's EU DSA disclosures, for your user to pick from.
|
|
12445
|
+
*
|
|
12124
12446
|
* Returns Meta's suggested beneficiary/payor names for an ad account, derived by Meta
|
|
12125
12447
|
* from the account's recent activity. Useful for prefilling `dsaBeneficiary`/`dsaPayor`
|
|
12126
12448
|
* inputs, or the defaults sent to `PATCH /v1/ads/accounts`, in your own UI.
|
|
@@ -12140,8 +12462,9 @@ export const getDsaRecommendations = <ThrowOnError extends boolean = false>(opti
|
|
|
12140
12462
|
|
|
12141
12463
|
/**
|
|
12142
12464
|
* Boost post as ad
|
|
12143
|
-
*
|
|
12144
|
-
*
|
|
12465
|
+
* Turns an already published post into a paid ad that keeps the post's likes and comments, creating the campaign around it.
|
|
12466
|
+
*
|
|
12467
|
+
* By default it provisions the whole hierarchy (campaign, ad
|
|
12145
12468
|
* set, ad).
|
|
12146
12469
|
*
|
|
12147
12470
|
* **Attach shape (Meta).** Send `adSetId` to put the ad under an EXISTING
|
|
@@ -12197,7 +12520,10 @@ export const boostPost = <ThrowOnError extends boolean = false>(options: Options
|
|
|
12197
12520
|
|
|
12198
12521
|
/**
|
|
12199
12522
|
* List Performance Max asset groups
|
|
12200
|
-
*
|
|
12523
|
+
* Lists a Performance Max campaign's asset groups with their linked text, image and YouTube assets.
|
|
12524
|
+
*
|
|
12525
|
+
* campaignId is the platform campaign id returned by creation or the campaign list. The campaign must be visible to the caller. Uses a 10-minute cache, with the last successful response served as stale when Google quota is exhausted. Removed groups and asset links are excluded. Campaign-level brand assets on campaigns with brand guidelines enabled are not included.
|
|
12526
|
+
*
|
|
12201
12527
|
*/
|
|
12202
12528
|
export const listGoogleAssetGroups = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ListGoogleAssetGroupsData, ThrowOnError>) => {
|
|
12203
12529
|
return (options?.client ?? client).get<ListGoogleAssetGroupsResponse, ListGoogleAssetGroupsError, ThrowOnError>({
|
|
@@ -12208,7 +12534,10 @@ export const listGoogleAssetGroups = <ThrowOnError extends boolean = false>(opti
|
|
|
12208
12534
|
|
|
12209
12535
|
/**
|
|
12210
12536
|
* Create a Performance Max asset group
|
|
12211
|
-
*
|
|
12537
|
+
* Adds an asset group with its assets and optional product targeting to a Performance Max campaign, or just validates it without creating anything.
|
|
12538
|
+
*
|
|
12539
|
+
* The group, any new assets, their links and an optional listing-group tree are created in one atomic request, so Google checks the asset minimums (for non-retail campaigns) against the whole set. Created PAUSED unless status is ENABLED. validateOnly: true runs Google's validation without creating anything.
|
|
12540
|
+
*
|
|
12212
12541
|
*/
|
|
12213
12542
|
export const createGoogleAssetGroup = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<CreateGoogleAssetGroupData, ThrowOnError>) => {
|
|
12214
12543
|
return (options?.client ?? client).post<CreateGoogleAssetGroupResponse, CreateGoogleAssetGroupError, ThrowOnError>({
|
|
@@ -12219,7 +12548,10 @@ export const createGoogleAssetGroup = <ThrowOnError extends boolean = false>(opt
|
|
|
12219
12548
|
|
|
12220
12549
|
/**
|
|
12221
12550
|
* Get a Performance Max asset group
|
|
12551
|
+
* Shows one Performance Max asset group with its linked assets, ad strength, status and product targeting tree.
|
|
12552
|
+
*
|
|
12222
12553
|
* One asset group with its linked assets, ad strength, primary status and listing-group tree. Uses a 10-minute cache, served stale when Google quota is exhausted; any write below clears it.
|
|
12554
|
+
*
|
|
12223
12555
|
*/
|
|
12224
12556
|
export const getGoogleAssetGroup = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<GetGoogleAssetGroupData, ThrowOnError>) => {
|
|
12225
12557
|
return (options?.client ?? client).get<GetGoogleAssetGroupResponse, GetGoogleAssetGroupError, ThrowOnError>({
|
|
@@ -12230,7 +12562,10 @@ export const getGoogleAssetGroup = <ThrowOnError extends boolean = false>(option
|
|
|
12230
12562
|
|
|
12231
12563
|
/**
|
|
12232
12564
|
* Update a Performance Max asset group
|
|
12565
|
+
* Changes a Performance Max asset group's name, status, final URLs or display paths.
|
|
12566
|
+
*
|
|
12233
12567
|
* Change the name, status (ENABLED or PAUSED), final URLs or display paths. Only the fields sent are written; null on path1 or path2 clears it. Change assets with the /assets endpoint and product targeting with /listing-group-filters. validateOnly: true validates without writing.
|
|
12568
|
+
*
|
|
12234
12569
|
*/
|
|
12235
12570
|
export const updateGoogleAssetGroup = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<UpdateGoogleAssetGroupData, ThrowOnError>) => {
|
|
12236
12571
|
return (options?.client ?? client).patch<UpdateGoogleAssetGroupResponse, UpdateGoogleAssetGroupError, ThrowOnError>({
|
|
@@ -12241,7 +12576,10 @@ export const updateGoogleAssetGroup = <ThrowOnError extends boolean = false>(opt
|
|
|
12241
12576
|
|
|
12242
12577
|
/**
|
|
12243
12578
|
* Remove a Performance Max asset group
|
|
12579
|
+
* Permanently removes an asset group from a Performance Max campaign (this cannot be undone).
|
|
12580
|
+
*
|
|
12244
12581
|
* Removes the asset group on Google (status REMOVED, not reversible). Pass validateOnly=true to validate without removing.
|
|
12582
|
+
*
|
|
12245
12583
|
*/
|
|
12246
12584
|
export const removeGoogleAssetGroup = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<RemoveGoogleAssetGroupData, ThrowOnError>) => {
|
|
12247
12585
|
return (options?.client ?? client).delete<RemoveGoogleAssetGroupResponse, RemoveGoogleAssetGroupError, ThrowOnError>({
|
|
@@ -12252,7 +12590,10 @@ export const removeGoogleAssetGroup = <ThrowOnError extends boolean = false>(opt
|
|
|
12252
12590
|
|
|
12253
12591
|
/**
|
|
12254
12592
|
* Link or unlink asset group assets
|
|
12593
|
+
* Links new or existing assets to a Performance Max asset group and unlinks others in one change, keeping unlinked assets in the account library.
|
|
12594
|
+
*
|
|
12255
12595
|
* Link existing assets or new content to the asset group, and unlink assets, in one atomic request. Links are applied before unlinks, so swapping the last asset of a role does not trip Google's per-role minimum. Unlinking removes the link only; the asset stays in the account library. validateOnly: true validates without writing.
|
|
12596
|
+
*
|
|
12256
12597
|
*/
|
|
12257
12598
|
export const editGoogleAssetGroupAssets = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<EditGoogleAssetGroupAssetsData, ThrowOnError>) => {
|
|
12258
12599
|
return (options?.client ?? client).post<EditGoogleAssetGroupAssetsResponse, EditGoogleAssetGroupAssetsError, ThrowOnError>({
|
|
@@ -12263,7 +12604,10 @@ export const editGoogleAssetGroupAssets = <ThrowOnError extends boolean = false>
|
|
|
12263
12604
|
|
|
12264
12605
|
/**
|
|
12265
12606
|
* Replace an asset group's listing-group tree
|
|
12607
|
+
* Replaces the product targeting tree of a Performance Max retail asset group; only works on campaigns linked to Merchant Center.
|
|
12608
|
+
*
|
|
12266
12609
|
* Replace the product (listing-group) tree of a Performance Max retail asset group. The current tree is removed and the new one created in one atomic request. Read the current tree with GET on the asset group. Requires a campaign linked to Merchant Center; other campaigns return 400 LISTING_SOURCE_NOT_ALLOWED from Google. validateOnly: true validates without writing.
|
|
12610
|
+
*
|
|
12267
12611
|
*/
|
|
12268
12612
|
export const replaceGoogleListingGroupFilters = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ReplaceGoogleListingGroupFiltersData, ThrowOnError>) => {
|
|
12269
12613
|
return (options?.client ?? client).put<ReplaceGoogleListingGroupFiltersResponse, ReplaceGoogleListingGroupFiltersError, ThrowOnError>({
|
|
@@ -12274,6 +12618,8 @@ export const replaceGoogleListingGroupFilters = <ThrowOnError extends boolean =
|
|
|
12274
12618
|
|
|
12275
12619
|
/**
|
|
12276
12620
|
* Create standalone ad
|
|
12621
|
+
* Creates a paid ad with your own creative, building the campaign and ad set it needs or adding it to existing ones.
|
|
12622
|
+
*
|
|
12277
12623
|
* Create a paid ad with custom creative across Meta, Google Ads, Pinterest, TikTok, X, LinkedIn, and OpenAI Ads (ChatGPT Ads).
|
|
12278
12624
|
*
|
|
12279
12625
|
* Google Performance Max: set `campaignType: "pmax"` and supply `assetGroup` with
|
|
@@ -12339,6 +12685,8 @@ export const createStandaloneAd = <ThrowOnError extends boolean = false>(options
|
|
|
12339
12685
|
|
|
12340
12686
|
/**
|
|
12341
12687
|
* List submitted leads
|
|
12688
|
+
* Lists the leads submitted through your Meta or LinkedIn lead forms, newest first.
|
|
12689
|
+
*
|
|
12342
12690
|
* Returns submitted Lead Gen leads for your team, newest-first, with keyset pagination on `cursor`. For Meta (default) leads are served from the persisted cache, ingested in real time from the `leadgen` webhook. When `accountId` is a LinkedIn ads account, leads are fetched live from LinkedIn's `leadFormResponses` (LinkedIn has no webhook and enforces 90-day retention, so nothing is persisted) and `adAccountId` is required. Reading LinkedIn responses needs the `r_marketing_leadgen_automation` permission; accounts connected before it was added must reconnect. Requires the Ads add-on.
|
|
12343
12691
|
*
|
|
12344
12692
|
*/
|
|
@@ -12351,7 +12699,9 @@ export const listLeads = <ThrowOnError extends boolean = false>(options?: Option
|
|
|
12351
12699
|
|
|
12352
12700
|
/**
|
|
12353
12701
|
* List lead forms
|
|
12354
|
-
* Lists the
|
|
12702
|
+
* Lists the lead forms on a Facebook Page or LinkedIn Company Page.
|
|
12703
|
+
*
|
|
12704
|
+
* Meta: forms on the connected Facebook Page. Pass either the `metaads` ads connection (the Page is taken from the Facebook account linked to it) or the Facebook account itself. LinkedIn: forms owned by the ad account's Company Page. Pass `adAccountId` (LinkedIn forms are org-owned). Requires the Ads add-on.
|
|
12355
12705
|
*
|
|
12356
12706
|
*/
|
|
12357
12707
|
export const listLeadForms = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ListLeadFormsData, ThrowOnError>) => {
|
|
@@ -12363,7 +12713,9 @@ export const listLeadForms = <ThrowOnError extends boolean = false>(options: Opt
|
|
|
12363
12713
|
|
|
12364
12714
|
/**
|
|
12365
12715
|
* Create a lead form
|
|
12366
|
-
* Creates a
|
|
12716
|
+
* Creates a lead form on a Facebook Page or LinkedIn Company Page to collect contact details from ads.
|
|
12717
|
+
*
|
|
12718
|
+
* The form content goes inside `platformSpecificData` for both platforms (the shape is selected by the accountId's platform). Meta: created on the connected Facebook Page (POST /{page-id}/leadgen_forms), where `accountId` may be the `metaads` ads connection (its Page comes from the Facebook account linked to the same profile) or the Facebook account itself; the old top-level Meta fields (questions, thankYou*, contextCard, …) are DEPRECATED but still accepted while platformSpecificData is absent; mixing both shapes is a 400. LinkedIn: created on the ad account's Company Page. NOT idempotent: a retry creates a second form. Meta prefilled question types (EMAIL, PHONE, FULL_NAME, …) must omit label/key; CUSTOM questions require both. LinkedIn exposes only free-text and multiple-choice questions via API (prefilled-from-profile fields are Campaign Manager UI-only). Requires the Ads add-on.
|
|
12367
12719
|
*
|
|
12368
12720
|
*/
|
|
12369
12721
|
export const createLeadForm = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<CreateLeadFormData, ThrowOnError>) => {
|
|
@@ -12375,6 +12727,8 @@ export const createLeadForm = <ThrowOnError extends boolean = false>(options: Op
|
|
|
12375
12727
|
|
|
12376
12728
|
/**
|
|
12377
12729
|
* Get a lead form
|
|
12730
|
+
* Shows a lead form in full, including its questions and thank-you page.
|
|
12731
|
+
*
|
|
12378
12732
|
* Returns the full form, including the thank-you page, so a form can be diffed against what was created. Meta forms are scoped to the Page the accountId manages: a form on any other Page is a 404, never a read.
|
|
12379
12733
|
*
|
|
12380
12734
|
*/
|
|
@@ -12387,7 +12741,10 @@ export const getLeadForm = <ThrowOnError extends boolean = false>(options: Optio
|
|
|
12387
12741
|
|
|
12388
12742
|
/**
|
|
12389
12743
|
* Archive a lead form
|
|
12744
|
+
* Archives a lead form so it can no longer be used (neither Meta nor LinkedIn allows deleting one).
|
|
12745
|
+
*
|
|
12390
12746
|
* Neither platform hard-deletes a form; this archives it (Meta status=ARCHIVED; LinkedIn state=ARCHIVED via PARTIAL_UPDATE). Meta forms must belong to the Page the accountId manages.
|
|
12747
|
+
*
|
|
12391
12748
|
*/
|
|
12392
12749
|
export const archiveLeadForm = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ArchiveLeadFormData, ThrowOnError>) => {
|
|
12393
12750
|
return (options?.client ?? client).delete<ArchiveLeadFormResponse, ArchiveLeadFormError, ThrowOnError>({
|
|
@@ -12398,7 +12755,9 @@ export const archiveLeadForm = <ThrowOnError extends boolean = false>(options: O
|
|
|
12398
12755
|
|
|
12399
12756
|
/**
|
|
12400
12757
|
* List leads for a single form
|
|
12401
|
-
*
|
|
12758
|
+
* Lists the leads submitted through one Meta lead form.
|
|
12759
|
+
*
|
|
12760
|
+
* Serves persisted leads (ingested via the leadgen webhook) when available, falling back to a live Graph read. Accepts a Facebook account or a metaads business-login account with leads_retrieval access to the form; the latter uses its system-user token without a posting parent.
|
|
12402
12761
|
*
|
|
12403
12762
|
*/
|
|
12404
12763
|
export const listFormLeads = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ListFormLeadsData, ThrowOnError>) => {
|
|
@@ -12410,6 +12769,8 @@ export const listFormLeads = <ThrowOnError extends boolean = false>(options: Opt
|
|
|
12410
12769
|
|
|
12411
12770
|
/**
|
|
12412
12771
|
* Create a test lead
|
|
12772
|
+
* Submits a test lead to a Meta lead form so you can check your lead retrieval without running ads.
|
|
12773
|
+
*
|
|
12413
12774
|
* Submits a test lead against the form (POST /{form-id}/test_leads) to exercise retrieval without waiting for real ad impressions. Meta allows one test lead per form at a time.
|
|
12414
12775
|
*
|
|
12415
12776
|
*/
|
|
@@ -12422,6 +12783,8 @@ export const createTestLead = <ThrowOnError extends boolean = false>(options: Op
|
|
|
12422
12783
|
|
|
12423
12784
|
/**
|
|
12424
12785
|
* Delete a test lead
|
|
12786
|
+
* Deletes the test lead on a Meta lead form so you can submit a new one (Meta allows only one at a time).
|
|
12787
|
+
*
|
|
12425
12788
|
* Removes a test lead created for the form (DELETE /{leadgen_id}), so a new one can be submitted: Meta keeps one test lead per form and refuses a second until the first is gone. The same test lead appears in Meta's Lead Ads Testing Tool. Meta only deletes test leads; a real lead is refused.
|
|
12426
12789
|
*
|
|
12427
12790
|
*/
|
|
@@ -12434,10 +12797,12 @@ export const deleteTestLead = <ThrowOnError extends boolean = false>(options: Op
|
|
|
12434
12797
|
|
|
12435
12798
|
/**
|
|
12436
12799
|
* Upload an ad image from base64
|
|
12437
|
-
* Uploads
|
|
12438
|
-
*
|
|
12800
|
+
* Uploads an image file to a Meta ad account's library, for creatives that are not hosted at a public URL.
|
|
12801
|
+
*
|
|
12802
|
+
* Returns the image `hash` (Meta's identifier for
|
|
12439
12803
|
* the asset) and the Meta-hosted `url`, which can be used directly as `imageUrl` on the
|
|
12440
12804
|
* create endpoints. Max 30 MB decoded.
|
|
12805
|
+
*
|
|
12441
12806
|
*/
|
|
12442
12807
|
export const uploadAdImage = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<UploadAdImageData, ThrowOnError>) => {
|
|
12443
12808
|
return (options?.client ?? client).post<UploadAdImageResponse, UploadAdImageError, ThrowOnError>({
|
|
@@ -12448,6 +12813,8 @@ export const uploadAdImage = <ThrowOnError extends boolean = false>(options: Opt
|
|
|
12448
12813
|
|
|
12449
12814
|
/**
|
|
12450
12815
|
* Ad image library
|
|
12816
|
+
* Lists the images in a Meta ad account's library so you can reuse one in a creative.
|
|
12817
|
+
*
|
|
12451
12818
|
* Lists the ad account's image library (Meta's `/act_X/adimages`), rows returned verbatim.
|
|
12452
12819
|
* The default projection covers hash, url, name, dimensions and status; `fields` is a
|
|
12453
12820
|
* raw-passthrough override. Any `hash` here is reusable wherever Meta accepts
|
|
@@ -12462,6 +12829,8 @@ export const listAdImages = <ThrowOnError extends boolean = false>(options: Opti
|
|
|
12462
12829
|
|
|
12463
12830
|
/**
|
|
12464
12831
|
* Upload an ad video
|
|
12832
|
+
* Uploads a video to a Meta ad account from a URL or file, so you can preview it or use it in ads before any ad exists.
|
|
12833
|
+
*
|
|
12465
12834
|
* Standalone ad-video upload (parallel to POST /v1/ads/images), so a video creative can
|
|
12466
12835
|
* be rendered via POST /v1/ads/preview or attached via `video.id` on POST /v1/ads/create
|
|
12467
12836
|
* before an ad exists.
|
|
@@ -12491,6 +12860,8 @@ export const uploadAdVideo = <ThrowOnError extends boolean = false>(options: Opt
|
|
|
12491
12860
|
|
|
12492
12861
|
/**
|
|
12493
12862
|
* Ad video library
|
|
12863
|
+
* Lists the videos in a Meta ad account's library, including ones uploaded elsewhere, so you can reuse one across ads.
|
|
12864
|
+
*
|
|
12494
12865
|
* Lists the ad account's video library (Meta's `/act_X/advideos`), rows returned verbatim.
|
|
12495
12866
|
* The default projection covers id, title, status, poster frames, length and `source` (the
|
|
12496
12867
|
* playable MP4); `fields` is a raw-passthrough override. Any `id` here is reusable as
|
|
@@ -12516,6 +12887,8 @@ export const listAdVideos = <ThrowOnError extends boolean = false>(options: Opti
|
|
|
12516
12887
|
|
|
12517
12888
|
/**
|
|
12518
12889
|
* Get ad video processing status
|
|
12890
|
+
* Checks whether an uploaded Meta ad video has finished processing and is ready to use in an ad.
|
|
12891
|
+
*
|
|
12519
12892
|
* Reads a video's processing state live from Meta (`GET /{video-id}?fields=status`).
|
|
12520
12893
|
* Poll this after `POST /v1/ads/videos` with `async: true` until `status` is `ready`;
|
|
12521
12894
|
* the video is only usable as `video.id` on the create endpoints from then on.
|
|
@@ -12534,12 +12907,15 @@ export const getAdVideoStatus = <ThrowOnError extends boolean = false>(options:
|
|
|
12534
12907
|
|
|
12535
12908
|
/**
|
|
12536
12909
|
* Delete an ad video
|
|
12537
|
-
* Removes a video from
|
|
12910
|
+
* Removes a video from a Meta ad account's video library.
|
|
12911
|
+
*
|
|
12912
|
+
* Meta's canonical
|
|
12538
12913
|
* `DELETE /{video_id}` fails with code 10 / subcode 1363055 for videos uploaded via
|
|
12539
12914
|
* `/act_X/advideos` even with `ads_management`; this endpoint uses the working
|
|
12540
12915
|
* account-scoped shape `DELETE /act_X/advideos?video_id=<id>` and returns Meta's
|
|
12541
12916
|
* `{success: true}` verbatim. Deleting a video that lives in a different ad account,
|
|
12542
12917
|
* or that Meta has already removed, returns Meta's error verbatim as a 4xx.
|
|
12918
|
+
*
|
|
12543
12919
|
*/
|
|
12544
12920
|
export const deleteAdVideo = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<DeleteAdVideoData, ThrowOnError>) => {
|
|
12545
12921
|
return (options?.client ?? client).delete<DeleteAdVideoResponse, DeleteAdVideoError, ThrowOnError>({
|
|
@@ -12566,6 +12942,8 @@ export const searchAdInterests = <ThrowOnError extends boolean = false>(options:
|
|
|
12566
12942
|
|
|
12567
12943
|
/**
|
|
12568
12944
|
* Search targeting options
|
|
12945
|
+
* Finds targeting options by name, such as locations, interests or behaviors, and returns the ids to use in ad targeting.
|
|
12946
|
+
*
|
|
12569
12947
|
* Resolve a human-readable query into the platform's opaque targeting ids used in
|
|
12570
12948
|
* the `TargetingSpec` (`countries`/`regions`/`cities`/`zips`/`metros` geo keys, and
|
|
12571
12949
|
* `interests`/`behaviors` entity ids) on `POST /v1/ads/create`,
|
|
@@ -12695,6 +13073,8 @@ export const searchAdTargeting = <ThrowOnError extends boolean = false>(options:
|
|
|
12695
13073
|
|
|
12696
13074
|
/**
|
|
12697
13075
|
* Browse targeting categories
|
|
13076
|
+
* Shows Meta's full tree of detailed targeting categories for an ad account, so you can browse options without a keyword.
|
|
13077
|
+
*
|
|
12698
13078
|
* The whole Meta detailed-targeting category tree of one ad account (Meta's
|
|
12699
13079
|
* `GET /act_{ad_account_id}/targetingbrowse`), as one flat list you can render as a
|
|
12700
13080
|
* tree. Use it to show what can be targeted without a keyword; use
|
|
@@ -12743,7 +13123,9 @@ export const browseAdTargeting = <ThrowOnError extends boolean = false>(options:
|
|
|
12743
13123
|
|
|
12744
13124
|
/**
|
|
12745
13125
|
* Search the public Ad Library
|
|
12746
|
-
*
|
|
13126
|
+
* Searches Meta's or LinkedIn's public Ad Library to see what ads other advertisers run, for competitor and market research.
|
|
13127
|
+
*
|
|
13128
|
+
* Meta's Ad Library
|
|
12747
13129
|
* (`GET /ads_archive`) is searched with Zernio's own developer access, so `platform=meta` needs
|
|
12748
13130
|
* no connected account at all. LinkedIn's Ad Library (`GET /rest/adLibrary`) runs on a connected
|
|
12749
13131
|
* `linkedin` / `linkedinads` account, passed as `accountId`. Passing a Meta account as `accountId`
|
|
@@ -12764,6 +13146,7 @@ export const browseAdTargeting = <ThrowOnError extends boolean = false>(options:
|
|
|
12764
13146
|
* `platforms`, `mediaType`, `languages`, `searchType`, `fields`, `since`, `until` are Meta-only;
|
|
12765
13147
|
* `advertiser` is LinkedIn-only. Passing a param the account's platform does not support is a 400
|
|
12766
13148
|
* naming the param.
|
|
13149
|
+
*
|
|
12767
13150
|
*/
|
|
12768
13151
|
export const searchAdLibrary = <ThrowOnError extends boolean = false>(options?: OptionsLegacyParser<SearchAdLibraryData, ThrowOnError>) => {
|
|
12769
13152
|
return (options?.client ?? client).get<SearchAdLibraryResponse, SearchAdLibraryError, ThrowOnError>({
|
|
@@ -12774,6 +13157,8 @@ export const searchAdLibrary = <ThrowOnError extends boolean = false>(options?:
|
|
|
12774
13157
|
|
|
12775
13158
|
/**
|
|
12776
13159
|
* Estimate audience reach
|
|
13160
|
+
* Estimates how many people a targeting setup would reach before you create a campaign.
|
|
13161
|
+
*
|
|
12777
13162
|
* Returns a normalized pre-flight audience-size estimate for a targeting spec,
|
|
12778
13163
|
* before any campaign is created. Backed by each platform's native reach API
|
|
12779
13164
|
* (Meta `delivery_estimate`, LinkedIn `audienceCounts`, X `audience_summary`,
|
|
@@ -12834,7 +13219,10 @@ export const getLinkedInSupplyForecast = <ThrowOnError extends boolean = false>(
|
|
|
12834
13219
|
|
|
12835
13220
|
/**
|
|
12836
13221
|
* List Meta product catalogs
|
|
12837
|
-
* Lists the Meta
|
|
13222
|
+
* Lists the Meta product catalogs a business portfolio owns or has been shared, for catalog and shopping ads.
|
|
13223
|
+
*
|
|
13224
|
+
* The business comes from `businessId`, else the ad account's owner (`adAccountId`), else the WhatsApp Business Account's owner when `accountId` is a WhatsApp connection, else the only business the Meta login can see. Reads work with scopes customers already granted.
|
|
13225
|
+
*
|
|
12838
13226
|
*/
|
|
12839
13227
|
export const listAdCatalogs = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ListAdCatalogsData, ThrowOnError>) => {
|
|
12840
13228
|
return (options?.client ?? client).get<ListAdCatalogsResponse, ListAdCatalogsError, ThrowOnError>({
|
|
@@ -12845,7 +13233,10 @@ export const listAdCatalogs = <ThrowOnError extends boolean = false>(options: Op
|
|
|
12845
13233
|
|
|
12846
13234
|
/**
|
|
12847
13235
|
* Create a Meta product catalog
|
|
13236
|
+
* Creates a Meta product catalog that can power catalog ads, Instagram and Facebook Shops, and a WhatsApp Business catalog.
|
|
13237
|
+
*
|
|
12848
13238
|
* Creates a Meta Commerce catalog in the business portfolio (resolved like GET). The same catalog serves Advantage+ catalog ads, Instagram/Facebook Shops and the WhatsApp Business catalog: link it to a WhatsApp number with POST /v1/whatsapp/catalogs. Needs catalog_management on the Meta login.
|
|
13239
|
+
*
|
|
12849
13240
|
*/
|
|
12850
13241
|
export const createAdCatalog = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<CreateAdCatalogData, ThrowOnError>) => {
|
|
12851
13242
|
return (options?.client ?? client).post<CreateAdCatalogResponse, CreateAdCatalogError, ThrowOnError>({
|
|
@@ -12856,6 +13247,8 @@ export const createAdCatalog = <ThrowOnError extends boolean = false>(options: O
|
|
|
12856
13247
|
|
|
12857
13248
|
/**
|
|
12858
13249
|
* Get a product catalog
|
|
13250
|
+
* Shows one Meta product catalog and its details.
|
|
13251
|
+
*
|
|
12859
13252
|
*/
|
|
12860
13253
|
export const getAdCatalog = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<GetAdCatalogData, ThrowOnError>) => {
|
|
12861
13254
|
return (options?.client ?? client).get<GetAdCatalogResponse, GetAdCatalogError, ThrowOnError>({
|
|
@@ -12866,7 +13259,10 @@ export const getAdCatalog = <ThrowOnError extends boolean = false>(options: Opti
|
|
|
12866
13259
|
|
|
12867
13260
|
/**
|
|
12868
13261
|
* Delete a product catalog
|
|
12869
|
-
* Deletes
|
|
13262
|
+
* Deletes a Meta product catalog and all its products, removing it from any ads or WhatsApp numbers that use it.
|
|
13263
|
+
*
|
|
13264
|
+
* Ads and WhatsApp numbers that use it lose their catalog.
|
|
13265
|
+
*
|
|
12870
13266
|
*/
|
|
12871
13267
|
export const deleteAdCatalog = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<DeleteAdCatalogData, ThrowOnError>) => {
|
|
12872
13268
|
return (options?.client ?? client).delete<DeleteAdCatalogResponse, DeleteAdCatalogError, ThrowOnError>({
|
|
@@ -12877,7 +13273,10 @@ export const deleteAdCatalog = <ThrowOnError extends boolean = false>(options: O
|
|
|
12877
13273
|
|
|
12878
13274
|
/**
|
|
12879
13275
|
* List a catalog's products
|
|
12880
|
-
*
|
|
13276
|
+
* Lists the products in a Meta catalog, or looks one up by your own SKU.
|
|
13277
|
+
*
|
|
13278
|
+
* Filter by your own `retailerId` to look one up. `price` and `salePrice` come back formatted by Meta (for example "€49.90").
|
|
13279
|
+
*
|
|
12881
13280
|
*/
|
|
12882
13281
|
export const listAdCatalogProducts = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ListAdCatalogProductsData, ThrowOnError>) => {
|
|
12883
13282
|
return (options?.client ?? client).get<ListAdCatalogProductsResponse, ListAdCatalogProductsError, ThrowOnError>({
|
|
@@ -12888,7 +13287,10 @@ export const listAdCatalogProducts = <ThrowOnError extends boolean = false>(opti
|
|
|
12888
13287
|
|
|
12889
13288
|
/**
|
|
12890
13289
|
* Add a product to a catalog
|
|
12891
|
-
* Adds
|
|
13290
|
+
* Adds a single product to a Meta catalog, keyed by your own SKU for later lookups and updates.
|
|
13291
|
+
*
|
|
13292
|
+
* `retailerId` is your SKU and stays the handle for later lookups and batch updates. For many products at once use POST /v1/ads/catalogs/{catalogId}/products/batch. Needs catalog_management on the Meta login.
|
|
13293
|
+
*
|
|
12892
13294
|
*/
|
|
12893
13295
|
export const createAdCatalogProduct = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<CreateAdCatalogProductData, ThrowOnError>) => {
|
|
12894
13296
|
return (options?.client ?? client).post<CreateAdCatalogProductResponse, CreateAdCatalogProductError, ThrowOnError>({
|
|
@@ -12899,7 +13301,10 @@ export const createAdCatalogProduct = <ThrowOnError extends boolean = false>(opt
|
|
|
12899
13301
|
|
|
12900
13302
|
/**
|
|
12901
13303
|
* Create, update or delete products in bulk
|
|
13304
|
+
* Creates, updates or deletes up to 5,000 catalog products in one request, processed in the background by Meta.
|
|
13305
|
+
*
|
|
12902
13306
|
* Up to 5000 CREATE / UPDATE / DELETE requests keyed by `retailerId`, processed asynchronously by Meta. Returns handles; poll GET /v1/ads/catalogs/{catalogId}/batches/{handle} for the outcome and per-item errors. CREATE requests need name, url, imageUrl, price and currency.
|
|
13307
|
+
*
|
|
12903
13308
|
*/
|
|
12904
13309
|
export const batchAdCatalogProducts = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<BatchAdCatalogProductsData, ThrowOnError>) => {
|
|
12905
13310
|
return (options?.client ?? client).post<BatchAdCatalogProductsResponse, BatchAdCatalogProductsError, ThrowOnError>({
|
|
@@ -12910,6 +13315,8 @@ export const batchAdCatalogProducts = <ThrowOnError extends boolean = false>(opt
|
|
|
12910
13315
|
|
|
12911
13316
|
/**
|
|
12912
13317
|
* Get a bulk request's status
|
|
13318
|
+
* Shows whether a bulk catalog product request has finished, with any per-product errors.
|
|
13319
|
+
*
|
|
12913
13320
|
*/
|
|
12914
13321
|
export const getAdCatalogBatch = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<GetAdCatalogBatchData, ThrowOnError>) => {
|
|
12915
13322
|
return (options?.client ?? client).get<GetAdCatalogBatchResponse, GetAdCatalogBatchError, ThrowOnError>({
|
|
@@ -12920,6 +13327,8 @@ export const getAdCatalogBatch = <ThrowOnError extends boolean = false>(options:
|
|
|
12920
13327
|
|
|
12921
13328
|
/**
|
|
12922
13329
|
* Get a product
|
|
13330
|
+
* Shows one product from a Meta catalog.
|
|
13331
|
+
*
|
|
12923
13332
|
*/
|
|
12924
13333
|
export const getAdCatalogProduct = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<GetAdCatalogProductData, ThrowOnError>) => {
|
|
12925
13334
|
return (options?.client ?? client).get<GetAdCatalogProductResponse, GetAdCatalogProductError, ThrowOnError>({
|
|
@@ -12930,7 +13339,10 @@ export const getAdCatalogProduct = <ThrowOnError extends boolean = false>(option
|
|
|
12930
13339
|
|
|
12931
13340
|
/**
|
|
12932
13341
|
* Update a product
|
|
12933
|
-
*
|
|
13342
|
+
* Changes some fields of a catalog product, such as its price or image, leaving the rest as they are.
|
|
13343
|
+
*
|
|
13344
|
+
* `retailerId` cannot change.
|
|
13345
|
+
*
|
|
12934
13346
|
*/
|
|
12935
13347
|
export const updateAdCatalogProduct = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<UpdateAdCatalogProductData, ThrowOnError>) => {
|
|
12936
13348
|
return (options?.client ?? client).put<UpdateAdCatalogProductResponse, UpdateAdCatalogProductError, ThrowOnError>({
|
|
@@ -12941,6 +13353,8 @@ export const updateAdCatalogProduct = <ThrowOnError extends boolean = false>(opt
|
|
|
12941
13353
|
|
|
12942
13354
|
/**
|
|
12943
13355
|
* Delete a product
|
|
13356
|
+
* Removes one product from a Meta catalog.
|
|
13357
|
+
*
|
|
12944
13358
|
*/
|
|
12945
13359
|
export const deleteAdCatalogProduct = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<DeleteAdCatalogProductData, ThrowOnError>) => {
|
|
12946
13360
|
return (options?.client ?? client).delete<DeleteAdCatalogProductResponse, DeleteAdCatalogProductError, ThrowOnError>({
|
|
@@ -12951,6 +13365,8 @@ export const deleteAdCatalogProduct = <ThrowOnError extends boolean = false>(opt
|
|
|
12951
13365
|
|
|
12952
13366
|
/**
|
|
12953
13367
|
* List a catalog's product feeds
|
|
13368
|
+
* Lists the product feeds that keep a Meta catalog filled from your product files.
|
|
13369
|
+
*
|
|
12954
13370
|
*/
|
|
12955
13371
|
export const listAdCatalogFeeds = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ListAdCatalogFeedsData, ThrowOnError>) => {
|
|
12956
13372
|
return (options?.client ?? client).get<ListAdCatalogFeedsResponse, ListAdCatalogFeedsError, ThrowOnError>({
|
|
@@ -12961,7 +13377,10 @@ export const listAdCatalogFeeds = <ThrowOnError extends boolean = false>(options
|
|
|
12961
13377
|
|
|
12962
13378
|
/**
|
|
12963
13379
|
* Create a product feed
|
|
13380
|
+
* Creates a product feed that imports a CSV, TSV or XML product file into a Meta catalog, on a schedule or on demand.
|
|
13381
|
+
*
|
|
12964
13382
|
* A feed pulls a CSV/TSV/XML product file from a URL. With `schedule` Meta fetches it on a cadence; without it, trigger fetches with POST /v1/ads/catalogs/{catalogId}/feeds/{feedId}/uploads.
|
|
13383
|
+
*
|
|
12965
13384
|
*/
|
|
12966
13385
|
export const createAdCatalogFeed = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<CreateAdCatalogFeedData, ThrowOnError>) => {
|
|
12967
13386
|
return (options?.client ?? client).post<CreateAdCatalogFeedResponse, CreateAdCatalogFeedError, ThrowOnError>({
|
|
@@ -12972,6 +13391,8 @@ export const createAdCatalogFeed = <ThrowOnError extends boolean = false>(option
|
|
|
12972
13391
|
|
|
12973
13392
|
/**
|
|
12974
13393
|
* List a feed's uploads
|
|
13394
|
+
* Lists a product feed's past file imports so you can check how each one went.
|
|
13395
|
+
*
|
|
12975
13396
|
*/
|
|
12976
13397
|
export const listAdCatalogFeedUploads = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ListAdCatalogFeedUploadsData, ThrowOnError>) => {
|
|
12977
13398
|
return (options?.client ?? client).get<ListAdCatalogFeedUploadsResponse, ListAdCatalogFeedUploadsError, ThrowOnError>({
|
|
@@ -12982,7 +13403,10 @@ export const listAdCatalogFeedUploads = <ThrowOnError extends boolean = false>(o
|
|
|
12982
13403
|
|
|
12983
13404
|
/**
|
|
12984
13405
|
* Fetch a feed file now
|
|
13406
|
+
* Asks Meta to import a product file into a feed right away instead of waiting for its schedule.
|
|
13407
|
+
*
|
|
12985
13408
|
* Asks Meta to fetch the product file at `url` into the feed. Processing is asynchronous: read the outcome with GET uploads.
|
|
13409
|
+
*
|
|
12986
13410
|
*/
|
|
12987
13411
|
export const createAdCatalogFeedUpload = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<CreateAdCatalogFeedUploadData, ThrowOnError>) => {
|
|
12988
13412
|
return (options?.client ?? client).post<CreateAdCatalogFeedUploadResponse, CreateAdCatalogFeedUploadError, ThrowOnError>({
|
|
@@ -12993,7 +13417,10 @@ export const createAdCatalogFeedUpload = <ThrowOnError extends boolean = false>(
|
|
|
12993
13417
|
|
|
12994
13418
|
/**
|
|
12995
13419
|
* List a catalog's product sets
|
|
12996
|
-
* Lists a Meta
|
|
13420
|
+
* Lists a Meta catalog's product sets, the groups of products a catalog ad promotes.
|
|
13421
|
+
*
|
|
13422
|
+
* Pass the chosen set id, not the parent catalog id, as `promotedObject.productSetId` on POST /v1/ads/create with `goal: catalog_sales`.
|
|
13423
|
+
*
|
|
12997
13424
|
*/
|
|
12998
13425
|
export const listAdCatalogProductSets = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ListAdCatalogProductSetsData, ThrowOnError>) => {
|
|
12999
13426
|
return (options?.client ?? client).get<ListAdCatalogProductSetsResponse, ListAdCatalogProductSetsError, ThrowOnError>({
|
|
@@ -13004,7 +13431,10 @@ export const listAdCatalogProductSets = <ThrowOnError extends boolean = false>(o
|
|
|
13004
13431
|
|
|
13005
13432
|
/**
|
|
13006
13433
|
* Create a product set
|
|
13434
|
+
* Creates a product set, a filtered group of catalog products (by SKU, brand and so on) to promote in catalog ads.
|
|
13435
|
+
*
|
|
13007
13436
|
* A product set is a filter over the catalog, e.g. `{"retailer_id": {"is_any": ["sku-1", "sku-2"]}}` or `{"brand": {"i_contains": "acme"}}` (Meta's product set filter syntax).
|
|
13437
|
+
*
|
|
13008
13438
|
*/
|
|
13009
13439
|
export const createAdCatalogProductSet = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<CreateAdCatalogProductSetData, ThrowOnError>) => {
|
|
13010
13440
|
return (options?.client ?? client).post<CreateAdCatalogProductSetResponse, CreateAdCatalogProductSetError, ThrowOnError>({
|
|
@@ -13015,6 +13445,8 @@ export const createAdCatalogProductSet = <ThrowOnError extends boolean = false>(
|
|
|
13015
13445
|
|
|
13016
13446
|
/**
|
|
13017
13447
|
* Update a product set
|
|
13448
|
+
* Changes a product set's name or the filter that decides which products it includes.
|
|
13449
|
+
*
|
|
13018
13450
|
*/
|
|
13019
13451
|
export const updateAdCatalogProductSet = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<UpdateAdCatalogProductSetData, ThrowOnError>) => {
|
|
13020
13452
|
return (options?.client ?? client).put<UpdateAdCatalogProductSetResponse, UpdateAdCatalogProductSetError, ThrowOnError>({
|
|
@@ -13025,6 +13457,8 @@ export const updateAdCatalogProductSet = <ThrowOnError extends boolean = false>(
|
|
|
13025
13457
|
|
|
13026
13458
|
/**
|
|
13027
13459
|
* Delete a product set
|
|
13460
|
+
* Deletes a product set from a Meta catalog.
|
|
13461
|
+
*
|
|
13028
13462
|
*/
|
|
13029
13463
|
export const deleteAdCatalogProductSet = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<DeleteAdCatalogProductSetData, ThrowOnError>) => {
|
|
13030
13464
|
return (options?.client ?? client).delete<DeleteAdCatalogProductSetResponse, DeleteAdCatalogProductSetError, ThrowOnError>({
|
|
@@ -13035,7 +13469,10 @@ export const deleteAdCatalogProductSet = <ThrowOnError extends boolean = false>(
|
|
|
13035
13469
|
|
|
13036
13470
|
/**
|
|
13037
13471
|
* List custom audiences
|
|
13038
|
-
*
|
|
13472
|
+
* Lists the custom audiences in an ad account so you can reuse them for targeting.
|
|
13473
|
+
*
|
|
13474
|
+
* Supports Meta, Google, TikTok, Pinterest, LinkedIn, and X.
|
|
13475
|
+
*
|
|
13039
13476
|
*/
|
|
13040
13477
|
export const listAdAudiences = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ListAdAudiencesData, ThrowOnError>) => {
|
|
13041
13478
|
return (options?.client ?? client).get<ListAdAudiencesResponse, ListAdAudiencesError, ThrowOnError>({
|
|
@@ -13046,7 +13483,9 @@ export const listAdAudiences = <ThrowOnError extends boolean = false>(options: O
|
|
|
13046
13483
|
|
|
13047
13484
|
/**
|
|
13048
13485
|
* Create custom audience
|
|
13049
|
-
*
|
|
13486
|
+
* Creates a custom audience from a customer list, website visitors, a lookalike, or people who engaged with your content.
|
|
13487
|
+
*
|
|
13488
|
+
* `customer_list` is supported on Meta, Google, X, LinkedIn, TikTok, and Pinterest.
|
|
13050
13489
|
* `website` (pixel/tag visitors) and `lookalike` are supported on Meta, TikTok, Pinterest and Google.
|
|
13051
13490
|
* `meta_engagement` is Meta-only, `tiktok_engagement` TikTok-only, `pinterest_engagement` Pinterest-only;
|
|
13052
13491
|
* `company_list`, `engagement` and `website_retargeting` are LinkedIn-only. A type sent to a platform
|
|
@@ -13094,7 +13533,10 @@ export const createAdAudience = <ThrowOnError extends boolean = false>(options:
|
|
|
13094
13533
|
|
|
13095
13534
|
/**
|
|
13096
13535
|
* Get audience details
|
|
13536
|
+
* Shows a custom audience's details, including its latest data from the ad platform when available.
|
|
13537
|
+
*
|
|
13097
13538
|
* Returns the local audience record and fresh data from Meta (if available).
|
|
13539
|
+
*
|
|
13098
13540
|
*/
|
|
13099
13541
|
export const getAdAudience = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<GetAdAudienceData, ThrowOnError>) => {
|
|
13100
13542
|
return (options?.client ?? client).get<GetAdAudienceResponse, GetAdAudienceError, ThrowOnError>({
|
|
@@ -13105,7 +13547,9 @@ export const getAdAudience = <ThrowOnError extends boolean = false>(options: Opt
|
|
|
13105
13547
|
|
|
13106
13548
|
/**
|
|
13107
13549
|
* Update an audience
|
|
13108
|
-
*
|
|
13550
|
+
* Renames or redescribes an audience, or replaces a saved targeting audience's rules; platform audience rules cannot change.
|
|
13551
|
+
*
|
|
13552
|
+
* `saved_targeting` audiences accept `name`, `description`, and `spec`
|
|
13109
13553
|
* (full replacement, no merge, Zernio-only, no platform call). Platform audiences
|
|
13110
13554
|
* (uploaded/website/lookalike) accept `name` and `description` only, updated on the
|
|
13111
13555
|
* platform first and then mirrored locally; their rules are immutable, so `spec` returns
|
|
@@ -13123,6 +13567,8 @@ export const updateAdAudience = <ThrowOnError extends boolean = false>(options:
|
|
|
13123
13567
|
|
|
13124
13568
|
/**
|
|
13125
13569
|
* Delete custom audience
|
|
13570
|
+
* Removes a custom audience from its ad platform (archiving it where the platform does not delete).
|
|
13571
|
+
*
|
|
13126
13572
|
* Removes the audience on its ad platform, then deletes the Zernio record. Meta, Google, TikTok,
|
|
13127
13573
|
* LinkedIn list and engagement segments, and X are deleted; Pinterest audiences and LinkedIn
|
|
13128
13574
|
* `website_retargeting` segments are archived, which is how those platforms remove them.
|
|
@@ -13142,7 +13588,9 @@ export const deleteAdAudience = <ThrowOnError extends boolean = false>(options:
|
|
|
13142
13588
|
|
|
13143
13589
|
/**
|
|
13144
13590
|
* Add users to audience
|
|
13145
|
-
*
|
|
13591
|
+
* Uploads customer emails (and phone numbers on Meta) to a customer list audience, hashed before they are sent.
|
|
13592
|
+
*
|
|
13593
|
+
* Data is SHA256-hashed server-side before sending to the platform.
|
|
13146
13594
|
* Email is used on every platform; phone is used on Meta only (other platforms ignore it). On TikTok and Pinterest,
|
|
13147
13595
|
* the first upload also provisions the audience (deferred create). LinkedIn uploads are full-replace. Max 10,000 users per request.
|
|
13148
13596
|
*
|
|
@@ -13190,6 +13638,8 @@ export const replaceAdAudienceCompanies = <ThrowOnError extends boolean = false>
|
|
|
13190
13638
|
|
|
13191
13639
|
/**
|
|
13192
13640
|
* Get Event Match Quality
|
|
13641
|
+
* Shows how well your server-side conversion events match users, with event match quality and coverage for Meta or Pinterest.
|
|
13642
|
+
*
|
|
13193
13643
|
* Reads Meta Event Match Quality (EMQ) and pixel↔CAPI event coverage for a
|
|
13194
13644
|
* pixel/dataset, live from Meta's Dataset Quality API. Web events only (a
|
|
13195
13645
|
* Meta limitation). Other platforms return 405, except Pinterest. Requires the Ads add-on.
|
|
@@ -13209,6 +13659,8 @@ export const getConversionsQuality = <ThrowOnError extends boolean = false>(opti
|
|
|
13209
13659
|
|
|
13210
13660
|
/**
|
|
13211
13661
|
* Send conversion events
|
|
13662
|
+
* Sends conversion events, such as purchases or leads, from your server to an ad platform so it can attribute and optimize ads.
|
|
13663
|
+
*
|
|
13212
13664
|
* Relay one or more conversion events to the target ad platform's native Conversions API.
|
|
13213
13665
|
* Platform is inferred from the provided `accountId`. Requires the Ads add-on.
|
|
13214
13666
|
*
|
|
@@ -13283,6 +13735,8 @@ export const sendConversions = <ThrowOnError extends boolean = false>(options: O
|
|
|
13283
13735
|
|
|
13284
13736
|
/**
|
|
13285
13737
|
* Adjust uploaded conversions
|
|
13738
|
+
* Retracts, restates the value of, or enhances conversions you already sent to Google Ads, for refunds or late customer data.
|
|
13739
|
+
*
|
|
13286
13740
|
* Adjust conversions that were previously uploaded via `POST /v1/ads/conversions`:
|
|
13287
13741
|
* retract them, restate their value, or enhance them with first-party data. Requires
|
|
13288
13742
|
* the Ads add-on.
|
|
@@ -13322,6 +13776,8 @@ export const adjustConversions = <ThrowOnError extends boolean = false>(options:
|
|
|
13322
13776
|
|
|
13323
13777
|
/**
|
|
13324
13778
|
* List conversion actions
|
|
13779
|
+
* Lists the conversion actions in a Google Ads account, with the website tag snippets to install where available.
|
|
13780
|
+
*
|
|
13325
13781
|
* Lists Google Ads conversion actions on the resolved customer, all types by
|
|
13326
13782
|
* default. Each action's `tagSnippets` (global site tag + event snippet) is
|
|
13327
13783
|
* included when Google has them for that action's type, e.g. `WEBPAGE`.
|
|
@@ -13346,6 +13802,8 @@ export const listConversionActions = <ThrowOnError extends boolean = false>(opti
|
|
|
13346
13802
|
|
|
13347
13803
|
/**
|
|
13348
13804
|
* Create website conversion action
|
|
13805
|
+
* Creates a Google Ads website conversion action and returns the tag snippets to install on your site.
|
|
13806
|
+
*
|
|
13349
13807
|
* Creates a `WEBPAGE` conversion action (category `DEFAULT`) and returns it with
|
|
13350
13808
|
* its tag snippets, read back after creation since Google never returns them on
|
|
13351
13809
|
* the create response itself. Invalidates the cached list `GET` on this resource
|
|
@@ -13362,6 +13820,8 @@ export const createConversionAction = <ThrowOnError extends boolean = false>(opt
|
|
|
13362
13820
|
|
|
13363
13821
|
/**
|
|
13364
13822
|
* List account conversion goals
|
|
13823
|
+
* Lists a Google Ads account's default conversion goals, which ones are used for bidding, and the conversion actions in each.
|
|
13824
|
+
*
|
|
13365
13825
|
* Google Ads account-default conversion goals (CustomerConversionGoal), one per
|
|
13366
13826
|
* category and origin, with `biddable` (whether the goal is used for bidding and
|
|
13367
13827
|
* reported in the Conversions column) and the conversion actions that belong to it,
|
|
@@ -13378,6 +13838,8 @@ export const listAdConversionGoals = <ThrowOnError extends boolean = false>(opti
|
|
|
13378
13838
|
|
|
13379
13839
|
/**
|
|
13380
13840
|
* Update account conversion goals
|
|
13841
|
+
* Turns bidding on or off for a Google Ads account's default conversion goals, which campaigns using account goals follow.
|
|
13842
|
+
*
|
|
13381
13843
|
* Sets `biddable` on one or more account-default goals, addressed by category and
|
|
13382
13844
|
* origin, in one mutate. Campaigns that use account-level goals
|
|
13383
13845
|
* (`goalConfigLevel: CUSTOMER`) follow the change. Returns the re-read goal list.
|
|
@@ -13391,6 +13853,8 @@ export const updateAdConversionGoals = <ThrowOnError extends boolean = false>(op
|
|
|
13391
13853
|
|
|
13392
13854
|
/**
|
|
13393
13855
|
* Update a conversion action's settings
|
|
13856
|
+
* Changes a Google Ads conversion action's settings, such as primary or secondary, counting, value and lookback windows, or removes or restores it.
|
|
13857
|
+
*
|
|
13394
13858
|
* Updates a Google Ads conversion action in one mutate, each field sent written on its own
|
|
13395
13859
|
* update mask leaf so omitted fields keep their value. Send at least one field.
|
|
13396
13860
|
*
|
|
@@ -13413,7 +13877,10 @@ export const updateConversionAction = <ThrowOnError extends boolean = false>(opt
|
|
|
13413
13877
|
|
|
13414
13878
|
/**
|
|
13415
13879
|
* List custom conversion goals
|
|
13880
|
+
* Lists the custom conversion goals in a Google Ads account, each a named set of conversion actions a campaign can bid on.
|
|
13881
|
+
*
|
|
13416
13882
|
* Google Ads custom conversion goals (a named set of conversion actions a campaign can bid on). Removed goals are excluded. Cached like the other Google reads.
|
|
13883
|
+
*
|
|
13417
13884
|
*/
|
|
13418
13885
|
export const listCustomConversionGoals = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ListCustomConversionGoalsData, ThrowOnError>) => {
|
|
13419
13886
|
return (options?.client ?? client).get<ListCustomConversionGoalsResponse, ListCustomConversionGoalsError, ThrowOnError>({
|
|
@@ -13424,7 +13891,10 @@ export const listCustomConversionGoals = <ThrowOnError extends boolean = false>(
|
|
|
13424
13891
|
|
|
13425
13892
|
/**
|
|
13426
13893
|
* Create a custom conversion goal
|
|
13894
|
+
* Creates a Google Ads custom conversion goal from a set of conversion actions, so a campaign can bid on just those.
|
|
13895
|
+
*
|
|
13427
13896
|
* Creates a custom conversion goal from conversion action ids. Point a campaign at it with `PATCH /v1/ads/campaigns/{campaignId}/conversion-goals`.
|
|
13897
|
+
*
|
|
13428
13898
|
*/
|
|
13429
13899
|
export const createCustomConversionGoal = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<CreateCustomConversionGoalData, ThrowOnError>) => {
|
|
13430
13900
|
return (options?.client ?? client).post<CreateCustomConversionGoalResponse, CreateCustomConversionGoalError, ThrowOnError>({
|
|
@@ -13435,7 +13905,10 @@ export const createCustomConversionGoal = <ThrowOnError extends boolean = false>
|
|
|
13435
13905
|
|
|
13436
13906
|
/**
|
|
13437
13907
|
* Update a custom conversion goal
|
|
13438
|
-
* Renames
|
|
13908
|
+
* Renames a Google Ads custom conversion goal or replaces the conversion actions in it.
|
|
13909
|
+
*
|
|
13910
|
+
* Returns the re-read goal.
|
|
13911
|
+
*
|
|
13439
13912
|
*/
|
|
13440
13913
|
export const updateCustomConversionGoal = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<UpdateCustomConversionGoalData, ThrowOnError>) => {
|
|
13441
13914
|
return (options?.client ?? client).patch<UpdateCustomConversionGoalResponse, UpdateCustomConversionGoalError, ThrowOnError>({
|
|
@@ -13446,7 +13919,10 @@ export const updateCustomConversionGoal = <ThrowOnError extends boolean = false>
|
|
|
13446
13919
|
|
|
13447
13920
|
/**
|
|
13448
13921
|
* Remove a custom conversion goal
|
|
13449
|
-
*
|
|
13922
|
+
* Deletes a Google Ads custom conversion goal; switch any campaigns using it to another goal first.
|
|
13923
|
+
*
|
|
13924
|
+
* Google refuses (400) while any campaign still uses it: switch those campaigns to another goal first.
|
|
13925
|
+
*
|
|
13450
13926
|
*/
|
|
13451
13927
|
export const removeCustomConversionGoal = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<RemoveCustomConversionGoalData, ThrowOnError>) => {
|
|
13452
13928
|
return (options?.client ?? client).delete<RemoveCustomConversionGoalResponse, RemoveCustomConversionGoalError, ThrowOnError>({
|
|
@@ -13457,6 +13933,8 @@ export const removeCustomConversionGoal = <ThrowOnError extends boolean = false>
|
|
|
13457
13933
|
|
|
13458
13934
|
/**
|
|
13459
13935
|
* Get campaign conversion goals
|
|
13936
|
+
* Shows which conversion goals a Google campaign bids on, and whether it follows the account defaults or uses its own or a custom goal.
|
|
13937
|
+
*
|
|
13460
13938
|
* A Google campaign's conversion goals (CampaignConversionGoal, `biddable` per category
|
|
13461
13939
|
* and origin) and its goal config (ConversionGoalCampaignConfig): `goalConfigLevel`
|
|
13462
13940
|
* CUSTOMER means the campaign follows the account-default goals, CAMPAIGN means it uses
|
|
@@ -13471,6 +13949,8 @@ export const getCampaignConversionGoals = <ThrowOnError extends boolean = false>
|
|
|
13471
13949
|
|
|
13472
13950
|
/**
|
|
13473
13951
|
* Update campaign conversion goals
|
|
13952
|
+
* Changes which conversions a Google campaign bids on, switching between account-default goals, its own goals or a custom goal.
|
|
13953
|
+
*
|
|
13474
13954
|
* Sets `biddable` on campaign goals, switches `goalConfigLevel`, and/or points the
|
|
13475
13955
|
* campaign at a custom conversion goal, in one mutate. `customConversionGoalId: null`
|
|
13476
13956
|
* clears it; Google refuses that (400) while the campaign stays at CAMPAIGN level with
|
|
@@ -13486,6 +13966,8 @@ export const updateCampaignConversionGoals = <ThrowOnError extends boolean = fal
|
|
|
13486
13966
|
|
|
13487
13967
|
/**
|
|
13488
13968
|
* List conversion destinations
|
|
13969
|
+
* Lists where an ad account can receive conversion events (pixels, conversion actions or rules), so you know where to send them.
|
|
13970
|
+
*
|
|
13489
13971
|
* Returns the list of pixels (Meta), conversion actions (Google),
|
|
13490
13972
|
* conversion rules (LinkedIn), pixels (OpenAI Ads) or ad accounts
|
|
13491
13973
|
* (Pinterest) accessible to the connected ads account. Use the returned `id` as `destinationId` when
|
|
@@ -13511,7 +13993,9 @@ export const listConversionDestinations = <ThrowOnError extends boolean = false>
|
|
|
13511
13993
|
|
|
13512
13994
|
/**
|
|
13513
13995
|
* Create a conversion destination
|
|
13514
|
-
*
|
|
13996
|
+
* Creates a new place to send conversion events: a Google Ads conversion action or a LinkedIn conversion rule.
|
|
13997
|
+
*
|
|
13998
|
+
* Supported for
|
|
13515
13999
|
* LinkedIn (conversion rule) and Google Ads (conversion action). Meta
|
|
13516
14000
|
* and OpenAI Ads pixels are created via their own tracking-tags flow
|
|
13517
14001
|
* instead (`POST /v1/accounts/{accountId}/tracking-tags`); this endpoint
|
|
@@ -13557,6 +14041,8 @@ export const createConversionDestination = <ThrowOnError extends boolean = false
|
|
|
13557
14041
|
|
|
13558
14042
|
/**
|
|
13559
14043
|
* Get a conversion destination
|
|
14044
|
+
* Shows one LinkedIn conversion rule with its full settings.
|
|
14045
|
+
*
|
|
13560
14046
|
* LinkedIn-only today. Returns the full destination record for one
|
|
13561
14047
|
* conversion rule. The `adAccountId` query parameter is required because
|
|
13562
14048
|
* LinkedIn rules are scoped to a sponsored ad account.
|
|
@@ -13571,6 +14057,8 @@ export const getConversionDestination = <ThrowOnError extends boolean = false>(o
|
|
|
13571
14057
|
|
|
13572
14058
|
/**
|
|
13573
14059
|
* Update a conversion destination
|
|
14060
|
+
* Changes a LinkedIn conversion rule's name, value, attribution windows, or turns it on or off.
|
|
14061
|
+
*
|
|
13574
14062
|
* Partial-update a conversion rule. LinkedIn-only today. Whitelisted
|
|
13575
14063
|
* fields: `name`, `enabled`, attribution windows, `valueType`, `value`,
|
|
13576
14064
|
* `attributionType`. The rule's `type` and parent ad account are
|
|
@@ -13587,6 +14075,8 @@ export const updateConversionDestination = <ThrowOnError extends boolean = false
|
|
|
13587
14075
|
|
|
13588
14076
|
/**
|
|
13589
14077
|
* Delete a conversion destination
|
|
14078
|
+
* Disables a LinkedIn conversion rule, which is how LinkedIn deletes it; the rule can still be read afterwards.
|
|
14079
|
+
*
|
|
13590
14080
|
* LinkedIn-only today. LinkedIn does not expose hard-delete on conversion
|
|
13591
14081
|
* rules; what their UI calls "delete" is the same `enabled: false` flip
|
|
13592
14082
|
* we apply here. The rule remains fetchable via GET with
|
|
@@ -13606,6 +14096,8 @@ export const deleteConversionDestination = <ThrowOnError extends boolean = false
|
|
|
13606
14096
|
|
|
13607
14097
|
/**
|
|
13608
14098
|
* List associated campaigns
|
|
14099
|
+
* Lists the LinkedIn campaigns that track a conversion rule, so you can spot newer campaigns that still need linking.
|
|
14100
|
+
*
|
|
13609
14101
|
* LinkedIn-only today. Returns the campaigns currently associated with
|
|
13610
14102
|
* this conversion rule. Auto-association on rule creation
|
|
13611
14103
|
* runs once at create time; campaigns created after the rule still need
|
|
@@ -13621,7 +14113,9 @@ export const listConversionAssociations = <ThrowOnError extends boolean = false>
|
|
|
13621
14113
|
|
|
13622
14114
|
/**
|
|
13623
14115
|
* Associate campaigns
|
|
13624
|
-
*
|
|
14116
|
+
* Links campaigns to a LinkedIn conversion rule so they track it, reporting which links succeeded or failed.
|
|
14117
|
+
*
|
|
14118
|
+
* Returns a
|
|
13625
14119
|
* per-campaign success/failure result so callers can retry only the
|
|
13626
14120
|
* rows that failed (e.g. wrong campaign type for the rule's objective).
|
|
13627
14121
|
*
|
|
@@ -13635,7 +14129,8 @@ export const addConversionAssociations = <ThrowOnError extends boolean = false>(
|
|
|
13635
14129
|
|
|
13636
14130
|
/**
|
|
13637
14131
|
* Remove associated campaigns
|
|
13638
|
-
*
|
|
14132
|
+
* Unlinks campaigns from a LinkedIn conversion rule so they stop tracking it.
|
|
14133
|
+
*
|
|
13639
14134
|
* Pass `adAccountId` and `campaignIds` as query parameters
|
|
13640
14135
|
* (`campaignIds` is comma-separated). The route also accepts a JSON
|
|
13641
14136
|
* body with the same fields for clients that prefer DELETE-with-body,
|
|
@@ -13653,6 +14148,8 @@ export const removeConversionAssociations = <ThrowOnError extends boolean = fals
|
|
|
13653
14148
|
|
|
13654
14149
|
/**
|
|
13655
14150
|
* Get attribution metrics
|
|
14151
|
+
* Shows a LinkedIn conversion rule's attributed conversions, value, leads and cost over time.
|
|
14152
|
+
*
|
|
13656
14153
|
* LinkedIn-only today. Returns conversion-attribution metrics
|
|
13657
14154
|
* (`externalWebsiteConversions`, `externalWebsitePostClickConversions`,
|
|
13658
14155
|
* `externalWebsitePostViewConversions`, `conversionValueInLocalCurrency`,
|
|
@@ -13739,6 +14236,8 @@ export const sendWhatsAppConversion = <ThrowOnError extends boolean = false>(opt
|
|
|
13739
14236
|
|
|
13740
14237
|
/**
|
|
13741
14238
|
* Create messaging ad
|
|
14239
|
+
* Creates a Meta ad that opens a chat with you on WhatsApp, Messenger or Instagram Direct when someone taps it.
|
|
14240
|
+
*
|
|
13742
14241
|
* Creates a click-to-message ad; `destination` selects where the tapped ad opens a
|
|
13743
14242
|
* conversation: WhatsApp, the Page's Messenger inbox or the linked Instagram account's Direct inbox.
|
|
13744
14243
|
* `destinations` puts two or three of them on one ad set and lets Meta pick the app per viewer.
|
|
@@ -13766,6 +14265,8 @@ export const createMessagingAd = <ThrowOnError extends boolean = false>(options:
|
|
|
13766
14265
|
|
|
13767
14266
|
/**
|
|
13768
14267
|
* Create Click-to-Call ad
|
|
14268
|
+
* Creates a Meta ad with a Call Now button that dials your phone number, optimized for quality calls.
|
|
14269
|
+
*
|
|
13769
14270
|
* Same shape and flow as POST /v1/ads/ctwa, but the CTA is CALL_NOW dialing `phoneNumber`
|
|
13770
14271
|
* via a tel: link. The ad set is destination_type PHONE_CALL optimizing QUALITY_CALL
|
|
13771
14272
|
* and the campaign objective defaults to OUTCOME_LEADS.
|
|
@@ -13814,7 +14315,10 @@ export const createCtwaAd = <ThrowOnError extends boolean = false>(options: Opti
|
|
|
13814
14315
|
|
|
13815
14316
|
/**
|
|
13816
14317
|
* List custom conversions
|
|
14318
|
+
* Lists a Meta ad account's custom conversions, including archived ones.
|
|
14319
|
+
*
|
|
13817
14320
|
* The ad account's Meta custom conversions, including archived ones (`isArchived`).
|
|
14321
|
+
*
|
|
13818
14322
|
*/
|
|
13819
14323
|
export const listCustomConversions = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ListCustomConversionsData, ThrowOnError>) => {
|
|
13820
14324
|
return (options?.client ?? client).get<ListCustomConversionsResponse, ListCustomConversionsError, ThrowOnError>({
|
|
@@ -13825,6 +14329,8 @@ export const listCustomConversions = <ThrowOnError extends boolean = false>(opti
|
|
|
13825
14329
|
|
|
13826
14330
|
/**
|
|
13827
14331
|
* Create custom conversion
|
|
14332
|
+
* Creates a Meta custom conversion for ads to optimise toward, reusing an existing one with the same name and pixel.
|
|
14333
|
+
*
|
|
13828
14334
|
* Provision the Meta custom conversion an ads flow optimises toward, and hand back the
|
|
13829
14335
|
* `customConversionId` for `promotedObject.customConversionId` on POST /v1/ads/create.
|
|
13830
14336
|
* Removes the manual "create it in Ads Manager first" step.
|
|
@@ -14453,6 +14959,8 @@ export const startBusinessAgentEvalRun = <ThrowOnError extends boolean = false>(
|
|
|
14453
14959
|
|
|
14454
14960
|
/**
|
|
14455
14961
|
* List tracking tags
|
|
14962
|
+
* Lists the pixels and other measurement tags an ads account can see, so you can inspect or install them.
|
|
14963
|
+
*
|
|
14456
14964
|
* Returns the tracking tags (Meta Pixels, or OpenAI Ads pixels) the
|
|
14457
14965
|
* connected ads account can see. Pass `?adAccountId=act_...` (Meta only)
|
|
14458
14966
|
* to scope the list to a single ad account; omit it to list every pixel
|
|
@@ -14497,6 +15005,8 @@ export const listTrackingTags = <ThrowOnError extends boolean = false>(options:
|
|
|
14497
15005
|
|
|
14498
15006
|
/**
|
|
14499
15007
|
* Create a tracking tag
|
|
15008
|
+
* Creates a measurement pixel on an ad account and returns the snippet to install on your site.
|
|
15009
|
+
*
|
|
14500
15010
|
* Meta: creates a Meta Pixel on the given ad account (`POST /act_{id}/adspixels`,
|
|
14501
15011
|
* where `name` is the only input). Returns the created tag including its
|
|
14502
15012
|
* install `code`. The pixel is owned by the Business Manager that owns the
|
|
@@ -14567,6 +15077,8 @@ export const createTrackingTag = <ThrowOnError extends boolean = false>(options:
|
|
|
14567
15077
|
|
|
14568
15078
|
/**
|
|
14569
15079
|
* Get a tracking tag
|
|
15080
|
+
* Shows one pixel or measurement tag in full, including its install snippet, when it last fired and its conversion events.
|
|
15081
|
+
*
|
|
14570
15082
|
* Returns the full tag record including the base-code `code` snippet,
|
|
14571
15083
|
* `lastFiredTime`, `ownerBusinessId`, `isUnavailable`, etc. Meta only
|
|
14572
15084
|
* (platform `metaads`); other platforms return 501.
|
|
@@ -14609,6 +15121,8 @@ export const getTrackingTag = <ThrowOnError extends boolean = false>(options: Op
|
|
|
14609
15121
|
|
|
14610
15122
|
/**
|
|
14611
15123
|
* Update a tracking tag
|
|
15124
|
+
* Changes a pixel's settings, such as its name or automatic matching, on platforms that allow edits.
|
|
15125
|
+
*
|
|
14612
15126
|
* Partial-update a pixel. Whitelisted fields: `name` (rename),
|
|
14613
15127
|
* `enableAutomaticMatching`, `automaticMatchingFields`,
|
|
14614
15128
|
* `firstPartyCookieStatus`, `dataUseSetting`. At least one is required.
|
|
@@ -14664,6 +15178,8 @@ export const updateTrackingTag = <ThrowOnError extends boolean = false>(options:
|
|
|
14664
15178
|
|
|
14665
15179
|
/**
|
|
14666
15180
|
* List accounts it is shared with
|
|
15181
|
+
* Lists the other ad accounts a pixel is shared with.
|
|
15182
|
+
*
|
|
14667
15183
|
* Meta (`metaads`) and LinkedIn (`linkedinads`); other platforms return 501.
|
|
14668
15184
|
*
|
|
14669
15185
|
* LinkedIn (`linkedinads`): the ad accounts this connection can see that hold access to the
|
|
@@ -14683,8 +15199,9 @@ export const listTrackingTagSharedAccounts = <ThrowOnError extends boolean = fal
|
|
|
14683
15199
|
|
|
14684
15200
|
/**
|
|
14685
15201
|
* Share with an ad account
|
|
14686
|
-
* Shares
|
|
14687
|
-
*
|
|
15202
|
+
* Shares a pixel with another ad account so its campaigns and audiences can use it.
|
|
15203
|
+
*
|
|
15204
|
+
* Requires that you administer both the pixel's owning
|
|
14688
15205
|
* Business Manager and the target ad account; a pixel on a personal
|
|
14689
15206
|
* (non-BM) ad account can't be shared (Meta will reject the call). Meta
|
|
14690
15207
|
* and LinkedIn; other platforms return 501.
|
|
@@ -14709,6 +15226,8 @@ export const addTrackingTagSharedAccount = <ThrowOnError extends boolean = false
|
|
|
14709
15226
|
|
|
14710
15227
|
/**
|
|
14711
15228
|
* Stop sharing with an account
|
|
15229
|
+
* Stops sharing a pixel with an ad account.
|
|
15230
|
+
*
|
|
14712
15231
|
* `adAccountId` may be passed as a query parameter (recommended) or as a
|
|
14713
15232
|
* JSON body field for clients that can send DELETE bodies. Meta and
|
|
14714
15233
|
* LinkedIn; other platforms return 501.
|
|
@@ -14729,6 +15248,8 @@ export const removeTrackingTagSharedAccount = <ThrowOnError extends boolean = fa
|
|
|
14729
15248
|
|
|
14730
15249
|
/**
|
|
14731
15250
|
* Install on a Shopify store or WordPress site
|
|
15251
|
+
* Installs a pixel on a connected Shopify store or WordPress site, so store visits and purchases are reported without editing the theme.
|
|
15252
|
+
*
|
|
14732
15253
|
* Puts the Meta pixel on a connected Shopify store's storefront and checkout through
|
|
14733
15254
|
* Zernio's Shopify web pixel (a Shopify app pixel, no theme edits). The store then sends
|
|
14734
15255
|
* PageView, ViewContent, AddToCart, Search, InitiateCheckout, AddPaymentInfo and Purchase
|
|
@@ -14817,6 +15338,8 @@ export const installTrackingTagOnStore = <ThrowOnError extends boolean = false>(
|
|
|
14817
15338
|
|
|
14818
15339
|
/**
|
|
14819
15340
|
* Get store install status
|
|
15341
|
+
* Shows whether a tracking tag is live on your Shopify store or WordPress site, and whether a WordPress install would be blocked.
|
|
15342
|
+
*
|
|
14820
15343
|
* Whether this tag is the one the Shopify store fires for its platform. `installedTagId`
|
|
14821
15344
|
* names the tag of that platform the store currently fires, which can be a different tag,
|
|
14822
15345
|
* and `tags` lists every Zernio tag on the store (all platforms).
|
|
@@ -14838,7 +15361,9 @@ export const getTrackingTagStoreInstall = <ThrowOnError extends boolean = false>
|
|
|
14838
15361
|
|
|
14839
15362
|
/**
|
|
14840
15363
|
* Remove from a Shopify store or WordPress site
|
|
14841
|
-
* Removes
|
|
15364
|
+
* Removes a tracking tag from your Shopify store or WordPress site, leaving other platforms' tags and hand-added pixel code in place.
|
|
15365
|
+
*
|
|
15366
|
+
* Idempotent: nothing installed returns 200 with
|
|
14842
15367
|
* `installed: false`. If the store fires a different tag of the same platform, nothing is
|
|
14843
15368
|
* removed and the call answers 409 `invalid_resource_state`. Shopify: other platforms'
|
|
14844
15369
|
* tags stay; the web pixel itself is deleted once no tag remains.
|
|
@@ -14856,6 +15381,8 @@ export const removeTrackingTagFromStore = <ThrowOnError extends boolean = false>
|
|
|
14856
15381
|
|
|
14857
15382
|
/**
|
|
14858
15383
|
* List conversion events
|
|
15384
|
+
* Lists the conversion events tied to a tracking tag, such as Google conversion actions or Meta custom conversions.
|
|
15385
|
+
*
|
|
14859
15386
|
* The tag's conversion events, on platforms where each conversion is its own object:
|
|
14860
15387
|
* Google conversion actions, LinkedIn conversion rules, X web event tags, OpenAI event
|
|
14861
15388
|
* settings, TikTok pixel events, Meta custom conversions, Pinterest advertiser defined
|
|
@@ -14908,7 +15435,9 @@ export const listTrackingTagEvents = <ThrowOnError extends boolean = false>(opti
|
|
|
14908
15435
|
|
|
14909
15436
|
/**
|
|
14910
15437
|
* Create a conversion event
|
|
14911
|
-
* Creates a conversion event
|
|
15438
|
+
* Creates a conversion event on a tracking tag, such as a purchase or lead, so ads can measure and optimise toward it.
|
|
15439
|
+
*
|
|
15440
|
+
* Pass the platform's own event type in `type`
|
|
14912
15441
|
* (e.g. Google `PURCHASE`, LinkedIn `ADD_TO_CART`, X `CHECKOUT_INITIATED`) or a neutral
|
|
14913
15442
|
* `siteEvent` the platform maps to its closest type. Each platform stores a subset of the
|
|
14914
15443
|
* optional fields; sending one it does not store answers 400 naming the supported fields.
|
|
@@ -14988,6 +15517,8 @@ export const createTrackingTagEvent = <ThrowOnError extends boolean = false>(opt
|
|
|
14988
15517
|
|
|
14989
15518
|
/**
|
|
14990
15519
|
* Update a conversion event
|
|
15520
|
+
* Changes a conversion event's settings, such as its name or default value, where the platform allows edits.
|
|
15521
|
+
*
|
|
14991
15522
|
* Partial update; at least one field. A field the platform does not store answers 400.
|
|
14992
15523
|
*
|
|
14993
15524
|
* OpenAI Ads answers 501: OpenAI documents only list and create for event settings, and
|
|
@@ -15025,7 +15556,9 @@ export const updateTrackingTagEvent = <ThrowOnError extends boolean = false>(opt
|
|
|
15025
15556
|
|
|
15026
15557
|
/**
|
|
15027
15558
|
* Delete a conversion event
|
|
15028
|
-
* Removes
|
|
15559
|
+
* Removes a conversion event from a tracking tag, or archives or disables it on platforms that have no hard delete.
|
|
15560
|
+
*
|
|
15561
|
+
* Platforms without a hard delete archive or disable it
|
|
15029
15562
|
* instead; `state` in the response says which (`deleted`, `archived`, `disabled`).
|
|
15030
15563
|
*
|
|
15031
15564
|
* OpenAI Ads answers 501: there is no delete or archive route for event settings
|
|
@@ -15063,7 +15596,9 @@ export const deleteTrackingTagEvent = <ThrowOnError extends boolean = false>(opt
|
|
|
15063
15596
|
|
|
15064
15597
|
/**
|
|
15065
15598
|
* List tag users
|
|
15066
|
-
*
|
|
15599
|
+
* Lists the people and system users in the owning Meta business who have access to a pixel.
|
|
15600
|
+
*
|
|
15601
|
+
* Platforms without
|
|
15067
15602
|
* tag user assignment answer 501.
|
|
15068
15603
|
*
|
|
15069
15604
|
* Meta: the pixel's assigned users in its owning Business Manager. A pixel on a personal ad
|
|
@@ -15081,7 +15616,9 @@ export const listTrackingTagUsers = <ThrowOnError extends boolean = false>(optio
|
|
|
15081
15616
|
|
|
15082
15617
|
/**
|
|
15083
15618
|
* Assign a user to a tag
|
|
15084
|
-
* Gives a
|
|
15619
|
+
* Gives a person in the owning Meta business access to a pixel, or replaces the tasks they already have on it.
|
|
15620
|
+
*
|
|
15621
|
+
* Assigning an already assigned user
|
|
15085
15622
|
* replaces their task set.
|
|
15086
15623
|
*
|
|
15087
15624
|
* Meta: `tasks` are `AA_ANALYZE`, `ADVERTISE`, `ANALYZE`, `EDIT`, `UPLOAD`; `userId` is the
|
|
@@ -15114,7 +15651,9 @@ export const removeTrackingTagUser = <ThrowOnError extends boolean = false>(opti
|
|
|
15114
15651
|
|
|
15115
15652
|
/**
|
|
15116
15653
|
* List partner businesses of a tag
|
|
15117
|
-
*
|
|
15654
|
+
* Lists the partner businesses a Meta pixel is shared with (read-only, sharing with new partners is not supported).
|
|
15655
|
+
*
|
|
15656
|
+
* Read-only. Platforms without partner sharing
|
|
15118
15657
|
* answer 501.
|
|
15119
15658
|
*
|
|
15120
15659
|
* Meta: the pixel's shared agencies. Sharing a pixel with a new partner is not available:
|
|
@@ -15131,7 +15670,9 @@ export const listTrackingTagPartners = <ThrowOnError extends boolean = false>(op
|
|
|
15131
15670
|
|
|
15132
15671
|
/**
|
|
15133
15672
|
* Get tag diagnostics
|
|
15134
|
-
*
|
|
15673
|
+
* Shows Meta's health checks for a pixel, such as events missing parameters or product ids that do not match your catalogs.
|
|
15674
|
+
*
|
|
15675
|
+
* Platforms without tag diagnostics answer 501.
|
|
15135
15676
|
*
|
|
15136
15677
|
* Meta: the pixel's checks from Events Manager (`da_checks`), e.g. whether events miss
|
|
15137
15678
|
* parameters or their content ids do not match the pixel's catalogs.
|
|
@@ -15146,8 +15687,9 @@ export const getTrackingTagDiagnostics = <ThrowOnError extends boolean = false>(
|
|
|
15146
15687
|
|
|
15147
15688
|
/**
|
|
15148
15689
|
* Get aggregated event stats
|
|
15149
|
-
*
|
|
15150
|
-
*
|
|
15690
|
+
* Shows event counts or health for a tracking tag so you can confirm it is firing, where the platform reports them.
|
|
15691
|
+
*
|
|
15692
|
+
* Meta: aggregated counts (`GET /{pixel_id}/stats`), rows passed
|
|
15151
15693
|
* through as-is; their shape depends on the `aggregation` requested.
|
|
15152
15694
|
* Platforms without a stats API answer 501.
|
|
15153
15695
|
*
|
|
@@ -16419,7 +16961,10 @@ export const listTikTokAdPixels = <ThrowOnError extends boolean = false>(options
|
|
|
16419
16961
|
|
|
16420
16962
|
/**
|
|
16421
16963
|
* List partnership ad content
|
|
16422
|
-
*
|
|
16964
|
+
* Lists a creator's Instagram posts you can run as Partnership Ads, looked up by creator or post link (private beta).
|
|
16965
|
+
*
|
|
16966
|
+
* Lists creator Instagram posts available to the advertiser for Partnership Ads. Supply creatorUsername or postUrl. Requires instagram_branded_content_ads_brand permission and an advertiser Instagram Business Account.
|
|
16967
|
+
*
|
|
16423
16968
|
*/
|
|
16424
16969
|
export const listPartnershipAdContent = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ListPartnershipAdContentData, ThrowOnError>) => {
|
|
16425
16970
|
return (options?.client ?? client).get<ListPartnershipAdContentResponse, ListPartnershipAdContentError, ThrowOnError>({
|
|
@@ -16430,7 +16975,10 @@ export const listPartnershipAdContent = <ThrowOnError extends boolean = false>(o
|
|
|
16430
16975
|
|
|
16431
16976
|
/**
|
|
16432
16977
|
* List partnership permissions
|
|
16433
|
-
*
|
|
16978
|
+
* Lists the creators who have granted, or have pending, permission for your Instagram account to run Partnership Ads with them (private beta).
|
|
16979
|
+
*
|
|
16980
|
+
* Lists granted or pending creator permissions for the advertiser Instagram Business Account. Requires instagram_branded_content_ads_brand permission.
|
|
16981
|
+
*
|
|
16434
16982
|
*/
|
|
16435
16983
|
export const listPartnershipAdPermissions = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ListPartnershipAdPermissionsData, ThrowOnError>) => {
|
|
16436
16984
|
return (options?.client ?? client).get<ListPartnershipAdPermissionsResponse, ListPartnershipAdPermissionsError, ThrowOnError>({
|
|
@@ -16441,7 +16989,10 @@ export const listPartnershipAdPermissions = <ThrowOnError extends boolean = fals
|
|
|
16441
16989
|
|
|
16442
16990
|
/**
|
|
16443
16991
|
* Set partnership permission
|
|
16444
|
-
*
|
|
16992
|
+
* Asks a creator for permission to run Partnership Ads with their content, or revokes it (private beta).
|
|
16993
|
+
*
|
|
16994
|
+
* Requests permission from a creator or revokes it when revoke is true. Requests require the creator to approve in Instagram. Requires instagram_branded_content_ads_brand permission.
|
|
16995
|
+
*
|
|
16445
16996
|
*/
|
|
16446
16997
|
export const setPartnershipAdPermission = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<SetPartnershipAdPermissionData, ThrowOnError>) => {
|
|
16447
16998
|
return (options?.client ?? client).post<SetPartnershipAdPermissionResponse, SetPartnershipAdPermissionError, ThrowOnError>({
|