late-sdk 0.0.595 → 0.0.597

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.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +8 -0
  3. data/docs/AdInsightsApi.md +155 -9
  4. data/docs/GenerateKeywordHistoricalMetrics200Response.md +22 -0
  5. data/docs/GenerateKeywordHistoricalMetricsRequest.md +32 -0
  6. data/docs/GenerateKeywordIdeas200Response.md +24 -0
  7. data/docs/GenerateKeywordIdeas200ResponsePaging.md +18 -0
  8. data/docs/GenerateKeywordIdeasRequest.md +36 -0
  9. data/docs/GetAdsActivityLog200Response.md +1 -1
  10. data/docs/GetAdsActivityLog200ResponsePaging.md +18 -0
  11. data/docs/ListAdCreatives200Response.md +1 -1
  12. data/docs/ListAdImages200Response.md +1 -1
  13. data/docs/ListAdLabels200Response.md +1 -1
  14. data/docs/ListAdStudies200Response.md +1 -1
  15. data/docs/ListHighDemandPeriods200Response.md +1 -1
  16. data/docs/ListMetaBusinesses200Response.md +1 -1
  17. data/docs/QueryAdInsights200Response.md +5 -1
  18. data/docs/QueryAdInsights200ResponsePaging.md +4 -2
  19. data/docs/TwitterPlatformData.md +1 -1
  20. data/lib/zernio-sdk/api/ad_insights_api.rb +158 -13
  21. data/lib/zernio-sdk/models/generate_keyword_historical_metrics200_response.rb +169 -0
  22. data/lib/zernio-sdk/models/generate_keyword_historical_metrics_request.rb +337 -0
  23. data/lib/zernio-sdk/models/generate_keyword_ideas200_response.rb +178 -0
  24. data/lib/zernio-sdk/models/generate_keyword_ideas200_response_paging.rb +149 -0
  25. data/lib/zernio-sdk/models/generate_keyword_ideas_request.rb +378 -0
  26. data/lib/zernio-sdk/models/get_ads_activity_log200_response.rb +1 -1
  27. data/lib/zernio-sdk/models/get_ads_activity_log200_response_paging.rb +149 -0
  28. data/lib/zernio-sdk/models/list_ad_creatives200_response.rb +1 -1
  29. data/lib/zernio-sdk/models/list_ad_images200_response.rb +1 -1
  30. data/lib/zernio-sdk/models/list_ad_labels200_response.rb +1 -1
  31. data/lib/zernio-sdk/models/list_ad_studies200_response.rb +1 -1
  32. data/lib/zernio-sdk/models/list_high_demand_periods200_response.rb +1 -1
  33. data/lib/zernio-sdk/models/list_meta_businesses200_response.rb +1 -1
  34. data/lib/zernio-sdk/models/query_ad_insights200_response.rb +23 -1
  35. data/lib/zernio-sdk/models/query_ad_insights200_response_paging.rb +17 -6
  36. data/lib/zernio-sdk/models/twitter_platform_data.rb +1 -1
  37. data/lib/zernio-sdk/version.rb +1 -1
  38. data/lib/zernio-sdk.rb +6 -0
  39. data/openapi.yaml +130 -19
  40. data/spec/api/ad_insights_api_spec.rb +30 -3
  41. data/spec/models/generate_keyword_historical_metrics200_response_spec.rb +48 -0
  42. data/spec/models/generate_keyword_historical_metrics_request_spec.rb +82 -0
  43. data/spec/models/generate_keyword_ideas200_response_paging_spec.rb +36 -0
  44. data/spec/models/generate_keyword_ideas200_response_spec.rb +54 -0
  45. data/spec/models/generate_keyword_ideas_request_spec.rb +94 -0
  46. data/spec/models/get_ads_activity_log200_response_paging_spec.rb +36 -0
  47. data/spec/models/query_ad_insights200_response_paging_spec.rb +6 -0
  48. data/spec/models/query_ad_insights200_response_spec.rb +12 -0
  49. data/zernio-sdk-0.0.597.gem +0 -0
  50. metadata +26 -2
  51. data/zernio-sdk-0.0.595.gem +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8a9951e9e9dc1112734f8cbe3cd309e8914dd7696bfbe9fb708d023b6f37fa1c
4
- data.tar.gz: a65c38287c38db1eae9b07b405daf15d25632ed969e0aa591e20f13ec3e2adeb
3
+ metadata.gz: 0f5c005fedbb3f86c24eacf12de620a5583e19591066d5d9a054cee88eaa55c7
4
+ data.tar.gz: cf4743390f33807fd2c049041d5cbb3f31e65ca48289468726130cac916fa357
5
5
  SHA512:
6
- metadata.gz: f0d775abf35999f7b8016419f4a6fcb36366cb4adf64f7e7bc83d2d6475799998e70bea8973fdb203dbe3ebfde3a625104ef815f6625a23f20a233d3228ebba3
7
- data.tar.gz: 87b65da6bcd0a8929e57a7c6bd5656a4b3c78736a14e04751882cbd71a1e66d1821ad61df5c34b83e51bc7a4426f6e538afe84158159565d1014d4df5eb38731
6
+ metadata.gz: d6548e680a6d6307337186ab737e35e85855a948ebb9b272423747719a2579846f47b515577c10840bcc25a41dedc884e5e91f44930c5a609f29b602c5c4c6de
7
+ data.tar.gz: 431b345ab6e00f58ada8dbf0db22a4b6a3e822c1cca9a820cec359aaf31a1bca9d0aa42fe810d5dbd5a2702a5605f2ba9617c98f09733625e65624f33c2b9c8a
data/README.md CHANGED
@@ -142,6 +142,8 @@ Class | Method | HTTP request | Description
142
142
  *Zernio::AdCreativesApi* | [**update_ad_creative**](docs/AdCreativesApi.md#update_ad_creative) | **PUT** /v1/ads/creatives/{creativeId} | Rename a creative
143
143
  *Zernio::AdCreativesApi* | [**upload_ad_image**](docs/AdCreativesApi.md#upload_ad_image) | **POST** /v1/ads/images | Upload an ad image from base64
144
144
  *Zernio::AdInsightsApi* | [**create_ad_insights_report**](docs/AdInsightsApi.md#create_ad_insights_report) | **POST** /v1/ads/insights/reports | Submit an async insights report run
145
+ *Zernio::AdInsightsApi* | [**generate_keyword_historical_metrics**](docs/AdInsightsApi.md#generate_keyword_historical_metrics) | **POST** /v1/ads/keywords/historical-metrics | Historical keyword metrics (Google Keyword Planner)
146
+ *Zernio::AdInsightsApi* | [**generate_keyword_ideas**](docs/AdInsightsApi.md#generate_keyword_ideas) | **POST** /v1/ads/keywords/ideas | Generate keyword ideas (Google Keyword Planner)
145
147
  *Zernio::AdInsightsApi* | [**get_ad_analytics**](docs/AdInsightsApi.md#get_ad_analytics) | **GET** /v1/ads/{adId}/analytics | Get ad analytics
146
148
  *Zernio::AdInsightsApi* | [**get_ad_insights_report**](docs/AdInsightsApi.md#get_ad_insights_report) | **GET** /v1/ads/insights/reports/{reportRunId} | Poll an async insights report run
147
149
  *Zernio::AdInsightsApi* | [**get_campaign_analytics**](docs/AdInsightsApi.md#get_campaign_analytics) | **GET** /v1/ads/campaigns/{campaignId}/analytics | Get campaign analytics
@@ -988,6 +990,11 @@ Class | Method | HTTP request | Description
988
990
  - [Zernio::GenerateAdPreviews200Response](docs/GenerateAdPreviews200Response.md)
989
991
  - [Zernio::GenerateAdPreviews200ResponsePreviewsInner](docs/GenerateAdPreviews200ResponsePreviewsInner.md)
990
992
  - [Zernio::GenerateAdPreviewsRequest](docs/GenerateAdPreviewsRequest.md)
993
+ - [Zernio::GenerateKeywordHistoricalMetrics200Response](docs/GenerateKeywordHistoricalMetrics200Response.md)
994
+ - [Zernio::GenerateKeywordHistoricalMetricsRequest](docs/GenerateKeywordHistoricalMetricsRequest.md)
995
+ - [Zernio::GenerateKeywordIdeas200Response](docs/GenerateKeywordIdeas200Response.md)
996
+ - [Zernio::GenerateKeywordIdeas200ResponsePaging](docs/GenerateKeywordIdeas200ResponsePaging.md)
997
+ - [Zernio::GenerateKeywordIdeasRequest](docs/GenerateKeywordIdeasRequest.md)
991
998
  - [Zernio::GeoRestriction](docs/GeoRestriction.md)
992
999
  - [Zernio::GetAccountHealth200Response](docs/GetAccountHealth200Response.md)
993
1000
  - [Zernio::GetAccountHealth200ResponsePermissions](docs/GetAccountHealth200ResponsePermissions.md)
@@ -1010,6 +1017,7 @@ Class | Method | HTTP request | Description
1010
1017
  - [Zernio::GetAdTrackingTags200Response](docs/GetAdTrackingTags200Response.md)
1011
1018
  - [Zernio::GetAdTree200Response](docs/GetAdTree200Response.md)
1012
1019
  - [Zernio::GetAdsActivityLog200Response](docs/GetAdsActivityLog200Response.md)
1020
+ - [Zernio::GetAdsActivityLog200ResponsePaging](docs/GetAdsActivityLog200ResponsePaging.md)
1013
1021
  - [Zernio::GetAdsTimeline200Response](docs/GetAdsTimeline200Response.md)
1014
1022
  - [Zernio::GetAdsTimeline200ResponseRowsInner](docs/GetAdsTimeline200ResponseRowsInner.md)
1015
1023
  - [Zernio::GetAllAccountsHealth200Response](docs/GetAllAccountsHealth200Response.md)
@@ -5,6 +5,8 @@ All URIs are relative to *https://zernio.com/api*
5
5
  | Method | HTTP request | Description |
6
6
  | ------ | ------------ | ----------- |
7
7
  | [**create_ad_insights_report**](AdInsightsApi.md#create_ad_insights_report) | **POST** /v1/ads/insights/reports | Submit an async insights report run |
8
+ | [**generate_keyword_historical_metrics**](AdInsightsApi.md#generate_keyword_historical_metrics) | **POST** /v1/ads/keywords/historical-metrics | Historical keyword metrics (Google Keyword Planner) |
9
+ | [**generate_keyword_ideas**](AdInsightsApi.md#generate_keyword_ideas) | **POST** /v1/ads/keywords/ideas | Generate keyword ideas (Google Keyword Planner) |
8
10
  | [**get_ad_analytics**](AdInsightsApi.md#get_ad_analytics) | **GET** /v1/ads/{adId}/analytics | Get ad analytics |
9
11
  | [**get_ad_insights_report**](AdInsightsApi.md#get_ad_insights_report) | **GET** /v1/ads/insights/reports/{reportRunId} | Poll an async insights report run |
10
12
  | [**get_campaign_analytics**](AdInsightsApi.md#get_campaign_analytics) | **GET** /v1/ads/campaigns/{campaignId}/analytics | Get campaign analytics |
@@ -80,6 +82,144 @@ end
80
82
  - **Accept**: application/json
81
83
 
82
84
 
85
+ ## generate_keyword_historical_metrics
86
+
87
+ > <GenerateKeywordHistoricalMetrics200Response> generate_keyword_historical_metrics(generate_keyword_historical_metrics_request)
88
+
89
+ Historical keyword metrics (Google Keyword Planner)
90
+
91
+ Google Ads only. Runs Keyword Planner's generateKeywordHistoricalMetrics for up to 1,000 exact keywords: historical search volume, competition and top-of-page bid ranges, plus averageCpcMicros when includeAverageCpc is set. Rows come back verbatim; counters are int64s encoded as strings, bid/CPC values are micros of the account currency.
92
+
93
+ ### Examples
94
+
95
+ ```ruby
96
+ require 'time'
97
+ require 'zernio-sdk'
98
+ # setup authorization
99
+ Zernio.configure do |config|
100
+ # Configure Bearer authorization (JWT): bearerAuth
101
+ config.access_token = 'YOUR_BEARER_TOKEN'
102
+ end
103
+
104
+ api_instance = Zernio::AdInsightsApi.new
105
+ generate_keyword_historical_metrics_request = Zernio::GenerateKeywordHistoricalMetricsRequest.new({account_id: 'account_id_example', keywords: ['keywords_example']}) # GenerateKeywordHistoricalMetricsRequest |
106
+
107
+ begin
108
+ # Historical keyword metrics (Google Keyword Planner)
109
+ result = api_instance.generate_keyword_historical_metrics(generate_keyword_historical_metrics_request)
110
+ p result
111
+ rescue Zernio::ApiError => e
112
+ puts "Error when calling AdInsightsApi->generate_keyword_historical_metrics: #{e}"
113
+ end
114
+ ```
115
+
116
+ #### Using the generate_keyword_historical_metrics_with_http_info variant
117
+
118
+ This returns an Array which contains the response data, status code and headers.
119
+
120
+ > <Array(<GenerateKeywordHistoricalMetrics200Response>, Integer, Hash)> generate_keyword_historical_metrics_with_http_info(generate_keyword_historical_metrics_request)
121
+
122
+ ```ruby
123
+ begin
124
+ # Historical keyword metrics (Google Keyword Planner)
125
+ data, status_code, headers = api_instance.generate_keyword_historical_metrics_with_http_info(generate_keyword_historical_metrics_request)
126
+ p status_code # => 2xx
127
+ p headers # => { ... }
128
+ p data # => <GenerateKeywordHistoricalMetrics200Response>
129
+ rescue Zernio::ApiError => e
130
+ puts "Error when calling AdInsightsApi->generate_keyword_historical_metrics_with_http_info: #{e}"
131
+ end
132
+ ```
133
+
134
+ ### Parameters
135
+
136
+ | Name | Type | Description | Notes |
137
+ | ---- | ---- | ----------- | ----- |
138
+ | **generate_keyword_historical_metrics_request** | [**GenerateKeywordHistoricalMetricsRequest**](GenerateKeywordHistoricalMetricsRequest.md) | | |
139
+
140
+ ### Return type
141
+
142
+ [**GenerateKeywordHistoricalMetrics200Response**](GenerateKeywordHistoricalMetrics200Response.md)
143
+
144
+ ### Authorization
145
+
146
+ [bearerAuth](../README.md#bearerAuth)
147
+
148
+ ### HTTP request headers
149
+
150
+ - **Content-Type**: application/json
151
+ - **Accept**: application/json
152
+
153
+
154
+ ## generate_keyword_ideas
155
+
156
+ > <GenerateKeywordIdeas200Response> generate_keyword_ideas(generate_keyword_ideas_request)
157
+
158
+ Generate keyword ideas (Google Keyword Planner)
159
+
160
+ Google Ads only. Runs Keyword Planner's generateKeywordIdeas from seed keywords, a seed URL, or both, returning idea rows verbatim (avgMonthlySearches, competition, competitionIndex, top-of-page bid micros, monthlySearchVolumes). Counters are int64s encoded as strings; bid values are micros of the account currency. Omitting `countries` targets worldwide.
161
+
162
+ ### Examples
163
+
164
+ ```ruby
165
+ require 'time'
166
+ require 'zernio-sdk'
167
+ # setup authorization
168
+ Zernio.configure do |config|
169
+ # Configure Bearer authorization (JWT): bearerAuth
170
+ config.access_token = 'YOUR_BEARER_TOKEN'
171
+ end
172
+
173
+ api_instance = Zernio::AdInsightsApi.new
174
+ generate_keyword_ideas_request = Zernio::GenerateKeywordIdeasRequest.new({account_id: 'account_id_example'}) # GenerateKeywordIdeasRequest |
175
+
176
+ begin
177
+ # Generate keyword ideas (Google Keyword Planner)
178
+ result = api_instance.generate_keyword_ideas(generate_keyword_ideas_request)
179
+ p result
180
+ rescue Zernio::ApiError => e
181
+ puts "Error when calling AdInsightsApi->generate_keyword_ideas: #{e}"
182
+ end
183
+ ```
184
+
185
+ #### Using the generate_keyword_ideas_with_http_info variant
186
+
187
+ This returns an Array which contains the response data, status code and headers.
188
+
189
+ > <Array(<GenerateKeywordIdeas200Response>, Integer, Hash)> generate_keyword_ideas_with_http_info(generate_keyword_ideas_request)
190
+
191
+ ```ruby
192
+ begin
193
+ # Generate keyword ideas (Google Keyword Planner)
194
+ data, status_code, headers = api_instance.generate_keyword_ideas_with_http_info(generate_keyword_ideas_request)
195
+ p status_code # => 2xx
196
+ p headers # => { ... }
197
+ p data # => <GenerateKeywordIdeas200Response>
198
+ rescue Zernio::ApiError => e
199
+ puts "Error when calling AdInsightsApi->generate_keyword_ideas_with_http_info: #{e}"
200
+ end
201
+ ```
202
+
203
+ ### Parameters
204
+
205
+ | Name | Type | Description | Notes |
206
+ | ---- | ---- | ----------- | ----- |
207
+ | **generate_keyword_ideas_request** | [**GenerateKeywordIdeasRequest**](GenerateKeywordIdeasRequest.md) | | |
208
+
209
+ ### Return type
210
+
211
+ [**GenerateKeywordIdeas200Response**](GenerateKeywordIdeas200Response.md)
212
+
213
+ ### Authorization
214
+
215
+ [bearerAuth](../README.md#bearerAuth)
216
+
217
+ ### HTTP request headers
218
+
219
+ - **Content-Type**: application/json
220
+ - **Accept**: application/json
221
+
222
+
83
223
  ## get_ad_analytics
84
224
 
85
225
  > <GetAdAnalytics200Response> get_ad_analytics(ad_id, opts)
@@ -315,11 +455,11 @@ end
315
455
 
316
456
  ## query_ad_insights
317
457
 
318
- > <QueryAdInsights200Response> query_ad_insights(account_id, object_id, opts)
458
+ > <QueryAdInsights200Response> query_ad_insights(account_id, opts)
319
459
 
320
460
  Flexible live insights query
321
461
 
322
- Live, flexible insights query against Meta's Graph API. Unlike GET /v1/ads/{adId}/analytics (fixed metric set, cached), this forwards caller-chosen `fields`, `breakdowns` and `filtering` to any Meta insights node and returns Meta's rows verbatim. `objectId` selects the node: an ad account, campaign, ad set or ad platform id. `level` sets row granularity independently of the node. Semantic validation is Meta's: an unknown field or invalid breakdown combination returns a 400 carrying Meta's message. For long ranges or agency-scale accounts prefer the async variant (POST /v1/ads/insights/reports).
462
+ Live, flexible insights query. The account's platform picks the contract: **Meta (facebook/instagram)**: forwards caller-chosen `fields`, `breakdowns` and `filtering` to any Meta insights node and returns Meta's rows verbatim. `objectId` (required) selects the node; `level` sets row granularity. Semantic validation is Meta's: an unknown field or invalid breakdown combination returns a 400 carrying Meta's message. For long ranges or agency-scale accounts prefer the async variant (POST /v1/ads/insights/reports). **Google Ads (googleads)**: raw GAQL passthrough. Send any read-only GAQL SELECT via `query` (campaign/keyword/search-term/geo/demographic/asset/shopping resources, `change_event`, any `segments.*`) and rows come back verbatim (camelCase, counters as strings). Results are paged at a fixed 10,000 rows; follow `paging.nextPageToken` with `pageToken`. `customerId` is only needed when the connection has several Google Ads accounts. Semantic validation is Google's: an invalid query returns a 400 carrying Google's message (note: selecting `segments.date` requires a finite date filter).
323
463
 
324
464
  ### Examples
325
465
 
@@ -333,9 +473,12 @@ Zernio.configure do |config|
333
473
  end
334
474
 
335
475
  api_instance = Zernio::AdInsightsApi.new
336
- account_id = 'account_id_example' # String | Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token.
337
- object_id = 'object_id_example' # String | Meta insights node: act_<n>, campaign id, ad set id or ad id.
476
+ account_id = 'account_id_example' # String | Zernio SocialAccount id (posting or ads variant); its platform selects the Meta or Google contract.
338
477
  opts = {
478
+ object_id: 'object_id_example', # String | Meta only (required there): insights node — act_<n>, campaign id, ad set id or ad id.
479
+ query: 'query_example', # String | Google only (required there): the GAQL SELECT statement to run.
480
+ customer_id: 'customer_id_example', # String | Google only: numeric customer id (no dashes) when the connection has several Google Ads accounts.
481
+ page_token: 'page_token_example', # String | Google only: cursor from paging.nextPageToken of the previous page.
339
482
  level: 'ad', # String | Row granularity
340
483
  fields: 'fields_example', # String | Comma-separated Graph insights fields (e.g. spend,impressions,frequency,website_purchase_roas). Omitted = Meta's default set.
341
484
  breakdowns: 'breakdowns_example', # String | Comma-separated Graph breakdowns (e.g. age,gender or publisher_platform).
@@ -354,7 +497,7 @@ opts = {
354
497
 
355
498
  begin
356
499
  # Flexible live insights query
357
- result = api_instance.query_ad_insights(account_id, object_id, opts)
500
+ result = api_instance.query_ad_insights(account_id, opts)
358
501
  p result
359
502
  rescue Zernio::ApiError => e
360
503
  puts "Error when calling AdInsightsApi->query_ad_insights: #{e}"
@@ -365,12 +508,12 @@ end
365
508
 
366
509
  This returns an Array which contains the response data, status code and headers.
367
510
 
368
- > <Array(<QueryAdInsights200Response>, Integer, Hash)> query_ad_insights_with_http_info(account_id, object_id, opts)
511
+ > <Array(<QueryAdInsights200Response>, Integer, Hash)> query_ad_insights_with_http_info(account_id, opts)
369
512
 
370
513
  ```ruby
371
514
  begin
372
515
  # Flexible live insights query
373
- data, status_code, headers = api_instance.query_ad_insights_with_http_info(account_id, object_id, opts)
516
+ data, status_code, headers = api_instance.query_ad_insights_with_http_info(account_id, opts)
374
517
  p status_code # => 2xx
375
518
  p headers # => { ... }
376
519
  p data # => <QueryAdInsights200Response>
@@ -383,8 +526,11 @@ end
383
526
 
384
527
  | Name | Type | Description | Notes |
385
528
  | ---- | ---- | ----------- | ----- |
386
- | **account_id** | **String** | Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token. | |
387
- | **object_id** | **String** | Meta insights node: act_&lt;n&gt;, campaign id, ad set id or ad id. | |
529
+ | **account_id** | **String** | Zernio SocialAccount id (posting or ads variant); its platform selects the Meta or Google contract. | |
530
+ | **object_id** | **String** | Meta only (required there): insights node act_&lt;n&gt;, campaign id, ad set id or ad id. | [optional] |
531
+ | **query** | **String** | Google only (required there): the GAQL SELECT statement to run. | [optional] |
532
+ | **customer_id** | **String** | Google only: numeric customer id (no dashes) when the connection has several Google Ads accounts. | [optional] |
533
+ | **page_token** | **String** | Google only: cursor from paging.nextPageToken of the previous page. | [optional] |
388
534
  | **level** | **String** | Row granularity | [optional] |
389
535
  | **fields** | **String** | Comma-separated Graph insights fields (e.g. spend,impressions,frequency,website_purchase_roas). Omitted &#x3D; Meta&#39;s default set. | [optional] |
390
536
  | **breakdowns** | **String** | Comma-separated Graph breakdowns (e.g. age,gender or publisher_platform). | [optional] |
@@ -0,0 +1,22 @@
1
+ # Zernio::GenerateKeywordHistoricalMetrics200Response
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **customer_id** | **String** | The customer the request ran against. | [optional] |
8
+ | **data** | **Array&lt;Object&gt;** | | [optional] |
9
+ | **aggregate_metric_results** | **Object** | | [optional] |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'zernio-sdk'
15
+
16
+ instance = Zernio::GenerateKeywordHistoricalMetrics200Response.new(
17
+ customer_id: null,
18
+ data: null,
19
+ aggregate_metric_results: null
20
+ )
21
+ ```
22
+
@@ -0,0 +1,32 @@
1
+ # Zernio::GenerateKeywordHistoricalMetricsRequest
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **account_id** | **String** | Zernio googleads SocialAccount id. | |
8
+ | **customer_id** | **String** | Numeric Google Ads customer id (no dashes); only needed when the connection has several accounts. | [optional] |
9
+ | **keywords** | **Array&lt;String&gt;** | | |
10
+ | **countries** | **Array&lt;String&gt;** | ISO 3166-1 alpha-2 country codes. Omitted &#x3D; worldwide. | [optional] |
11
+ | **language_constant_id** | **String** | Google languageConstant id (1000 &#x3D; English). | [optional][default to &#39;1000&#39;] |
12
+ | **network** | **String** | | [optional][default to &#39;GOOGLE_SEARCH&#39;] |
13
+ | **include_adult_keywords** | **Boolean** | | [optional] |
14
+ | **include_average_cpc** | **Boolean** | Adds averageCpcMicros to each row&#39;s keywordMetrics. | [optional] |
15
+
16
+ ## Example
17
+
18
+ ```ruby
19
+ require 'zernio-sdk'
20
+
21
+ instance = Zernio::GenerateKeywordHistoricalMetricsRequest.new(
22
+ account_id: null,
23
+ customer_id: null,
24
+ keywords: null,
25
+ countries: null,
26
+ language_constant_id: null,
27
+ network: null,
28
+ include_adult_keywords: null,
29
+ include_average_cpc: null
30
+ )
31
+ ```
32
+
@@ -0,0 +1,24 @@
1
+ # Zernio::GenerateKeywordIdeas200Response
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **customer_id** | **String** | The customer the request ran against. | [optional] |
8
+ | **data** | **Array&lt;Object&gt;** | | [optional] |
9
+ | **aggregate_metric_results** | **Object** | | [optional] |
10
+ | **paging** | [**GenerateKeywordIdeas200ResponsePaging**](GenerateKeywordIdeas200ResponsePaging.md) | | [optional] |
11
+
12
+ ## Example
13
+
14
+ ```ruby
15
+ require 'zernio-sdk'
16
+
17
+ instance = Zernio::GenerateKeywordIdeas200Response.new(
18
+ customer_id: null,
19
+ data: null,
20
+ aggregate_metric_results: null,
21
+ paging: null
22
+ )
23
+ ```
24
+
@@ -0,0 +1,18 @@
1
+ # Zernio::GenerateKeywordIdeas200ResponsePaging
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **next_page_token** | **String** | Cursor for the next page; null when exhausted. | [optional] |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'zernio-sdk'
13
+
14
+ instance = Zernio::GenerateKeywordIdeas200ResponsePaging.new(
15
+ next_page_token: null
16
+ )
17
+ ```
18
+
@@ -0,0 +1,36 @@
1
+ # Zernio::GenerateKeywordIdeasRequest
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **account_id** | **String** | Zernio googleads SocialAccount id. | |
8
+ | **customer_id** | **String** | Numeric Google Ads customer id (no dashes); only needed when the connection has several accounts. | [optional] |
9
+ | **seed_keywords** | **Array&lt;String&gt;** | Seed terms. Provide these, seedUrl, or both. | [optional] |
10
+ | **seed_url** | **String** | Landing page to mine for ideas. Provide this, seedKeywords, or both. | [optional] |
11
+ | **countries** | **Array&lt;String&gt;** | ISO 3166-1 alpha-2 country codes. Omitted &#x3D; worldwide. | [optional] |
12
+ | **language_constant_id** | **String** | Google languageConstant id (1000 &#x3D; English). | [optional][default to &#39;1000&#39;] |
13
+ | **network** | **String** | | [optional][default to &#39;GOOGLE_SEARCH&#39;] |
14
+ | **include_adult_keywords** | **Boolean** | | [optional] |
15
+ | **page_size** | **Integer** | | [optional] |
16
+ | **page_token** | **String** | Cursor from paging.nextPageToken of the previous page. | [optional] |
17
+
18
+ ## Example
19
+
20
+ ```ruby
21
+ require 'zernio-sdk'
22
+
23
+ instance = Zernio::GenerateKeywordIdeasRequest.new(
24
+ account_id: null,
25
+ customer_id: null,
26
+ seed_keywords: null,
27
+ seed_url: null,
28
+ countries: null,
29
+ language_constant_id: null,
30
+ network: null,
31
+ include_adult_keywords: null,
32
+ page_size: null,
33
+ page_token: null
34
+ )
35
+ ```
36
+
@@ -6,7 +6,7 @@
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **ad_account_id** | **String** | | [optional] |
8
8
  | **data** | **Array&lt;Object&gt;** | | [optional] |
9
- | **paging** | [**QueryAdInsights200ResponsePaging**](QueryAdInsights200ResponsePaging.md) | | [optional] |
9
+ | **paging** | [**GetAdsActivityLog200ResponsePaging**](GetAdsActivityLog200ResponsePaging.md) | | [optional] |
10
10
 
11
11
  ## Example
12
12
 
@@ -0,0 +1,18 @@
1
+ # Zernio::GetAdsActivityLog200ResponsePaging
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **after** | **String** | Cursor for the next page; null when exhausted. | [optional] |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'zernio-sdk'
13
+
14
+ instance = Zernio::GetAdsActivityLog200ResponsePaging.new(
15
+ after: null
16
+ )
17
+ ```
18
+
@@ -6,7 +6,7 @@
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **ad_account_id** | **String** | | [optional] |
8
8
  | **data** | **Array&lt;Object&gt;** | | [optional] |
9
- | **paging** | [**QueryAdInsights200ResponsePaging**](QueryAdInsights200ResponsePaging.md) | | [optional] |
9
+ | **paging** | [**GetAdsActivityLog200ResponsePaging**](GetAdsActivityLog200ResponsePaging.md) | | [optional] |
10
10
 
11
11
  ## Example
12
12
 
@@ -6,7 +6,7 @@
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **ad_account_id** | **String** | | [optional] |
8
8
  | **data** | **Array&lt;Object&gt;** | | [optional] |
9
- | **paging** | [**QueryAdInsights200ResponsePaging**](QueryAdInsights200ResponsePaging.md) | | [optional] |
9
+ | **paging** | [**GetAdsActivityLog200ResponsePaging**](GetAdsActivityLog200ResponsePaging.md) | | [optional] |
10
10
 
11
11
  ## Example
12
12
 
@@ -6,7 +6,7 @@
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **ad_account_id** | **String** | | [optional] |
8
8
  | **data** | **Array&lt;Object&gt;** | | [optional] |
9
- | **paging** | [**QueryAdInsights200ResponsePaging**](QueryAdInsights200ResponsePaging.md) | | [optional] |
9
+ | **paging** | [**GetAdsActivityLog200ResponsePaging**](GetAdsActivityLog200ResponsePaging.md) | | [optional] |
10
10
 
11
11
  ## Example
12
12
 
@@ -6,7 +6,7 @@
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **ad_account_id** | **String** | | [optional] |
8
8
  | **data** | **Array&lt;Object&gt;** | | [optional] |
9
- | **paging** | [**QueryAdInsights200ResponsePaging**](QueryAdInsights200ResponsePaging.md) | | [optional] |
9
+ | **paging** | [**GetAdsActivityLog200ResponsePaging**](GetAdsActivityLog200ResponsePaging.md) | | [optional] |
10
10
 
11
11
  ## Example
12
12
 
@@ -6,7 +6,7 @@
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **object_id** | **String** | The campaign / ad set id the schedules belong to. | [optional] |
8
8
  | **data** | **Array&lt;Object&gt;** | | [optional] |
9
- | **paging** | [**QueryAdInsights200ResponsePaging**](QueryAdInsights200ResponsePaging.md) | | [optional] |
9
+ | **paging** | [**GetAdsActivityLog200ResponsePaging**](GetAdsActivityLog200ResponsePaging.md) | | [optional] |
10
10
 
11
11
  ## Example
12
12
 
@@ -5,7 +5,7 @@
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **data** | **Array&lt;Object&gt;** | | [optional] |
8
- | **paging** | [**QueryAdInsights200ResponsePaging**](QueryAdInsights200ResponsePaging.md) | | [optional] |
8
+ | **paging** | [**GetAdsActivityLog200ResponsePaging**](GetAdsActivityLog200ResponsePaging.md) | | [optional] |
9
9
 
10
10
  ## Example
11
11
 
@@ -4,7 +4,9 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **object_id** | **String** | | [optional] |
7
+ | **object_id** | **String** | Meta responses only. | [optional] |
8
+ | **customer_id** | **String** | Google responses only: the customer the query ran against. | [optional] |
9
+ | **field_mask** | **String** | Google responses only: the selected fields echoed by Google. | [optional] |
8
10
  | **data** | **Array&lt;Object&gt;** | | [optional] |
9
11
  | **paging** | [**QueryAdInsights200ResponsePaging**](QueryAdInsights200ResponsePaging.md) | | [optional] |
10
12
 
@@ -15,6 +17,8 @@ require 'zernio-sdk'
15
17
 
16
18
  instance = Zernio::QueryAdInsights200Response.new(
17
19
  object_id: null,
20
+ customer_id: null,
21
+ field_mask: null,
18
22
  data: null,
19
23
  paging: null
20
24
  )
@@ -4,7 +4,8 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **after** | **String** | Cursor for the next page; null when exhausted. | [optional] |
7
+ | **after** | **String** | Meta cursor for the next page; null when exhausted. | [optional] |
8
+ | **next_page_token** | **String** | Google cursor for the next page; null when exhausted. | [optional] |
8
9
 
9
10
  ## Example
10
11
 
@@ -12,7 +13,8 @@
12
13
  require 'zernio-sdk'
13
14
 
14
15
  instance = Zernio::QueryAdInsights200ResponsePaging.new(
15
- after: null
16
+ after: null,
17
+ next_page_token: null
16
18
  )
17
19
  ```
18
20
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **reply_to_tweet_id** | **String** | ID of an existing tweet to reply to. The published tweet will appear as a reply in that tweet&#39;s thread. For threads, only the first tweet replies to the target; subsequent tweets chain normally. | [optional] |
7
+ | **reply_to_tweet_id** | **String** | ID of an existing tweet to reply to. The published tweet will appear as a reply in that tweet&#39;s thread. For threads, only the first tweet replies to the target; subsequent tweets chain normally. X only permits replying to your own posts or posts you are mentioned in; replying to an arbitrary other account&#39;s post is rejected by X. | [optional] |
8
8
  | **quote_tweet_id** | **String** | ID (or full status URL) of an existing tweet to quote-repost. The published tweet becomes a quote tweet of the target. Mutually exclusive with media and poll. X only permits quoting your own posts or posts you are mentioned in / part of the conversation thread of; quoting an arbitrary other account&#39;s post is rejected by X. Billed at the standard create rate ($0.015), unlike pasting a tweet URL into the text which is billed at the URL rate ($0.20). For threads, applies to the first tweet only. | [optional] |
9
9
  | **reply_settings** | **String** | Controls who can reply to the tweet. \&quot;following\&quot; allows only people you follow, \&quot;mentionedUsers\&quot; allows only mentioned users, \&quot;subscribers\&quot; allows only subscribers, \&quot;verified\&quot; allows only verified users. Omit for default (everyone can reply). For threads, applies to the first tweet only. Cannot be combined with replyToTweetId. | [optional] |
10
10
  | **thread_items** | [**Array&lt;TwitterPlatformDataThreadItemsInner&gt;**](TwitterPlatformDataThreadItemsInner.md) | Complete sequence of tweets in a thread. The first item becomes the root tweet, subsequent items are chained as replies. When threadItems is provided, the top-level content field is used only for display and search purposes, it is NOT published. You must include your first tweet as threadItems[0]. | [optional] |