late-sdk 0.0.1316 → 0.0.1317
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 +6 -2
- data/docs/AdCampaignsApi.md +10 -10
- data/docs/GetCampaignTargeting200Response.md +4 -0
- data/docs/GetCampaignTargeting200ResponseExcludedLocationsInner.md +28 -0
- data/docs/UpdateCampaignTargeting200Response.md +2 -0
- data/docs/UpdateCampaignTargeting200ResponseExcludedLocationsInner.md +28 -0
- data/docs/UpdateCampaignTargetingRequestTargeting.md +2 -0
- data/docs/UpdateCampaignTargetingRequestTargetingExcludedLocations.md +49 -0
- data/docs/UpdateCampaignTargetingRequestTargetingExcludedLocationsOneOf.md +26 -0
- data/lib/zernio-sdk/api/ad_campaigns_api.rb +8 -8
- data/lib/zernio-sdk/models/get_campaign_targeting200_response.rb +23 -1
- data/lib/zernio-sdk/models/get_campaign_targeting200_response_excluded_locations_inner.rb +198 -0
- data/lib/zernio-sdk/models/targeting_spec_excluded_locations.rb +1 -1
- data/lib/zernio-sdk/models/update_campaign_targeting200_response.rb +13 -1
- data/lib/zernio-sdk/models/update_campaign_targeting200_response_excluded_locations_inner.rb +196 -0
- data/lib/zernio-sdk/models/update_campaign_targeting_request_targeting.rb +10 -1
- data/lib/zernio-sdk/models/update_campaign_targeting_request_targeting_excluded_locations.rb +105 -0
- data/lib/zernio-sdk/models/update_campaign_targeting_request_targeting_excluded_locations_one_of.rb +193 -0
- data/lib/zernio-sdk/version.rb +1 -1
- data/lib/zernio-sdk.rb +4 -0
- data/openapi.yaml +1 -1
- data/spec/api/ad_campaigns_api_spec.rb +4 -4
- data/spec/models/get_campaign_targeting200_response_excluded_locations_inner_spec.rb +66 -0
- data/spec/models/get_campaign_targeting200_response_spec.rb +12 -0
- data/spec/models/update_campaign_targeting200_response_excluded_locations_inner_spec.rb +66 -0
- data/spec/models/update_campaign_targeting200_response_spec.rb +7 -1
- data/spec/models/update_campaign_targeting_request_targeting_excluded_locations_one_of_spec.rb +60 -0
- data/spec/models/update_campaign_targeting_request_targeting_excluded_locations_spec.rb +32 -0
- data/spec/models/update_campaign_targeting_request_targeting_spec.rb +6 -0
- data/zernio-sdk-0.0.1317.gem +0 -0
- metadata +18 -2
- data/zernio-sdk-0.0.1316.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: 72b2db3eaed4145c4eaf6a64a99b855d639c506c0898a4b052d561e0a60fb0c1
|
|
4
|
+
data.tar.gz: ecfe30bb9f42496754271def6b65003fa9be770761c8a379d9196096939b7627
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f3b1495f07b84eb30174b9981d5cd8fee3ad3eb5bc5390ebefe9ae27791be2a8251fb9b590dd9dfeae554f859c5f50867de93095522c541a0d86daa43ff1c024
|
|
7
|
+
data.tar.gz: 141f307bacf4c8ac0303f7316199eb1342db8921be02545f8943642fbec2a2f9158d17d53d7f70352e8fa09fe568af0d565a3a20c4ffbf376535e3d529f7659f
|
data/README.md
CHANGED
|
@@ -222,7 +222,7 @@ Class | Method | HTTP request | Description
|
|
|
222
222
|
*Zernio::AdCampaignsApi* | [**get_campaign_ad_schedule**](docs/AdCampaignsApi.md#get_campaign_ad_schedule) | **GET** /v1/ads/campaigns/{campaignId}/ad-schedule | Read a campaign's ad schedule (dayparting)
|
|
223
223
|
*Zernio::AdCampaignsApi* | [**get_campaign_bidding**](docs/AdCampaignsApi.md#get_campaign_bidding) | **GET** /v1/ads/campaigns/{campaignId}/bidding | Read a campaign's current bidding
|
|
224
224
|
*Zernio::AdCampaignsApi* | [**get_campaign_conversion_goals**](docs/AdCampaignsApi.md#get_campaign_conversion_goals) | **GET** /v1/ads/campaigns/{campaignId}/conversion-goals | Get campaign conversion goals
|
|
225
|
-
*Zernio::AdCampaignsApi* | [**get_campaign_targeting**](docs/AdCampaignsApi.md#get_campaign_targeting) | **GET** /v1/ads/campaigns/{campaignId}/targeting | Read a Google campaign's device, location, and language targeting
|
|
225
|
+
*Zernio::AdCampaignsApi* | [**get_campaign_targeting**](docs/AdCampaignsApi.md#get_campaign_targeting) | **GET** /v1/ads/campaigns/{campaignId}/targeting | Read a Google campaign's device, location, excluded location, and language targeting
|
|
226
226
|
*Zernio::AdCampaignsApi* | [**get_google_asset_group**](docs/AdCampaignsApi.md#get_google_asset_group) | **GET** /v1/ads/campaigns/{campaignId}/asset-groups/{assetGroupId} | Get a Performance Max asset group
|
|
227
227
|
*Zernio::AdCampaignsApi* | [**list_ad_campaigns**](docs/AdCampaignsApi.md#list_ad_campaigns) | **GET** /v1/ads/campaigns | List campaigns
|
|
228
228
|
*Zernio::AdCampaignsApi* | [**list_ad_group_assets**](docs/AdCampaignsApi.md#list_ad_group_assets) | **GET** /v1/ads/ad-sets/{adSetId}/assets | List ad-group assets
|
|
@@ -254,7 +254,7 @@ Class | Method | HTTP request | Description
|
|
|
254
254
|
*Zernio::AdCampaignsApi* | [**update_campaign_ad_schedule**](docs/AdCampaignsApi.md#update_campaign_ad_schedule) | **PUT** /v1/ads/campaigns/{campaignId}/ad-schedule | Replace a campaign's ad schedule (dayparting)
|
|
255
255
|
*Zernio::AdCampaignsApi* | [**update_campaign_assets**](docs/AdCampaignsApi.md#update_campaign_assets) | **PUT** /v1/ads/campaigns/{campaignId}/assets | Update campaign assets
|
|
256
256
|
*Zernio::AdCampaignsApi* | [**update_campaign_conversion_goals**](docs/AdCampaignsApi.md#update_campaign_conversion_goals) | **PATCH** /v1/ads/campaigns/{campaignId}/conversion-goals | Update campaign conversion goals
|
|
257
|
-
*Zernio::AdCampaignsApi* | [**update_campaign_targeting**](docs/AdCampaignsApi.md#update_campaign_targeting) | **PUT** /v1/ads/campaigns/{campaignId}/targeting | Edit a Google campaign's device, location, or language targeting
|
|
257
|
+
*Zernio::AdCampaignsApi* | [**update_campaign_targeting**](docs/AdCampaignsApi.md#update_campaign_targeting) | **PUT** /v1/ads/campaigns/{campaignId}/targeting | Edit a Google campaign's device, location, excluded location, or language targeting
|
|
258
258
|
*Zernio::AdCampaignsApi* | [**update_google_asset_group**](docs/AdCampaignsApi.md#update_google_asset_group) | **PATCH** /v1/ads/campaigns/{campaignId}/asset-groups/{assetGroupId} | Update a Performance Max asset group
|
|
259
259
|
*Zernio::AdCreativesApi* | [**create_ad_creative**](docs/AdCreativesApi.md#create_ad_creative) | **POST** /v1/ads/creatives | Create a standalone creative
|
|
260
260
|
*Zernio::AdCreativesApi* | [**delete_ad_creative**](docs/AdCreativesApi.md#delete_ad_creative) | **DELETE** /v1/ads/creatives/{creativeId} | Delete a creative
|
|
@@ -1914,6 +1914,7 @@ Class | Method | HTTP request | Description
|
|
|
1914
1914
|
- [Zernio::GetCampaignConversionGoals200Response](docs/GetCampaignConversionGoals200Response.md)
|
|
1915
1915
|
- [Zernio::GetCampaignTargeting200Response](docs/GetCampaignTargeting200Response.md)
|
|
1916
1916
|
- [Zernio::GetCampaignTargeting200ResponseDevicesInner](docs/GetCampaignTargeting200ResponseDevicesInner.md)
|
|
1917
|
+
- [Zernio::GetCampaignTargeting200ResponseExcludedLocationsInner](docs/GetCampaignTargeting200ResponseExcludedLocationsInner.md)
|
|
1917
1918
|
- [Zernio::GetCampaignTargeting200ResponseLanguagesInner](docs/GetCampaignTargeting200ResponseLanguagesInner.md)
|
|
1918
1919
|
- [Zernio::GetCampaignTargeting200ResponseLocationsInner](docs/GetCampaignTargeting200ResponseLocationsInner.md)
|
|
1919
1920
|
- [Zernio::GetCommentAutomation200Response](docs/GetCommentAutomation200Response.md)
|
|
@@ -3306,12 +3307,15 @@ Class | Method | HTTP request | Description
|
|
|
3306
3307
|
- [Zernio::UpdateCampaignConversionGoalsRequest](docs/UpdateCampaignConversionGoalsRequest.md)
|
|
3307
3308
|
- [Zernio::UpdateCampaignTargeting200Response](docs/UpdateCampaignTargeting200Response.md)
|
|
3308
3309
|
- [Zernio::UpdateCampaignTargeting200ResponseDevicesInner](docs/UpdateCampaignTargeting200ResponseDevicesInner.md)
|
|
3310
|
+
- [Zernio::UpdateCampaignTargeting200ResponseExcludedLocationsInner](docs/UpdateCampaignTargeting200ResponseExcludedLocationsInner.md)
|
|
3309
3311
|
- [Zernio::UpdateCampaignTargeting200ResponseLanguagesInner](docs/UpdateCampaignTargeting200ResponseLanguagesInner.md)
|
|
3310
3312
|
- [Zernio::UpdateCampaignTargeting200ResponseLocationsInner](docs/UpdateCampaignTargeting200ResponseLocationsInner.md)
|
|
3311
3313
|
- [Zernio::UpdateCampaignTargetingRequest](docs/UpdateCampaignTargetingRequest.md)
|
|
3312
3314
|
- [Zernio::UpdateCampaignTargetingRequestTargeting](docs/UpdateCampaignTargetingRequestTargeting.md)
|
|
3313
3315
|
- [Zernio::UpdateCampaignTargetingRequestTargetingDevicesInner](docs/UpdateCampaignTargetingRequestTargetingDevicesInner.md)
|
|
3314
3316
|
- [Zernio::UpdateCampaignTargetingRequestTargetingDevicesInnerOneOf](docs/UpdateCampaignTargetingRequestTargetingDevicesInnerOneOf.md)
|
|
3317
|
+
- [Zernio::UpdateCampaignTargetingRequestTargetingExcludedLocations](docs/UpdateCampaignTargetingRequestTargetingExcludedLocations.md)
|
|
3318
|
+
- [Zernio::UpdateCampaignTargetingRequestTargetingExcludedLocationsOneOf](docs/UpdateCampaignTargetingRequestTargetingExcludedLocationsOneOf.md)
|
|
3315
3319
|
- [Zernio::UpdateCampaignTargetingRequestTargetingLocations](docs/UpdateCampaignTargetingRequestTargetingLocations.md)
|
|
3316
3320
|
- [Zernio::UpdateCampaignTargetingRequestTargetingLocationsOneOf](docs/UpdateCampaignTargetingRequestTargetingLocationsOneOf.md)
|
|
3317
3321
|
- [Zernio::UpdateCampaignTargetingRequestTargetingLocationsOneOfRegionsInner](docs/UpdateCampaignTargetingRequestTargetingLocationsOneOfRegionsInner.md)
|
data/docs/AdCampaignsApi.md
CHANGED
|
@@ -32,7 +32,7 @@ All URIs are relative to *https://zernio.com/api*
|
|
|
32
32
|
| [**get_campaign_ad_schedule**](AdCampaignsApi.md#get_campaign_ad_schedule) | **GET** /v1/ads/campaigns/{campaignId}/ad-schedule | Read a campaign's ad schedule (dayparting) |
|
|
33
33
|
| [**get_campaign_bidding**](AdCampaignsApi.md#get_campaign_bidding) | **GET** /v1/ads/campaigns/{campaignId}/bidding | Read a campaign's current bidding |
|
|
34
34
|
| [**get_campaign_conversion_goals**](AdCampaignsApi.md#get_campaign_conversion_goals) | **GET** /v1/ads/campaigns/{campaignId}/conversion-goals | Get campaign conversion goals |
|
|
35
|
-
| [**get_campaign_targeting**](AdCampaignsApi.md#get_campaign_targeting) | **GET** /v1/ads/campaigns/{campaignId}/targeting | Read a Google campaign's device, location, and language targeting |
|
|
35
|
+
| [**get_campaign_targeting**](AdCampaignsApi.md#get_campaign_targeting) | **GET** /v1/ads/campaigns/{campaignId}/targeting | Read a Google campaign's device, location, excluded location, and language targeting |
|
|
36
36
|
| [**get_google_asset_group**](AdCampaignsApi.md#get_google_asset_group) | **GET** /v1/ads/campaigns/{campaignId}/asset-groups/{assetGroupId} | Get a Performance Max asset group |
|
|
37
37
|
| [**list_ad_campaigns**](AdCampaignsApi.md#list_ad_campaigns) | **GET** /v1/ads/campaigns | List campaigns |
|
|
38
38
|
| [**list_ad_group_assets**](AdCampaignsApi.md#list_ad_group_assets) | **GET** /v1/ads/ad-sets/{adSetId}/assets | List ad-group assets |
|
|
@@ -64,7 +64,7 @@ All URIs are relative to *https://zernio.com/api*
|
|
|
64
64
|
| [**update_campaign_ad_schedule**](AdCampaignsApi.md#update_campaign_ad_schedule) | **PUT** /v1/ads/campaigns/{campaignId}/ad-schedule | Replace a campaign's ad schedule (dayparting) |
|
|
65
65
|
| [**update_campaign_assets**](AdCampaignsApi.md#update_campaign_assets) | **PUT** /v1/ads/campaigns/{campaignId}/assets | Update campaign assets |
|
|
66
66
|
| [**update_campaign_conversion_goals**](AdCampaignsApi.md#update_campaign_conversion_goals) | **PATCH** /v1/ads/campaigns/{campaignId}/conversion-goals | Update campaign conversion goals |
|
|
67
|
-
| [**update_campaign_targeting**](AdCampaignsApi.md#update_campaign_targeting) | **PUT** /v1/ads/campaigns/{campaignId}/targeting | Edit a Google campaign's device, location, or language targeting |
|
|
67
|
+
| [**update_campaign_targeting**](AdCampaignsApi.md#update_campaign_targeting) | **PUT** /v1/ads/campaigns/{campaignId}/targeting | Edit a Google campaign's device, location, excluded location, or language targeting |
|
|
68
68
|
| [**update_google_asset_group**](AdCampaignsApi.md#update_google_asset_group) | **PATCH** /v1/ads/campaigns/{campaignId}/asset-groups/{assetGroupId} | Update a Performance Max asset group |
|
|
69
69
|
|
|
70
70
|
|
|
@@ -2136,9 +2136,9 @@ end
|
|
|
2136
2136
|
|
|
2137
2137
|
> <GetCampaignTargeting200Response> get_campaign_targeting(campaign_id, opts)
|
|
2138
2138
|
|
|
2139
|
-
Read a Google campaign's device, location, and language targeting
|
|
2139
|
+
Read a Google campaign's device, location, excluded location, and language targeting
|
|
2140
2140
|
|
|
2141
|
-
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` lists the device criteria the campaign carries, which depends on its channel: Search campaigns have MOBILE, DESKTOP and TABLET, Display campaigns also have CONNECTED_TV. `bidModifier` is Google's bid adjustment for that device, `null` when it has none, and `0` when the device is switched off; `included` is false for exactly that case.
|
|
2141
|
+
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` lists the device criteria the campaign carries, which depends on its channel: Search campaigns have MOBILE, DESKTOP and TABLET, Display campaigns also have CONNECTED_TV. `bidModifier` is Google's bid adjustment for that device, `null` when it has none, and `0` when the device is switched off; `included` is false for exactly that case. `excludedLocations` lists the campaign's negative location criteria (the places it never serves in). `locations` still lists every location criterion, each flagged with `negative`, so a client reading the targeted set filters `negative: false`.
|
|
2142
2142
|
|
|
2143
2143
|
### Examples
|
|
2144
2144
|
|
|
@@ -2158,7 +2158,7 @@ opts = {
|
|
|
2158
2158
|
}
|
|
2159
2159
|
|
|
2160
2160
|
begin
|
|
2161
|
-
# Read a Google campaign's device, location, and language targeting
|
|
2161
|
+
# Read a Google campaign's device, location, excluded location, and language targeting
|
|
2162
2162
|
result = api_instance.get_campaign_targeting(campaign_id, opts)
|
|
2163
2163
|
p result
|
|
2164
2164
|
rescue Zernio::ApiError => e
|
|
@@ -2174,7 +2174,7 @@ This returns an Array which contains the response data, status code and headers.
|
|
|
2174
2174
|
|
|
2175
2175
|
```ruby
|
|
2176
2176
|
begin
|
|
2177
|
-
# Read a Google campaign's device, location, and language targeting
|
|
2177
|
+
# Read a Google campaign's device, location, excluded location, and language targeting
|
|
2178
2178
|
data, status_code, headers = api_instance.get_campaign_targeting_with_http_info(campaign_id, opts)
|
|
2179
2179
|
p status_code # => 2xx
|
|
2180
2180
|
p headers # => { ... }
|
|
@@ -4554,9 +4554,9 @@ end
|
|
|
4554
4554
|
|
|
4555
4555
|
> <UpdateCampaignTargeting200Response> update_campaign_targeting(campaign_id, update_campaign_targeting_request)
|
|
4556
4556
|
|
|
4557
|
-
Edit a Google campaign's device, location, or language targeting
|
|
4557
|
+
Edit a Google campaign's device, location, excluded location, or language targeting
|
|
4558
4558
|
|
|
4559
|
-
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`, `locationTargetingType`; 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. `devices` is the full set of device bid modifiers: a supported device you leave out is switched off with a bid modifier of 0, since Google cannot remove a device criterion. A device the campaign's channel does not carry, and a set that switches every device off, both return 422. `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).
|
|
4559
|
+
Google Ads compliance row M.10: geo and language targeting set at creation must stay editable afterwards. Send at least one of `devices`, `locations`, `excludedLocations`, `languages`, `locationTargetingType`; 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. `devices` is the full set of device bid modifiers: a supported device you leave out is switched off with a bid modifier of 0, since Google cannot remove a device criterion. A device the campaign's channel does not carry, and a set that switches every device off, both return 422. `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). Excluded locations are left untouched by `locations`. An empty location list returns 400 instead of removing every criterion: a Google campaign with no location criteria targets every country, so omit `locations` to leave targeting alone. `excludedLocations` takes the same two shapes and replaces the campaign's negative location criteria (the places it never serves in), leaving the targeted `locations` untouched. An empty list (or `{}`) removes every exclusion. Radius exclusions are not supported. A place cannot be both targeted and excluded: a request whose result would leave one on both sides returns 400 before anything is written, and moving a place from one side to the other in the same request is applied atomically. Example: `{ \"platform\": \"google\", \"targeting\": { \"excludedLocations\": { \"countries\": [\"CA\"], \"regions\": [\"21137\"] } } }`. The removes and the creates go out in ONE Google `googleAds:mutate`, so a failed edit leaves the campaign's previous set intact rather than a half-applied one. `languages` is an array of Google's language codes (ISO 639-1, plus variants such as `zh_CN`); an unknown code returns 400. `locationTargetingType` switches who the location targeting reaches: `presence` (people in or regularly in the locations) or `presence_or_interest` (also people searching for or interested in them). Example: `{ \"platform\": \"google\", \"targeting\": { \"locationTargetingType\": \"presence\" } }`. The response includes the refreshed `devices`/`locations`/`excludedLocations`/`languages` state read back from Google after the edit, and invalidates the cached copy `GET` on this campaign would otherwise keep serving. **Demand Gen:** Google keeps a Demand Gen campaign's locations and languages on its ad groups and refuses them on the campaign. When the campaign has one ad group they are written there and the response carries its `adGroupId` (the campaign-level `locations`/`languages` read back then stay empty). With several ad groups the call returns 400 naming them: edit each one with PUT /v1/ads/{adId} `targeting` on an ad of that ad group. Campaigns migrated from Discovery that still target on the campaign keep being written there. `devices` and `locationTargetingType` stay campaign-level. `excludedLocations` is not available on Demand Gen yet and returns 400.
|
|
4560
4560
|
|
|
4561
4561
|
### Examples
|
|
4562
4562
|
|
|
@@ -4574,7 +4574,7 @@ campaign_id = 'campaign_id_example' # String | Google platform campaign ID
|
|
|
4574
4574
|
update_campaign_targeting_request = Zernio::UpdateCampaignTargetingRequest.new({platform: 'google', targeting: Zernio::UpdateCampaignTargetingRequestTargeting.new}) # UpdateCampaignTargetingRequest |
|
|
4575
4575
|
|
|
4576
4576
|
begin
|
|
4577
|
-
# Edit a Google campaign's device, location, or language targeting
|
|
4577
|
+
# Edit a Google campaign's device, location, excluded location, or language targeting
|
|
4578
4578
|
result = api_instance.update_campaign_targeting(campaign_id, update_campaign_targeting_request)
|
|
4579
4579
|
p result
|
|
4580
4580
|
rescue Zernio::ApiError => e
|
|
@@ -4590,7 +4590,7 @@ This returns an Array which contains the response data, status code and headers.
|
|
|
4590
4590
|
|
|
4591
4591
|
```ruby
|
|
4592
4592
|
begin
|
|
4593
|
-
# Edit a Google campaign's device, location, or language targeting
|
|
4593
|
+
# Edit a Google campaign's device, location, excluded location, or language targeting
|
|
4594
4594
|
data, status_code, headers = api_instance.update_campaign_targeting_with_http_info(campaign_id, update_campaign_targeting_request)
|
|
4595
4595
|
p status_code # => 2xx
|
|
4596
4596
|
p headers # => { ... }
|
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
| ---- | ---- | ----------- | ----- |
|
|
7
7
|
| **devices** | [**Array<GetCampaignTargeting200ResponseDevicesInner>**](GetCampaignTargeting200ResponseDevicesInner.md) | | [optional] |
|
|
8
8
|
| **locations** | [**Array<GetCampaignTargeting200ResponseLocationsInner>**](GetCampaignTargeting200ResponseLocationsInner.md) | | [optional] |
|
|
9
|
+
| **excluded_locations** | [**Array<GetCampaignTargeting200ResponseExcludedLocationsInner>**](GetCampaignTargeting200ResponseExcludedLocationsInner.md) | The negative (excluded) location criteria, same item shape as `locations` with `negative: true`. | [optional] |
|
|
10
|
+
| **excluded_locations_editable** | **Boolean** | Whether PUT accepts `excludedLocations` for this campaign. False on Demand Gen, which returns 400 for any exclusion. | [optional] |
|
|
9
11
|
| **languages** | [**Array<GetCampaignTargeting200ResponseLanguagesInner>**](GetCampaignTargeting200ResponseLanguagesInner.md) | | [optional] |
|
|
10
12
|
| **location_targeting_type** | **String** | Who the location targeting reaches, see GoogleLocationTargetingType. Null when Google reports a legacy value (SEARCH_INTEREST) this API does not set. | [optional] |
|
|
11
13
|
| **cached_at** | **Time** | When this targeting was fetched from Google. Null when it was never served from cache. | [optional] |
|
|
@@ -19,6 +21,8 @@ require 'zernio-sdk'
|
|
|
19
21
|
instance = Zernio::GetCampaignTargeting200Response.new(
|
|
20
22
|
devices: null,
|
|
21
23
|
locations: null,
|
|
24
|
+
excluded_locations: null,
|
|
25
|
+
excluded_locations_editable: null,
|
|
22
26
|
languages: null,
|
|
23
27
|
location_targeting_type: null,
|
|
24
28
|
cached_at: null,
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Zernio::GetCampaignTargeting200ResponseExcludedLocationsInner
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **geo_target_id** | **String** | Numeric id from Google's geoTargetConstants/{id}. | [optional] |
|
|
8
|
+
| **negative** | **Boolean** | Always true here. | [optional] |
|
|
9
|
+
| **name** | **String** | | [optional] |
|
|
10
|
+
| **canonical_name** | **String** | | [optional] |
|
|
11
|
+
| **type** | **String** | | [optional] |
|
|
12
|
+
| **country_code** | **String** | | [optional] |
|
|
13
|
+
|
|
14
|
+
## Example
|
|
15
|
+
|
|
16
|
+
```ruby
|
|
17
|
+
require 'zernio-sdk'
|
|
18
|
+
|
|
19
|
+
instance = Zernio::GetCampaignTargeting200ResponseExcludedLocationsInner.new(
|
|
20
|
+
geo_target_id: null,
|
|
21
|
+
negative: null,
|
|
22
|
+
name: null,
|
|
23
|
+
canonical_name: null,
|
|
24
|
+
type: null,
|
|
25
|
+
country_code: null
|
|
26
|
+
)
|
|
27
|
+
```
|
|
28
|
+
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
| **location_targeting_type** | **String** | The value read back from Google after the edit. | [optional] |
|
|
11
11
|
| **devices** | [**Array<UpdateCampaignTargeting200ResponseDevicesInner>**](UpdateCampaignTargeting200ResponseDevicesInner.md) | | [optional] |
|
|
12
12
|
| **locations** | [**Array<UpdateCampaignTargeting200ResponseLocationsInner>**](UpdateCampaignTargeting200ResponseLocationsInner.md) | | [optional] |
|
|
13
|
+
| **excluded_locations** | [**Array<UpdateCampaignTargeting200ResponseExcludedLocationsInner>**](UpdateCampaignTargeting200ResponseExcludedLocationsInner.md) | The negative (excluded) location criteria read back after the edit, same item shape as `locations`. | [optional] |
|
|
13
14
|
| **languages** | [**Array<UpdateCampaignTargeting200ResponseLanguagesInner>**](UpdateCampaignTargeting200ResponseLanguagesInner.md) | | [optional] |
|
|
14
15
|
|
|
15
16
|
## Example
|
|
@@ -24,6 +25,7 @@ instance = Zernio::UpdateCampaignTargeting200Response.new(
|
|
|
24
25
|
location_targeting_type: null,
|
|
25
26
|
devices: null,
|
|
26
27
|
locations: null,
|
|
28
|
+
excluded_locations: null,
|
|
27
29
|
languages: null
|
|
28
30
|
)
|
|
29
31
|
```
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Zernio::UpdateCampaignTargeting200ResponseExcludedLocationsInner
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **geo_target_id** | **String** | | [optional] |
|
|
8
|
+
| **negative** | **Boolean** | | [optional] |
|
|
9
|
+
| **name** | **String** | | [optional] |
|
|
10
|
+
| **canonical_name** | **String** | | [optional] |
|
|
11
|
+
| **type** | **String** | | [optional] |
|
|
12
|
+
| **country_code** | **String** | | [optional] |
|
|
13
|
+
|
|
14
|
+
## Example
|
|
15
|
+
|
|
16
|
+
```ruby
|
|
17
|
+
require 'zernio-sdk'
|
|
18
|
+
|
|
19
|
+
instance = Zernio::UpdateCampaignTargeting200ResponseExcludedLocationsInner.new(
|
|
20
|
+
geo_target_id: null,
|
|
21
|
+
negative: null,
|
|
22
|
+
name: null,
|
|
23
|
+
canonical_name: null,
|
|
24
|
+
type: null,
|
|
25
|
+
country_code: null
|
|
26
|
+
)
|
|
27
|
+
```
|
|
28
|
+
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
| **devices** | [**Array<UpdateCampaignTargetingRequestTargetingDevicesInner>**](UpdateCampaignTargetingRequestTargetingDevicesInner.md) | Devices to include. Devices not listed become excluded (negative) criteria, same contract as the existing devices-only edit. | [optional] |
|
|
8
8
|
| **locations** | [**UpdateCampaignTargetingRequestTargetingLocations**](UpdateCampaignTargetingRequestTargetingLocations.md) | | [optional] |
|
|
9
9
|
| **languages** | **Array<String>** | Google's language codes (ISO 639-1, plus variants such as `zh_CN`), e.g. [\"en\", \"de\"]. | [optional] |
|
|
10
|
+
| **excluded_locations** | [**UpdateCampaignTargetingRequestTargetingExcludedLocations**](UpdateCampaignTargetingRequestTargetingExcludedLocations.md) | | [optional] |
|
|
10
11
|
| **location_targeting_type** | [**GoogleLocationTargetingType**](GoogleLocationTargetingType.md) | | [optional] |
|
|
11
12
|
|
|
12
13
|
## Example
|
|
@@ -18,6 +19,7 @@ instance = Zernio::UpdateCampaignTargetingRequestTargeting.new(
|
|
|
18
19
|
devices: null,
|
|
19
20
|
locations: null,
|
|
20
21
|
languages: null,
|
|
22
|
+
excluded_locations: null,
|
|
21
23
|
location_targeting_type: null
|
|
22
24
|
)
|
|
23
25
|
```
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Zernio::UpdateCampaignTargetingRequestTargetingExcludedLocations
|
|
2
|
+
|
|
3
|
+
## Class instance methods
|
|
4
|
+
|
|
5
|
+
### `openapi_one_of`
|
|
6
|
+
|
|
7
|
+
Returns the list of classes defined in oneOf.
|
|
8
|
+
|
|
9
|
+
#### Example
|
|
10
|
+
|
|
11
|
+
```ruby
|
|
12
|
+
require 'zernio-sdk'
|
|
13
|
+
|
|
14
|
+
Zernio::UpdateCampaignTargetingRequestTargetingExcludedLocations.openapi_one_of
|
|
15
|
+
# =>
|
|
16
|
+
# [
|
|
17
|
+
# :'Array<String>',
|
|
18
|
+
# :'UpdateCampaignTargetingRequestTargetingExcludedLocationsOneOf'
|
|
19
|
+
# ]
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
### build
|
|
23
|
+
|
|
24
|
+
Find the appropriate object from the `openapi_one_of` list and casts the data into it.
|
|
25
|
+
|
|
26
|
+
#### Example
|
|
27
|
+
|
|
28
|
+
```ruby
|
|
29
|
+
require 'zernio-sdk'
|
|
30
|
+
|
|
31
|
+
Zernio::UpdateCampaignTargetingRequestTargetingExcludedLocations.build(data)
|
|
32
|
+
# => #<Array<String>:0x00007fdd4aab02a0>
|
|
33
|
+
|
|
34
|
+
Zernio::UpdateCampaignTargetingRequestTargetingExcludedLocations.build(data_that_doesnt_match)
|
|
35
|
+
# => nil
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
#### Parameters
|
|
39
|
+
|
|
40
|
+
| Name | Type | Description |
|
|
41
|
+
| ---- | ---- | ----------- |
|
|
42
|
+
| **data** | **Mixed** | data to be matched against the list of oneOf items |
|
|
43
|
+
|
|
44
|
+
#### Return type
|
|
45
|
+
|
|
46
|
+
- `Array<String>`
|
|
47
|
+
- `UpdateCampaignTargetingRequestTargetingExcludedLocationsOneOf`
|
|
48
|
+
- `nil` (if no type matches)
|
|
49
|
+
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Zernio::UpdateCampaignTargetingRequestTargetingExcludedLocationsOneOf
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **countries** | **Array<String>** | | [optional] |
|
|
8
|
+
| **regions** | [**Array<UpdateCampaignTargetingRequestTargetingLocationsOneOfRegionsInner>**](UpdateCampaignTargetingRequestTargetingLocationsOneOfRegionsInner.md) | | [optional] |
|
|
9
|
+
| **cities** | [**Array<UpdateCampaignTargetingRequestTargetingLocationsOneOfRegionsInner>**](UpdateCampaignTargetingRequestTargetingLocationsOneOfRegionsInner.md) | | [optional] |
|
|
10
|
+
| **zips** | [**Array<UpdateCampaignTargetingRequestTargetingLocationsOneOfRegionsInner>**](UpdateCampaignTargetingRequestTargetingLocationsOneOfRegionsInner.md) | | [optional] |
|
|
11
|
+
| **metros** | [**Array<UpdateCampaignTargetingRequestTargetingLocationsOneOfRegionsInner>**](UpdateCampaignTargetingRequestTargetingLocationsOneOfRegionsInner.md) | | [optional] |
|
|
12
|
+
|
|
13
|
+
## Example
|
|
14
|
+
|
|
15
|
+
```ruby
|
|
16
|
+
require 'zernio-sdk'
|
|
17
|
+
|
|
18
|
+
instance = Zernio::UpdateCampaignTargetingRequestTargetingExcludedLocationsOneOf.new(
|
|
19
|
+
countries: null,
|
|
20
|
+
regions: null,
|
|
21
|
+
cities: null,
|
|
22
|
+
zips: null,
|
|
23
|
+
metros: null
|
|
24
|
+
)
|
|
25
|
+
```
|
|
26
|
+
|
|
@@ -2180,8 +2180,8 @@ module Zernio
|
|
|
2180
2180
|
return data, status_code, headers
|
|
2181
2181
|
end
|
|
2182
2182
|
|
|
2183
|
-
# Read a Google campaign's device, location, and language targeting
|
|
2184
|
-
# 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` lists the device criteria the campaign carries, which depends on its channel: Search campaigns have MOBILE, DESKTOP and TABLET, Display campaigns also have CONNECTED_TV. `bidModifier` is Google's bid adjustment for that device, `null` when it has none, and `0` when the device is switched off; `included` is false for exactly that case.
|
|
2183
|
+
# Read a Google campaign's device, location, excluded location, and language targeting
|
|
2184
|
+
# 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` lists the device criteria the campaign carries, which depends on its channel: Search campaigns have MOBILE, DESKTOP and TABLET, Display campaigns also have CONNECTED_TV. `bidModifier` is Google's bid adjustment for that device, `null` when it has none, and `0` when the device is switched off; `included` is false for exactly that case. `excludedLocations` lists the campaign's negative location criteria (the places it never serves in). `locations` still lists every location criterion, each flagged with `negative`, so a client reading the targeted set filters `negative: false`.
|
|
2185
2185
|
# @param campaign_id [String] Google platform campaign ID
|
|
2186
2186
|
# @param [Hash] opts the optional parameters
|
|
2187
2187
|
# @option opts [String] :platform Disambiguates when the same campaignId string exists on more than one connected platform.
|
|
@@ -2191,8 +2191,8 @@ module Zernio
|
|
|
2191
2191
|
data
|
|
2192
2192
|
end
|
|
2193
2193
|
|
|
2194
|
-
# Read a Google campaign's device, location, and language targeting
|
|
2195
|
-
# 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` lists the device criteria the campaign carries, which depends on its channel: Search campaigns have MOBILE, DESKTOP and TABLET, Display campaigns also have CONNECTED_TV. `bidModifier` is Google's bid adjustment for that device, `null` when it has none, and `0` when the device is switched off; `included` is false for exactly that case.
|
|
2194
|
+
# Read a Google campaign's device, location, excluded location, and language targeting
|
|
2195
|
+
# 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` lists the device criteria the campaign carries, which depends on its channel: Search campaigns have MOBILE, DESKTOP and TABLET, Display campaigns also have CONNECTED_TV. `bidModifier` is Google's bid adjustment for that device, `null` when it has none, and `0` when the device is switched off; `included` is false for exactly that case. `excludedLocations` lists the campaign's negative location criteria (the places it never serves in). `locations` still lists every location criterion, each flagged with `negative`, so a client reading the targeted set filters `negative: false`.
|
|
2196
2196
|
# @param campaign_id [String] Google platform campaign ID
|
|
2197
2197
|
# @param [Hash] opts the optional parameters
|
|
2198
2198
|
# @option opts [String] :platform Disambiguates when the same campaignId string exists on more than one connected platform.
|
|
@@ -4865,8 +4865,8 @@ module Zernio
|
|
|
4865
4865
|
return data, status_code, headers
|
|
4866
4866
|
end
|
|
4867
4867
|
|
|
4868
|
-
# Edit a Google campaign's device, location, or language targeting
|
|
4869
|
-
# 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`, `locationTargetingType`; 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. `devices` is the full set of device bid modifiers: a supported device you leave out is switched off with a bid modifier of 0, since Google cannot remove a device criterion. A device the campaign's channel does not carry, and a set that switches every device off, both return 422. `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).
|
|
4868
|
+
# Edit a Google campaign's device, location, excluded location, or language targeting
|
|
4869
|
+
# Google Ads compliance row M.10: geo and language targeting set at creation must stay editable afterwards. Send at least one of `devices`, `locations`, `excludedLocations`, `languages`, `locationTargetingType`; 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. `devices` is the full set of device bid modifiers: a supported device you leave out is switched off with a bid modifier of 0, since Google cannot remove a device criterion. A device the campaign's channel does not carry, and a set that switches every device off, both return 422. `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). Excluded locations are left untouched by `locations`. An empty location list returns 400 instead of removing every criterion: a Google campaign with no location criteria targets every country, so omit `locations` to leave targeting alone. `excludedLocations` takes the same two shapes and replaces the campaign's negative location criteria (the places it never serves in), leaving the targeted `locations` untouched. An empty list (or `{}`) removes every exclusion. Radius exclusions are not supported. A place cannot be both targeted and excluded: a request whose result would leave one on both sides returns 400 before anything is written, and moving a place from one side to the other in the same request is applied atomically. Example: `{ \"platform\": \"google\", \"targeting\": { \"excludedLocations\": { \"countries\": [\"CA\"], \"regions\": [\"21137\"] } } }`. The removes and the creates go out in ONE Google `googleAds:mutate`, so a failed edit leaves the campaign's previous set intact rather than a half-applied one. `languages` is an array of Google's language codes (ISO 639-1, plus variants such as `zh_CN`); an unknown code returns 400. `locationTargetingType` switches who the location targeting reaches: `presence` (people in or regularly in the locations) or `presence_or_interest` (also people searching for or interested in them). Example: `{ \"platform\": \"google\", \"targeting\": { \"locationTargetingType\": \"presence\" } }`. The response includes the refreshed `devices`/`locations`/`excludedLocations`/`languages` state read back from Google after the edit, and invalidates the cached copy `GET` on this campaign would otherwise keep serving. **Demand Gen:** Google keeps a Demand Gen campaign's locations and languages on its ad groups and refuses them on the campaign. When the campaign has one ad group they are written there and the response carries its `adGroupId` (the campaign-level `locations`/`languages` read back then stay empty). With several ad groups the call returns 400 naming them: edit each one with PUT /v1/ads/{adId} `targeting` on an ad of that ad group. Campaigns migrated from Discovery that still target on the campaign keep being written there. `devices` and `locationTargetingType` stay campaign-level. `excludedLocations` is not available on Demand Gen yet and returns 400.
|
|
4870
4870
|
# @param campaign_id [String] Google platform campaign ID
|
|
4871
4871
|
# @param update_campaign_targeting_request [UpdateCampaignTargetingRequest]
|
|
4872
4872
|
# @param [Hash] opts the optional parameters
|
|
@@ -4876,8 +4876,8 @@ module Zernio
|
|
|
4876
4876
|
data
|
|
4877
4877
|
end
|
|
4878
4878
|
|
|
4879
|
-
# Edit a Google campaign's device, location, or language targeting
|
|
4880
|
-
# 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`, `locationTargetingType`; 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. `devices` is the full set of device bid modifiers: a supported device you leave out is switched off with a bid modifier of 0, since Google cannot remove a device criterion. A device the campaign's channel does not carry, and a set that switches every device off, both return 422. `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).
|
|
4879
|
+
# Edit a Google campaign's device, location, excluded location, or language targeting
|
|
4880
|
+
# Google Ads compliance row M.10: geo and language targeting set at creation must stay editable afterwards. Send at least one of `devices`, `locations`, `excludedLocations`, `languages`, `locationTargetingType`; 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. `devices` is the full set of device bid modifiers: a supported device you leave out is switched off with a bid modifier of 0, since Google cannot remove a device criterion. A device the campaign's channel does not carry, and a set that switches every device off, both return 422. `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). Excluded locations are left untouched by `locations`. An empty location list returns 400 instead of removing every criterion: a Google campaign with no location criteria targets every country, so omit `locations` to leave targeting alone. `excludedLocations` takes the same two shapes and replaces the campaign's negative location criteria (the places it never serves in), leaving the targeted `locations` untouched. An empty list (or `{}`) removes every exclusion. Radius exclusions are not supported. A place cannot be both targeted and excluded: a request whose result would leave one on both sides returns 400 before anything is written, and moving a place from one side to the other in the same request is applied atomically. Example: `{ \"platform\": \"google\", \"targeting\": { \"excludedLocations\": { \"countries\": [\"CA\"], \"regions\": [\"21137\"] } } }`. The removes and the creates go out in ONE Google `googleAds:mutate`, so a failed edit leaves the campaign's previous set intact rather than a half-applied one. `languages` is an array of Google's language codes (ISO 639-1, plus variants such as `zh_CN`); an unknown code returns 400. `locationTargetingType` switches who the location targeting reaches: `presence` (people in or regularly in the locations) or `presence_or_interest` (also people searching for or interested in them). Example: `{ \"platform\": \"google\", \"targeting\": { \"locationTargetingType\": \"presence\" } }`. The response includes the refreshed `devices`/`locations`/`excludedLocations`/`languages` state read back from Google after the edit, and invalidates the cached copy `GET` on this campaign would otherwise keep serving. **Demand Gen:** Google keeps a Demand Gen campaign's locations and languages on its ad groups and refuses them on the campaign. When the campaign has one ad group they are written there and the response carries its `adGroupId` (the campaign-level `locations`/`languages` read back then stay empty). With several ad groups the call returns 400 naming them: edit each one with PUT /v1/ads/{adId} `targeting` on an ad of that ad group. Campaigns migrated from Discovery that still target on the campaign keep being written there. `devices` and `locationTargetingType` stay campaign-level. `excludedLocations` is not available on Demand Gen yet and returns 400.
|
|
4881
4881
|
# @param campaign_id [String] Google platform campaign ID
|
|
4882
4882
|
# @param update_campaign_targeting_request [UpdateCampaignTargetingRequest]
|
|
4883
4883
|
# @param [Hash] opts the optional parameters
|
|
@@ -19,6 +19,12 @@ module Zernio
|
|
|
19
19
|
|
|
20
20
|
attr_accessor :locations
|
|
21
21
|
|
|
22
|
+
# The negative (excluded) location criteria, same item shape as `locations` with `negative: true`.
|
|
23
|
+
attr_accessor :excluded_locations
|
|
24
|
+
|
|
25
|
+
# Whether PUT accepts `excludedLocations` for this campaign. False on Demand Gen, which returns 400 for any exclusion.
|
|
26
|
+
attr_accessor :excluded_locations_editable
|
|
27
|
+
|
|
22
28
|
attr_accessor :languages
|
|
23
29
|
|
|
24
30
|
# Who the location targeting reaches, see GoogleLocationTargetingType. Null when Google reports a legacy value (SEARCH_INTEREST) this API does not set.
|
|
@@ -57,6 +63,8 @@ module Zernio
|
|
|
57
63
|
{
|
|
58
64
|
:'devices' => :'devices',
|
|
59
65
|
:'locations' => :'locations',
|
|
66
|
+
:'excluded_locations' => :'excludedLocations',
|
|
67
|
+
:'excluded_locations_editable' => :'excludedLocationsEditable',
|
|
60
68
|
:'languages' => :'languages',
|
|
61
69
|
:'location_targeting_type' => :'locationTargetingType',
|
|
62
70
|
:'cached_at' => :'cachedAt',
|
|
@@ -79,6 +87,8 @@ module Zernio
|
|
|
79
87
|
{
|
|
80
88
|
:'devices' => :'Array<GetCampaignTargeting200ResponseDevicesInner>',
|
|
81
89
|
:'locations' => :'Array<GetCampaignTargeting200ResponseLocationsInner>',
|
|
90
|
+
:'excluded_locations' => :'Array<GetCampaignTargeting200ResponseExcludedLocationsInner>',
|
|
91
|
+
:'excluded_locations_editable' => :'Boolean',
|
|
82
92
|
:'languages' => :'Array<GetCampaignTargeting200ResponseLanguagesInner>',
|
|
83
93
|
:'location_targeting_type' => :'String',
|
|
84
94
|
:'cached_at' => :'Time',
|
|
@@ -122,6 +132,16 @@ module Zernio
|
|
|
122
132
|
end
|
|
123
133
|
end
|
|
124
134
|
|
|
135
|
+
if attributes.key?(:'excluded_locations')
|
|
136
|
+
if (value = attributes[:'excluded_locations']).is_a?(Array)
|
|
137
|
+
self.excluded_locations = value
|
|
138
|
+
end
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
if attributes.key?(:'excluded_locations_editable')
|
|
142
|
+
self.excluded_locations_editable = attributes[:'excluded_locations_editable']
|
|
143
|
+
end
|
|
144
|
+
|
|
125
145
|
if attributes.key?(:'languages')
|
|
126
146
|
if (value = attributes[:'languages']).is_a?(Array)
|
|
127
147
|
self.languages = value
|
|
@@ -175,6 +195,8 @@ module Zernio
|
|
|
175
195
|
self.class == o.class &&
|
|
176
196
|
devices == o.devices &&
|
|
177
197
|
locations == o.locations &&
|
|
198
|
+
excluded_locations == o.excluded_locations &&
|
|
199
|
+
excluded_locations_editable == o.excluded_locations_editable &&
|
|
178
200
|
languages == o.languages &&
|
|
179
201
|
location_targeting_type == o.location_targeting_type &&
|
|
180
202
|
cached_at == o.cached_at &&
|
|
@@ -190,7 +212,7 @@ module Zernio
|
|
|
190
212
|
# Calculates hash code according to all attributes.
|
|
191
213
|
# @return [Integer] Hash code
|
|
192
214
|
def hash
|
|
193
|
-
[devices, locations, languages, location_targeting_type, cached_at, stale].hash
|
|
215
|
+
[devices, locations, excluded_locations, excluded_locations_editable, languages, location_targeting_type, cached_at, stale].hash
|
|
194
216
|
end
|
|
195
217
|
|
|
196
218
|
# Builds the object from hash
|