late-sdk 0.0.860 → 0.0.862
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.
- checksums.yaml +4 -4
- data/README.md +2 -0
- data/docs/AdAccountsApi.md +1 -1
- data/docs/AdCampaignsApi.md +5 -5
- data/docs/AdInsightsApi.md +1 -1
- data/docs/AdLibraryApi.md +9 -7
- data/docs/CampaignBidding.md +5 -1
- data/docs/ConversionsApi.md +2 -2
- data/docs/GetAdsSearchTerms200Response.md +5 -1
- data/docs/GetCampaignBidding200Response.md +4 -0
- data/docs/GetCampaignTargeting200Response.md +5 -1
- data/docs/ListAccountCallouts200Response.md +5 -1
- data/docs/ListAdAccounts200Response.md +5 -1
- data/docs/ListBidStrategies200Response.md +5 -1
- data/docs/ListCampaignNegativeKeywords200Response.md +5 -1
- data/docs/ListConversionActions200Response.md +5 -1
- data/docs/UpdateCampaignTargeting200Response.md +7 -1
- data/docs/UpdateCampaignTargeting200ResponseDevicesInner.md +22 -0
- data/docs/UpdateCampaignTargeting200ResponseLanguagesInner.md +22 -0
- data/lib/zernio-sdk/api/ad_accounts_api.rb +2 -2
- data/lib/zernio-sdk/api/ad_campaigns_api.rb +10 -10
- data/lib/zernio-sdk/api/ad_insights_api.rb +2 -2
- data/lib/zernio-sdk/api/ad_library_api.rb +14 -11
- data/lib/zernio-sdk/api/conversions_api.rb +4 -4
- data/lib/zernio-sdk/models/campaign_bidding.rb +25 -4
- data/lib/zernio-sdk/models/get_ads_search_terms200_response.rb +25 -4
- data/lib/zernio-sdk/models/get_campaign_bidding200_response.rb +21 -1
- data/lib/zernio-sdk/models/get_campaign_targeting200_response.rb +25 -4
- data/lib/zernio-sdk/models/list_account_callouts200_response.rb +25 -4
- data/lib/zernio-sdk/models/list_ad_accounts200_response.rb +25 -4
- data/lib/zernio-sdk/models/list_bid_strategies200_response.rb +25 -4
- data/lib/zernio-sdk/models/list_campaign_negative_keywords200_response.rb +25 -4
- data/lib/zernio-sdk/models/list_conversion_actions200_response.rb +25 -4
- data/lib/zernio-sdk/models/update_campaign_targeting200_response.rb +37 -4
- data/lib/zernio-sdk/models/update_campaign_targeting200_response_devices_inner.rb +201 -0
- data/lib/zernio-sdk/models/update_campaign_targeting200_response_languages_inner.rb +165 -0
- data/lib/zernio-sdk/version.rb +1 -1
- data/lib/zernio-sdk.rb +2 -0
- data/openapi.yaml +93 -28
- data/spec/api/ad_accounts_api_spec.rb +1 -1
- data/spec/api/ad_campaigns_api_spec.rb +5 -5
- data/spec/api/ad_insights_api_spec.rb +1 -1
- data/spec/api/ad_library_api_spec.rb +3 -2
- data/spec/api/conversions_api_spec.rb +2 -2
- data/spec/models/campaign_bidding_spec.rb +12 -0
- data/spec/models/get_ads_search_terms200_response_spec.rb +12 -0
- data/spec/models/get_campaign_bidding200_response_spec.rb +12 -0
- data/spec/models/get_campaign_targeting200_response_spec.rb +12 -0
- data/spec/models/list_account_callouts200_response_spec.rb +12 -0
- data/spec/models/list_ad_accounts200_response_spec.rb +12 -0
- data/spec/models/list_bid_strategies200_response_spec.rb +12 -0
- data/spec/models/list_campaign_negative_keywords200_response_spec.rb +12 -0
- data/spec/models/list_conversion_actions200_response_spec.rb +12 -0
- data/spec/models/update_campaign_targeting200_response_devices_inner_spec.rb +52 -0
- data/spec/models/update_campaign_targeting200_response_languages_inner_spec.rb +48 -0
- data/spec/models/update_campaign_targeting200_response_spec.rb +18 -0
- data/zernio-sdk-0.0.862.gem +0 -0
- metadata +11 -3
- data/zernio-sdk-0.0.860.gem +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b90390dfb2a2cc7e6292ffb51014efc226ee983d0114067bbaa2fbb05313667f
|
|
4
|
+
data.tar.gz: 86b643311ebbb222f14e1e6671f9554cff1ad65877c1b33cf7f42b694610fd95
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ff84101e591476cee89c04279eaf6189a1d19ecc6f66b9a17c4fd2c95fd95b859a1d881f742fba694ffeedfdee7018c482db365f63a767f4face12cfabd3cd72
|
|
7
|
+
data.tar.gz: 59b03ea9ace6a929747ad7733896071c7542d6b999f2a2df97221ae963573ddfe68400ce4c34dd34d30e86ffadcdda680b8bc2d1b6fa30d3898d5b5b0646d9ba
|
data/README.md
CHANGED
|
@@ -2214,6 +2214,8 @@ Class | Method | HTTP request | Description
|
|
|
2214
2214
|
- [Zernio::UpdateBroadcastRequestTemplate](docs/UpdateBroadcastRequestTemplate.md)
|
|
2215
2215
|
- [Zernio::UpdateBroadcastRequestTemplateVariableMappingValue](docs/UpdateBroadcastRequestTemplateVariableMappingValue.md)
|
|
2216
2216
|
- [Zernio::UpdateCampaignTargeting200Response](docs/UpdateCampaignTargeting200Response.md)
|
|
2217
|
+
- [Zernio::UpdateCampaignTargeting200ResponseDevicesInner](docs/UpdateCampaignTargeting200ResponseDevicesInner.md)
|
|
2218
|
+
- [Zernio::UpdateCampaignTargeting200ResponseLanguagesInner](docs/UpdateCampaignTargeting200ResponseLanguagesInner.md)
|
|
2217
2219
|
- [Zernio::UpdateCampaignTargetingRequest](docs/UpdateCampaignTargetingRequest.md)
|
|
2218
2220
|
- [Zernio::UpdateCampaignTargetingRequestTargeting](docs/UpdateCampaignTargetingRequestTargeting.md)
|
|
2219
2221
|
- [Zernio::UpdateCampaignTargetingRequestTargetingDevicesInner](docs/UpdateCampaignTargetingRequestTargetingDevicesInner.md)
|
data/docs/AdAccountsApi.md
CHANGED
|
@@ -828,7 +828,7 @@ end
|
|
|
828
828
|
|
|
829
829
|
List account-level callout extensions
|
|
830
830
|
|
|
831
|
-
Google Ads compliance row C.75: callout assets linked at the CUSTOMER level via `customer_asset` (not a campaign or ad group), so they serve fleet-wide across the account. Google only; every other platform returns 501.
|
|
831
|
+
Google Ads compliance row C.75: callout assets linked at the CUSTOMER level via `customer_asset` (not a campaign or ad group), so they serve fleet-wide across the account. Google only; every other platform returns 501. Cached for the quota window (10 minutes fresh, up to 7 days last-good), and gated by the shared Google Ads operations budget on a cache miss. The response carries `cachedAt` and `stale`, set when a quota-exhausted call falls back to the last-good copy instead of a live read.
|
|
832
832
|
|
|
833
833
|
### Examples
|
|
834
834
|
|
data/docs/AdCampaignsApi.md
CHANGED
|
@@ -1379,7 +1379,7 @@ end
|
|
|
1379
1379
|
|
|
1380
1380
|
Read a campaign's current bidding
|
|
1381
1381
|
|
|
1382
|
-
|
|
1382
|
+
Read of the campaign's bidding strategy on Google, cached for the quota window, for pre-filling the bid strategy block before a PUT to /v1/ads/campaigns/{campaignId}. Google Ads only; `platform` is required and rejected when it is anything else, since a `campaignId` is not globally unique. The response carries `cachedAt` and `stale`, set when a quota-exhausted call falls back to the last-good copy instead of a live read. Maps Google's bidding strategy onto the same triplet PUT accepts: `LOWEST_COST_WITHOUT_CAP` (Maximize Conversions, no target), `COST_CAP` + `bidAmount` (Target CPA), `LOWEST_COST_WITH_MIN_ROAS` + `roasAverageFloor` (Target ROAS), `LOWEST_COST_WITH_BID_CAP` + `bidAmount` (Maximize Clicks with a CPC ceiling). A campaign on a portfolio strategy returns `portfolio` (id + name) and `bidSpec.portfolioBidStrategyId` instead of the triplet. Anything else (Manual CPC, Target Impression Share, ...) returns `bidSpec: null`; show `biddingStrategyType` as-is.
|
|
1383
1383
|
|
|
1384
1384
|
### Examples
|
|
1385
1385
|
|
|
@@ -1456,7 +1456,7 @@ end
|
|
|
1456
1456
|
|
|
1457
1457
|
Read a Google campaign's device, location, and language targeting
|
|
1458
1458
|
|
|
1459
|
-
Google Ads compliance requires geo, language, budget, and bidding targeting set at creation to stay editable afterwards; this reads the
|
|
1459
|
+
Google Ads compliance requires geo, language, budget, and bidding targeting set at creation to stay editable afterwards; this reads the campaign state so an integrator can build an editor around it. Cached for the quota window (10 minutes fresh, up to 7 days last-good), not always a live read. Google only; every other platform returns 501. `devices` always lists all four device types with `included` reflecting Google's negative device criteria (a device absent from any negative criterion is included by default). This read has no bid-modifier source, so `bidModifier` is always `null` even for a device with one configured.
|
|
1460
1460
|
|
|
1461
1461
|
### Examples
|
|
1462
1462
|
|
|
@@ -1893,7 +1893,7 @@ end
|
|
|
1893
1893
|
|
|
1894
1894
|
List Google Ads portfolio bid strategies
|
|
1895
1895
|
|
|
1896
|
-
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
|
|
1896
|
+
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.
|
|
1897
1897
|
|
|
1898
1898
|
### Examples
|
|
1899
1899
|
|
|
@@ -1970,7 +1970,7 @@ end
|
|
|
1970
1970
|
|
|
1971
1971
|
List campaign-level negative keywords
|
|
1972
1972
|
|
|
1973
|
-
Returns the campaign-level negative keywords (`campaign_criterion.negative`), distinct from the ad-group-level negatives under `GET /v1/ads/keywords`.
|
|
1973
|
+
Returns the campaign-level negative keywords (`campaign_criterion.negative`), distinct from the ad-group-level negatives under `GET /v1/ads/keywords`. Cached for the quota window (not synced to Postgres), and gated by the shared Google Ads operations budget like every other on-demand Google surface. The response carries `cachedAt` and `stale`, set when a quota-exhausted call falls back to the last-good copy instead of a live read. The platform is always discovered from the campaign itself; a non-Google campaign returns 501 rather than 404, whether or not `platform` was passed.
|
|
1974
1974
|
|
|
1975
1975
|
### Examples
|
|
1976
1976
|
|
|
@@ -2751,7 +2751,7 @@ end
|
|
|
2751
2751
|
|
|
2752
2752
|
Edit a Google campaign's device, location, or language targeting
|
|
2753
2753
|
|
|
2754
|
-
Google Ads compliance row M.10: geo and language targeting set at creation must stay editable afterwards. Send at least one of `devices`, `locations`, `languages`; each provided field REPLACES that field's existing criteria on the campaign (a full set, not a delta). Fields left out of the body are untouched. Google only; every other platform returns 501. `locations` accepts the same shapes as campaign creation: a bare array of ISO country codes, or an object with `countries`/`regions`/`cities`/`zips`/`metros` key lists (`key` from GET /v1/ads/targeting/search?dimension=geo). Negative (excluded) locations are left untouched by this endpoint. `languages` is an array of Google's language codes (ISO 639-1, plus variants such as `zh_CN`); an unknown code returns 400.
|
|
2754
|
+
Google Ads compliance row M.10: geo and language targeting set at creation must stay editable afterwards. Send at least one of `devices`, `locations`, `languages`; each provided field REPLACES that field's existing criteria on the campaign (a full set, not a delta). Fields left out of the body are untouched. Google only; every other platform returns 501. `locations` accepts the same shapes as campaign creation: a bare array of ISO country codes, or an object with `countries`/`regions`/`cities`/`zips`/`metros` key lists (`key` from GET /v1/ads/targeting/search?dimension=geo). Negative (excluded) locations are left untouched by this endpoint. `languages` is an array of Google's language codes (ISO 639-1, plus variants such as `zh_CN`); an unknown code returns 400. The response includes the refreshed `devices`/`locations`/`languages` state read back from Google after the edit, and invalidates the cached copy `GET` on this campaign would otherwise keep serving.
|
|
2755
2755
|
|
|
2756
2756
|
### Examples
|
|
2757
2757
|
|
data/docs/AdInsightsApi.md
CHANGED
|
@@ -383,7 +383,7 @@ end
|
|
|
383
383
|
|
|
384
384
|
Google Ads search terms report
|
|
385
385
|
|
|
386
|
-
The actual search queries that triggered your ads, with matched-keyword status and spend metrics — the raw material for wasted-spend analysis and negative-keyword lists. Reads Google's `search_term_view
|
|
386
|
+
The actual search queries that triggered your ads, with matched-keyword status and spend metrics — the raw material for wasted-spend analysis and negative-keyword lists. Reads Google's `search_term_view`, cached for the quota window; defaults to the last 30 days. Rows are ordered by cost, descending. 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.
|
|
387
387
|
|
|
388
388
|
### Examples
|
|
389
389
|
|
data/docs/AdLibraryApi.md
CHANGED
|
@@ -9,11 +9,11 @@ All URIs are relative to *https://zernio.com/api*
|
|
|
9
9
|
|
|
10
10
|
## search_ad_library
|
|
11
11
|
|
|
12
|
-
> <SearchAdLibrary200Response> search_ad_library(
|
|
12
|
+
> <SearchAdLibrary200Response> search_ad_library(opts)
|
|
13
13
|
|
|
14
14
|
Search the public Ad Library
|
|
15
15
|
|
|
16
|
-
Competitor and market research over the
|
|
16
|
+
Competitor and market research over the public ad archives. Meta's Ad Library (`GET /ads_archive`) is searched with Zernio's own developer access, so `platform=meta` needs no connected account at all. LinkedIn's Ad Library (`GET /rest/adLibrary`) runs on a connected `linkedin` / `linkedinads` account, passed as `accountId`. Passing a Meta account as `accountId` also selects Meta. Rows are returned in the platform's raw shape under `data`; `paging.after` is an opaque cursor on both (`null` when exhausted). **Meta coverage.** Political and social-issue ads are searchable worldwide. Every other ad is in the archive only if it was delivered to the EU or UK within the last year, so a US-only commercial advertiser is invisible. Spend, impressions and demographics are political-only fields and are left out of the default projection; request them via `fields`. All customers share Zernio's Meta quota, so a `429` means back off for a minute. **LinkedIn coverage.** Ads served after June 1 2023, worldwide, kept for a year after their last impression. EU-delivered ads carry impression ranges and the disclosed targeting facets. Pages are capped at 25 ads (`limit` > 25 is a 400); `after` is the next offset. Which params apply: `q`, `countries`, `since`, `until`, `limit`, `after` on both; `pageIds`, `adType`, `status`, `platforms`, `mediaType`, `languages`, `searchType`, `fields` are Meta-only; `advertiser` is LinkedIn-only. Passing a param the account's platform does not support is a 400 naming the param.
|
|
17
17
|
|
|
18
18
|
### Examples
|
|
19
19
|
|
|
@@ -27,8 +27,9 @@ Zernio.configure do |config|
|
|
|
27
27
|
end
|
|
28
28
|
|
|
29
29
|
api_instance = Zernio::AdLibraryApi.new
|
|
30
|
-
account_id = 'account_id_example' # String | Zernio SocialAccount id (facebook / instagram / metaads for Meta, linkedin / linkedinads for LinkedIn). Its token is the one that searches.
|
|
31
30
|
opts = {
|
|
31
|
+
platform: 'meta', # String | Which archive to search. `meta` needs no accountId. Required unless accountId is given.
|
|
32
|
+
account_id: 'account_id_example', # String | Zernio SocialAccount id. Required for LinkedIn (linkedin / linkedinads: its token searches). Optional for Meta, where any facebook / instagram / metaads account just selects the platform.
|
|
32
33
|
q: 'q_example', # String | Keyword search. Meta does not translate it, so write it in the ads' language. Required unless pageIds (Meta) or advertiser (LinkedIn) is given.
|
|
33
34
|
page_ids: 'page_ids_example', # String | Meta only. Comma-separated Facebook Page ids (max 10) whose ads to list.
|
|
34
35
|
advertiser: 'advertiser_example', # String | LinkedIn only. Advertiser (Page) name to search.
|
|
@@ -48,7 +49,7 @@ opts = {
|
|
|
48
49
|
|
|
49
50
|
begin
|
|
50
51
|
# Search the public Ad Library
|
|
51
|
-
result = api_instance.search_ad_library(
|
|
52
|
+
result = api_instance.search_ad_library(opts)
|
|
52
53
|
p result
|
|
53
54
|
rescue Zernio::ApiError => e
|
|
54
55
|
puts "Error when calling AdLibraryApi->search_ad_library: #{e}"
|
|
@@ -59,12 +60,12 @@ end
|
|
|
59
60
|
|
|
60
61
|
This returns an Array which contains the response data, status code and headers.
|
|
61
62
|
|
|
62
|
-
> <Array(<SearchAdLibrary200Response>, Integer, Hash)> search_ad_library_with_http_info(
|
|
63
|
+
> <Array(<SearchAdLibrary200Response>, Integer, Hash)> search_ad_library_with_http_info(opts)
|
|
63
64
|
|
|
64
65
|
```ruby
|
|
65
66
|
begin
|
|
66
67
|
# Search the public Ad Library
|
|
67
|
-
data, status_code, headers = api_instance.search_ad_library_with_http_info(
|
|
68
|
+
data, status_code, headers = api_instance.search_ad_library_with_http_info(opts)
|
|
68
69
|
p status_code # => 2xx
|
|
69
70
|
p headers # => { ... }
|
|
70
71
|
p data # => <SearchAdLibrary200Response>
|
|
@@ -77,7 +78,8 @@ end
|
|
|
77
78
|
|
|
78
79
|
| Name | Type | Description | Notes |
|
|
79
80
|
| ---- | ---- | ----------- | ----- |
|
|
80
|
-
| **
|
|
81
|
+
| **platform** | **String** | Which archive to search. `meta` needs no accountId. Required unless accountId is given. | [optional] |
|
|
82
|
+
| **account_id** | **String** | Zernio SocialAccount id. Required for LinkedIn (linkedin / linkedinads: its token searches). Optional for Meta, where any facebook / instagram / metaads account just selects the platform. | [optional] |
|
|
81
83
|
| **q** | **String** | Keyword search. Meta does not translate it, so write it in the ads' language. Required unless pageIds (Meta) or advertiser (LinkedIn) is given. | [optional] |
|
|
82
84
|
| **page_ids** | **String** | Meta only. Comma-separated Facebook Page ids (max 10) whose ads to list. | [optional] |
|
|
83
85
|
| **advertiser** | **String** | LinkedIn only. Advertiser (Page) name to search. | [optional] |
|
data/docs/CampaignBidding.md
CHANGED
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
| **bidding_strategy_type** | **String** | Google's raw enum: MAXIMIZE_CONVERSIONS, TARGET_CPA, MAXIMIZE_CONVERSION_VALUE, TARGET_ROAS, TARGET_SPEND, MANUAL_CPC, TARGET_IMPRESSION_SHARE, or another Google adds later. | [optional] |
|
|
9
9
|
| **bid_spec** | [**CampaignBiddingBidSpec**](CampaignBiddingBidSpec.md) | | [optional] |
|
|
10
10
|
| **portfolio** | [**CampaignBiddingPortfolio**](CampaignBiddingPortfolio.md) | | [optional] |
|
|
11
|
+
| **cached_at** | **Time** | When this data was fetched from Google. Null when it was never served from cache. | [optional] |
|
|
12
|
+
| **stale** | **Boolean** | True when Google's daily API quota was exhausted and this is the last successful fetch, not a live read. | [optional] |
|
|
11
13
|
|
|
12
14
|
## Example
|
|
13
15
|
|
|
@@ -18,7 +20,9 @@ instance = Zernio::CampaignBidding.new(
|
|
|
18
20
|
channel: null,
|
|
19
21
|
bidding_strategy_type: null,
|
|
20
22
|
bid_spec: null,
|
|
21
|
-
portfolio: null
|
|
23
|
+
portfolio: null,
|
|
24
|
+
cached_at: null,
|
|
25
|
+
stale: null
|
|
22
26
|
)
|
|
23
27
|
```
|
|
24
28
|
|
data/docs/ConversionsApi.md
CHANGED
|
@@ -168,7 +168,7 @@ end
|
|
|
168
168
|
|
|
169
169
|
Create a website conversion action
|
|
170
170
|
|
|
171
|
-
Creates a `WEBPAGE` conversion action (category `DEFAULT`) and returns it with its tag snippets, read back after creation since Google never returns them on the create response itself. Google-only; other platforms return `501`. Requires the Ads add-on.
|
|
171
|
+
Creates a `WEBPAGE` conversion action (category `DEFAULT`) and returns it with its tag snippets, read back after creation since Google never returns them on the create response itself. Invalidates the cached list `GET` on this resource would otherwise keep serving. Google-only; other platforms return `501`. Requires the Ads add-on.
|
|
172
172
|
|
|
173
173
|
### Examples
|
|
174
174
|
|
|
@@ -607,7 +607,7 @@ end
|
|
|
607
607
|
|
|
608
608
|
List conversion actions and their tag snippets
|
|
609
609
|
|
|
610
|
-
Lists Google Ads conversion actions on the resolved customer, all types by default. Each action's `tagSnippets` (global site tag + event snippet) is included when Google has them for that action's type, e.g. `WEBPAGE`. Google-only; other platforms return `501`. Requires the Ads add-on. `customerId` is optional: when omitted, it is resolved from the connection's accessible Google Ads customers, and the call fails with `400` when more than one is accessible (pass `customerId` to disambiguate).
|
|
610
|
+
Lists Google Ads conversion actions on the resolved customer, all types by default. Each action's `tagSnippets` (global site tag + event snippet) is included when Google has them for that action's type, e.g. `WEBPAGE`. Google-only; other platforms return `501`. Requires the Ads add-on. `customerId` is optional: when omitted, it is resolved from the connection's accessible Google Ads customers, and the call fails with `400` when more than one is accessible (pass `customerId` to disambiguate). The list itself is cached for the quota window (1 hour fresh, up to 7 days last-good; the cache key does not vary on `type`). The response carries `cachedAt` and `stale`, set when a quota-exhausted call falls back to the last-good copy instead of a live read.
|
|
611
611
|
|
|
612
612
|
### Examples
|
|
613
613
|
|
|
@@ -7,6 +7,8 @@
|
|
|
7
7
|
| **customer_id** | **String** | | [optional] |
|
|
8
8
|
| **data** | [**Array<GetAdsSearchTerms200ResponseDataInner>**](GetAdsSearchTerms200ResponseDataInner.md) | | [optional] |
|
|
9
9
|
| **paging** | [**GetAdsSearchTerms200ResponsePaging**](GetAdsSearchTerms200ResponsePaging.md) | | [optional] |
|
|
10
|
+
| **cached_at** | **Time** | When this data was fetched from Google. Null when it was never served from cache. | [optional] |
|
|
11
|
+
| **stale** | **Boolean** | True when Google's daily API quota was exhausted and this is the last successful fetch, not a live read. | [optional] |
|
|
10
12
|
|
|
11
13
|
## Example
|
|
12
14
|
|
|
@@ -16,7 +18,9 @@ require 'zernio-sdk'
|
|
|
16
18
|
instance = Zernio::GetAdsSearchTerms200Response.new(
|
|
17
19
|
customer_id: null,
|
|
18
20
|
data: null,
|
|
19
|
-
paging: null
|
|
21
|
+
paging: null,
|
|
22
|
+
cached_at: null,
|
|
23
|
+
stale: null
|
|
20
24
|
)
|
|
21
25
|
```
|
|
22
26
|
|
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
| **bidding_strategy_type** | **String** | Google's raw enum: MAXIMIZE_CONVERSIONS, TARGET_CPA, MAXIMIZE_CONVERSION_VALUE, TARGET_ROAS, TARGET_SPEND, MANUAL_CPC, TARGET_IMPRESSION_SHARE, or another Google adds later. | [optional] |
|
|
9
9
|
| **bid_spec** | [**CampaignBiddingBidSpec**](CampaignBiddingBidSpec.md) | | [optional] |
|
|
10
10
|
| **portfolio** | [**CampaignBiddingPortfolio**](CampaignBiddingPortfolio.md) | | [optional] |
|
|
11
|
+
| **cached_at** | **Time** | When this data was fetched from Google. Null when it was never served from cache. | [optional] |
|
|
12
|
+
| **stale** | **Boolean** | True when Google's daily API quota was exhausted and this is the last successful fetch, not a live read. | [optional] |
|
|
11
13
|
| **campaign_id** | **String** | | [optional] |
|
|
12
14
|
|
|
13
15
|
## Example
|
|
@@ -20,6 +22,8 @@ instance = Zernio::GetCampaignBidding200Response.new(
|
|
|
20
22
|
bidding_strategy_type: null,
|
|
21
23
|
bid_spec: null,
|
|
22
24
|
portfolio: null,
|
|
25
|
+
cached_at: null,
|
|
26
|
+
stale: null,
|
|
23
27
|
campaign_id: null
|
|
24
28
|
)
|
|
25
29
|
```
|
|
@@ -7,6 +7,8 @@
|
|
|
7
7
|
| **devices** | [**Array<GetCampaignTargeting200ResponseDevicesInner>**](GetCampaignTargeting200ResponseDevicesInner.md) | | [optional] |
|
|
8
8
|
| **locations** | [**Array<GetCampaignTargeting200ResponseLocationsInner>**](GetCampaignTargeting200ResponseLocationsInner.md) | | [optional] |
|
|
9
9
|
| **languages** | [**Array<GetCampaignTargeting200ResponseLanguagesInner>**](GetCampaignTargeting200ResponseLanguagesInner.md) | | [optional] |
|
|
10
|
+
| **cached_at** | **Time** | When this targeting was fetched from Google. Null when it was never served from cache. | [optional] |
|
|
11
|
+
| **stale** | **Boolean** | True when Google's daily API quota was exhausted and this is the last successful fetch, not a live read. | [optional] |
|
|
10
12
|
|
|
11
13
|
## Example
|
|
12
14
|
|
|
@@ -16,7 +18,9 @@ require 'zernio-sdk'
|
|
|
16
18
|
instance = Zernio::GetCampaignTargeting200Response.new(
|
|
17
19
|
devices: null,
|
|
18
20
|
locations: null,
|
|
19
|
-
languages: null
|
|
21
|
+
languages: null,
|
|
22
|
+
cached_at: null,
|
|
23
|
+
stale: null
|
|
20
24
|
)
|
|
21
25
|
```
|
|
22
26
|
|
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
| ---- | ---- | ----------- | ----- |
|
|
7
7
|
| **customer_id** | **String** | | [optional] |
|
|
8
8
|
| **callouts** | [**Array<ListAccountCallouts200ResponseCalloutsInner>**](ListAccountCallouts200ResponseCalloutsInner.md) | | [optional] |
|
|
9
|
+
| **cached_at** | **Time** | When this list was fetched from Google. Null when it was never served from cache. | [optional] |
|
|
10
|
+
| **stale** | **Boolean** | True when Google's daily API quota was exhausted and this is the last successful fetch, not a live read. | [optional] |
|
|
9
11
|
|
|
10
12
|
## Example
|
|
11
13
|
|
|
@@ -14,7 +16,9 @@ require 'zernio-sdk'
|
|
|
14
16
|
|
|
15
17
|
instance = Zernio::ListAccountCallouts200Response.new(
|
|
16
18
|
customer_id: null,
|
|
17
|
-
callouts: null
|
|
19
|
+
callouts: null,
|
|
20
|
+
cached_at: null,
|
|
21
|
+
stale: null
|
|
18
22
|
)
|
|
19
23
|
```
|
|
20
24
|
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
| Name | Type | Description | Notes |
|
|
6
6
|
| ---- | ---- | ----------- | ----- |
|
|
7
7
|
| **accounts** | [**Array<ListAdAccounts200ResponseAccountsInner>**](ListAdAccounts200ResponseAccountsInner.md) | | [optional] |
|
|
8
|
+
| **cached_at** | **Time** | Google only. When this list was fetched from Google. Null when it was never served from cache, or on other platforms. | [optional] |
|
|
9
|
+
| **stale** | **Boolean** | Google only. True when Google's daily API quota was exhausted and this is the last successful fetch, not a live read. Absent on other platforms. | [optional] |
|
|
8
10
|
|
|
9
11
|
## Example
|
|
10
12
|
|
|
@@ -12,7 +14,9 @@
|
|
|
12
14
|
require 'zernio-sdk'
|
|
13
15
|
|
|
14
16
|
instance = Zernio::ListAdAccounts200Response.new(
|
|
15
|
-
accounts: null
|
|
17
|
+
accounts: null,
|
|
18
|
+
cached_at: null,
|
|
19
|
+
stale: null
|
|
16
20
|
)
|
|
17
21
|
```
|
|
18
22
|
|
|
@@ -7,6 +7,8 @@
|
|
|
7
7
|
| **customer_id** | **String** | | [optional] |
|
|
8
8
|
| **currency** | **String** | Account currency code; money fields are in this currency's units. | [optional] |
|
|
9
9
|
| **strategies** | [**Array<PortfolioBidStrategy>**](PortfolioBidStrategy.md) | | [optional] |
|
|
10
|
+
| **cached_at** | **Time** | When this data was fetched from Google. Null when it was never served from cache. | [optional] |
|
|
11
|
+
| **stale** | **Boolean** | True when Google's daily API quota was exhausted and this is the last successful fetch, not a live read. | [optional] |
|
|
10
12
|
|
|
11
13
|
## Example
|
|
12
14
|
|
|
@@ -16,7 +18,9 @@ require 'zernio-sdk'
|
|
|
16
18
|
instance = Zernio::ListBidStrategies200Response.new(
|
|
17
19
|
customer_id: null,
|
|
18
20
|
currency: null,
|
|
19
|
-
strategies: null
|
|
21
|
+
strategies: null,
|
|
22
|
+
cached_at: null,
|
|
23
|
+
stale: null
|
|
20
24
|
)
|
|
21
25
|
```
|
|
22
26
|
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
| Name | Type | Description | Notes |
|
|
6
6
|
| ---- | ---- | ----------- | ----- |
|
|
7
7
|
| **keywords** | [**Array<ListCampaignNegativeKeywords200ResponseKeywordsInner>**](ListCampaignNegativeKeywords200ResponseKeywordsInner.md) | | [optional] |
|
|
8
|
+
| **cached_at** | **Time** | When this list was fetched from Google. Null when it was never served from cache. | [optional] |
|
|
9
|
+
| **stale** | **Boolean** | True when Google's daily API quota was exhausted and this is the last successful fetch, not a live read. | [optional] |
|
|
8
10
|
|
|
9
11
|
## Example
|
|
10
12
|
|
|
@@ -12,7 +14,9 @@
|
|
|
12
14
|
require 'zernio-sdk'
|
|
13
15
|
|
|
14
16
|
instance = Zernio::ListCampaignNegativeKeywords200Response.new(
|
|
15
|
-
keywords: null
|
|
17
|
+
keywords: null,
|
|
18
|
+
cached_at: null,
|
|
19
|
+
stale: null
|
|
16
20
|
)
|
|
17
21
|
```
|
|
18
22
|
|
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
| ---- | ---- | ----------- | ----- |
|
|
7
7
|
| **customer_id** | **String** | The Google Ads customer id the actions were read from. | [optional] |
|
|
8
8
|
| **actions** | [**Array<ConversionAction>**](ConversionAction.md) | | [optional] |
|
|
9
|
+
| **cached_at** | **Time** | When this list was fetched from Google. Null when it was never served from cache. | [optional] |
|
|
10
|
+
| **stale** | **Boolean** | True when Google's daily API quota was exhausted and this is the last successful fetch, not a live read. | [optional] |
|
|
9
11
|
|
|
10
12
|
## Example
|
|
11
13
|
|
|
@@ -14,7 +16,9 @@ require 'zernio-sdk'
|
|
|
14
16
|
|
|
15
17
|
instance = Zernio::ListConversionActions200Response.new(
|
|
16
18
|
customer_id: null,
|
|
17
|
-
actions: null
|
|
19
|
+
actions: null,
|
|
20
|
+
cached_at: null,
|
|
21
|
+
stale: null
|
|
18
22
|
)
|
|
19
23
|
```
|
|
20
24
|
|
|
@@ -6,6 +6,9 @@
|
|
|
6
6
|
| ---- | ---- | ----------- | ----- |
|
|
7
7
|
| **campaign_id** | **String** | | [optional] |
|
|
8
8
|
| **updated** | **Array<String>** | Which targeting fields were applied. | [optional] |
|
|
9
|
+
| **devices** | [**Array<UpdateCampaignTargeting200ResponseDevicesInner>**](UpdateCampaignTargeting200ResponseDevicesInner.md) | | [optional] |
|
|
10
|
+
| **locations** | [**Array<GetCampaignTargeting200ResponseLocationsInner>**](GetCampaignTargeting200ResponseLocationsInner.md) | | [optional] |
|
|
11
|
+
| **languages** | [**Array<UpdateCampaignTargeting200ResponseLanguagesInner>**](UpdateCampaignTargeting200ResponseLanguagesInner.md) | | [optional] |
|
|
9
12
|
|
|
10
13
|
## Example
|
|
11
14
|
|
|
@@ -14,7 +17,10 @@ require 'zernio-sdk'
|
|
|
14
17
|
|
|
15
18
|
instance = Zernio::UpdateCampaignTargeting200Response.new(
|
|
16
19
|
campaign_id: null,
|
|
17
|
-
updated: null
|
|
20
|
+
updated: null,
|
|
21
|
+
devices: null,
|
|
22
|
+
locations: null,
|
|
23
|
+
languages: null
|
|
18
24
|
)
|
|
19
25
|
```
|
|
20
26
|
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Zernio::UpdateCampaignTargeting200ResponseDevicesInner
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **device** | **String** | | [optional] |
|
|
8
|
+
| **included** | **Boolean** | | [optional] |
|
|
9
|
+
| **bid_modifier** | **Float** | Always null on this read; see GET's description. | [optional] |
|
|
10
|
+
|
|
11
|
+
## Example
|
|
12
|
+
|
|
13
|
+
```ruby
|
|
14
|
+
require 'zernio-sdk'
|
|
15
|
+
|
|
16
|
+
instance = Zernio::UpdateCampaignTargeting200ResponseDevicesInner.new(
|
|
17
|
+
device: null,
|
|
18
|
+
included: null,
|
|
19
|
+
bid_modifier: null
|
|
20
|
+
)
|
|
21
|
+
```
|
|
22
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Zernio::UpdateCampaignTargeting200ResponseLanguagesInner
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **code** | **String** | | [optional] |
|
|
8
|
+
| **id** | **String** | | [optional] |
|
|
9
|
+
| **name** | **String** | | [optional] |
|
|
10
|
+
|
|
11
|
+
## Example
|
|
12
|
+
|
|
13
|
+
```ruby
|
|
14
|
+
require 'zernio-sdk'
|
|
15
|
+
|
|
16
|
+
instance = Zernio::UpdateCampaignTargeting200ResponseLanguagesInner.new(
|
|
17
|
+
code: null,
|
|
18
|
+
id: null,
|
|
19
|
+
name: null
|
|
20
|
+
)
|
|
21
|
+
```
|
|
22
|
+
|
|
@@ -829,7 +829,7 @@ module Zernio
|
|
|
829
829
|
end
|
|
830
830
|
|
|
831
831
|
# List account-level callout extensions
|
|
832
|
-
# Google Ads compliance row C.75: callout assets linked at the CUSTOMER level via `customer_asset` (not a campaign or ad group), so they serve fleet-wide across the account. Google only; every other platform returns 501.
|
|
832
|
+
# Google Ads compliance row C.75: callout assets linked at the CUSTOMER level via `customer_asset` (not a campaign or ad group), so they serve fleet-wide across the account. Google only; every other platform returns 501. Cached for the quota window (10 minutes fresh, up to 7 days last-good), and gated by the shared Google Ads operations budget on a cache miss. The response carries `cachedAt` and `stale`, set when a quota-exhausted call falls back to the last-good copy instead of a live read.
|
|
833
833
|
# @param account_id [String] Google ads SocialAccount id.
|
|
834
834
|
# @param [Hash] opts the optional parameters
|
|
835
835
|
# @option opts [String] :customer_id Numeric Google Ads customer id (no dashes). Defaults to the account's connected customer.
|
|
@@ -840,7 +840,7 @@ module Zernio
|
|
|
840
840
|
end
|
|
841
841
|
|
|
842
842
|
# List account-level callout extensions
|
|
843
|
-
# Google Ads compliance row C.75: callout assets linked at the CUSTOMER level via `customer_asset` (not a campaign or ad group), so they serve fleet-wide across the account. Google only; every other platform returns 501.
|
|
843
|
+
# Google Ads compliance row C.75: callout assets linked at the CUSTOMER level via `customer_asset` (not a campaign or ad group), so they serve fleet-wide across the account. Google only; every other platform returns 501. Cached for the quota window (10 minutes fresh, up to 7 days last-good), and gated by the shared Google Ads operations budget on a cache miss. The response carries `cachedAt` and `stale`, set when a quota-exhausted call falls back to the last-good copy instead of a live read.
|
|
844
844
|
# @param account_id [String] Google ads SocialAccount id.
|
|
845
845
|
# @param [Hash] opts the optional parameters
|
|
846
846
|
# @option opts [String] :customer_id Numeric Google Ads customer id (no dashes). Defaults to the account's connected customer.
|
|
@@ -1397,7 +1397,7 @@ module Zernio
|
|
|
1397
1397
|
end
|
|
1398
1398
|
|
|
1399
1399
|
# Read a campaign's current bidding
|
|
1400
|
-
#
|
|
1400
|
+
# Read of the campaign's bidding strategy on Google, cached for the quota window, for pre-filling the bid strategy block before a PUT to /v1/ads/campaigns/{campaignId}. Google Ads only; `platform` is required and rejected when it is anything else, since a `campaignId` is not globally unique. The response carries `cachedAt` and `stale`, set when a quota-exhausted call falls back to the last-good copy instead of a live read. Maps Google's bidding strategy onto the same triplet PUT accepts: `LOWEST_COST_WITHOUT_CAP` (Maximize Conversions, no target), `COST_CAP` + `bidAmount` (Target CPA), `LOWEST_COST_WITH_MIN_ROAS` + `roasAverageFloor` (Target ROAS), `LOWEST_COST_WITH_BID_CAP` + `bidAmount` (Maximize Clicks with a CPC ceiling). A campaign on a portfolio strategy returns `portfolio` (id + name) and `bidSpec.portfolioBidStrategyId` instead of the triplet. Anything else (Manual CPC, Target Impression Share, ...) returns `bidSpec: null`; show `biddingStrategyType` as-is.
|
|
1401
1401
|
# @param campaign_id [String] Numeric Google platform campaign id.
|
|
1402
1402
|
# @param account_id [String] Zernio Google Ads SocialAccount id: resolves the customer id + refresh token.
|
|
1403
1403
|
# @param platform [String] Required: campaign IDs are not globally unique. Only \"google\" is supported today.
|
|
@@ -1410,7 +1410,7 @@ module Zernio
|
|
|
1410
1410
|
end
|
|
1411
1411
|
|
|
1412
1412
|
# Read a campaign's current bidding
|
|
1413
|
-
#
|
|
1413
|
+
# Read of the campaign's bidding strategy on Google, cached for the quota window, for pre-filling the bid strategy block before a PUT to /v1/ads/campaigns/{campaignId}. Google Ads only; `platform` is required and rejected when it is anything else, since a `campaignId` is not globally unique. The response carries `cachedAt` and `stale`, set when a quota-exhausted call falls back to the last-good copy instead of a live read. Maps Google's bidding strategy onto the same triplet PUT accepts: `LOWEST_COST_WITHOUT_CAP` (Maximize Conversions, no target), `COST_CAP` + `bidAmount` (Target CPA), `LOWEST_COST_WITH_MIN_ROAS` + `roasAverageFloor` (Target ROAS), `LOWEST_COST_WITH_BID_CAP` + `bidAmount` (Maximize Clicks with a CPC ceiling). A campaign on a portfolio strategy returns `portfolio` (id + name) and `bidSpec.portfolioBidStrategyId` instead of the triplet. Anything else (Manual CPC, Target Impression Share, ...) returns `bidSpec: null`; show `biddingStrategyType` as-is.
|
|
1414
1414
|
# @param campaign_id [String] Numeric Google platform campaign id.
|
|
1415
1415
|
# @param account_id [String] Zernio Google Ads SocialAccount id: resolves the customer id + refresh token.
|
|
1416
1416
|
# @param platform [String] Required: campaign IDs are not globally unique. Only \"google\" is supported today.
|
|
@@ -1482,7 +1482,7 @@ module Zernio
|
|
|
1482
1482
|
end
|
|
1483
1483
|
|
|
1484
1484
|
# Read a Google campaign's device, location, and language targeting
|
|
1485
|
-
# Google Ads compliance requires geo, language, budget, and bidding targeting set at creation to stay editable afterwards; this reads the
|
|
1485
|
+
# Google Ads compliance requires geo, language, budget, and bidding targeting set at creation to stay editable afterwards; this reads the campaign state so an integrator can build an editor around it. Cached for the quota window (10 minutes fresh, up to 7 days last-good), not always a live read. Google only; every other platform returns 501. `devices` always lists all four device types with `included` reflecting Google's negative device criteria (a device absent from any negative criterion is included by default). This read has no bid-modifier source, so `bidModifier` is always `null` even for a device with one configured.
|
|
1486
1486
|
# @param campaign_id [String] Google platform campaign ID
|
|
1487
1487
|
# @param [Hash] opts the optional parameters
|
|
1488
1488
|
# @option opts [String] :platform Disambiguates when the same campaignId string exists on more than one connected platform.
|
|
@@ -1493,7 +1493,7 @@ module Zernio
|
|
|
1493
1493
|
end
|
|
1494
1494
|
|
|
1495
1495
|
# Read a Google campaign's device, location, and language targeting
|
|
1496
|
-
# Google Ads compliance requires geo, language, budget, and bidding targeting set at creation to stay editable afterwards; this reads the
|
|
1496
|
+
# Google Ads compliance requires geo, language, budget, and bidding targeting set at creation to stay editable afterwards; this reads the campaign state so an integrator can build an editor around it. Cached for the quota window (10 minutes fresh, up to 7 days last-good), not always a live read. Google only; every other platform returns 501. `devices` always lists all four device types with `included` reflecting Google's negative device criteria (a device absent from any negative criterion is included by default). This read has no bid-modifier source, so `bidModifier` is always `null` even for a device with one configured.
|
|
1497
1497
|
# @param campaign_id [String] Google platform campaign ID
|
|
1498
1498
|
# @param [Hash] opts the optional parameters
|
|
1499
1499
|
# @option opts [String] :platform Disambiguates when the same campaignId string exists on more than one connected platform.
|
|
@@ -1984,7 +1984,7 @@ module Zernio
|
|
|
1984
1984
|
end
|
|
1985
1985
|
|
|
1986
1986
|
# List Google Ads portfolio bid strategies
|
|
1987
|
-
# 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
|
|
1987
|
+
# 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.
|
|
1988
1988
|
# @param account_id [String] Google ads SocialAccount id.
|
|
1989
1989
|
# @param [Hash] opts the optional parameters
|
|
1990
1990
|
# @option opts [String] :customer_id Numeric Google Ads customer id (no dashes). Defaults to the account's connected customer.
|
|
@@ -1997,7 +1997,7 @@ module Zernio
|
|
|
1997
1997
|
end
|
|
1998
1998
|
|
|
1999
1999
|
# List Google Ads portfolio bid strategies
|
|
2000
|
-
# 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
|
|
2000
|
+
# 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.
|
|
2001
2001
|
# @param account_id [String] Google ads SocialAccount id.
|
|
2002
2002
|
# @param [Hash] opts the optional parameters
|
|
2003
2003
|
# @option opts [String] :customer_id Numeric Google Ads customer id (no dashes). Defaults to the account's connected customer.
|
|
@@ -2057,7 +2057,7 @@ module Zernio
|
|
|
2057
2057
|
end
|
|
2058
2058
|
|
|
2059
2059
|
# List campaign-level negative keywords
|
|
2060
|
-
# Returns the campaign-level negative keywords (`campaign_criterion.negative`), distinct from the ad-group-level negatives under `GET /v1/ads/keywords`.
|
|
2060
|
+
# Returns the campaign-level negative keywords (`campaign_criterion.negative`), distinct from the ad-group-level negatives under `GET /v1/ads/keywords`. Cached for the quota window (not synced to Postgres), and gated by the shared Google Ads operations budget like every other on-demand Google surface. The response carries `cachedAt` and `stale`, set when a quota-exhausted call falls back to the last-good copy instead of a live read. The platform is always discovered from the campaign itself; a non-Google campaign returns 501 rather than 404, whether or not `platform` was passed.
|
|
2061
2061
|
# @param campaign_id [String] Platform campaign ID
|
|
2062
2062
|
# @param [Hash] opts the optional parameters
|
|
2063
2063
|
# @option opts [String] :platform Optional and NOT authoritative: the resolved campaign's own platform decides 200 vs 501, never this hint.
|
|
@@ -2068,7 +2068,7 @@ module Zernio
|
|
|
2068
2068
|
end
|
|
2069
2069
|
|
|
2070
2070
|
# List campaign-level negative keywords
|
|
2071
|
-
# Returns the campaign-level negative keywords (`campaign_criterion.negative`), distinct from the ad-group-level negatives under `GET /v1/ads/keywords`.
|
|
2071
|
+
# Returns the campaign-level negative keywords (`campaign_criterion.negative`), distinct from the ad-group-level negatives under `GET /v1/ads/keywords`. Cached for the quota window (not synced to Postgres), and gated by the shared Google Ads operations budget like every other on-demand Google surface. The response carries `cachedAt` and `stale`, set when a quota-exhausted call falls back to the last-good copy instead of a live read. The platform is always discovered from the campaign itself; a non-Google campaign returns 501 rather than 404, whether or not `platform` was passed.
|
|
2072
2072
|
# @param campaign_id [String] Platform campaign ID
|
|
2073
2073
|
# @param [Hash] opts the optional parameters
|
|
2074
2074
|
# @option opts [String] :platform Optional and NOT authoritative: the resolved campaign's own platform decides 200 vs 501, never this hint.
|
|
@@ -2856,7 +2856,7 @@ module Zernio
|
|
|
2856
2856
|
end
|
|
2857
2857
|
|
|
2858
2858
|
# Edit a Google campaign's device, location, or language targeting
|
|
2859
|
-
# Google Ads compliance row M.10: geo and language targeting set at creation must stay editable afterwards. Send at least one of `devices`, `locations`, `languages`; each provided field REPLACES that field's existing criteria on the campaign (a full set, not a delta). Fields left out of the body are untouched. Google only; every other platform returns 501. `locations` accepts the same shapes as campaign creation: a bare array of ISO country codes, or an object with `countries`/`regions`/`cities`/`zips`/`metros` key lists (`key` from GET /v1/ads/targeting/search?dimension=geo). Negative (excluded) locations are left untouched by this endpoint. `languages` is an array of Google's language codes (ISO 639-1, plus variants such as `zh_CN`); an unknown code returns 400.
|
|
2859
|
+
# Google Ads compliance row M.10: geo and language targeting set at creation must stay editable afterwards. Send at least one of `devices`, `locations`, `languages`; each provided field REPLACES that field's existing criteria on the campaign (a full set, not a delta). Fields left out of the body are untouched. Google only; every other platform returns 501. `locations` accepts the same shapes as campaign creation: a bare array of ISO country codes, or an object with `countries`/`regions`/`cities`/`zips`/`metros` key lists (`key` from GET /v1/ads/targeting/search?dimension=geo). Negative (excluded) locations are left untouched by this endpoint. `languages` is an array of Google's language codes (ISO 639-1, plus variants such as `zh_CN`); an unknown code returns 400. The response includes the refreshed `devices`/`locations`/`languages` state read back from Google after the edit, and invalidates the cached copy `GET` on this campaign would otherwise keep serving.
|
|
2860
2860
|
# @param campaign_id [String] Google platform campaign ID
|
|
2861
2861
|
# @param update_campaign_targeting_request [UpdateCampaignTargetingRequest]
|
|
2862
2862
|
# @param [Hash] opts the optional parameters
|
|
@@ -2867,7 +2867,7 @@ module Zernio
|
|
|
2867
2867
|
end
|
|
2868
2868
|
|
|
2869
2869
|
# Edit a Google campaign's device, location, or language targeting
|
|
2870
|
-
# Google Ads compliance row M.10: geo and language targeting set at creation must stay editable afterwards. Send at least one of `devices`, `locations`, `languages`; each provided field REPLACES that field's existing criteria on the campaign (a full set, not a delta). Fields left out of the body are untouched. Google only; every other platform returns 501. `locations` accepts the same shapes as campaign creation: a bare array of ISO country codes, or an object with `countries`/`regions`/`cities`/`zips`/`metros` key lists (`key` from GET /v1/ads/targeting/search?dimension=geo). Negative (excluded) locations are left untouched by this endpoint. `languages` is an array of Google's language codes (ISO 639-1, plus variants such as `zh_CN`); an unknown code returns 400.
|
|
2870
|
+
# Google Ads compliance row M.10: geo and language targeting set at creation must stay editable afterwards. Send at least one of `devices`, `locations`, `languages`; each provided field REPLACES that field's existing criteria on the campaign (a full set, not a delta). Fields left out of the body are untouched. Google only; every other platform returns 501. `locations` accepts the same shapes as campaign creation: a bare array of ISO country codes, or an object with `countries`/`regions`/`cities`/`zips`/`metros` key lists (`key` from GET /v1/ads/targeting/search?dimension=geo). Negative (excluded) locations are left untouched by this endpoint. `languages` is an array of Google's language codes (ISO 639-1, plus variants such as `zh_CN`); an unknown code returns 400. The response includes the refreshed `devices`/`locations`/`languages` state read back from Google after the edit, and invalidates the cached copy `GET` on this campaign would otherwise keep serving.
|
|
2871
2871
|
# @param campaign_id [String] Google platform campaign ID
|
|
2872
2872
|
# @param update_campaign_targeting_request [UpdateCampaignTargetingRequest]
|
|
2873
2873
|
# @param [Hash] opts the optional parameters
|
|
@@ -380,7 +380,7 @@ module Zernio
|
|
|
380
380
|
end
|
|
381
381
|
|
|
382
382
|
# Google Ads search terms report
|
|
383
|
-
# The actual search queries that triggered your ads, with matched-keyword status and spend metrics — the raw material for wasted-spend analysis and negative-keyword lists. Reads Google's `search_term_view
|
|
383
|
+
# The actual search queries that triggered your ads, with matched-keyword status and spend metrics — the raw material for wasted-spend analysis and negative-keyword lists. Reads Google's `search_term_view`, cached for the quota window; defaults to the last 30 days. Rows are ordered by cost, descending. 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.
|
|
384
384
|
# @param account_id [String] Google ads SocialAccount id.
|
|
385
385
|
# @param [Hash] opts the optional parameters
|
|
386
386
|
# @option opts [String] :customer_id Numeric Google Ads customer id (no dashes). Defaults to the account's connected customer.
|
|
@@ -396,7 +396,7 @@ module Zernio
|
|
|
396
396
|
end
|
|
397
397
|
|
|
398
398
|
# Google Ads search terms report
|
|
399
|
-
# The actual search queries that triggered your ads, with matched-keyword status and spend metrics — the raw material for wasted-spend analysis and negative-keyword lists. Reads Google's `search_term_view`
|
|
399
|
+
# The actual search queries that triggered your ads, with matched-keyword status and spend metrics — the raw material for wasted-spend analysis and negative-keyword lists. Reads Google's `search_term_view`, cached for the quota window; defaults to the last 30 days. Rows are ordered by cost, descending. 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.
|
|
400
400
|
# @param account_id [String] Google ads SocialAccount id.
|
|
401
401
|
# @param [Hash] opts the optional parameters
|
|
402
402
|
# @option opts [String] :customer_id Numeric Google Ads customer id (no dashes). Defaults to the account's connected customer.
|