zernio-sdk 0.0.530 → 0.0.531

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 (43) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +13 -0
  3. data/docs/AdCampaignsApi.md +76 -0
  4. data/docs/AdsApi.md +306 -0
  5. data/docs/GetAdAccountFinance200Response.md +28 -0
  6. data/docs/GetAdAccountFinance200ResponseFundingSource.md +20 -0
  7. data/docs/GetAdSetDetails200Response.md +18 -0
  8. data/docs/GetAdsActivityLog200Response.md +22 -0
  9. data/docs/ListAdStudies200Response.md +22 -0
  10. data/docs/UploadAdImage201Response.md +20 -0
  11. data/docs/UploadAdImage201ResponseImage.md +20 -0
  12. data/docs/UploadAdImageRequest.md +24 -0
  13. data/lib/zernio-sdk/api/ad_campaigns_api.rb +73 -0
  14. data/lib/zernio-sdk/api/ads_api.rb +321 -0
  15. data/lib/zernio-sdk/models/create_standalone_ad_request.rb +2 -2
  16. data/lib/zernio-sdk/models/create_standalone_ad_request_creatives_inner.rb +2 -2
  17. data/lib/zernio-sdk/models/get_ad_account_finance200_response.rb +197 -0
  18. data/lib/zernio-sdk/models/get_ad_account_finance200_response_funding_source.rb +158 -0
  19. data/lib/zernio-sdk/models/get_ad_set_details200_response.rb +148 -0
  20. data/lib/zernio-sdk/models/get_ads_activity_log200_response.rb +167 -0
  21. data/lib/zernio-sdk/models/list_ad_studies200_response.rb +167 -0
  22. data/lib/zernio-sdk/models/send_conversions_request_consent.rb +1 -1
  23. data/lib/zernio-sdk/models/upload_ad_image201_response.rb +156 -0
  24. data/lib/zernio-sdk/models/upload_ad_image201_response_image.rb +158 -0
  25. data/lib/zernio-sdk/models/upload_ad_image_request.rb +229 -0
  26. data/lib/zernio-sdk/version.rb +1 -1
  27. data/lib/zernio-sdk.rb +8 -0
  28. data/openapi.yaml +195 -7
  29. data/spec/api/ad_campaigns_api_spec.rb +14 -0
  30. data/spec/api/ads_api_spec.rb +59 -0
  31. data/spec/models/boost_post_request_spec.rb +1 -1
  32. data/spec/models/create_standalone_ad_request_creatives_inner_spec.rb +1 -1
  33. data/spec/models/create_standalone_ad_request_dynamic_creative_spec.rb +1 -1
  34. data/spec/models/create_standalone_ad_request_spec.rb +2 -2
  35. data/spec/models/get_ad_account_finance200_response_funding_source_spec.rb +42 -0
  36. data/spec/models/get_ad_account_finance200_response_spec.rb +66 -0
  37. data/spec/models/get_ad_set_details200_response_spec.rb +36 -0
  38. data/spec/models/get_ads_activity_log200_response_spec.rb +48 -0
  39. data/spec/models/list_ad_studies200_response_spec.rb +48 -0
  40. data/spec/models/upload_ad_image201_response_image_spec.rb +42 -0
  41. data/spec/models/upload_ad_image201_response_spec.rb +42 -0
  42. data/spec/models/upload_ad_image_request_spec.rb +54 -0
  43. metadata +34 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9f98c1b082341df724303142f79b13ef03a82d8bf3c09787ab044b8eccabdd63
4
- data.tar.gz: 8065ffc4263bc298936251d8f9b397ba7a3983385ec945798c9dd5eef80c272b
3
+ metadata.gz: eaa5f26849657a92627dca36e035af7aebc2f4a966c08b7d997ba4708c20ee89
4
+ data.tar.gz: d363d35b4b938148821659d8d51ea2860e0eae73f71c1acc078a7101c915305b
5
5
  SHA512:
6
- metadata.gz: ed03ffc83007d0a63e494d26999cde4a20adc0a1cb7db90568dc48ffd6f48eba1cce24d79e1b8de523a417df3927058aca4ea45523fc24958f97251a2bf2bc36
7
- data.tar.gz: 35c5a0b7f2db063f2db33968f186cb517902076e7ae157120a0745b42bea4f27112655f92ce07bfb22ee2ac7e4d8197dc4d3ce5bb6e2590a2a89770e4b6b9c52
6
+ metadata.gz: becc912c9e3733c3d2b0db5f32416a246da50d584735c75ee4f18465e59fc46932c6140474cea5a8fe9b00927110bd94d988a211c5c9696775481038ba07a01c
7
+ data.tar.gz: 294b76a7f76b4f716efb3b8e3c095166a39a9b4a0a7b59c3e0b67d9fff4c89ff1f71d7258765fbb4f398f9c0287fcc33d6fe4dd9e56789fb82e4fc9aa45f597c
data/README.md CHANGED
@@ -99,6 +99,7 @@ Class | Method | HTTP request | Description
99
99
  *Zernio::AdCampaignsApi* | [**bulk_update_ad_campaign_status**](docs/AdCampaignsApi.md#bulk_update_ad_campaign_status) | **POST** /v1/ads/campaigns/bulk-status | Pause or resume many campaigns
100
100
  *Zernio::AdCampaignsApi* | [**delete_ad_campaign**](docs/AdCampaignsApi.md#delete_ad_campaign) | **DELETE** /v1/ads/campaigns/{campaignId} | Delete a campaign
101
101
  *Zernio::AdCampaignsApi* | [**duplicate_ad_campaign**](docs/AdCampaignsApi.md#duplicate_ad_campaign) | **POST** /v1/ads/campaigns/{campaignId}/duplicate | Duplicate a campaign
102
+ *Zernio::AdCampaignsApi* | [**get_ad_set_details**](docs/AdCampaignsApi.md#get_ad_set_details) | **GET** /v1/ads/ad-sets/{adSetId} | Live ad-set details incl. learning phase (Meta)
102
103
  *Zernio::AdCampaignsApi* | [**get_ad_tree**](docs/AdCampaignsApi.md#get_ad_tree) | **GET** /v1/ads/tree | Get campaign tree
103
104
  *Zernio::AdCampaignsApi* | [**get_ads_timeline**](docs/AdCampaignsApi.md#get_ads_timeline) | **GET** /v1/ads/timeline | Get daily account metrics
104
105
  *Zernio::AdCampaignsApi* | [**list_ad_campaigns**](docs/AdCampaignsApi.md#list_ad_campaigns) | **GET** /v1/ads/campaigns | List campaigns
@@ -123,11 +124,13 @@ Class | Method | HTTP request | Description
123
124
  *Zernio::AdsApi* | [**estimate_ad_reach**](docs/AdsApi.md#estimate_ad_reach) | **POST** /v1/ads/targeting/reach-estimate | Estimate audience reach
124
125
  *Zernio::AdsApi* | [**generate_ad_previews**](docs/AdsApi.md#generate_ad_previews) | **POST** /v1/ads/preview | Render pre-create ad previews (Meta)
125
126
  *Zernio::AdsApi* | [**get_ad**](docs/AdsApi.md#get_ad) | **GET** /v1/ads/{adId} | Get ad details
127
+ *Zernio::AdsApi* | [**get_ad_account_finance**](docs/AdsApi.md#get_ad_account_finance) | **GET** /v1/ads/accounts/finance | Ad account finances (Meta)
126
128
  *Zernio::AdsApi* | [**get_ad_analytics**](docs/AdsApi.md#get_ad_analytics) | **GET** /v1/ads/{adId}/analytics | Get ad analytics
127
129
  *Zernio::AdsApi* | [**get_ad_comments**](docs/AdsApi.md#get_ad_comments) | **GET** /v1/ads/{adId}/comments | List comments on an ad
128
130
  *Zernio::AdsApi* | [**get_ad_insights_report**](docs/AdsApi.md#get_ad_insights_report) | **GET** /v1/ads/insights/reports/{reportRunId} | Poll an async insights report run (Meta)
129
131
  *Zernio::AdsApi* | [**get_ad_previews**](docs/AdsApi.md#get_ad_previews) | **GET** /v1/ads/{adId}/preview | Render previews of an existing ad (Meta)
130
132
  *Zernio::AdsApi* | [**get_ad_tracking_tags**](docs/AdsApi.md#get_ad_tracking_tags) | **GET** /v1/ads/{adId}/tracking-tags | Get ad tracking tags
133
+ *Zernio::AdsApi* | [**get_ads_activity_log**](docs/AdsApi.md#get_ads_activity_log) | **GET** /v1/ads/activity | Ad account change / audit log (Meta)
131
134
  *Zernio::AdsApi* | [**get_campaign_analytics**](docs/AdsApi.md#get_campaign_analytics) | **GET** /v1/ads/campaigns/{campaignId}/analytics | Get campaign analytics
132
135
  *Zernio::AdsApi* | [**get_conversion_destination**](docs/AdsApi.md#get_conversion_destination) | **GET** /v1/accounts/{accountId}/conversion-destinations/{destinationId} | Get a conversion destination
133
136
  *Zernio::AdsApi* | [**get_conversion_metrics**](docs/AdsApi.md#get_conversion_metrics) | **GET** /v1/accounts/{accountId}/conversion-destinations/{destinationId}/metrics | Get attribution metrics
@@ -140,6 +143,7 @@ Class | Method | HTTP request | Description
140
143
  *Zernio::AdsApi* | [**list_ad_accounts**](docs/AdsApi.md#list_ad_accounts) | **GET** /v1/ads/accounts | List ad accounts
141
144
  *Zernio::AdsApi* | [**list_ad_catalog_product_sets**](docs/AdsApi.md#list_ad_catalog_product_sets) | **GET** /v1/ads/catalogs/{catalogId}/product-sets | List a catalog's product sets
142
145
  *Zernio::AdsApi* | [**list_ad_catalogs**](docs/AdsApi.md#list_ad_catalogs) | **GET** /v1/ads/catalogs | List Meta product catalogs
146
+ *Zernio::AdsApi* | [**list_ad_studies**](docs/AdsApi.md#list_ad_studies) | **GET** /v1/ads/studies | A/B tests and lift studies (Meta)
143
147
  *Zernio::AdsApi* | [**list_ads**](docs/AdsApi.md#list_ads) | **GET** /v1/ads | List ads
144
148
  *Zernio::AdsApi* | [**list_ads_business_centers**](docs/AdsApi.md#list_ads_business_centers) | **GET** /v1/ads/business-centers | List TikTok Business Centers
145
149
  *Zernio::AdsApi* | [**list_conversion_associations**](docs/AdsApi.md#list_conversion_associations) | **GET** /v1/accounts/{accountId}/conversion-destinations/{destinationId}/associations | List associated campaigns
@@ -159,6 +163,7 @@ Class | Method | HTTP request | Description
159
163
  *Zernio::AdsApi* | [**update_ad_status**](docs/AdsApi.md#update_ad_status) | **PUT** /v1/ads/{adId}/status | Pause or resume a single ad
160
164
  *Zernio::AdsApi* | [**update_ad_tracking_tags**](docs/AdsApi.md#update_ad_tracking_tags) | **PATCH** /v1/ads/{adId}/tracking-tags | Set ad tracking tags
161
165
  *Zernio::AdsApi* | [**update_conversion_destination**](docs/AdsApi.md#update_conversion_destination) | **PATCH** /v1/accounts/{accountId}/conversion-destinations/{destinationId} | Update a conversion destination
166
+ *Zernio::AdsApi* | [**upload_ad_image**](docs/AdsApi.md#upload_ad_image) | **POST** /v1/ads/images | Upload an ad image from base64 (Meta)
162
167
  *Zernio::AnalyticsApi* | [**get_analytics**](docs/AnalyticsApi.md#get_analytics) | **GET** /v1/analytics | Get post analytics
163
168
  *Zernio::AnalyticsApi* | [**get_best_time_to_post**](docs/AnalyticsApi.md#get_best_time_to_post) | **GET** /v1/analytics/best-time | Get best times to post
164
169
  *Zernio::AnalyticsApi* | [**get_content_decay**](docs/AnalyticsApi.md#get_content_decay) | **GET** /v1/analytics/content-decay | Get content performance decay
@@ -927,6 +932,8 @@ Class | Method | HTTP request | Description
927
932
  - [Zernio::GetAccountHealth200ResponsePermissionsPostingInner](docs/GetAccountHealth200ResponsePermissionsPostingInner.md)
928
933
  - [Zernio::GetAccountHealth200ResponseTokenStatus](docs/GetAccountHealth200ResponseTokenStatus.md)
929
934
  - [Zernio::GetAd200Response](docs/GetAd200Response.md)
935
+ - [Zernio::GetAdAccountFinance200Response](docs/GetAdAccountFinance200Response.md)
936
+ - [Zernio::GetAdAccountFinance200ResponseFundingSource](docs/GetAdAccountFinance200ResponseFundingSource.md)
930
937
  - [Zernio::GetAdAnalytics200Response](docs/GetAdAnalytics200Response.md)
931
938
  - [Zernio::GetAdAnalytics200ResponseAd](docs/GetAdAnalytics200ResponseAd.md)
932
939
  - [Zernio::GetAdAudience200Response](docs/GetAdAudience200Response.md)
@@ -936,8 +943,10 @@ Class | Method | HTTP request | Description
936
943
  - [Zernio::GetAdInsightsReport200Response](docs/GetAdInsightsReport200Response.md)
937
944
  - [Zernio::GetAdInsightsReport200ResponsePaging](docs/GetAdInsightsReport200ResponsePaging.md)
938
945
  - [Zernio::GetAdPreviews200Response](docs/GetAdPreviews200Response.md)
946
+ - [Zernio::GetAdSetDetails200Response](docs/GetAdSetDetails200Response.md)
939
947
  - [Zernio::GetAdTrackingTags200Response](docs/GetAdTrackingTags200Response.md)
940
948
  - [Zernio::GetAdTree200Response](docs/GetAdTree200Response.md)
949
+ - [Zernio::GetAdsActivityLog200Response](docs/GetAdsActivityLog200Response.md)
941
950
  - [Zernio::GetAdsTimeline200Response](docs/GetAdsTimeline200Response.md)
942
951
  - [Zernio::GetAdsTimeline200ResponseRowsInner](docs/GetAdsTimeline200ResponseRowsInner.md)
943
952
  - [Zernio::GetAllAccountsHealth200Response](docs/GetAllAccountsHealth200Response.md)
@@ -1290,6 +1299,7 @@ Class | Method | HTTP request | Description
1290
1299
  - [Zernio::ListAdCatalogProductSets200ResponseProductSetsInner](docs/ListAdCatalogProductSets200ResponseProductSetsInner.md)
1291
1300
  - [Zernio::ListAdCatalogs200Response](docs/ListAdCatalogs200Response.md)
1292
1301
  - [Zernio::ListAdCatalogs200ResponseCatalogsInner](docs/ListAdCatalogs200ResponseCatalogsInner.md)
1302
+ - [Zernio::ListAdStudies200Response](docs/ListAdStudies200Response.md)
1293
1303
  - [Zernio::ListAds200Response](docs/ListAds200Response.md)
1294
1304
  - [Zernio::ListAdsBusinessCenters200Response](docs/ListAdsBusinessCenters200Response.md)
1295
1305
  - [Zernio::ListApiKeys200Response](docs/ListApiKeys200Response.md)
@@ -1818,6 +1828,9 @@ Class | Method | HTTP request | Description
1818
1828
  - [Zernio::UpdateWorkflowRequest](docs/UpdateWorkflowRequest.md)
1819
1829
  - [Zernio::UpdateYoutubeDefaultPlaylist200Response](docs/UpdateYoutubeDefaultPlaylist200Response.md)
1820
1830
  - [Zernio::UpdateYoutubeDefaultPlaylistRequest](docs/UpdateYoutubeDefaultPlaylistRequest.md)
1831
+ - [Zernio::UploadAdImage201Response](docs/UploadAdImage201Response.md)
1832
+ - [Zernio::UploadAdImage201ResponseImage](docs/UploadAdImage201ResponseImage.md)
1833
+ - [Zernio::UploadAdImageRequest](docs/UploadAdImageRequest.md)
1821
1834
  - [Zernio::UploadMediaDirect200Response](docs/UploadMediaDirect200Response.md)
1822
1835
  - [Zernio::UploadPhoneNumberKycDocument200Response](docs/UploadPhoneNumberKycDocument200Response.md)
1823
1836
  - [Zernio::UploadPhoneNumberPortInDocument200Response](docs/UploadPhoneNumberPortInDocument200Response.md)
@@ -7,6 +7,7 @@ All URIs are relative to *https://zernio.com/api*
7
7
  | [**bulk_update_ad_campaign_status**](AdCampaignsApi.md#bulk_update_ad_campaign_status) | **POST** /v1/ads/campaigns/bulk-status | Pause or resume many campaigns |
8
8
  | [**delete_ad_campaign**](AdCampaignsApi.md#delete_ad_campaign) | **DELETE** /v1/ads/campaigns/{campaignId} | Delete a campaign |
9
9
  | [**duplicate_ad_campaign**](AdCampaignsApi.md#duplicate_ad_campaign) | **POST** /v1/ads/campaigns/{campaignId}/duplicate | Duplicate a campaign |
10
+ | [**get_ad_set_details**](AdCampaignsApi.md#get_ad_set_details) | **GET** /v1/ads/ad-sets/{adSetId} | Live ad-set details incl. learning phase (Meta) |
10
11
  | [**get_ad_tree**](AdCampaignsApi.md#get_ad_tree) | **GET** /v1/ads/tree | Get campaign tree |
11
12
  | [**get_ads_timeline**](AdCampaignsApi.md#get_ads_timeline) | **GET** /v1/ads/timeline | Get daily account metrics |
12
13
  | [**list_ad_campaigns**](AdCampaignsApi.md#list_ad_campaigns) | **GET** /v1/ads/campaigns | List campaigns |
@@ -227,6 +228,81 @@ end
227
228
  - **Accept**: application/json
228
229
 
229
230
 
231
+ ## get_ad_set_details
232
+
233
+ > <GetAdSetDetails200Response> get_ad_set_details(ad_set_id, account_id, opts)
234
+
235
+ Live ad-set details incl. learning phase (Meta)
236
+
237
+ Reads the ad set live from Meta, returned verbatim. The default projection includes `learning_stage_info` (learning-phase status: LEARNING / SUCCESS / FAIL / WAIVING — Meta omits its `status` key on paused ad sets), delivery settings, budgets, schedule and targeting. `fields` is a raw-passthrough override; unknown fields return Meta's 400 verbatim. Meta only.
238
+
239
+ ### Examples
240
+
241
+ ```ruby
242
+ require 'time'
243
+ require 'zernio-sdk'
244
+ # setup authorization
245
+ Zernio.configure do |config|
246
+ # Configure Bearer authorization (JWT): bearerAuth
247
+ config.access_token = 'YOUR_BEARER_TOKEN'
248
+ end
249
+
250
+ api_instance = Zernio::AdCampaignsApi.new
251
+ ad_set_id = 'ad_set_id_example' # String | Meta ad set id (platformAdSetId).
252
+ account_id = 'account_id_example' # String | Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token.
253
+ opts = {
254
+ fields: 'fields_example' # String | Comma-separated Graph field override (supports nested {} projections).
255
+ }
256
+
257
+ begin
258
+ # Live ad-set details incl. learning phase (Meta)
259
+ result = api_instance.get_ad_set_details(ad_set_id, account_id, opts)
260
+ p result
261
+ rescue Zernio::ApiError => e
262
+ puts "Error when calling AdCampaignsApi->get_ad_set_details: #{e}"
263
+ end
264
+ ```
265
+
266
+ #### Using the get_ad_set_details_with_http_info variant
267
+
268
+ This returns an Array which contains the response data, status code and headers.
269
+
270
+ > <Array(<GetAdSetDetails200Response>, Integer, Hash)> get_ad_set_details_with_http_info(ad_set_id, account_id, opts)
271
+
272
+ ```ruby
273
+ begin
274
+ # Live ad-set details incl. learning phase (Meta)
275
+ data, status_code, headers = api_instance.get_ad_set_details_with_http_info(ad_set_id, account_id, opts)
276
+ p status_code # => 2xx
277
+ p headers # => { ... }
278
+ p data # => <GetAdSetDetails200Response>
279
+ rescue Zernio::ApiError => e
280
+ puts "Error when calling AdCampaignsApi->get_ad_set_details_with_http_info: #{e}"
281
+ end
282
+ ```
283
+
284
+ ### Parameters
285
+
286
+ | Name | Type | Description | Notes |
287
+ | ---- | ---- | ----------- | ----- |
288
+ | **ad_set_id** | **String** | Meta ad set id (platformAdSetId). | |
289
+ | **account_id** | **String** | Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token. | |
290
+ | **fields** | **String** | Comma-separated Graph field override (supports nested {} projections). | [optional] |
291
+
292
+ ### Return type
293
+
294
+ [**GetAdSetDetails200Response**](GetAdSetDetails200Response.md)
295
+
296
+ ### Authorization
297
+
298
+ [bearerAuth](../README.md#bearerAuth)
299
+
300
+ ### HTTP request headers
301
+
302
+ - **Content-Type**: Not defined
303
+ - **Accept**: application/json
304
+
305
+
230
306
  ## get_ad_tree
231
307
 
232
308
  > <GetAdTree200Response> get_ad_tree(opts)
data/docs/AdsApi.md CHANGED
@@ -21,11 +21,13 @@ All URIs are relative to *https://zernio.com/api*
21
21
  | [**estimate_ad_reach**](AdsApi.md#estimate_ad_reach) | **POST** /v1/ads/targeting/reach-estimate | Estimate audience reach |
22
22
  | [**generate_ad_previews**](AdsApi.md#generate_ad_previews) | **POST** /v1/ads/preview | Render pre-create ad previews (Meta) |
23
23
  | [**get_ad**](AdsApi.md#get_ad) | **GET** /v1/ads/{adId} | Get ad details |
24
+ | [**get_ad_account_finance**](AdsApi.md#get_ad_account_finance) | **GET** /v1/ads/accounts/finance | Ad account finances (Meta) |
24
25
  | [**get_ad_analytics**](AdsApi.md#get_ad_analytics) | **GET** /v1/ads/{adId}/analytics | Get ad analytics |
25
26
  | [**get_ad_comments**](AdsApi.md#get_ad_comments) | **GET** /v1/ads/{adId}/comments | List comments on an ad |
26
27
  | [**get_ad_insights_report**](AdsApi.md#get_ad_insights_report) | **GET** /v1/ads/insights/reports/{reportRunId} | Poll an async insights report run (Meta) |
27
28
  | [**get_ad_previews**](AdsApi.md#get_ad_previews) | **GET** /v1/ads/{adId}/preview | Render previews of an existing ad (Meta) |
28
29
  | [**get_ad_tracking_tags**](AdsApi.md#get_ad_tracking_tags) | **GET** /v1/ads/{adId}/tracking-tags | Get ad tracking tags |
30
+ | [**get_ads_activity_log**](AdsApi.md#get_ads_activity_log) | **GET** /v1/ads/activity | Ad account change / audit log (Meta) |
29
31
  | [**get_campaign_analytics**](AdsApi.md#get_campaign_analytics) | **GET** /v1/ads/campaigns/{campaignId}/analytics | Get campaign analytics |
30
32
  | [**get_conversion_destination**](AdsApi.md#get_conversion_destination) | **GET** /v1/accounts/{accountId}/conversion-destinations/{destinationId} | Get a conversion destination |
31
33
  | [**get_conversion_metrics**](AdsApi.md#get_conversion_metrics) | **GET** /v1/accounts/{accountId}/conversion-destinations/{destinationId}/metrics | Get attribution metrics |
@@ -38,6 +40,7 @@ All URIs are relative to *https://zernio.com/api*
38
40
  | [**list_ad_accounts**](AdsApi.md#list_ad_accounts) | **GET** /v1/ads/accounts | List ad accounts |
39
41
  | [**list_ad_catalog_product_sets**](AdsApi.md#list_ad_catalog_product_sets) | **GET** /v1/ads/catalogs/{catalogId}/product-sets | List a catalog&#39;s product sets |
40
42
  | [**list_ad_catalogs**](AdsApi.md#list_ad_catalogs) | **GET** /v1/ads/catalogs | List Meta product catalogs |
43
+ | [**list_ad_studies**](AdsApi.md#list_ad_studies) | **GET** /v1/ads/studies | A/B tests and lift studies (Meta) |
41
44
  | [**list_ads**](AdsApi.md#list_ads) | **GET** /v1/ads | List ads |
42
45
  | [**list_ads_business_centers**](AdsApi.md#list_ads_business_centers) | **GET** /v1/ads/business-centers | List TikTok Business Centers |
43
46
  | [**list_conversion_associations**](AdsApi.md#list_conversion_associations) | **GET** /v1/accounts/{accountId}/conversion-destinations/{destinationId}/associations | List associated campaigns |
@@ -57,6 +60,7 @@ All URIs are relative to *https://zernio.com/api*
57
60
  | [**update_ad_status**](AdsApi.md#update_ad_status) | **PUT** /v1/ads/{adId}/status | Pause or resume a single ad |
58
61
  | [**update_ad_tracking_tags**](AdsApi.md#update_ad_tracking_tags) | **PATCH** /v1/ads/{adId}/tracking-tags | Set ad tracking tags |
59
62
  | [**update_conversion_destination**](AdsApi.md#update_conversion_destination) | **PATCH** /v1/accounts/{accountId}/conversion-destinations/{destinationId} | Update a conversion destination |
63
+ | [**upload_ad_image**](AdsApi.md#upload_ad_image) | **POST** /v1/ads/images | Upload an ad image from base64 (Meta) |
60
64
 
61
65
 
62
66
  ## add_conversion_associations
@@ -1249,6 +1253,77 @@ end
1249
1253
  - **Accept**: application/json
1250
1254
 
1251
1255
 
1256
+ ## get_ad_account_finance
1257
+
1258
+ > <GetAdAccountFinance200Response> get_ad_account_finance(account_id, ad_account_id)
1259
+
1260
+ Ad account finances (Meta)
1261
+
1262
+ Finances of one Meta ad account: prepaid `balance`, lifetime `amountSpent`, account `spendCap` (null = no cap) and the `fundingSource`. Money values are converted from Meta's minor units to whole units of `currency`. Meta only.
1263
+
1264
+ ### Examples
1265
+
1266
+ ```ruby
1267
+ require 'time'
1268
+ require 'zernio-sdk'
1269
+ # setup authorization
1270
+ Zernio.configure do |config|
1271
+ # Configure Bearer authorization (JWT): bearerAuth
1272
+ config.access_token = 'YOUR_BEARER_TOKEN'
1273
+ end
1274
+
1275
+ api_instance = Zernio::AdsApi.new
1276
+ account_id = 'account_id_example' # String | Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token.
1277
+ ad_account_id = 'ad_account_id_example' # String | Meta ad account id (act_<n>).
1278
+
1279
+ begin
1280
+ # Ad account finances (Meta)
1281
+ result = api_instance.get_ad_account_finance(account_id, ad_account_id)
1282
+ p result
1283
+ rescue Zernio::ApiError => e
1284
+ puts "Error when calling AdsApi->get_ad_account_finance: #{e}"
1285
+ end
1286
+ ```
1287
+
1288
+ #### Using the get_ad_account_finance_with_http_info variant
1289
+
1290
+ This returns an Array which contains the response data, status code and headers.
1291
+
1292
+ > <Array(<GetAdAccountFinance200Response>, Integer, Hash)> get_ad_account_finance_with_http_info(account_id, ad_account_id)
1293
+
1294
+ ```ruby
1295
+ begin
1296
+ # Ad account finances (Meta)
1297
+ data, status_code, headers = api_instance.get_ad_account_finance_with_http_info(account_id, ad_account_id)
1298
+ p status_code # => 2xx
1299
+ p headers # => { ... }
1300
+ p data # => <GetAdAccountFinance200Response>
1301
+ rescue Zernio::ApiError => e
1302
+ puts "Error when calling AdsApi->get_ad_account_finance_with_http_info: #{e}"
1303
+ end
1304
+ ```
1305
+
1306
+ ### Parameters
1307
+
1308
+ | Name | Type | Description | Notes |
1309
+ | ---- | ---- | ----------- | ----- |
1310
+ | **account_id** | **String** | Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token. | |
1311
+ | **ad_account_id** | **String** | Meta ad account id (act_&lt;n&gt;). | |
1312
+
1313
+ ### Return type
1314
+
1315
+ [**GetAdAccountFinance200Response**](GetAdAccountFinance200Response.md)
1316
+
1317
+ ### Authorization
1318
+
1319
+ [bearerAuth](../README.md#bearerAuth)
1320
+
1321
+ ### HTTP request headers
1322
+
1323
+ - **Content-Type**: Not defined
1324
+ - **Accept**: application/json
1325
+
1326
+
1252
1327
  ## get_ad_analytics
1253
1328
 
1254
1329
  > <GetAdAnalytics200Response> get_ad_analytics(ad_id, opts)
@@ -1622,6 +1697,89 @@ end
1622
1697
  - **Accept**: application/json
1623
1698
 
1624
1699
 
1700
+ ## get_ads_activity_log
1701
+
1702
+ > <GetAdsActivityLog200Response> get_ads_activity_log(account_id, ad_account_id, opts)
1703
+
1704
+ Ad account change / audit log (Meta)
1705
+
1706
+ Account-level audit log from Meta's `/act_X/activities`: who changed what and when (creates, edits, status flips, budget changes...) with Meta's translated event names and the structured before/after in `extra_data`. Rows are returned verbatim. Meta has no server-side per-object filter on this edge, so `objectId` filters the returned page client-side (combine with paging to walk history for one campaign/ad set/ad). Meta only.
1707
+
1708
+ ### Examples
1709
+
1710
+ ```ruby
1711
+ require 'time'
1712
+ require 'zernio-sdk'
1713
+ # setup authorization
1714
+ Zernio.configure do |config|
1715
+ # Configure Bearer authorization (JWT): bearerAuth
1716
+ config.access_token = 'YOUR_BEARER_TOKEN'
1717
+ end
1718
+
1719
+ api_instance = Zernio::AdsApi.new
1720
+ account_id = 'account_id_example' # String | Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token.
1721
+ ad_account_id = 'ad_account_id_example' # String | Meta ad account id (act_<n>).
1722
+ opts = {
1723
+ since: Date.parse('2013-10-20'), # Date | Start of range (YYYY-MM-DD).
1724
+ _until: Date.parse('2013-10-20'), # Date | End of range (YYYY-MM-DD).
1725
+ object_id: 'object_id_example', # String | Client-side filter to one Meta object id (campaign, ad set or ad).
1726
+ limit: 56, # Integer | Rows per page
1727
+ after: 'after_example' # String | Cursor from paging.after of the previous page.
1728
+ }
1729
+
1730
+ begin
1731
+ # Ad account change / audit log (Meta)
1732
+ result = api_instance.get_ads_activity_log(account_id, ad_account_id, opts)
1733
+ p result
1734
+ rescue Zernio::ApiError => e
1735
+ puts "Error when calling AdsApi->get_ads_activity_log: #{e}"
1736
+ end
1737
+ ```
1738
+
1739
+ #### Using the get_ads_activity_log_with_http_info variant
1740
+
1741
+ This returns an Array which contains the response data, status code and headers.
1742
+
1743
+ > <Array(<GetAdsActivityLog200Response>, Integer, Hash)> get_ads_activity_log_with_http_info(account_id, ad_account_id, opts)
1744
+
1745
+ ```ruby
1746
+ begin
1747
+ # Ad account change / audit log (Meta)
1748
+ data, status_code, headers = api_instance.get_ads_activity_log_with_http_info(account_id, ad_account_id, opts)
1749
+ p status_code # => 2xx
1750
+ p headers # => { ... }
1751
+ p data # => <GetAdsActivityLog200Response>
1752
+ rescue Zernio::ApiError => e
1753
+ puts "Error when calling AdsApi->get_ads_activity_log_with_http_info: #{e}"
1754
+ end
1755
+ ```
1756
+
1757
+ ### Parameters
1758
+
1759
+ | Name | Type | Description | Notes |
1760
+ | ---- | ---- | ----------- | ----- |
1761
+ | **account_id** | **String** | Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token. | |
1762
+ | **ad_account_id** | **String** | Meta ad account id (act_&lt;n&gt;). | |
1763
+ | **since** | **Date** | Start of range (YYYY-MM-DD). | [optional] |
1764
+ | **_until** | **Date** | End of range (YYYY-MM-DD). | [optional] |
1765
+ | **object_id** | **String** | Client-side filter to one Meta object id (campaign, ad set or ad). | [optional] |
1766
+ | **limit** | **Integer** | Rows per page | [optional][default to 50] |
1767
+ | **after** | **String** | Cursor from paging.after of the previous page. | [optional] |
1768
+
1769
+ ### Return type
1770
+
1771
+ [**GetAdsActivityLog200Response**](GetAdsActivityLog200Response.md)
1772
+
1773
+ ### Authorization
1774
+
1775
+ [bearerAuth](../README.md#bearerAuth)
1776
+
1777
+ ### HTTP request headers
1778
+
1779
+ - **Content-Type**: Not defined
1780
+ - **Accept**: application/json
1781
+
1782
+
1625
1783
  ## get_campaign_analytics
1626
1784
 
1627
1785
  > <GetCampaignAnalytics200Response> get_campaign_analytics(campaign_id, opts)
@@ -2492,6 +2650,85 @@ end
2492
2650
  - **Accept**: application/json
2493
2651
 
2494
2652
 
2653
+ ## list_ad_studies
2654
+
2655
+ > <ListAdStudies200Response> list_ad_studies(account_id, ad_account_id, opts)
2656
+
2657
+ A/B tests and lift studies (Meta)
2658
+
2659
+ Lists the ad account's A/B tests and lift studies (Meta's `/act_X/ad_studies`), rows returned verbatim. The default projection covers id, name, type, timing and cells with split percentages; `fields` is a raw-passthrough override. Meta only.
2660
+
2661
+ ### Examples
2662
+
2663
+ ```ruby
2664
+ require 'time'
2665
+ require 'zernio-sdk'
2666
+ # setup authorization
2667
+ Zernio.configure do |config|
2668
+ # Configure Bearer authorization (JWT): bearerAuth
2669
+ config.access_token = 'YOUR_BEARER_TOKEN'
2670
+ end
2671
+
2672
+ api_instance = Zernio::AdsApi.new
2673
+ account_id = 'account_id_example' # String | Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token.
2674
+ ad_account_id = 'ad_account_id_example' # String | Meta ad account id (act_<n>).
2675
+ opts = {
2676
+ fields: 'fields_example', # String | Comma-separated Graph field override (supports nested {} projections).
2677
+ limit: 56, # Integer | Rows per page
2678
+ after: 'after_example' # String | Cursor from paging.after of the previous page.
2679
+ }
2680
+
2681
+ begin
2682
+ # A/B tests and lift studies (Meta)
2683
+ result = api_instance.list_ad_studies(account_id, ad_account_id, opts)
2684
+ p result
2685
+ rescue Zernio::ApiError => e
2686
+ puts "Error when calling AdsApi->list_ad_studies: #{e}"
2687
+ end
2688
+ ```
2689
+
2690
+ #### Using the list_ad_studies_with_http_info variant
2691
+
2692
+ This returns an Array which contains the response data, status code and headers.
2693
+
2694
+ > <Array(<ListAdStudies200Response>, Integer, Hash)> list_ad_studies_with_http_info(account_id, ad_account_id, opts)
2695
+
2696
+ ```ruby
2697
+ begin
2698
+ # A/B tests and lift studies (Meta)
2699
+ data, status_code, headers = api_instance.list_ad_studies_with_http_info(account_id, ad_account_id, opts)
2700
+ p status_code # => 2xx
2701
+ p headers # => { ... }
2702
+ p data # => <ListAdStudies200Response>
2703
+ rescue Zernio::ApiError => e
2704
+ puts "Error when calling AdsApi->list_ad_studies_with_http_info: #{e}"
2705
+ end
2706
+ ```
2707
+
2708
+ ### Parameters
2709
+
2710
+ | Name | Type | Description | Notes |
2711
+ | ---- | ---- | ----------- | ----- |
2712
+ | **account_id** | **String** | Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token. | |
2713
+ | **ad_account_id** | **String** | Meta ad account id (act_&lt;n&gt;). | |
2714
+ | **fields** | **String** | Comma-separated Graph field override (supports nested {} projections). | [optional] |
2715
+ | **limit** | **Integer** | Rows per page | [optional][default to 25] |
2716
+ | **after** | **String** | Cursor from paging.after of the previous page. | [optional] |
2717
+
2718
+ ### Return type
2719
+
2720
+ [**ListAdStudies200Response**](ListAdStudies200Response.md)
2721
+
2722
+ ### Authorization
2723
+
2724
+ [bearerAuth](../README.md#bearerAuth)
2725
+
2726
+ ### HTTP request headers
2727
+
2728
+ - **Content-Type**: Not defined
2729
+ - **Accept**: application/json
2730
+
2731
+
2495
2732
  ## list_ads
2496
2733
 
2497
2734
  > <ListAds200Response> list_ads(opts)
@@ -3925,3 +4162,72 @@ end
3925
4162
  - **Content-Type**: application/json
3926
4163
  - **Accept**: application/json
3927
4164
 
4165
+
4166
+ ## upload_ad_image
4167
+
4168
+ > <UploadAdImage201Response> upload_ad_image(upload_ad_image_request)
4169
+
4170
+ Upload an ad image from base64 (Meta)
4171
+
4172
+ Uploads raw image bytes to the Meta ad account's image library — for callers whose creatives aren't hosted at a public URL. Returns the image `hash` (Meta's identifier for the asset) and the Meta-hosted `url`, which can be used directly as `imageUrl` on the create endpoints. Max 30 MB decoded. Meta only.
4173
+
4174
+ ### Examples
4175
+
4176
+ ```ruby
4177
+ require 'time'
4178
+ require 'zernio-sdk'
4179
+ # setup authorization
4180
+ Zernio.configure do |config|
4181
+ # Configure Bearer authorization (JWT): bearerAuth
4182
+ config.access_token = 'YOUR_BEARER_TOKEN'
4183
+ end
4184
+
4185
+ api_instance = Zernio::AdsApi.new
4186
+ upload_ad_image_request = Zernio::UploadAdImageRequest.new({account_id: 'account_id_example', ad_account_id: 'ad_account_id_example', image_base64: 'image_base64_example'}) # UploadAdImageRequest |
4187
+
4188
+ begin
4189
+ # Upload an ad image from base64 (Meta)
4190
+ result = api_instance.upload_ad_image(upload_ad_image_request)
4191
+ p result
4192
+ rescue Zernio::ApiError => e
4193
+ puts "Error when calling AdsApi->upload_ad_image: #{e}"
4194
+ end
4195
+ ```
4196
+
4197
+ #### Using the upload_ad_image_with_http_info variant
4198
+
4199
+ This returns an Array which contains the response data, status code and headers.
4200
+
4201
+ > <Array(<UploadAdImage201Response>, Integer, Hash)> upload_ad_image_with_http_info(upload_ad_image_request)
4202
+
4203
+ ```ruby
4204
+ begin
4205
+ # Upload an ad image from base64 (Meta)
4206
+ data, status_code, headers = api_instance.upload_ad_image_with_http_info(upload_ad_image_request)
4207
+ p status_code # => 2xx
4208
+ p headers # => { ... }
4209
+ p data # => <UploadAdImage201Response>
4210
+ rescue Zernio::ApiError => e
4211
+ puts "Error when calling AdsApi->upload_ad_image_with_http_info: #{e}"
4212
+ end
4213
+ ```
4214
+
4215
+ ### Parameters
4216
+
4217
+ | Name | Type | Description | Notes |
4218
+ | ---- | ---- | ----------- | ----- |
4219
+ | **upload_ad_image_request** | [**UploadAdImageRequest**](UploadAdImageRequest.md) | | |
4220
+
4221
+ ### Return type
4222
+
4223
+ [**UploadAdImage201Response**](UploadAdImage201Response.md)
4224
+
4225
+ ### Authorization
4226
+
4227
+ [bearerAuth](../README.md#bearerAuth)
4228
+
4229
+ ### HTTP request headers
4230
+
4231
+ - **Content-Type**: application/json
4232
+ - **Accept**: application/json
4233
+
@@ -0,0 +1,28 @@
1
+ # Zernio::GetAdAccountFinance200Response
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **ad_account_id** | **String** | | [optional] |
8
+ | **currency** | **String** | ISO 4217 code all money values are expressed in. | [optional] |
9
+ | **balance** | **Float** | Outstanding/prepaid balance in whole currency units. | [optional] |
10
+ | **amount_spent** | **Float** | Lifetime amount spent in whole currency units. | [optional] |
11
+ | **spend_cap** | **Float** | Account spend cap; null when none is set. | [optional] |
12
+ | **funding_source** | [**GetAdAccountFinance200ResponseFundingSource**](GetAdAccountFinance200ResponseFundingSource.md) | | [optional] |
13
+
14
+ ## Example
15
+
16
+ ```ruby
17
+ require 'zernio-sdk'
18
+
19
+ instance = Zernio::GetAdAccountFinance200Response.new(
20
+ ad_account_id: null,
21
+ currency: null,
22
+ balance: null,
23
+ amount_spent: null,
24
+ spend_cap: null,
25
+ funding_source: null
26
+ )
27
+ ```
28
+
@@ -0,0 +1,20 @@
1
+ # Zernio::GetAdAccountFinance200ResponseFundingSource
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **display_string** | **String** | Human-readable payment method, e.g. &#39;Mastercard *4985&#39;. | [optional] |
8
+ | **type** | **Integer** | Meta funding source type code. | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'zernio-sdk'
14
+
15
+ instance = Zernio::GetAdAccountFinance200ResponseFundingSource.new(
16
+ display_string: null,
17
+ type: null
18
+ )
19
+ ```
20
+
@@ -0,0 +1,18 @@
1
+ # Zernio::GetAdSetDetails200Response
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **ad_set** | **Object** | Raw Meta ad set; keys are the requested Graph fields. | [optional] |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'zernio-sdk'
13
+
14
+ instance = Zernio::GetAdSetDetails200Response.new(
15
+ ad_set: null
16
+ )
17
+ ```
18
+
@@ -0,0 +1,22 @@
1
+ # Zernio::GetAdsActivityLog200Response
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **ad_account_id** | **String** | | [optional] |
8
+ | **data** | **Array&lt;Object&gt;** | | [optional] |
9
+ | **paging** | [**QueryAdInsights200ResponsePaging**](QueryAdInsights200ResponsePaging.md) | | [optional] |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'zernio-sdk'
15
+
16
+ instance = Zernio::GetAdsActivityLog200Response.new(
17
+ ad_account_id: null,
18
+ data: null,
19
+ paging: null
20
+ )
21
+ ```
22
+
@@ -0,0 +1,22 @@
1
+ # Zernio::ListAdStudies200Response
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **ad_account_id** | **String** | | [optional] |
8
+ | **data** | **Array&lt;Object&gt;** | | [optional] |
9
+ | **paging** | [**QueryAdInsights200ResponsePaging**](QueryAdInsights200ResponsePaging.md) | | [optional] |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'zernio-sdk'
15
+
16
+ instance = Zernio::ListAdStudies200Response.new(
17
+ ad_account_id: null,
18
+ data: null,
19
+ paging: null
20
+ )
21
+ ```
22
+
@@ -0,0 +1,20 @@
1
+ # Zernio::UploadAdImage201Response
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **ad_account_id** | **String** | | [optional] |
8
+ | **image** | [**UploadAdImage201ResponseImage**](UploadAdImage201ResponseImage.md) | | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'zernio-sdk'
14
+
15
+ instance = Zernio::UploadAdImage201Response.new(
16
+ ad_account_id: null,
17
+ image: null
18
+ )
19
+ ```
20
+