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
|
@@ -20,9 +20,10 @@ module Zernio
|
|
|
20
20
|
@api_client = api_client
|
|
21
21
|
end
|
|
22
22
|
# Search the public Ad Library
|
|
23
|
-
# Competitor and market research over the
|
|
24
|
-
# @param account_id [String] Zernio SocialAccount id (facebook / instagram / metaads for Meta, linkedin / linkedinads for LinkedIn). Its token is the one that searches.
|
|
23
|
+
# 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.
|
|
25
24
|
# @param [Hash] opts the optional parameters
|
|
25
|
+
# @option opts [String] :platform Which archive to search. `meta` needs no accountId. Required unless accountId is given.
|
|
26
|
+
# @option opts [String] :account_id Zernio SocialAccount id. Required for LinkedIn (linkedin / linkedinads: its token searches). Optional for Meta, where any facebook / instagram / metaads account just selects the platform.
|
|
26
27
|
# @option opts [String] :q Keyword search. Meta does not translate it, so write it in the ads' language. Required unless pageIds (Meta) or advertiser (LinkedIn) is given.
|
|
27
28
|
# @option opts [String] :page_ids Meta only. Comma-separated Facebook Page ids (max 10) whose ads to list.
|
|
28
29
|
# @option opts [String] :advertiser LinkedIn only. Advertiser (Page) name to search.
|
|
@@ -39,15 +40,16 @@ module Zernio
|
|
|
39
40
|
# @option opts [Integer] :limit Rows per page. LinkedIn accepts at most 25. (default to 25)
|
|
40
41
|
# @option opts [String] :after paging.after of the previous page.
|
|
41
42
|
# @return [SearchAdLibrary200Response]
|
|
42
|
-
def search_ad_library(
|
|
43
|
-
data, _status_code, _headers = search_ad_library_with_http_info(
|
|
43
|
+
def search_ad_library(opts = {})
|
|
44
|
+
data, _status_code, _headers = search_ad_library_with_http_info(opts)
|
|
44
45
|
data
|
|
45
46
|
end
|
|
46
47
|
|
|
47
48
|
# Search the public Ad Library
|
|
48
|
-
# Competitor and market research over the
|
|
49
|
-
# @param account_id [String] Zernio SocialAccount id (facebook / instagram / metaads for Meta, linkedin / linkedinads for LinkedIn). Its token is the one that searches.
|
|
49
|
+
# 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.
|
|
50
50
|
# @param [Hash] opts the optional parameters
|
|
51
|
+
# @option opts [String] :platform Which archive to search. `meta` needs no accountId. Required unless accountId is given.
|
|
52
|
+
# @option opts [String] :account_id Zernio SocialAccount id. Required for LinkedIn (linkedin / linkedinads: its token searches). Optional for Meta, where any facebook / instagram / metaads account just selects the platform.
|
|
51
53
|
# @option opts [String] :q Keyword search. Meta does not translate it, so write it in the ads' language. Required unless pageIds (Meta) or advertiser (LinkedIn) is given.
|
|
52
54
|
# @option opts [String] :page_ids Meta only. Comma-separated Facebook Page ids (max 10) whose ads to list.
|
|
53
55
|
# @option opts [String] :advertiser LinkedIn only. Advertiser (Page) name to search.
|
|
@@ -64,13 +66,13 @@ module Zernio
|
|
|
64
66
|
# @option opts [Integer] :limit Rows per page. LinkedIn accepts at most 25. (default to 25)
|
|
65
67
|
# @option opts [String] :after paging.after of the previous page.
|
|
66
68
|
# @return [Array<(SearchAdLibrary200Response, Integer, Hash)>] SearchAdLibrary200Response data, response status code and response headers
|
|
67
|
-
def search_ad_library_with_http_info(
|
|
69
|
+
def search_ad_library_with_http_info(opts = {})
|
|
68
70
|
if @api_client.config.debugging
|
|
69
71
|
@api_client.config.logger.debug 'Calling API: AdLibraryApi.search_ad_library ...'
|
|
70
72
|
end
|
|
71
|
-
|
|
72
|
-
if @api_client.config.client_side_validation &&
|
|
73
|
-
fail ArgumentError, "
|
|
73
|
+
allowable_values = ["meta", "linkedin"]
|
|
74
|
+
if @api_client.config.client_side_validation && opts[:'platform'] && !allowable_values.include?(opts[:'platform'])
|
|
75
|
+
fail ArgumentError, "invalid value for \"platform\", must be one of #{allowable_values}"
|
|
74
76
|
end
|
|
75
77
|
if @api_client.config.client_side_validation && !opts[:'q'].nil? && opts[:'q'].to_s.length > 100
|
|
76
78
|
fail ArgumentError, 'invalid value for "opts[:"q"]" when calling AdLibraryApi.search_ad_library, the character length must be smaller than or equal to 100.'
|
|
@@ -109,7 +111,8 @@ module Zernio
|
|
|
109
111
|
|
|
110
112
|
# query parameters
|
|
111
113
|
query_params = opts[:query_params] || {}
|
|
112
|
-
query_params[:'
|
|
114
|
+
query_params[:'platform'] = opts[:'platform'] if !opts[:'platform'].nil?
|
|
115
|
+
query_params[:'accountId'] = opts[:'account_id'] if !opts[:'account_id'].nil?
|
|
113
116
|
query_params[:'q'] = opts[:'q'] if !opts[:'q'].nil?
|
|
114
117
|
query_params[:'pageIds'] = opts[:'page_ids'] if !opts[:'page_ids'].nil?
|
|
115
118
|
query_params[:'advertiser'] = opts[:'advertiser'] if !opts[:'advertiser'].nil?
|
|
@@ -168,7 +168,7 @@ module Zernio
|
|
|
168
168
|
end
|
|
169
169
|
|
|
170
170
|
# Create a website conversion action
|
|
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
|
# @param create_conversion_action_request [CreateConversionActionRequest]
|
|
173
173
|
# @param [Hash] opts the optional parameters
|
|
174
174
|
# @return [CreateConversionAction201Response]
|
|
@@ -178,7 +178,7 @@ module Zernio
|
|
|
178
178
|
end
|
|
179
179
|
|
|
180
180
|
# Create a website conversion action
|
|
181
|
-
# 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.
|
|
181
|
+
# 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.
|
|
182
182
|
# @param create_conversion_action_request [CreateConversionActionRequest]
|
|
183
183
|
# @param [Hash] opts the optional parameters
|
|
184
184
|
# @return [Array<(CreateConversionAction201Response, Integer, Hash)>] CreateConversionAction201Response data, response status code and response headers
|
|
@@ -632,7 +632,7 @@ module Zernio
|
|
|
632
632
|
end
|
|
633
633
|
|
|
634
634
|
# List conversion actions and their tag snippets
|
|
635
|
-
# 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).
|
|
635
|
+
# 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.
|
|
636
636
|
# @param account_id [String] SocialAccount _id (must be a googleads account).
|
|
637
637
|
# @param [Hash] opts the optional parameters
|
|
638
638
|
# @option opts [String] :customer_id Google Ads customer id (digits only). Resolved automatically when the connection has exactly one accessible customer.
|
|
@@ -644,7 +644,7 @@ module Zernio
|
|
|
644
644
|
end
|
|
645
645
|
|
|
646
646
|
# List conversion actions and their tag snippets
|
|
647
|
-
# 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).
|
|
647
|
+
# 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.
|
|
648
648
|
# @param account_id [String] SocialAccount _id (must be a googleads account).
|
|
649
649
|
# @param [Hash] opts the optional parameters
|
|
650
650
|
# @option opts [String] :customer_id Google Ads customer id (digits only). Resolved automatically when the connection has exactly one accessible customer.
|
|
@@ -26,6 +26,12 @@ module Zernio
|
|
|
26
26
|
|
|
27
27
|
attr_accessor :portfolio
|
|
28
28
|
|
|
29
|
+
# When this data was fetched from Google. Null when it was never served from cache.
|
|
30
|
+
attr_accessor :cached_at
|
|
31
|
+
|
|
32
|
+
# True when Google's daily API quota was exhausted and this is the last successful fetch, not a live read.
|
|
33
|
+
attr_accessor :stale
|
|
34
|
+
|
|
29
35
|
class EnumAttributeValidator
|
|
30
36
|
attr_reader :datatype
|
|
31
37
|
attr_reader :allowable_values
|
|
@@ -54,7 +60,9 @@ module Zernio
|
|
|
54
60
|
:'channel' => :'channel',
|
|
55
61
|
:'bidding_strategy_type' => :'biddingStrategyType',
|
|
56
62
|
:'bid_spec' => :'bidSpec',
|
|
57
|
-
:'portfolio' => :'portfolio'
|
|
63
|
+
:'portfolio' => :'portfolio',
|
|
64
|
+
:'cached_at' => :'cachedAt',
|
|
65
|
+
:'stale' => :'stale'
|
|
58
66
|
}
|
|
59
67
|
end
|
|
60
68
|
|
|
@@ -74,13 +82,16 @@ module Zernio
|
|
|
74
82
|
:'channel' => :'String',
|
|
75
83
|
:'bidding_strategy_type' => :'String',
|
|
76
84
|
:'bid_spec' => :'CampaignBiddingBidSpec',
|
|
77
|
-
:'portfolio' => :'CampaignBiddingPortfolio'
|
|
85
|
+
:'portfolio' => :'CampaignBiddingPortfolio',
|
|
86
|
+
:'cached_at' => :'Time',
|
|
87
|
+
:'stale' => :'Boolean'
|
|
78
88
|
}
|
|
79
89
|
end
|
|
80
90
|
|
|
81
91
|
# List of attributes with nullable: true
|
|
82
92
|
def self.openapi_nullable
|
|
83
93
|
Set.new([
|
|
94
|
+
:'cached_at',
|
|
84
95
|
])
|
|
85
96
|
end
|
|
86
97
|
|
|
@@ -115,6 +126,14 @@ module Zernio
|
|
|
115
126
|
if attributes.key?(:'portfolio')
|
|
116
127
|
self.portfolio = attributes[:'portfolio']
|
|
117
128
|
end
|
|
129
|
+
|
|
130
|
+
if attributes.key?(:'cached_at')
|
|
131
|
+
self.cached_at = attributes[:'cached_at']
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
if attributes.key?(:'stale')
|
|
135
|
+
self.stale = attributes[:'stale']
|
|
136
|
+
end
|
|
118
137
|
end
|
|
119
138
|
|
|
120
139
|
# Show invalid properties with the reasons. Usually used together with valid?
|
|
@@ -152,7 +171,9 @@ module Zernio
|
|
|
152
171
|
channel == o.channel &&
|
|
153
172
|
bidding_strategy_type == o.bidding_strategy_type &&
|
|
154
173
|
bid_spec == o.bid_spec &&
|
|
155
|
-
portfolio == o.portfolio
|
|
174
|
+
portfolio == o.portfolio &&
|
|
175
|
+
cached_at == o.cached_at &&
|
|
176
|
+
stale == o.stale
|
|
156
177
|
end
|
|
157
178
|
|
|
158
179
|
# @see the `==` method
|
|
@@ -164,7 +185,7 @@ module Zernio
|
|
|
164
185
|
# Calculates hash code according to all attributes.
|
|
165
186
|
# @return [Integer] Hash code
|
|
166
187
|
def hash
|
|
167
|
-
[channel, bidding_strategy_type, bid_spec, portfolio].hash
|
|
188
|
+
[channel, bidding_strategy_type, bid_spec, portfolio, cached_at, stale].hash
|
|
168
189
|
end
|
|
169
190
|
|
|
170
191
|
# Builds the object from hash
|
|
@@ -21,12 +21,20 @@ module Zernio
|
|
|
21
21
|
|
|
22
22
|
attr_accessor :paging
|
|
23
23
|
|
|
24
|
+
# When this data was fetched from Google. Null when it was never served from cache.
|
|
25
|
+
attr_accessor :cached_at
|
|
26
|
+
|
|
27
|
+
# True when Google's daily API quota was exhausted and this is the last successful fetch, not a live read.
|
|
28
|
+
attr_accessor :stale
|
|
29
|
+
|
|
24
30
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
25
31
|
def self.attribute_map
|
|
26
32
|
{
|
|
27
33
|
:'customer_id' => :'customerId',
|
|
28
34
|
:'data' => :'data',
|
|
29
|
-
:'paging' => :'paging'
|
|
35
|
+
:'paging' => :'paging',
|
|
36
|
+
:'cached_at' => :'cachedAt',
|
|
37
|
+
:'stale' => :'stale'
|
|
30
38
|
}
|
|
31
39
|
end
|
|
32
40
|
|
|
@@ -45,13 +53,16 @@ module Zernio
|
|
|
45
53
|
{
|
|
46
54
|
:'customer_id' => :'String',
|
|
47
55
|
:'data' => :'Array<GetAdsSearchTerms200ResponseDataInner>',
|
|
48
|
-
:'paging' => :'GetAdsSearchTerms200ResponsePaging'
|
|
56
|
+
:'paging' => :'GetAdsSearchTerms200ResponsePaging',
|
|
57
|
+
:'cached_at' => :'Time',
|
|
58
|
+
:'stale' => :'Boolean'
|
|
49
59
|
}
|
|
50
60
|
end
|
|
51
61
|
|
|
52
62
|
# List of attributes with nullable: true
|
|
53
63
|
def self.openapi_nullable
|
|
54
64
|
Set.new([
|
|
65
|
+
:'cached_at',
|
|
55
66
|
])
|
|
56
67
|
end
|
|
57
68
|
|
|
@@ -84,6 +95,14 @@ module Zernio
|
|
|
84
95
|
if attributes.key?(:'paging')
|
|
85
96
|
self.paging = attributes[:'paging']
|
|
86
97
|
end
|
|
98
|
+
|
|
99
|
+
if attributes.key?(:'cached_at')
|
|
100
|
+
self.cached_at = attributes[:'cached_at']
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
if attributes.key?(:'stale')
|
|
104
|
+
self.stale = attributes[:'stale']
|
|
105
|
+
end
|
|
87
106
|
end
|
|
88
107
|
|
|
89
108
|
# Show invalid properties with the reasons. Usually used together with valid?
|
|
@@ -108,7 +127,9 @@ module Zernio
|
|
|
108
127
|
self.class == o.class &&
|
|
109
128
|
customer_id == o.customer_id &&
|
|
110
129
|
data == o.data &&
|
|
111
|
-
paging == o.paging
|
|
130
|
+
paging == o.paging &&
|
|
131
|
+
cached_at == o.cached_at &&
|
|
132
|
+
stale == o.stale
|
|
112
133
|
end
|
|
113
134
|
|
|
114
135
|
# @see the `==` method
|
|
@@ -120,7 +141,7 @@ module Zernio
|
|
|
120
141
|
# Calculates hash code according to all attributes.
|
|
121
142
|
# @return [Integer] Hash code
|
|
122
143
|
def hash
|
|
123
|
-
[customer_id, data, paging].hash
|
|
144
|
+
[customer_id, data, paging, cached_at, stale].hash
|
|
124
145
|
end
|
|
125
146
|
|
|
126
147
|
# Builds the object from hash
|
|
@@ -25,6 +25,12 @@ module Zernio
|
|
|
25
25
|
|
|
26
26
|
attr_accessor :portfolio
|
|
27
27
|
|
|
28
|
+
# When this data was fetched from Google. Null when it was never served from cache.
|
|
29
|
+
attr_accessor :cached_at
|
|
30
|
+
|
|
31
|
+
# True when Google's daily API quota was exhausted and this is the last successful fetch, not a live read.
|
|
32
|
+
attr_accessor :stale
|
|
33
|
+
|
|
28
34
|
attr_accessor :campaign_id
|
|
29
35
|
|
|
30
36
|
class EnumAttributeValidator
|
|
@@ -56,6 +62,8 @@ module Zernio
|
|
|
56
62
|
:'bidding_strategy_type' => :'biddingStrategyType',
|
|
57
63
|
:'bid_spec' => :'bidSpec',
|
|
58
64
|
:'portfolio' => :'portfolio',
|
|
65
|
+
:'cached_at' => :'cachedAt',
|
|
66
|
+
:'stale' => :'stale',
|
|
59
67
|
:'campaign_id' => :'campaignId'
|
|
60
68
|
}
|
|
61
69
|
end
|
|
@@ -77,6 +85,8 @@ module Zernio
|
|
|
77
85
|
:'bidding_strategy_type' => :'String',
|
|
78
86
|
:'bid_spec' => :'CampaignBiddingBidSpec',
|
|
79
87
|
:'portfolio' => :'CampaignBiddingPortfolio',
|
|
88
|
+
:'cached_at' => :'Time',
|
|
89
|
+
:'stale' => :'Boolean',
|
|
80
90
|
:'campaign_id' => :'String'
|
|
81
91
|
}
|
|
82
92
|
end
|
|
@@ -126,6 +136,14 @@ module Zernio
|
|
|
126
136
|
self.portfolio = attributes[:'portfolio']
|
|
127
137
|
end
|
|
128
138
|
|
|
139
|
+
if attributes.key?(:'cached_at')
|
|
140
|
+
self.cached_at = attributes[:'cached_at']
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
if attributes.key?(:'stale')
|
|
144
|
+
self.stale = attributes[:'stale']
|
|
145
|
+
end
|
|
146
|
+
|
|
129
147
|
if attributes.key?(:'campaign_id')
|
|
130
148
|
self.campaign_id = attributes[:'campaign_id']
|
|
131
149
|
end
|
|
@@ -167,6 +185,8 @@ module Zernio
|
|
|
167
185
|
bidding_strategy_type == o.bidding_strategy_type &&
|
|
168
186
|
bid_spec == o.bid_spec &&
|
|
169
187
|
portfolio == o.portfolio &&
|
|
188
|
+
cached_at == o.cached_at &&
|
|
189
|
+
stale == o.stale &&
|
|
170
190
|
campaign_id == o.campaign_id
|
|
171
191
|
end
|
|
172
192
|
|
|
@@ -179,7 +199,7 @@ module Zernio
|
|
|
179
199
|
# Calculates hash code according to all attributes.
|
|
180
200
|
# @return [Integer] Hash code
|
|
181
201
|
def hash
|
|
182
|
-
[channel, bidding_strategy_type, bid_spec, portfolio, campaign_id].hash
|
|
202
|
+
[channel, bidding_strategy_type, bid_spec, portfolio, cached_at, stale, campaign_id].hash
|
|
183
203
|
end
|
|
184
204
|
|
|
185
205
|
# Builds the object from hash
|
|
@@ -21,12 +21,20 @@ module Zernio
|
|
|
21
21
|
|
|
22
22
|
attr_accessor :languages
|
|
23
23
|
|
|
24
|
+
# When this targeting was fetched from Google. Null when it was never served from cache.
|
|
25
|
+
attr_accessor :cached_at
|
|
26
|
+
|
|
27
|
+
# True when Google's daily API quota was exhausted and this is the last successful fetch, not a live read.
|
|
28
|
+
attr_accessor :stale
|
|
29
|
+
|
|
24
30
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
25
31
|
def self.attribute_map
|
|
26
32
|
{
|
|
27
33
|
:'devices' => :'devices',
|
|
28
34
|
:'locations' => :'locations',
|
|
29
|
-
:'languages' => :'languages'
|
|
35
|
+
:'languages' => :'languages',
|
|
36
|
+
:'cached_at' => :'cachedAt',
|
|
37
|
+
:'stale' => :'stale'
|
|
30
38
|
}
|
|
31
39
|
end
|
|
32
40
|
|
|
@@ -45,13 +53,16 @@ module Zernio
|
|
|
45
53
|
{
|
|
46
54
|
:'devices' => :'Array<GetCampaignTargeting200ResponseDevicesInner>',
|
|
47
55
|
:'locations' => :'Array<GetCampaignTargeting200ResponseLocationsInner>',
|
|
48
|
-
:'languages' => :'Array<GetCampaignTargeting200ResponseLanguagesInner>'
|
|
56
|
+
:'languages' => :'Array<GetCampaignTargeting200ResponseLanguagesInner>',
|
|
57
|
+
:'cached_at' => :'Time',
|
|
58
|
+
:'stale' => :'Boolean'
|
|
49
59
|
}
|
|
50
60
|
end
|
|
51
61
|
|
|
52
62
|
# List of attributes with nullable: true
|
|
53
63
|
def self.openapi_nullable
|
|
54
64
|
Set.new([
|
|
65
|
+
:'cached_at',
|
|
55
66
|
])
|
|
56
67
|
end
|
|
57
68
|
|
|
@@ -88,6 +99,14 @@ module Zernio
|
|
|
88
99
|
self.languages = value
|
|
89
100
|
end
|
|
90
101
|
end
|
|
102
|
+
|
|
103
|
+
if attributes.key?(:'cached_at')
|
|
104
|
+
self.cached_at = attributes[:'cached_at']
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
if attributes.key?(:'stale')
|
|
108
|
+
self.stale = attributes[:'stale']
|
|
109
|
+
end
|
|
91
110
|
end
|
|
92
111
|
|
|
93
112
|
# Show invalid properties with the reasons. Usually used together with valid?
|
|
@@ -112,7 +131,9 @@ module Zernio
|
|
|
112
131
|
self.class == o.class &&
|
|
113
132
|
devices == o.devices &&
|
|
114
133
|
locations == o.locations &&
|
|
115
|
-
languages == o.languages
|
|
134
|
+
languages == o.languages &&
|
|
135
|
+
cached_at == o.cached_at &&
|
|
136
|
+
stale == o.stale
|
|
116
137
|
end
|
|
117
138
|
|
|
118
139
|
# @see the `==` method
|
|
@@ -124,7 +145,7 @@ module Zernio
|
|
|
124
145
|
# Calculates hash code according to all attributes.
|
|
125
146
|
# @return [Integer] Hash code
|
|
126
147
|
def hash
|
|
127
|
-
[devices, locations, languages].hash
|
|
148
|
+
[devices, locations, languages, cached_at, stale].hash
|
|
128
149
|
end
|
|
129
150
|
|
|
130
151
|
# Builds the object from hash
|
|
@@ -19,11 +19,19 @@ module Zernio
|
|
|
19
19
|
|
|
20
20
|
attr_accessor :callouts
|
|
21
21
|
|
|
22
|
+
# When this list was fetched from Google. Null when it was never served from cache.
|
|
23
|
+
attr_accessor :cached_at
|
|
24
|
+
|
|
25
|
+
# True when Google's daily API quota was exhausted and this is the last successful fetch, not a live read.
|
|
26
|
+
attr_accessor :stale
|
|
27
|
+
|
|
22
28
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
23
29
|
def self.attribute_map
|
|
24
30
|
{
|
|
25
31
|
:'customer_id' => :'customerId',
|
|
26
|
-
:'callouts' => :'callouts'
|
|
32
|
+
:'callouts' => :'callouts',
|
|
33
|
+
:'cached_at' => :'cachedAt',
|
|
34
|
+
:'stale' => :'stale'
|
|
27
35
|
}
|
|
28
36
|
end
|
|
29
37
|
|
|
@@ -41,13 +49,16 @@ module Zernio
|
|
|
41
49
|
def self.openapi_types
|
|
42
50
|
{
|
|
43
51
|
:'customer_id' => :'String',
|
|
44
|
-
:'callouts' => :'Array<ListAccountCallouts200ResponseCalloutsInner>'
|
|
52
|
+
:'callouts' => :'Array<ListAccountCallouts200ResponseCalloutsInner>',
|
|
53
|
+
:'cached_at' => :'Time',
|
|
54
|
+
:'stale' => :'Boolean'
|
|
45
55
|
}
|
|
46
56
|
end
|
|
47
57
|
|
|
48
58
|
# List of attributes with nullable: true
|
|
49
59
|
def self.openapi_nullable
|
|
50
60
|
Set.new([
|
|
61
|
+
:'cached_at',
|
|
51
62
|
])
|
|
52
63
|
end
|
|
53
64
|
|
|
@@ -76,6 +87,14 @@ module Zernio
|
|
|
76
87
|
self.callouts = value
|
|
77
88
|
end
|
|
78
89
|
end
|
|
90
|
+
|
|
91
|
+
if attributes.key?(:'cached_at')
|
|
92
|
+
self.cached_at = attributes[:'cached_at']
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
if attributes.key?(:'stale')
|
|
96
|
+
self.stale = attributes[:'stale']
|
|
97
|
+
end
|
|
79
98
|
end
|
|
80
99
|
|
|
81
100
|
# Show invalid properties with the reasons. Usually used together with valid?
|
|
@@ -99,7 +118,9 @@ module Zernio
|
|
|
99
118
|
return true if self.equal?(o)
|
|
100
119
|
self.class == o.class &&
|
|
101
120
|
customer_id == o.customer_id &&
|
|
102
|
-
callouts == o.callouts
|
|
121
|
+
callouts == o.callouts &&
|
|
122
|
+
cached_at == o.cached_at &&
|
|
123
|
+
stale == o.stale
|
|
103
124
|
end
|
|
104
125
|
|
|
105
126
|
# @see the `==` method
|
|
@@ -111,7 +132,7 @@ module Zernio
|
|
|
111
132
|
# Calculates hash code according to all attributes.
|
|
112
133
|
# @return [Integer] Hash code
|
|
113
134
|
def hash
|
|
114
|
-
[customer_id, callouts].hash
|
|
135
|
+
[customer_id, callouts, cached_at, stale].hash
|
|
115
136
|
end
|
|
116
137
|
|
|
117
138
|
# Builds the object from hash
|
|
@@ -17,10 +17,18 @@ module Zernio
|
|
|
17
17
|
class ListAdAccounts200Response < ApiModelBase
|
|
18
18
|
attr_accessor :accounts
|
|
19
19
|
|
|
20
|
+
# Google only. When this list was fetched from Google. Null when it was never served from cache, or on other platforms.
|
|
21
|
+
attr_accessor :cached_at
|
|
22
|
+
|
|
23
|
+
# 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.
|
|
24
|
+
attr_accessor :stale
|
|
25
|
+
|
|
20
26
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
21
27
|
def self.attribute_map
|
|
22
28
|
{
|
|
23
|
-
:'accounts' => :'accounts'
|
|
29
|
+
:'accounts' => :'accounts',
|
|
30
|
+
:'cached_at' => :'cachedAt',
|
|
31
|
+
:'stale' => :'stale'
|
|
24
32
|
}
|
|
25
33
|
end
|
|
26
34
|
|
|
@@ -37,13 +45,16 @@ module Zernio
|
|
|
37
45
|
# Attribute type mapping.
|
|
38
46
|
def self.openapi_types
|
|
39
47
|
{
|
|
40
|
-
:'accounts' => :'Array<ListAdAccounts200ResponseAccountsInner>'
|
|
48
|
+
:'accounts' => :'Array<ListAdAccounts200ResponseAccountsInner>',
|
|
49
|
+
:'cached_at' => :'Time',
|
|
50
|
+
:'stale' => :'Boolean'
|
|
41
51
|
}
|
|
42
52
|
end
|
|
43
53
|
|
|
44
54
|
# List of attributes with nullable: true
|
|
45
55
|
def self.openapi_nullable
|
|
46
56
|
Set.new([
|
|
57
|
+
:'cached_at',
|
|
47
58
|
])
|
|
48
59
|
end
|
|
49
60
|
|
|
@@ -68,6 +79,14 @@ module Zernio
|
|
|
68
79
|
self.accounts = value
|
|
69
80
|
end
|
|
70
81
|
end
|
|
82
|
+
|
|
83
|
+
if attributes.key?(:'cached_at')
|
|
84
|
+
self.cached_at = attributes[:'cached_at']
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
if attributes.key?(:'stale')
|
|
88
|
+
self.stale = attributes[:'stale']
|
|
89
|
+
end
|
|
71
90
|
end
|
|
72
91
|
|
|
73
92
|
# Show invalid properties with the reasons. Usually used together with valid?
|
|
@@ -90,7 +109,9 @@ module Zernio
|
|
|
90
109
|
def ==(o)
|
|
91
110
|
return true if self.equal?(o)
|
|
92
111
|
self.class == o.class &&
|
|
93
|
-
accounts == o.accounts
|
|
112
|
+
accounts == o.accounts &&
|
|
113
|
+
cached_at == o.cached_at &&
|
|
114
|
+
stale == o.stale
|
|
94
115
|
end
|
|
95
116
|
|
|
96
117
|
# @see the `==` method
|
|
@@ -102,7 +123,7 @@ module Zernio
|
|
|
102
123
|
# Calculates hash code according to all attributes.
|
|
103
124
|
# @return [Integer] Hash code
|
|
104
125
|
def hash
|
|
105
|
-
[accounts].hash
|
|
126
|
+
[accounts, cached_at, stale].hash
|
|
106
127
|
end
|
|
107
128
|
|
|
108
129
|
# Builds the object from hash
|
|
@@ -22,12 +22,20 @@ module Zernio
|
|
|
22
22
|
|
|
23
23
|
attr_accessor :strategies
|
|
24
24
|
|
|
25
|
+
# When this data was fetched from Google. Null when it was never served from cache.
|
|
26
|
+
attr_accessor :cached_at
|
|
27
|
+
|
|
28
|
+
# True when Google's daily API quota was exhausted and this is the last successful fetch, not a live read.
|
|
29
|
+
attr_accessor :stale
|
|
30
|
+
|
|
25
31
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
26
32
|
def self.attribute_map
|
|
27
33
|
{
|
|
28
34
|
:'customer_id' => :'customerId',
|
|
29
35
|
:'currency' => :'currency',
|
|
30
|
-
:'strategies' => :'strategies'
|
|
36
|
+
:'strategies' => :'strategies',
|
|
37
|
+
:'cached_at' => :'cachedAt',
|
|
38
|
+
:'stale' => :'stale'
|
|
31
39
|
}
|
|
32
40
|
end
|
|
33
41
|
|
|
@@ -46,13 +54,16 @@ module Zernio
|
|
|
46
54
|
{
|
|
47
55
|
:'customer_id' => :'String',
|
|
48
56
|
:'currency' => :'String',
|
|
49
|
-
:'strategies' => :'Array<PortfolioBidStrategy>'
|
|
57
|
+
:'strategies' => :'Array<PortfolioBidStrategy>',
|
|
58
|
+
:'cached_at' => :'Time',
|
|
59
|
+
:'stale' => :'Boolean'
|
|
50
60
|
}
|
|
51
61
|
end
|
|
52
62
|
|
|
53
63
|
# List of attributes with nullable: true
|
|
54
64
|
def self.openapi_nullable
|
|
55
65
|
Set.new([
|
|
66
|
+
:'cached_at',
|
|
56
67
|
])
|
|
57
68
|
end
|
|
58
69
|
|
|
@@ -85,6 +96,14 @@ module Zernio
|
|
|
85
96
|
self.strategies = value
|
|
86
97
|
end
|
|
87
98
|
end
|
|
99
|
+
|
|
100
|
+
if attributes.key?(:'cached_at')
|
|
101
|
+
self.cached_at = attributes[:'cached_at']
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
if attributes.key?(:'stale')
|
|
105
|
+
self.stale = attributes[:'stale']
|
|
106
|
+
end
|
|
88
107
|
end
|
|
89
108
|
|
|
90
109
|
# Show invalid properties with the reasons. Usually used together with valid?
|
|
@@ -109,7 +128,9 @@ module Zernio
|
|
|
109
128
|
self.class == o.class &&
|
|
110
129
|
customer_id == o.customer_id &&
|
|
111
130
|
currency == o.currency &&
|
|
112
|
-
strategies == o.strategies
|
|
131
|
+
strategies == o.strategies &&
|
|
132
|
+
cached_at == o.cached_at &&
|
|
133
|
+
stale == o.stale
|
|
113
134
|
end
|
|
114
135
|
|
|
115
136
|
# @see the `==` method
|
|
@@ -121,7 +142,7 @@ module Zernio
|
|
|
121
142
|
# Calculates hash code according to all attributes.
|
|
122
143
|
# @return [Integer] Hash code
|
|
123
144
|
def hash
|
|
124
|
-
[customer_id, currency, strategies].hash
|
|
145
|
+
[customer_id, currency, strategies, cached_at, stale].hash
|
|
125
146
|
end
|
|
126
147
|
|
|
127
148
|
# Builds the object from hash
|