late-sdk 0.0.949 → 0.0.951

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 (49) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +11 -0
  3. data/docs/AdCampaignsApi.md +154 -0
  4. data/docs/AdKeyword.md +3 -1
  5. data/docs/AdKeywordQuality.md +24 -0
  6. data/docs/AdScheduleWindow.md +32 -0
  7. data/docs/GetCampaignAdSchedule200Response.md +28 -0
  8. data/docs/GetCampaignAdSchedule200ResponsePerformance.md +22 -0
  9. data/docs/GetCampaignAdSchedule200ResponsePerformanceByDayOfWeekInner.md +26 -0
  10. data/docs/GetCampaignAdSchedule200ResponsePerformanceByHourInner.md +26 -0
  11. data/docs/ListTikTokCommercialMusic200ResponseTracksInner.md +3 -1
  12. data/docs/ListTikTokCommercialMusic200ResponseTracksInnerClip.md +2 -0
  13. data/docs/TikTokPlatformDataMusicSoundInfo.md +1 -1
  14. data/docs/UpdateCampaignAdSchedule200Response.md +22 -0
  15. data/docs/UpdateCampaignAdScheduleRequest.md +18 -0
  16. data/docs/UpdateCampaignAdScheduleRequestScheduleInner.md +28 -0
  17. data/lib/zernio-sdk/api/ad_campaigns_api.rb +164 -0
  18. data/lib/zernio-sdk/models/ad_keyword.rb +11 -2
  19. data/lib/zernio-sdk/models/ad_keyword_quality.rb +241 -0
  20. data/lib/zernio-sdk/models/ad_schedule_window.rb +329 -0
  21. data/lib/zernio-sdk/models/get_campaign_ad_schedule200_response.rb +197 -0
  22. data/lib/zernio-sdk/models/get_campaign_ad_schedule200_response_performance.rb +174 -0
  23. data/lib/zernio-sdk/models/get_campaign_ad_schedule200_response_performance_by_day_of_week_inner.rb +218 -0
  24. data/lib/zernio-sdk/models/get_campaign_ad_schedule200_response_performance_by_hour_inner.rb +212 -0
  25. data/lib/zernio-sdk/models/list_tik_tok_commercial_music200_response_tracks_inner.rb +12 -2
  26. data/lib/zernio-sdk/models/list_tik_tok_commercial_music200_response_tracks_inner_clip.rb +11 -2
  27. data/lib/zernio-sdk/models/tik_tok_platform_data_music_sound_info.rb +1 -1
  28. data/lib/zernio-sdk/models/update_campaign_ad_schedule200_response.rb +167 -0
  29. data/lib/zernio-sdk/models/update_campaign_ad_schedule_request.rb +176 -0
  30. data/lib/zernio-sdk/models/update_campaign_ad_schedule_request_schedule_inner.rb +362 -0
  31. data/lib/zernio-sdk/version.rb +1 -1
  32. data/lib/zernio-sdk.rb +9 -0
  33. data/openapi.yaml +205 -4
  34. data/spec/api/ad_campaigns_api_spec.rb +30 -0
  35. data/spec/models/ad_keyword_quality_spec.rb +66 -0
  36. data/spec/models/ad_keyword_spec.rb +6 -0
  37. data/spec/models/ad_schedule_window_spec.rb +90 -0
  38. data/spec/models/get_campaign_ad_schedule200_response_performance_by_day_of_week_inner_spec.rb +64 -0
  39. data/spec/models/get_campaign_ad_schedule200_response_performance_by_hour_inner_spec.rb +60 -0
  40. data/spec/models/get_campaign_ad_schedule200_response_performance_spec.rb +48 -0
  41. data/spec/models/get_campaign_ad_schedule200_response_spec.rb +66 -0
  42. data/spec/models/list_tik_tok_commercial_music200_response_tracks_inner_clip_spec.rb +6 -0
  43. data/spec/models/list_tik_tok_commercial_music200_response_tracks_inner_spec.rb +6 -0
  44. data/spec/models/update_campaign_ad_schedule200_response_spec.rb +48 -0
  45. data/spec/models/update_campaign_ad_schedule_request_schedule_inner_spec.rb +78 -0
  46. data/spec/models/update_campaign_ad_schedule_request_spec.rb +36 -0
  47. data/zernio-sdk-0.0.951.gem +0 -0
  48. metadata +38 -2
  49. data/zernio-sdk-0.0.949.gem +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 91a4de41466e990fc5ecf98123adf7b0c45921c69cd66f026bb52888044a2761
4
- data.tar.gz: 22dcb29de2a581cb3b8e307b54e6becb0eefe58fc8c59b40683ca64538109b06
3
+ metadata.gz: c38482d68545143ff205c891ce5e6f1a6d824a6e83d1eb1fd10e65e62d7a9e98
4
+ data.tar.gz: be5e50f485a2d0eb88d5b91357758d192fab39270b263b982e99c98454d6d8b6
5
5
  SHA512:
6
- metadata.gz: da20c6abbbb7b62d6e8ac1858c15067d922527075f9fc5b8be2c7f29c8202650f39361eb6ffdfc9e3e70e02c8faf9975811043b1c91a80a76f184d3bf4ded643
7
- data.tar.gz: ea7ddf9c51ab904aadf6142f9226f3d4f3852a0b143e9cbcb309610152ba1adea90abb5b160c1bce410a85c00f0f02ebd6a32da7eee1b7042ec2eacb3469b44b
6
+ metadata.gz: 6df6ec89b065b420e1c11e634c5317377e6e7c1d9032ac13724f42b372bc93afd36a01e667d981eaf91cf03c654bc48c46d758a680f4081f623940b7b65f5d9f
7
+ data.tar.gz: 701448b7c9ac469dfb720ea00f8cb9a1b860dea2595136114d86c4dd3808d12a8adb88b5ac0b9aeb182d2f4d4fb4c7dbce01a49f09f980b7e0f969701689b511
data/README.md CHANGED
@@ -180,6 +180,7 @@ Class | Method | HTTP request | Description
180
180
  *Zernio::AdCampaignsApi* | [**get_ad_set_details**](docs/AdCampaignsApi.md#get_ad_set_details) | **GET** /v1/ads/ad-sets/{adSetId} | Get live ad-set details
181
181
  *Zernio::AdCampaignsApi* | [**get_ad_tree**](docs/AdCampaignsApi.md#get_ad_tree) | **GET** /v1/ads/tree | Get campaign tree
182
182
  *Zernio::AdCampaignsApi* | [**get_ads_timeline**](docs/AdCampaignsApi.md#get_ads_timeline) | **GET** /v1/ads/timeline | Get daily account metrics
183
+ *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)
183
184
  *Zernio::AdCampaignsApi* | [**get_campaign_bidding**](docs/AdCampaignsApi.md#get_campaign_bidding) | **GET** /v1/ads/campaigns/{campaignId}/bidding | Read a campaign's current bidding
184
185
  *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
185
186
  *Zernio::AdCampaignsApi* | [**list_ad_campaigns**](docs/AdCampaignsApi.md#list_ad_campaigns) | **GET** /v1/ads/campaigns | List campaigns
@@ -206,6 +207,7 @@ Class | Method | HTTP request | Description
206
207
  *Zernio::AdCampaignsApi* | [**update_ad_set_status**](docs/AdCampaignsApi.md#update_ad_set_status) | **PUT** /v1/ads/ad-sets/{adSetId}/status | Pause or resume a single ad set
207
208
  *Zernio::AdCampaignsApi* | [**update_ad_status**](docs/AdCampaignsApi.md#update_ad_status) | **PUT** /v1/ads/{adId}/status | Pause or resume a single ad
208
209
  *Zernio::AdCampaignsApi* | [**update_bid_strategy**](docs/AdCampaignsApi.md#update_bid_strategy) | **PATCH** /v1/ads/bid-strategies/{strategyId} | Update portfolio bid strategy
210
+ *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)
209
211
  *Zernio::AdCampaignsApi* | [**update_campaign_assets**](docs/AdCampaignsApi.md#update_campaign_assets) | **PUT** /v1/ads/campaigns/{campaignId}/assets | Update campaign assets
210
212
  *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
211
213
  *Zernio::AdCreativesApi* | [**create_ad_creative**](docs/AdCreativesApi.md#create_ad_creative) | **POST** /v1/ads/creatives | Create a standalone creative
@@ -823,12 +825,14 @@ Class | Method | HTTP request | Description
823
825
  - [Zernio::AdFunnelCounts](docs/AdFunnelCounts.md)
824
826
  - [Zernio::AdKeyword](docs/AdKeyword.md)
825
827
  - [Zernio::AdKeywordMetrics](docs/AdKeywordMetrics.md)
828
+ - [Zernio::AdKeywordQuality](docs/AdKeywordQuality.md)
826
829
  - [Zernio::AdMetrics](docs/AdMetrics.md)
827
830
  - [Zernio::AdNegativeKeywordList](docs/AdNegativeKeywordList.md)
828
831
  - [Zernio::AdNegativeKeywordListKeyword](docs/AdNegativeKeywordListKeyword.md)
829
832
  - [Zernio::AdPromotedObject](docs/AdPromotedObject.md)
830
833
  - [Zernio::AdReviewStatus](docs/AdReviewStatus.md)
831
834
  - [Zernio::AdSchedule](docs/AdSchedule.md)
835
+ - [Zernio::AdScheduleWindow](docs/AdScheduleWindow.md)
832
836
  - [Zernio::AdStatus](docs/AdStatus.md)
833
837
  - [Zernio::AdTracking](docs/AdTracking.md)
834
838
  - [Zernio::AdTreeAdSet](docs/AdTreeAdSet.md)
@@ -1424,6 +1428,10 @@ Class | Method | HTTP request | Description
1424
1428
  - [Zernio::GetCallsUsage200Response](docs/GetCallsUsage200Response.md)
1425
1429
  - [Zernio::GetCallsUsage200ResponseGroupsInner](docs/GetCallsUsage200ResponseGroupsInner.md)
1426
1430
  - [Zernio::GetCallsUsage200ResponseTotals](docs/GetCallsUsage200ResponseTotals.md)
1431
+ - [Zernio::GetCampaignAdSchedule200Response](docs/GetCampaignAdSchedule200Response.md)
1432
+ - [Zernio::GetCampaignAdSchedule200ResponsePerformance](docs/GetCampaignAdSchedule200ResponsePerformance.md)
1433
+ - [Zernio::GetCampaignAdSchedule200ResponsePerformanceByDayOfWeekInner](docs/GetCampaignAdSchedule200ResponsePerformanceByDayOfWeekInner.md)
1434
+ - [Zernio::GetCampaignAdSchedule200ResponsePerformanceByHourInner](docs/GetCampaignAdSchedule200ResponsePerformanceByHourInner.md)
1427
1435
  - [Zernio::GetCampaignAnalytics202Response](docs/GetCampaignAnalytics202Response.md)
1428
1436
  - [Zernio::GetCampaignBidding200Response](docs/GetCampaignBidding200Response.md)
1429
1437
  - [Zernio::GetCampaignTargeting200Response](docs/GetCampaignTargeting200Response.md)
@@ -2508,6 +2516,9 @@ Class | Method | HTTP request | Description
2508
2516
  - [Zernio::UpdateBusinessAgentSettingsRequestFollowup](docs/UpdateBusinessAgentSettingsRequestFollowup.md)
2509
2517
  - [Zernio::UpdateBusinessAgentSettingsRequestHandoff](docs/UpdateBusinessAgentSettingsRequestHandoff.md)
2510
2518
  - [Zernio::UpdateBusinessAgentSettingsRequestRollout](docs/UpdateBusinessAgentSettingsRequestRollout.md)
2519
+ - [Zernio::UpdateCampaignAdSchedule200Response](docs/UpdateCampaignAdSchedule200Response.md)
2520
+ - [Zernio::UpdateCampaignAdScheduleRequest](docs/UpdateCampaignAdScheduleRequest.md)
2521
+ - [Zernio::UpdateCampaignAdScheduleRequestScheduleInner](docs/UpdateCampaignAdScheduleRequestScheduleInner.md)
2511
2522
  - [Zernio::UpdateCampaignAssets200Response](docs/UpdateCampaignAssets200Response.md)
2512
2523
  - [Zernio::UpdateCampaignAssetsRequest](docs/UpdateCampaignAssetsRequest.md)
2513
2524
  - [Zernio::UpdateCampaignTargeting200Response](docs/UpdateCampaignTargeting200Response.md)
@@ -24,6 +24,7 @@ All URIs are relative to *https://zernio.com/api*
24
24
  | [**get_ad_set_details**](AdCampaignsApi.md#get_ad_set_details) | **GET** /v1/ads/ad-sets/{adSetId} | Get live ad-set details |
25
25
  | [**get_ad_tree**](AdCampaignsApi.md#get_ad_tree) | **GET** /v1/ads/tree | Get campaign tree |
26
26
  | [**get_ads_timeline**](AdCampaignsApi.md#get_ads_timeline) | **GET** /v1/ads/timeline | Get daily account metrics |
27
+ | [**get_campaign_ad_schedule**](AdCampaignsApi.md#get_campaign_ad_schedule) | **GET** /v1/ads/campaigns/{campaignId}/ad-schedule | Read a campaign's ad schedule (dayparting) |
27
28
  | [**get_campaign_bidding**](AdCampaignsApi.md#get_campaign_bidding) | **GET** /v1/ads/campaigns/{campaignId}/bidding | Read a campaign's current bidding |
28
29
  | [**get_campaign_targeting**](AdCampaignsApi.md#get_campaign_targeting) | **GET** /v1/ads/campaigns/{campaignId}/targeting | Read a Google campaign's device, location, and language targeting |
29
30
  | [**list_ad_campaigns**](AdCampaignsApi.md#list_ad_campaigns) | **GET** /v1/ads/campaigns | List campaigns |
@@ -50,6 +51,7 @@ All URIs are relative to *https://zernio.com/api*
50
51
  | [**update_ad_set_status**](AdCampaignsApi.md#update_ad_set_status) | **PUT** /v1/ads/ad-sets/{adSetId}/status | Pause or resume a single ad set |
51
52
  | [**update_ad_status**](AdCampaignsApi.md#update_ad_status) | **PUT** /v1/ads/{adId}/status | Pause or resume a single ad |
52
53
  | [**update_bid_strategy**](AdCampaignsApi.md#update_bid_strategy) | **PATCH** /v1/ads/bid-strategies/{strategyId} | Update portfolio bid strategy |
54
+ | [**update_campaign_ad_schedule**](AdCampaignsApi.md#update_campaign_ad_schedule) | **PUT** /v1/ads/campaigns/{campaignId}/ad-schedule | Replace a campaign's ad schedule (dayparting) |
53
55
  | [**update_campaign_assets**](AdCampaignsApi.md#update_campaign_assets) | **PUT** /v1/ads/campaigns/{campaignId}/assets | Update campaign assets |
54
56
  | [**update_campaign_targeting**](AdCampaignsApi.md#update_campaign_targeting) | **PUT** /v1/ads/campaigns/{campaignId}/targeting | Edit a Google campaign's device, location, or language targeting |
55
57
 
@@ -1530,6 +1532,87 @@ end
1530
1532
  - **Accept**: application/json
1531
1533
 
1532
1534
 
1535
+ ## get_campaign_ad_schedule
1536
+
1537
+ > <GetCampaignAdSchedule200Response> get_campaign_ad_schedule(campaign_id, opts)
1538
+
1539
+ Read a campaign's ad schedule (dayparting)
1540
+
1541
+ The windows a Google campaign serves in, with the bid modifier on each, plus the criterion ids Google minted for them. An EMPTY `schedule` is meaningful and is not a failed lookup: Google has no \"all day\" criterion, so a campaign with no ad schedule serves around the clock. `servesAroundTheClock` states that explicitly. Set `includePerformance=true` to also get delivery split by day of week and by hour, which is the evidence for deciding what the schedule should be. It is one extra Google call segmented by both dimensions at once, so the two views always agree. Google Ads only. The response carries `cachedAt` and `stale`, set when a quota-exhausted call falls back to the last-good copy instead of a live read.
1542
+
1543
+ ### Examples
1544
+
1545
+ ```ruby
1546
+ require 'time'
1547
+ require 'zernio-sdk'
1548
+ # setup authorization
1549
+ Zernio.configure do |config|
1550
+ # Configure Bearer authorization (JWT): bearerAuth
1551
+ config.access_token = 'YOUR_BEARER_TOKEN'
1552
+ end
1553
+
1554
+ api_instance = Zernio::AdCampaignsApi.new
1555
+ campaign_id = 'campaign_id_example' # String | Numeric Google platform campaign id.
1556
+ opts = {
1557
+ platform: 'google', # String | Disambiguates the campaign id when the connection spans platforms.
1558
+ include_performance: true, # Boolean | Also return delivery by day of week and by hour. Costs one extra Google call.
1559
+ window_days: 56, # Integer | Trailing window for the performance split. Ignored when fromDate and toDate are both given.
1560
+ from_date: Date.parse('2013-10-20'), # Date | Start of an explicit performance range (YYYY-MM-DD). Use together with toDate.
1561
+ to_date: Date.parse('2013-10-20') # Date | End of an explicit performance range (YYYY-MM-DD). Must be on or after fromDate.
1562
+ }
1563
+
1564
+ begin
1565
+ # Read a campaign's ad schedule (dayparting)
1566
+ result = api_instance.get_campaign_ad_schedule(campaign_id, opts)
1567
+ p result
1568
+ rescue Zernio::ApiError => e
1569
+ puts "Error when calling AdCampaignsApi->get_campaign_ad_schedule: #{e}"
1570
+ end
1571
+ ```
1572
+
1573
+ #### Using the get_campaign_ad_schedule_with_http_info variant
1574
+
1575
+ This returns an Array which contains the response data, status code and headers.
1576
+
1577
+ > <Array(<GetCampaignAdSchedule200Response>, Integer, Hash)> get_campaign_ad_schedule_with_http_info(campaign_id, opts)
1578
+
1579
+ ```ruby
1580
+ begin
1581
+ # Read a campaign's ad schedule (dayparting)
1582
+ data, status_code, headers = api_instance.get_campaign_ad_schedule_with_http_info(campaign_id, opts)
1583
+ p status_code # => 2xx
1584
+ p headers # => { ... }
1585
+ p data # => <GetCampaignAdSchedule200Response>
1586
+ rescue Zernio::ApiError => e
1587
+ puts "Error when calling AdCampaignsApi->get_campaign_ad_schedule_with_http_info: #{e}"
1588
+ end
1589
+ ```
1590
+
1591
+ ### Parameters
1592
+
1593
+ | Name | Type | Description | Notes |
1594
+ | ---- | ---- | ----------- | ----- |
1595
+ | **campaign_id** | **String** | Numeric Google platform campaign id. | |
1596
+ | **platform** | **String** | Disambiguates the campaign id when the connection spans platforms. | [optional] |
1597
+ | **include_performance** | **Boolean** | Also return delivery by day of week and by hour. Costs one extra Google call. | [optional] |
1598
+ | **window_days** | **Integer** | Trailing window for the performance split. Ignored when fromDate and toDate are both given. | [optional][default to 30] |
1599
+ | **from_date** | **Date** | Start of an explicit performance range (YYYY-MM-DD). Use together with toDate. | [optional] |
1600
+ | **to_date** | **Date** | End of an explicit performance range (YYYY-MM-DD). Must be on or after fromDate. | [optional] |
1601
+
1602
+ ### Return type
1603
+
1604
+ [**GetCampaignAdSchedule200Response**](GetCampaignAdSchedule200Response.md)
1605
+
1606
+ ### Authorization
1607
+
1608
+ [bearerAuth](../README.md#bearerAuth)
1609
+
1610
+ ### HTTP request headers
1611
+
1612
+ - **Content-Type**: Not defined
1613
+ - **Accept**: application/json
1614
+
1615
+
1533
1616
  ## get_campaign_bidding
1534
1617
 
1535
1618
  > <GetCampaignBidding200Response> get_campaign_bidding(campaign_id, account_id, platform, opts)
@@ -3478,6 +3561,77 @@ end
3478
3561
  - **Accept**: application/json
3479
3562
 
3480
3563
 
3564
+ ## update_campaign_ad_schedule
3565
+
3566
+ > <UpdateCampaignAdSchedule200Response> update_campaign_ad_schedule(campaign_id, update_campaign_ad_schedule_request)
3567
+
3568
+ Replace a campaign's ad schedule (dayparting)
3569
+
3570
+ Replaces the campaign's whole ad schedule with the windows you send. This is a REPLACE, not a merge: windows you leave out stop serving. Send `schedule: []` to clear dayparting, which returns the campaign to serving around the clock. Google rules enforced here, so you get a named field instead of a criterion error: at most 6 windows per day, a window must end after it starts, windows on the same day may not overlap, `endHour` 24 is midnight and cannot carry minutes, and minutes are quarter-hours only (0, 15, 30, 45). `bidModifier` is 0.1-10.0; Google's 0 means \"off\" for devices only, so a window is switched off by leaving it out. Windows are half-open (Google is exclusive of the end minute), so 09:00-12:00 and 12:00-17:00 on the same day are adjacent and both valid. Google cannot edit an ad schedule in place (every AdScheduleInfo field is prohibited on update), so this removes the live criteria and creates the new ones in a single atomic mutate. The response is read back from Google and carries the new criterion ids.
3571
+
3572
+ ### Examples
3573
+
3574
+ ```ruby
3575
+ require 'time'
3576
+ require 'zernio-sdk'
3577
+ # setup authorization
3578
+ Zernio.configure do |config|
3579
+ # Configure Bearer authorization (JWT): bearerAuth
3580
+ config.access_token = 'YOUR_BEARER_TOKEN'
3581
+ end
3582
+
3583
+ api_instance = Zernio::AdCampaignsApi.new
3584
+ campaign_id = 'campaign_id_example' # String | Numeric Google platform campaign id.
3585
+ update_campaign_ad_schedule_request = Zernio::UpdateCampaignAdScheduleRequest.new({schedule: [Zernio::UpdateCampaignAdScheduleRequestScheduleInner.new({day_of_week: 'MONDAY', start_hour: 37, end_hour: 37})]}) # UpdateCampaignAdScheduleRequest |
3586
+
3587
+ begin
3588
+ # Replace a campaign's ad schedule (dayparting)
3589
+ result = api_instance.update_campaign_ad_schedule(campaign_id, update_campaign_ad_schedule_request)
3590
+ p result
3591
+ rescue Zernio::ApiError => e
3592
+ puts "Error when calling AdCampaignsApi->update_campaign_ad_schedule: #{e}"
3593
+ end
3594
+ ```
3595
+
3596
+ #### Using the update_campaign_ad_schedule_with_http_info variant
3597
+
3598
+ This returns an Array which contains the response data, status code and headers.
3599
+
3600
+ > <Array(<UpdateCampaignAdSchedule200Response>, Integer, Hash)> update_campaign_ad_schedule_with_http_info(campaign_id, update_campaign_ad_schedule_request)
3601
+
3602
+ ```ruby
3603
+ begin
3604
+ # Replace a campaign's ad schedule (dayparting)
3605
+ data, status_code, headers = api_instance.update_campaign_ad_schedule_with_http_info(campaign_id, update_campaign_ad_schedule_request)
3606
+ p status_code # => 2xx
3607
+ p headers # => { ... }
3608
+ p data # => <UpdateCampaignAdSchedule200Response>
3609
+ rescue Zernio::ApiError => e
3610
+ puts "Error when calling AdCampaignsApi->update_campaign_ad_schedule_with_http_info: #{e}"
3611
+ end
3612
+ ```
3613
+
3614
+ ### Parameters
3615
+
3616
+ | Name | Type | Description | Notes |
3617
+ | ---- | ---- | ----------- | ----- |
3618
+ | **campaign_id** | **String** | Numeric Google platform campaign id. | |
3619
+ | **update_campaign_ad_schedule_request** | [**UpdateCampaignAdScheduleRequest**](UpdateCampaignAdScheduleRequest.md) | | |
3620
+
3621
+ ### Return type
3622
+
3623
+ [**UpdateCampaignAdSchedule200Response**](UpdateCampaignAdSchedule200Response.md)
3624
+
3625
+ ### Authorization
3626
+
3627
+ [bearerAuth](../README.md#bearerAuth)
3628
+
3629
+ ### HTTP request headers
3630
+
3631
+ - **Content-Type**: application/json
3632
+ - **Accept**: application/json
3633
+
3634
+
3481
3635
  ## update_campaign_assets
3482
3636
 
3483
3637
  > <UpdateCampaignAssets200Response> update_campaign_assets(campaign_id, update_campaign_assets_request)
data/docs/AdKeyword.md CHANGED
@@ -19,7 +19,8 @@
19
19
  | **match_type** | **String** | | [optional] |
20
20
  | **status** | **String** | | [optional] |
21
21
  | **negative** | **Boolean** | | [optional] |
22
- | **quality_score** | **Integer** | Google Quality Score, 1-10. Null when unrated. | [optional] |
22
+ | **quality_score** | **Integer** | Deprecated, use &#x60;quality.score&#x60;. Google Quality Score, 1-10. Null when unrated. | [optional] |
23
+ | **quality** | [**AdKeywordQuality**](AdKeywordQuality.md) | | [optional] |
23
24
  | **synced_at** | **Time** | | [optional] |
24
25
  | **metrics** | [**AdKeywordMetrics**](AdKeywordMetrics.md) | | [optional] |
25
26
 
@@ -45,6 +46,7 @@ instance = Zernio::AdKeyword.new(
45
46
  status: null,
46
47
  negative: null,
47
48
  quality_score: null,
49
+ quality: null,
48
50
  synced_at: null,
49
51
  metrics: null
50
52
  )
@@ -0,0 +1,24 @@
1
+ # Zernio::AdKeywordQuality
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **score** | **Integer** | Quality Score, 1-10. | [optional] |
8
+ | **expected_ctr** | **String** | How the click-through rate compares with other ads in the same position (&#x60;search_predicted_ctr&#x60;). | [optional] |
9
+ | **ad_relevance** | **String** | How closely the ad matches the intent behind the search (&#x60;creative_quality_score&#x60;). | [optional] |
10
+ | **landing_page_experience** | **String** | How relevant and useful the landing page is to people who click (&#x60;post_click_quality_score&#x60;). | [optional] |
11
+
12
+ ## Example
13
+
14
+ ```ruby
15
+ require 'zernio-sdk'
16
+
17
+ instance = Zernio::AdKeywordQuality.new(
18
+ score: null,
19
+ expected_ctr: null,
20
+ ad_relevance: null,
21
+ landing_page_experience: null
22
+ )
23
+ ```
24
+
@@ -0,0 +1,32 @@
1
+ # Zernio::AdScheduleWindow
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **criterion_id** | **String** | Google campaign criterion id. Changes whenever the window is rewritten, because Google cannot edit a schedule in place. | [optional] |
8
+ | **resource_name** | **String** | | [optional] |
9
+ | **day_of_week** | **String** | | [optional] |
10
+ | **start_hour** | **Integer** | | [optional] |
11
+ | **start_minute** | **Integer** | | [optional] |
12
+ | **end_hour** | **Integer** | 24 means midnight at the end of the day. | [optional] |
13
+ | **end_minute** | **Integer** | | [optional] |
14
+ | **bid_modifier** | **Float** | Bid adjustment for this window, 0.1-10.0. Null when the window runs at the campaign bid. | [optional] |
15
+
16
+ ## Example
17
+
18
+ ```ruby
19
+ require 'zernio-sdk'
20
+
21
+ instance = Zernio::AdScheduleWindow.new(
22
+ criterion_id: null,
23
+ resource_name: null,
24
+ day_of_week: null,
25
+ start_hour: null,
26
+ start_minute: null,
27
+ end_hour: null,
28
+ end_minute: null,
29
+ bid_modifier: null
30
+ )
31
+ ```
32
+
@@ -0,0 +1,28 @@
1
+ # Zernio::GetCampaignAdSchedule200Response
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **campaign_id** | **String** | | [optional] |
8
+ | **schedule** | [**Array&lt;AdScheduleWindow&gt;**](AdScheduleWindow.md) | | [optional] |
9
+ | **serves_around_the_clock** | **Boolean** | True when the campaign carries no ad schedule at all, so it can serve at any time. | [optional] |
10
+ | **cached_at** | **Time** | | [optional] |
11
+ | **stale** | **Boolean** | True when a quota-exhausted read served the last-good copy. | [optional] |
12
+ | **performance** | [**GetCampaignAdSchedule200ResponsePerformance**](GetCampaignAdSchedule200ResponsePerformance.md) | | [optional] |
13
+
14
+ ## Example
15
+
16
+ ```ruby
17
+ require 'zernio-sdk'
18
+
19
+ instance = Zernio::GetCampaignAdSchedule200Response.new(
20
+ campaign_id: null,
21
+ schedule: null,
22
+ serves_around_the_clock: null,
23
+ cached_at: null,
24
+ stale: null,
25
+ performance: null
26
+ )
27
+ ```
28
+
@@ -0,0 +1,22 @@
1
+ # Zernio::GetCampaignAdSchedule200ResponsePerformance
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **window_days** | **Integer** | The trailing window used, or null when an explicit fromDate/toDate range was given. | [optional] |
8
+ | **by_day_of_week** | [**Array&lt;GetCampaignAdSchedule200ResponsePerformanceByDayOfWeekInner&gt;**](GetCampaignAdSchedule200ResponsePerformanceByDayOfWeekInner.md) | One entry per day that delivered, Monday first. | [optional] |
9
+ | **by_hour** | [**Array&lt;GetCampaignAdSchedule200ResponsePerformanceByHourInner&gt;**](GetCampaignAdSchedule200ResponsePerformanceByHourInner.md) | One entry per hour that delivered, 0-23 in the account time zone. | [optional] |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'zernio-sdk'
15
+
16
+ instance = Zernio::GetCampaignAdSchedule200ResponsePerformance.new(
17
+ window_days: null,
18
+ by_day_of_week: null,
19
+ by_hour: null
20
+ )
21
+ ```
22
+
@@ -0,0 +1,26 @@
1
+ # Zernio::GetCampaignAdSchedule200ResponsePerformanceByDayOfWeekInner
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **day_of_week** | **String** | | [optional] |
8
+ | **impressions** | **Integer** | | [optional] |
9
+ | **clicks** | **Integer** | | [optional] |
10
+ | **cost** | **Float** | Account currency, not USD-normalized. | [optional] |
11
+ | **conversions** | **Float** | | [optional] |
12
+
13
+ ## Example
14
+
15
+ ```ruby
16
+ require 'zernio-sdk'
17
+
18
+ instance = Zernio::GetCampaignAdSchedule200ResponsePerformanceByDayOfWeekInner.new(
19
+ day_of_week: null,
20
+ impressions: null,
21
+ clicks: null,
22
+ cost: null,
23
+ conversions: null
24
+ )
25
+ ```
26
+
@@ -0,0 +1,26 @@
1
+ # Zernio::GetCampaignAdSchedule200ResponsePerformanceByHourInner
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **hour** | **Integer** | | [optional] |
8
+ | **impressions** | **Integer** | | [optional] |
9
+ | **clicks** | **Integer** | | [optional] |
10
+ | **cost** | **Float** | Account currency, not USD-normalized. | [optional] |
11
+ | **conversions** | **Float** | | [optional] |
12
+
13
+ ## Example
14
+
15
+ ```ruby
16
+ require 'zernio-sdk'
17
+
18
+ instance = Zernio::GetCampaignAdSchedule200ResponsePerformanceByHourInner.new(
19
+ hour: null,
20
+ impressions: null,
21
+ clicks: null,
22
+ cost: null,
23
+ conversions: null
24
+ )
25
+ ```
26
+
@@ -4,7 +4,8 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **id** | **String** | The commercial_music_id to send as musicSoundId | [optional] |
7
+ | **id** | **String** | The id to send as musicSoundId (the full track&#39;s song clip id). TikTok rejects the commercial music id itself at publish time. | [optional] |
8
+ | **commercial_music_id** | **String** | TikTok&#39;s commercial_music_id, for reference only | [optional] |
8
9
  | **name** | **String** | | [optional] |
9
10
  | **artist** | **String** | | [optional] |
10
11
  | **duration_sec** | **Integer** | | [optional] |
@@ -21,6 +22,7 @@ require 'zernio-sdk'
21
22
 
22
23
  instance = Zernio::ListTikTokCommercialMusic200ResponseTracksInner.new(
23
24
  id: null,
25
+ commercial_music_id: null,
24
26
  name: null,
25
27
  artist: null,
26
28
  duration_sec: null,
@@ -4,6 +4,7 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
+ | **id** | **String** | | [optional] |
7
8
  | **duration_sec** | **Integer** | | [optional] |
8
9
  | **preview_url** | **String** | | [optional] |
9
10
 
@@ -13,6 +14,7 @@
13
14
  require 'zernio-sdk'
14
15
 
15
16
  instance = Zernio::ListTikTokCommercialMusic200ResponseTracksInnerClip.new(
17
+ id: null,
16
18
  duration_sec: null,
17
19
  preview_url: null
18
20
  )
@@ -4,7 +4,7 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **music_sound_id** | **String** | The commercial_music_id of the track. | |
7
+ | **music_sound_id** | **String** | The id field of a track from GET /v1/accounts/{accountId}/tiktok/commercial-music (a song clip id). TikTok fails the publish with a generic 51065 when given the commercial music id instead. | |
8
8
  | **music_sound_volume** | **Integer** | Track volume. TikTok defaults an omitted volume to 0, which publishes the track silently, so we default to the app&#39;s 50. Video posts only. | [optional][default to 50] |
9
9
  | **music_sound_start** | **Integer** | Start point of the track in milliseconds (default 0). Video posts only. | [optional] |
10
10
  | **music_sound_end** | **Integer** | End point of the track in milliseconds (default: the video length). Must be greater than musicSoundStart. Video posts only. | [optional] |
@@ -0,0 +1,22 @@
1
+ # Zernio::UpdateCampaignAdSchedule200Response
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **campaign_id** | **String** | | [optional] |
8
+ | **schedule** | [**Array&lt;AdScheduleWindow&gt;**](AdScheduleWindow.md) | | [optional] |
9
+ | **serves_around_the_clock** | **Boolean** | | [optional] |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'zernio-sdk'
15
+
16
+ instance = Zernio::UpdateCampaignAdSchedule200Response.new(
17
+ campaign_id: null,
18
+ schedule: null,
19
+ serves_around_the_clock: null
20
+ )
21
+ ```
22
+
@@ -0,0 +1,18 @@
1
+ # Zernio::UpdateCampaignAdScheduleRequest
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **schedule** | [**Array&lt;UpdateCampaignAdScheduleRequestScheduleInner&gt;**](UpdateCampaignAdScheduleRequestScheduleInner.md) | The complete set of windows. Required, so clearing the schedule is always deliberate rather than an omission. | |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'zernio-sdk'
13
+
14
+ instance = Zernio::UpdateCampaignAdScheduleRequest.new(
15
+ schedule: null
16
+ )
17
+ ```
18
+
@@ -0,0 +1,28 @@
1
+ # Zernio::UpdateCampaignAdScheduleRequestScheduleInner
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **day_of_week** | **String** | | |
8
+ | **start_hour** | **Integer** | | |
9
+ | **start_minute** | **Integer** | Quarter-hours only. | [optional][default to START_MINUTE::N0] |
10
+ | **end_hour** | **Integer** | 24 means midnight at the end of the day. | |
11
+ | **end_minute** | **Integer** | Quarter-hours only. Must be 0 when endHour is 24. | [optional][default to END_MINUTE::N0] |
12
+ | **bid_modifier** | **Float** | Bid adjustment for this window. Null runs it at the campaign bid. | [optional][default to null] |
13
+
14
+ ## Example
15
+
16
+ ```ruby
17
+ require 'zernio-sdk'
18
+
19
+ instance = Zernio::UpdateCampaignAdScheduleRequestScheduleInner.new(
20
+ day_of_week: null,
21
+ start_hour: null,
22
+ start_minute: null,
23
+ end_hour: null,
24
+ end_minute: null,
25
+ bid_modifier: null
26
+ )
27
+ ```
28
+