late-sdk 0.0.944 → 0.0.945

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0cf9ac51582227f71f17759cba3912705b1a80cc209d819f80157b031f88b7a0
4
- data.tar.gz: 958f659258a85e6bcd4e57429b661e57b41f02a6334edb392271e35008aabe6a
3
+ metadata.gz: 06b139dee8527c1c6a113a3e72d0741b26edaafd6fad59e369ebcd10b173fa3d
4
+ data.tar.gz: 0bff41a2d60b52fc069b21d4a12c9ee306160a59aa44743a37cdea357db7f418
5
5
  SHA512:
6
- metadata.gz: 8f348fb5d4bef86c721fff6e7ba2d245efba89b18cce101beef6cfa14faa7a8562550d6cd8683bc9b8977a66d20fe1268ce313aa4de90fd62b33b505397b93bb
7
- data.tar.gz: 92dc204283820fb337e9bfa21de9fee0071aaf37d2576b0844af41943fa4acab2f85c7b84f4c2a9aa2e66f0234fa1e249479276d35f07e8772748d85dcba55bc
6
+ metadata.gz: 4491bf3530ed66f8bf2c72592c7d3995730cbad905c8494b5cdeb9c6428b61da8bd4a9848c60c0a9b22446261134e5d51996bd00942bae84d7396f0aef1ee337
7
+ data.tar.gz: 9ab0279020ee5d6ab8f383f3499f97c51ebb4ef206753e280564ad64eabc00e23781e594a2f69c056b3d3e9a20da6bac3f7ccaa12b6cff103904164794c94adb
@@ -48,6 +48,7 @@
48
48
  | **organization_id** | **String** | LinkedIn only. The Company Page that authors the Direct Sponsored Content (\"dark\") post backing the ad. Accepts a numeric organization ID or a full `urn:li:organization:N` URN. Required unless the resolved `accountId` is a connected LinkedIn Company-Page account (defaults to that page) or the LinkedIn ad account is org-owned (defaults to the account's owning organization). The authenticated member must be an ADMINISTRATOR or DIRECT_SPONSORED_CONTENT_POSTER of this page (and the page must be associated with the ad account), or LinkedIn returns 403. Ignored by every other platform. | [optional] |
49
49
  | **targeting** | [**TargetingSpec**](TargetingSpec.md) | Nested targeting object, the same TargetingSpec shape as `POST /v1/ads/boost`, `POST /v1/ads/targeting/reach-estimate`, and `saved_targeting` audiences. Merged UNDER the flat inline targeting fields below: `savedTargetingId` < `targeting` < flat fields (a flat field present on the body replaces the nested value entirely). Both forms are equivalent; use whichever your integration already builds. | [optional] |
50
50
  | **countries** | **Array<String>** | ISO 3166-1 alpha-2 country codes (e.g. ['NL']). Defaults to ['US'] when no other geo targeting (flat or nested `targeting`) is provided. (LinkedIn and OpenAI Ads currently honour country-level targeting only; any other targeting field returns 400 for OpenAI Ads.) | [optional] |
51
+ | **country_groups** | **Array<String>** | Meta only. Continents and trade blocs (`geo_locations.country_groups`), for targeting a whole region without listing its countries. Combines with `countries` rather than replacing it. Discoverable via `GET /v1/ads/targeting/search?dimension=geo&geoType=country_group`. | [optional] |
51
52
  | **cities** | [**Array<CreateStandaloneAdRequestCitiesInner>**](CreateStandaloneAdRequestCitiesInner.md) | City-level geo targeting (Meta and TikTok). Each city is targeted by the platform's opaque `key` (the city ID) which can be looked up via `GET /v1/ads/targeting/search?dimension=geo&q=<name>&countryCode=<ISO>`. Optional `radius` + `distance_unit` (Meta only) extend the targeting beyond the city limits (e.g. radius 25 km around the city center). Both must be set together, or both omitted (Meta defaults to ~16 km when omitted). On Meta, cannot overlap with the same country in `countries` (Meta returns a \"locations overlap\" error). Either drop the country or scope it to a different country. On TikTok, keys are numeric location ids and can be sent without `countries`. | [optional] |
52
53
  | **regions** | [**Array<CreateStandaloneAdRequestRegionsInner>**](CreateStandaloneAdRequestRegionsInner.md) | Region-level (state/province) geo targeting (Meta and TikTok). Each region is targeted by the platform's opaque `key` (the region ID) which can be looked up via `GET /v1/ads/targeting/search?dimension=geo&q=<name>&countryCode=<ISO>`. | [optional] |
53
54
  | **age_min** | **Integer** | | [optional] |
@@ -159,6 +160,7 @@ instance = Zernio::CreateStandaloneAdRequest.new(
159
160
  organization_id: null,
160
161
  targeting: null,
161
162
  countries: null,
163
+ country_groups: null,
162
164
  cities: null,
163
165
  regions: null,
164
166
  age_min: null,
@@ -5,6 +5,7 @@
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **countries** | **Array<String>** | | [optional] |
8
+ | **country_groups** | **Array<String>** | Meta only. Continents and trade blocs to exclude (`excluded_geo_locations.country_groups`). | [optional] |
8
9
  | **regions** | [**Array<UpdateCampaignTargetingRequestTargetingLocationsOneOfRegionsInner>**](UpdateCampaignTargetingRequestTargetingLocationsOneOfRegionsInner.md) | | [optional] |
9
10
  | **cities** | [**Array<TargetingSpecExcludedLocationsCitiesInner>**](TargetingSpecExcludedLocationsCitiesInner.md) | Cities to exclude. Optional `radius` + `distanceUnit` exclude a catchment around the city (both must be set together or both omitted); Meta honours the radius on excluded cities. | [optional] |
10
11
  | **zips** | [**Array<UpdateCampaignTargetingRequestTargetingLocationsOneOfRegionsInner>**](UpdateCampaignTargetingRequestTargetingLocationsOneOfRegionsInner.md) | | [optional] |
@@ -19,6 +20,7 @@ require 'zernio-sdk'
19
20
 
20
21
  instance = Zernio::TargetingSpecExcludedLocations.new(
21
22
  countries: null,
23
+ country_groups: null,
22
24
  regions: null,
23
25
  cities: null,
24
26
  zips: null,
@@ -141,6 +141,9 @@ module Zernio
141
141
  # ISO 3166-1 alpha-2 country codes (e.g. ['NL']). Defaults to ['US'] when no other geo targeting (flat or nested `targeting`) is provided. (LinkedIn and OpenAI Ads currently honour country-level targeting only; any other targeting field returns 400 for OpenAI Ads.)
142
142
  attr_accessor :countries
143
143
 
144
+ # Meta only. Continents and trade blocs (`geo_locations.country_groups`), for targeting a whole region without listing its countries. Combines with `countries` rather than replacing it. Discoverable via `GET /v1/ads/targeting/search?dimension=geo&geoType=country_group`.
145
+ attr_accessor :country_groups
146
+
144
147
  # City-level geo targeting (Meta and TikTok). Each city is targeted by the platform's opaque `key` (the city ID) which can be looked up via `GET /v1/ads/targeting/search?dimension=geo&q=<name>&countryCode=<ISO>`. Optional `radius` + `distance_unit` (Meta only) extend the targeting beyond the city limits (e.g. radius 25 km around the city center). Both must be set together, or both omitted (Meta defaults to ~16 km when omitted). On Meta, cannot overlap with the same country in `countries` (Meta returns a \"locations overlap\" error). Either drop the country or scope it to a different country. On TikTok, keys are numeric location ids and can be sent without `countries`.
145
148
  attr_accessor :cities
146
149
 
@@ -381,6 +384,7 @@ module Zernio
381
384
  :'organization_id' => :'organizationId',
382
385
  :'targeting' => :'targeting',
383
386
  :'countries' => :'countries',
387
+ :'country_groups' => :'countryGroups',
384
388
  :'cities' => :'cities',
385
389
  :'regions' => :'regions',
386
390
  :'age_min' => :'ageMin',
@@ -501,6 +505,7 @@ module Zernio
501
505
  :'organization_id' => :'String',
502
506
  :'targeting' => :'TargetingSpec',
503
507
  :'countries' => :'Array<String>',
508
+ :'country_groups' => :'Array<String>',
504
509
  :'cities' => :'Array<CreateStandaloneAdRequestCitiesInner>',
505
510
  :'regions' => :'Array<CreateStandaloneAdRequestRegionsInner>',
506
511
  :'age_min' => :'Integer',
@@ -785,6 +790,12 @@ module Zernio
785
790
  end
786
791
  end
787
792
 
793
+ if attributes.key?(:'country_groups')
794
+ if (value = attributes[:'country_groups']).is_a?(Array)
795
+ self.country_groups = value
796
+ end
797
+ end
798
+
788
799
  if attributes.key?(:'cities')
789
800
  if (value = attributes[:'cities']).is_a?(Array)
790
801
  self.cities = value
@@ -2018,6 +2029,7 @@ module Zernio
2018
2029
  organization_id == o.organization_id &&
2019
2030
  targeting == o.targeting &&
2020
2031
  countries == o.countries &&
2032
+ country_groups == o.country_groups &&
2021
2033
  cities == o.cities &&
2022
2034
  regions == o.regions &&
2023
2035
  age_min == o.age_min &&
@@ -2089,7 +2101,7 @@ module Zernio
2089
2101
  # Calculates hash code according to all attributes.
2090
2102
  # @return [Integer] Hash code
2091
2103
  def hash
2092
- [account_id, ad_account_id, name, campaign_name, ad_set_name, ad_name, tracking, goal, optimization_goal, billing_event, buying_type, rf_prediction_id, promotion, creative_features, multi_advertiser, validate_only, budget_amount, budget_type, status, campaign_status, budget_level, currency, headline, long_headline, body, description, bodies, headlines, descriptions, call_to_action, link_url, lead_gen_form_id, image_url, images, video, creatives, ad_set_id, existing_campaign_id, existing_creative_id, business_name, board_id, organization_id, targeting, countries, cities, regions, age_min, age_max, interests, zips, metros, custom_locations, behaviors, work_positions, work_employers, work_industries, income_tier, languages, placements, saved_targeting_id, raw_targeting, special_ad_categories, special_ad_category_country, regional_regulated_categories, regional_regulation_identities, end_date, start_date, instagram_account_id, dynamic_creative, carousel_cards, default_locale, translations, placement_assets, audience_id, campaign_type, asset_group, keywords, negative_keywords, campaign_negative_keywords, additional_headlines, additional_descriptions, sitelinks, callouts, structured_snippets, advantage_audience, attribution_spec, gender, bid_strategy, bid_amount, roas_average_floor, portfolio_bid_strategy_id, value_rule_set_id, value_rules_applied, platform_specific_data, dsa_beneficiary, dsa_payor, brand_identity, identity_type, smart_plus, user_os, user_device, is_skadnetwork_attribution, campaign_attribution, promoted_object].hash
2104
+ [account_id, ad_account_id, name, campaign_name, ad_set_name, ad_name, tracking, goal, optimization_goal, billing_event, buying_type, rf_prediction_id, promotion, creative_features, multi_advertiser, validate_only, budget_amount, budget_type, status, campaign_status, budget_level, currency, headline, long_headline, body, description, bodies, headlines, descriptions, call_to_action, link_url, lead_gen_form_id, image_url, images, video, creatives, ad_set_id, existing_campaign_id, existing_creative_id, business_name, board_id, organization_id, targeting, countries, country_groups, cities, regions, age_min, age_max, interests, zips, metros, custom_locations, behaviors, work_positions, work_employers, work_industries, income_tier, languages, placements, saved_targeting_id, raw_targeting, special_ad_categories, special_ad_category_country, regional_regulated_categories, regional_regulation_identities, end_date, start_date, instagram_account_id, dynamic_creative, carousel_cards, default_locale, translations, placement_assets, audience_id, campaign_type, asset_group, keywords, negative_keywords, campaign_negative_keywords, additional_headlines, additional_descriptions, sitelinks, callouts, structured_snippets, advantage_audience, attribution_spec, gender, bid_strategy, bid_amount, roas_average_floor, portfolio_bid_strategy_id, value_rule_set_id, value_rules_applied, platform_specific_data, dsa_beneficiary, dsa_payor, brand_identity, identity_type, smart_plus, user_os, user_device, is_skadnetwork_attribution, campaign_attribution, promoted_object].hash
2093
2105
  end
2094
2106
 
2095
2107
  # Builds the object from hash
@@ -18,6 +18,9 @@ module Zernio
18
18
  class TargetingSpecExcludedLocations < ApiModelBase
19
19
  attr_accessor :countries
20
20
 
21
+ # Meta only. Continents and trade blocs to exclude (`excluded_geo_locations.country_groups`).
22
+ attr_accessor :country_groups
23
+
21
24
  attr_accessor :regions
22
25
 
23
26
  # Cities to exclude. Optional `radius` + `distanceUnit` exclude a catchment around the city (both must be set together or both omitted); Meta honours the radius on excluded cities.
@@ -34,10 +37,33 @@ module Zernio
34
37
  # Point-radius (lat/lng) pins to exclude (Meta excluded_geo_locations.custom_locations). Mirrors the inclusion customLocations shape.
35
38
  attr_accessor :custom_locations
36
39
 
40
+ class EnumAttributeValidator
41
+ attr_reader :datatype
42
+ attr_reader :allowable_values
43
+
44
+ def initialize(datatype, allowable_values)
45
+ @allowable_values = allowable_values.map do |value|
46
+ case datatype.to_s
47
+ when /Integer/i
48
+ value.to_i
49
+ when /Float/i
50
+ value.to_f
51
+ else
52
+ value
53
+ end
54
+ end
55
+ end
56
+
57
+ def valid?(value)
58
+ !value || allowable_values.include?(value)
59
+ end
60
+ end
61
+
37
62
  # Attribute mapping from ruby-style variable name to JSON key.
38
63
  def self.attribute_map
39
64
  {
40
65
  :'countries' => :'countries',
66
+ :'country_groups' => :'countryGroups',
41
67
  :'regions' => :'regions',
42
68
  :'cities' => :'cities',
43
69
  :'zips' => :'zips',
@@ -61,6 +87,7 @@ module Zernio
61
87
  def self.openapi_types
62
88
  {
63
89
  :'countries' => :'Array<String>',
90
+ :'country_groups' => :'Array<String>',
64
91
  :'regions' => :'Array<UpdateCampaignTargetingRequestTargetingLocationsOneOfRegionsInner>',
65
92
  :'cities' => :'Array<TargetingSpecExcludedLocationsCitiesInner>',
66
93
  :'zips' => :'Array<UpdateCampaignTargetingRequestTargetingLocationsOneOfRegionsInner>',
@@ -98,6 +125,12 @@ module Zernio
98
125
  end
99
126
  end
100
127
 
128
+ if attributes.key?(:'country_groups')
129
+ if (value = attributes[:'country_groups']).is_a?(Array)
130
+ self.country_groups = value
131
+ end
132
+ end
133
+
101
134
  if attributes.key?(:'regions')
102
135
  if (value = attributes[:'regions']).is_a?(Array)
103
136
  self.regions = value
@@ -156,6 +189,7 @@ module Zernio
156
189
  return true if self.equal?(o)
157
190
  self.class == o.class &&
158
191
  countries == o.countries &&
192
+ country_groups == o.country_groups &&
159
193
  regions == o.regions &&
160
194
  cities == o.cities &&
161
195
  zips == o.zips &&
@@ -173,7 +207,7 @@ module Zernio
173
207
  # Calculates hash code according to all attributes.
174
208
  # @return [Integer] Hash code
175
209
  def hash
176
- [countries, regions, cities, zips, places, neighborhoods, custom_locations].hash
210
+ [countries, country_groups, regions, cities, zips, places, neighborhoods, custom_locations].hash
177
211
  end
178
212
 
179
213
  # Builds the object from hash
@@ -11,5 +11,5 @@ Generator version: 7.19.0
11
11
  =end
12
12
 
13
13
  module Zernio
14
- VERSION = '0.0.944'
14
+ VERSION = '0.0.945'
15
15
  end
data/openapi.yaml CHANGED
@@ -9253,6 +9253,12 @@ components:
9253
9253
  description: "Geo to exclude from the audience. Mirrors the inclusion geo shape: excluded cities can carry a radius catchment and excluded custom (lat/lng) pins are supported, both on Meta (excluded_geo_locations)."
9254
9254
  properties:
9255
9255
  countries: { type: array, items: { type: string } }
9256
+ countryGroups:
9257
+ type: array
9258
+ description: "Meta only. Continents and trade blocs to exclude (`excluded_geo_locations.country_groups`)."
9259
+ items:
9260
+ type: string
9261
+ enum: [africa, asia, europe, north_america, south_america, oceania, central_america, caribbean, eea, euro_area, nafta, mercosur, afta, apec, gcc, cisfta, emerging_markets, itunes_app_store, android_free_store, android_paid_store]
9256
9262
  regions:
9257
9263
  type: array
9258
9264
  items:
@@ -51697,6 +51703,16 @@ paths:
51697
51703
  allOf:
51698
51704
  - $ref: '#/components/schemas/TargetingSpec'
51699
51705
  countries: { type: array, items: { type: string }, description: "ISO 3166-1 alpha-2 country codes (e.g. ['NL']). Defaults to ['US'] when no other geo targeting (flat or nested `targeting`) is provided. (LinkedIn and OpenAI Ads currently honour country-level targeting only; any other targeting field returns 400 for OpenAI Ads.)" }
51706
+ countryGroups:
51707
+ type: array
51708
+ description: |
51709
+ Meta only. Continents and trade blocs (`geo_locations.country_groups`),
51710
+ for targeting a whole region without listing its countries. Combines with
51711
+ `countries` rather than replacing it. Discoverable via
51712
+ `GET /v1/ads/targeting/search?dimension=geo&geoType=country_group`.
51713
+ items:
51714
+ type: string
51715
+ enum: [africa, asia, europe, north_america, south_america, oceania, central_america, caribbean, eea, euro_area, nafta, mercosur, afta, apec, gcc, cisfta, emerging_markets, itunes_app_store, android_free_store, android_paid_store]
51700
51716
  cities:
51701
51717
  type: array
51702
51718
  description: |
@@ -327,6 +327,16 @@ describe Zernio::CreateStandaloneAdRequest do
327
327
  end
328
328
  end
329
329
 
330
+ describe 'test attribute "country_groups"' do
331
+ it 'should work' do
332
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
333
+ # validator = Petstore::EnumTest::EnumAttributeValidator.new('Array<String>', ["africa", "asia", "europe", "north_america", "south_america", "oceania", "central_america", "caribbean", "eea", "euro_area", "nafta", "mercosur", "afta", "apec", "gcc", "cisfta", "emerging_markets", "itunes_app_store", "android_free_store", "android_paid_store"])
334
+ # validator.allowable_values.each do |value|
335
+ # expect { instance.country_groups = value }.not_to raise_error
336
+ # end
337
+ end
338
+ end
339
+
330
340
  describe 'test attribute "cities"' do
331
341
  it 'should work' do
332
342
  # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
@@ -33,6 +33,16 @@ describe Zernio::TargetingSpecExcludedLocations do
33
33
  end
34
34
  end
35
35
 
36
+ describe 'test attribute "country_groups"' do
37
+ it 'should work' do
38
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
39
+ # validator = Petstore::EnumTest::EnumAttributeValidator.new('Array<String>', ["africa", "asia", "europe", "north_america", "south_america", "oceania", "central_america", "caribbean", "eea", "euro_area", "nafta", "mercosur", "afta", "apec", "gcc", "cisfta", "emerging_markets", "itunes_app_store", "android_free_store", "android_paid_store"])
40
+ # validator.allowable_values.each do |value|
41
+ # expect { instance.country_groups = value }.not_to raise_error
42
+ # end
43
+ end
44
+ end
45
+
36
46
  describe 'test attribute "regions"' do
37
47
  it 'should work' do
38
48
  # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: late-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.944
4
+ version: 0.0.945
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenAPI-Generator
@@ -6400,7 +6400,7 @@ files:
6400
6400
  - spec/models/you_tube_video_retention_response_retention_curve_inner_spec.rb
6401
6401
  - spec/models/you_tube_video_retention_response_spec.rb
6402
6402
  - spec/spec_helper.rb
6403
- - zernio-sdk-0.0.944.gem
6403
+ - zernio-sdk-0.0.945.gem
6404
6404
  - zernio-sdk.gemspec
6405
6405
  homepage: https://openapi-generator.tech
6406
6406
  licenses:
Binary file