zernio-sdk 0.0.528 → 0.0.529
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +1 -0
- data/docs/AdsApi.md +8 -0
- data/docs/CreateAdInsightsReportRequest.md +8 -0
- data/docs/CreateStandaloneAdRequest.md +2 -0
- data/docs/CreateStandaloneAdRequestCarouselCardsInner.md +26 -0
- data/lib/zernio-sdk/api/ads_api.rb +12 -0
- data/lib/zernio-sdk/models/create_ad_insights_report_request.rb +43 -1
- data/lib/zernio-sdk/models/create_standalone_ad_request.rb +41 -1
- data/lib/zernio-sdk/models/create_standalone_ad_request_carousel_cards_inner.rb +243 -0
- data/lib/zernio-sdk/version.rb +1 -1
- data/lib/zernio-sdk.rb +1 -0
- data/openapi.yaml +32 -0
- data/spec/api/ads_api_spec.rb +4 -0
- data/spec/models/create_ad_insights_report_request_spec.rb +24 -0
- data/spec/models/create_standalone_ad_request_carousel_cards_inner_spec.rb +60 -0
- data/spec/models/create_standalone_ad_request_spec.rb +6 -0
- metadata +5 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2e0db6a79e9e00f953f3027692b48bb968aca3afcf369eb2b39a1d3e7fe8c9c4
|
|
4
|
+
data.tar.gz: fadcc6fc532b75244e7488b02a5f115345f7aedd432c284d3ba2e5dd565dd0ef
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b01573d5ee8adf9f841cf202c718f6b7c9080038e83bce3f3aee59fc7d3495428e208cb3f58891bccd1e2a94b58797cdce10982eeeb44b3e411529b821bb4966
|
|
7
|
+
data.tar.gz: c46db1bad44769174f88ce13a5ecc7f81fe4d353485c4ab69fb582f9825296417f38d58928c8a26891c0ebcd2abf10620d56a05bb6a8c6e9c79279ada1b6a22d
|
data/README.md
CHANGED
|
@@ -780,6 +780,7 @@ Class | Method | HTTP request | Description
|
|
|
780
780
|
- [Zernio::CreateStandaloneAdRequestAttributionSpecInner](docs/CreateStandaloneAdRequestAttributionSpecInner.md)
|
|
781
781
|
- [Zernio::CreateStandaloneAdRequestBehaviorsInner](docs/CreateStandaloneAdRequestBehaviorsInner.md)
|
|
782
782
|
- [Zernio::CreateStandaloneAdRequestBrandIdentity](docs/CreateStandaloneAdRequestBrandIdentity.md)
|
|
783
|
+
- [Zernio::CreateStandaloneAdRequestCarouselCardsInner](docs/CreateStandaloneAdRequestCarouselCardsInner.md)
|
|
783
784
|
- [Zernio::CreateStandaloneAdRequestCitiesInner](docs/CreateStandaloneAdRequestCitiesInner.md)
|
|
784
785
|
- [Zernio::CreateStandaloneAdRequestCreativesInner](docs/CreateStandaloneAdRequestCreativesInner.md)
|
|
785
786
|
- [Zernio::CreateStandaloneAdRequestCreativesInnerVideo](docs/CreateStandaloneAdRequestCreativesInnerVideo.md)
|
data/docs/AdsApi.md
CHANGED
|
@@ -2850,6 +2850,10 @@ opts = {
|
|
|
2850
2850
|
level: 'ad', # String | Row granularity
|
|
2851
2851
|
fields: 'fields_example', # String | Comma-separated Graph insights fields (e.g. spend,impressions,frequency,website_purchase_roas). Omitted = Meta's default set.
|
|
2852
2852
|
breakdowns: 'breakdowns_example', # String | Comma-separated Graph breakdowns (e.g. age,gender or publisher_platform).
|
|
2853
|
+
action_breakdowns: 'action_breakdowns_example', # String | Comma-separated Graph action breakdowns. Segments the actions[] arrays in each row.
|
|
2854
|
+
action_attribution_windows: 'action_attribution_windows_example', # String | Comma-separated Meta attribution windows. Action values are returned keyed per window.
|
|
2855
|
+
action_report_time: 'action_report_time_example', # String | When actions are counted: impression, conversion or mixed.
|
|
2856
|
+
use_unified_attribution_setting: true, # Boolean | Use the ad sets' own attribution settings for action counting.
|
|
2853
2857
|
filtering: 'filtering_example', # String | JSON array of Meta filter objects: [{\"field\", \"operator\", \"value\"}]. Applied server-side by Meta.
|
|
2854
2858
|
date_preset: 'date_preset_example', # String | Meta date_preset (e.g. last_7d, last_30d, this_month). Mutually exclusive with fromDate/toDate.
|
|
2855
2859
|
from_date: Date.parse('2013-10-20'), # Date | Start of range (YYYY-MM-DD); requires toDate.
|
|
@@ -2895,6 +2899,10 @@ end
|
|
|
2895
2899
|
| **level** | **String** | Row granularity | [optional] |
|
|
2896
2900
|
| **fields** | **String** | Comma-separated Graph insights fields (e.g. spend,impressions,frequency,website_purchase_roas). Omitted = Meta's default set. | [optional] |
|
|
2897
2901
|
| **breakdowns** | **String** | Comma-separated Graph breakdowns (e.g. age,gender or publisher_platform). | [optional] |
|
|
2902
|
+
| **action_breakdowns** | **String** | Comma-separated Graph action breakdowns. Segments the actions[] arrays in each row. | [optional] |
|
|
2903
|
+
| **action_attribution_windows** | **String** | Comma-separated Meta attribution windows. Action values are returned keyed per window. | [optional] |
|
|
2904
|
+
| **action_report_time** | **String** | When actions are counted: impression, conversion or mixed. | [optional] |
|
|
2905
|
+
| **use_unified_attribution_setting** | **Boolean** | Use the ad sets' own attribution settings for action counting. | [optional] |
|
|
2898
2906
|
| **filtering** | **String** | JSON array of Meta filter objects: [{\"field\", \"operator\", \"value\"}]. Applied server-side by Meta. | [optional] |
|
|
2899
2907
|
| **date_preset** | **String** | Meta date_preset (e.g. last_7d, last_30d, this_month). Mutually exclusive with fromDate/toDate. | [optional] |
|
|
2900
2908
|
| **from_date** | **Date** | Start of range (YYYY-MM-DD); requires toDate. | [optional] |
|
|
@@ -9,6 +9,10 @@
|
|
|
9
9
|
| **level** | **String** | | [optional] |
|
|
10
10
|
| **fields** | **String** | Comma-separated Graph insights fields. | [optional] |
|
|
11
11
|
| **breakdowns** | **String** | Comma-separated Graph breakdowns. | [optional] |
|
|
12
|
+
| **action_breakdowns** | **String** | Comma-separated Graph action breakdowns (e.g. action_type,action_destination). | [optional] |
|
|
13
|
+
| **action_attribution_windows** | **Array<String>** | Meta attribution windows (e.g. [\"7d_click\", \"1d_view\"]). Action values are returned keyed per window. | [optional] |
|
|
14
|
+
| **action_report_time** | **String** | When actions are counted: impression, conversion or mixed. | [optional] |
|
|
15
|
+
| **use_unified_attribution_setting** | **Boolean** | Use the ad sets' own attribution settings for action counting. | [optional] |
|
|
12
16
|
| **filtering** | [**Array<CreateAdInsightsReportRequestFilteringInner>**](CreateAdInsightsReportRequestFilteringInner.md) | Meta filter objects, applied server-side. | [optional] |
|
|
13
17
|
| **date_preset** | **String** | Mutually exclusive with fromDate/toDate. | [optional] |
|
|
14
18
|
| **from_date** | **Date** | | [optional] |
|
|
@@ -26,6 +30,10 @@ instance = Zernio::CreateAdInsightsReportRequest.new(
|
|
|
26
30
|
level: null,
|
|
27
31
|
fields: null,
|
|
28
32
|
breakdowns: null,
|
|
33
|
+
action_breakdowns: null,
|
|
34
|
+
action_attribution_windows: null,
|
|
35
|
+
action_report_time: null,
|
|
36
|
+
use_unified_attribution_setting: null,
|
|
29
37
|
filtering: null,
|
|
30
38
|
date_preset: null,
|
|
31
39
|
from_date: null,
|
|
@@ -57,6 +57,7 @@
|
|
|
57
57
|
| **start_date** | **Time** | Meta only. Ad-set start time (ISO 8601, e.g. \"2026-06-10T09:00:00Z\"), mapped to the ad set's `start_time`. When omitted the ad starts delivering immediately. For lifetime budgets Meta also requires `endDate`. (Same `schedule.startDate` semantics already available on `POST /v1/ads/boost`.) | [optional] |
|
|
58
58
|
| **instagram_account_id** | **String** | Meta only. Override the Instagram account the ad is delivered as — pass an Instagram Business Account ID (e.g. 17841...), mapped to the creative's `instagram_user_id`. When omitted we auto-resolve the IG account linked to the connected Facebook Page (the existing default). Useful when a Page has more than one eligible IG account. | [optional] |
|
|
59
59
|
| **dynamic_creative** | [**CreateStandaloneAdRequestDynamicCreative**](CreateStandaloneAdRequestDynamicCreative.md) | | [optional] |
|
|
60
|
+
| **carousel_cards** | [**Array<CreateStandaloneAdRequestCarouselCardsInner>**](CreateStandaloneAdRequestCarouselCardsInner.md) | Meta only. Hand-built carousel: 2-10 authored cards in DETERMINISTIC order, mapped to the creative's `link_data.child_attachments`. Unlike `dynamicCreative`, you control the card order and per-card copy/link. Requires top-level `body`, `linkUrl` and `callToAction`. Mutually exclusive with `imageUrl`/`video`, `creatives[]`, `dynamicCreative`, `placementAssets`, `existingCreativeId`, `adSetId`, `leadGenFormId` and goal `catalog_sales`. | [optional] |
|
|
60
61
|
| **placement_assets** | [**CreateStandaloneAdRequestPlacementAssets**](CreateStandaloneAdRequestPlacementAssets.md) | | [optional] |
|
|
61
62
|
| **audience_id** | **String** | Custom audience ID for targeting | [optional] |
|
|
62
63
|
| **campaign_type** | **String** | Google only | [optional][default to 'display'] |
|
|
@@ -135,6 +136,7 @@ instance = Zernio::CreateStandaloneAdRequest.new(
|
|
|
135
136
|
start_date: null,
|
|
136
137
|
instagram_account_id: null,
|
|
137
138
|
dynamic_creative: null,
|
|
139
|
+
carousel_cards: null,
|
|
138
140
|
placement_assets: null,
|
|
139
141
|
audience_id: null,
|
|
140
142
|
campaign_type: null,
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Zernio::CreateStandaloneAdRequestCarouselCardsInner
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **image_url** | **String** | Card image; uploaded to the ad account and referenced by hash. | |
|
|
8
|
+
| **link_url** | **String** | Card destination URL. Defaults to the top-level linkUrl. | [optional] |
|
|
9
|
+
| **headline** | **String** | Card headline, shown below the card image. | [optional] |
|
|
10
|
+
| **description** | **String** | Card description, shown under the headline. | [optional] |
|
|
11
|
+
| **call_to_action** | **String** | Card CTA override. Defaults to the top-level callToAction; same enum. | [optional] |
|
|
12
|
+
|
|
13
|
+
## Example
|
|
14
|
+
|
|
15
|
+
```ruby
|
|
16
|
+
require 'zernio-sdk'
|
|
17
|
+
|
|
18
|
+
instance = Zernio::CreateStandaloneAdRequestCarouselCardsInner.new(
|
|
19
|
+
image_url: null,
|
|
20
|
+
link_url: null,
|
|
21
|
+
headline: null,
|
|
22
|
+
description: null,
|
|
23
|
+
call_to_action: null
|
|
24
|
+
)
|
|
25
|
+
```
|
|
26
|
+
|
|
@@ -2841,6 +2841,10 @@ module Zernio
|
|
|
2841
2841
|
# @option opts [String] :level Row granularity
|
|
2842
2842
|
# @option opts [String] :fields Comma-separated Graph insights fields (e.g. spend,impressions,frequency,website_purchase_roas). Omitted = Meta's default set.
|
|
2843
2843
|
# @option opts [String] :breakdowns Comma-separated Graph breakdowns (e.g. age,gender or publisher_platform).
|
|
2844
|
+
# @option opts [String] :action_breakdowns Comma-separated Graph action breakdowns. Segments the actions[] arrays in each row.
|
|
2845
|
+
# @option opts [String] :action_attribution_windows Comma-separated Meta attribution windows. Action values are returned keyed per window.
|
|
2846
|
+
# @option opts [String] :action_report_time When actions are counted: impression, conversion or mixed.
|
|
2847
|
+
# @option opts [Boolean] :use_unified_attribution_setting Use the ad sets' own attribution settings for action counting.
|
|
2844
2848
|
# @option opts [String] :filtering JSON array of Meta filter objects: [{\"field\", \"operator\", \"value\"}]. Applied server-side by Meta.
|
|
2845
2849
|
# @option opts [String] :date_preset Meta date_preset (e.g. last_7d, last_30d, this_month). Mutually exclusive with fromDate/toDate.
|
|
2846
2850
|
# @option opts [Date] :from_date Start of range (YYYY-MM-DD); requires toDate.
|
|
@@ -2862,6 +2866,10 @@ module Zernio
|
|
|
2862
2866
|
# @option opts [String] :level Row granularity
|
|
2863
2867
|
# @option opts [String] :fields Comma-separated Graph insights fields (e.g. spend,impressions,frequency,website_purchase_roas). Omitted = Meta's default set.
|
|
2864
2868
|
# @option opts [String] :breakdowns Comma-separated Graph breakdowns (e.g. age,gender or publisher_platform).
|
|
2869
|
+
# @option opts [String] :action_breakdowns Comma-separated Graph action breakdowns. Segments the actions[] arrays in each row.
|
|
2870
|
+
# @option opts [String] :action_attribution_windows Comma-separated Meta attribution windows. Action values are returned keyed per window.
|
|
2871
|
+
# @option opts [String] :action_report_time When actions are counted: impression, conversion or mixed.
|
|
2872
|
+
# @option opts [Boolean] :use_unified_attribution_setting Use the ad sets' own attribution settings for action counting.
|
|
2865
2873
|
# @option opts [String] :filtering JSON array of Meta filter objects: [{\"field\", \"operator\", \"value\"}]. Applied server-side by Meta.
|
|
2866
2874
|
# @option opts [String] :date_preset Meta date_preset (e.g. last_7d, last_30d, this_month). Mutually exclusive with fromDate/toDate.
|
|
2867
2875
|
# @option opts [Date] :from_date Start of range (YYYY-MM-DD); requires toDate.
|
|
@@ -2904,6 +2912,10 @@ module Zernio
|
|
|
2904
2912
|
query_params[:'level'] = opts[:'level'] if !opts[:'level'].nil?
|
|
2905
2913
|
query_params[:'fields'] = opts[:'fields'] if !opts[:'fields'].nil?
|
|
2906
2914
|
query_params[:'breakdowns'] = opts[:'breakdowns'] if !opts[:'breakdowns'].nil?
|
|
2915
|
+
query_params[:'actionBreakdowns'] = opts[:'action_breakdowns'] if !opts[:'action_breakdowns'].nil?
|
|
2916
|
+
query_params[:'actionAttributionWindows'] = opts[:'action_attribution_windows'] if !opts[:'action_attribution_windows'].nil?
|
|
2917
|
+
query_params[:'actionReportTime'] = opts[:'action_report_time'] if !opts[:'action_report_time'].nil?
|
|
2918
|
+
query_params[:'useUnifiedAttributionSetting'] = opts[:'use_unified_attribution_setting'] if !opts[:'use_unified_attribution_setting'].nil?
|
|
2907
2919
|
query_params[:'filtering'] = opts[:'filtering'] if !opts[:'filtering'].nil?
|
|
2908
2920
|
query_params[:'datePreset'] = opts[:'date_preset'] if !opts[:'date_preset'].nil?
|
|
2909
2921
|
query_params[:'fromDate'] = opts[:'from_date'] if !opts[:'from_date'].nil?
|
|
@@ -29,6 +29,18 @@ module Zernio
|
|
|
29
29
|
# Comma-separated Graph breakdowns.
|
|
30
30
|
attr_accessor :breakdowns
|
|
31
31
|
|
|
32
|
+
# Comma-separated Graph action breakdowns (e.g. action_type,action_destination).
|
|
33
|
+
attr_accessor :action_breakdowns
|
|
34
|
+
|
|
35
|
+
# Meta attribution windows (e.g. [\"7d_click\", \"1d_view\"]). Action values are returned keyed per window.
|
|
36
|
+
attr_accessor :action_attribution_windows
|
|
37
|
+
|
|
38
|
+
# When actions are counted: impression, conversion or mixed.
|
|
39
|
+
attr_accessor :action_report_time
|
|
40
|
+
|
|
41
|
+
# Use the ad sets' own attribution settings for action counting.
|
|
42
|
+
attr_accessor :use_unified_attribution_setting
|
|
43
|
+
|
|
32
44
|
# Meta filter objects, applied server-side.
|
|
33
45
|
attr_accessor :filtering
|
|
34
46
|
|
|
@@ -71,6 +83,10 @@ module Zernio
|
|
|
71
83
|
:'level' => :'level',
|
|
72
84
|
:'fields' => :'fields',
|
|
73
85
|
:'breakdowns' => :'breakdowns',
|
|
86
|
+
:'action_breakdowns' => :'actionBreakdowns',
|
|
87
|
+
:'action_attribution_windows' => :'actionAttributionWindows',
|
|
88
|
+
:'action_report_time' => :'actionReportTime',
|
|
89
|
+
:'use_unified_attribution_setting' => :'useUnifiedAttributionSetting',
|
|
74
90
|
:'filtering' => :'filtering',
|
|
75
91
|
:'date_preset' => :'datePreset',
|
|
76
92
|
:'from_date' => :'fromDate',
|
|
@@ -97,6 +113,10 @@ module Zernio
|
|
|
97
113
|
:'level' => :'String',
|
|
98
114
|
:'fields' => :'String',
|
|
99
115
|
:'breakdowns' => :'String',
|
|
116
|
+
:'action_breakdowns' => :'String',
|
|
117
|
+
:'action_attribution_windows' => :'Array<String>',
|
|
118
|
+
:'action_report_time' => :'String',
|
|
119
|
+
:'use_unified_attribution_setting' => :'Boolean',
|
|
100
120
|
:'filtering' => :'Array<CreateAdInsightsReportRequestFilteringInner>',
|
|
101
121
|
:'date_preset' => :'String',
|
|
102
122
|
:'from_date' => :'Date',
|
|
@@ -151,6 +171,24 @@ module Zernio
|
|
|
151
171
|
self.breakdowns = attributes[:'breakdowns']
|
|
152
172
|
end
|
|
153
173
|
|
|
174
|
+
if attributes.key?(:'action_breakdowns')
|
|
175
|
+
self.action_breakdowns = attributes[:'action_breakdowns']
|
|
176
|
+
end
|
|
177
|
+
|
|
178
|
+
if attributes.key?(:'action_attribution_windows')
|
|
179
|
+
if (value = attributes[:'action_attribution_windows']).is_a?(Array)
|
|
180
|
+
self.action_attribution_windows = value
|
|
181
|
+
end
|
|
182
|
+
end
|
|
183
|
+
|
|
184
|
+
if attributes.key?(:'action_report_time')
|
|
185
|
+
self.action_report_time = attributes[:'action_report_time']
|
|
186
|
+
end
|
|
187
|
+
|
|
188
|
+
if attributes.key?(:'use_unified_attribution_setting')
|
|
189
|
+
self.use_unified_attribution_setting = attributes[:'use_unified_attribution_setting']
|
|
190
|
+
end
|
|
191
|
+
|
|
154
192
|
if attributes.key?(:'filtering')
|
|
155
193
|
if (value = attributes[:'filtering']).is_a?(Array)
|
|
156
194
|
self.filtering = value
|
|
@@ -241,6 +279,10 @@ module Zernio
|
|
|
241
279
|
level == o.level &&
|
|
242
280
|
fields == o.fields &&
|
|
243
281
|
breakdowns == o.breakdowns &&
|
|
282
|
+
action_breakdowns == o.action_breakdowns &&
|
|
283
|
+
action_attribution_windows == o.action_attribution_windows &&
|
|
284
|
+
action_report_time == o.action_report_time &&
|
|
285
|
+
use_unified_attribution_setting == o.use_unified_attribution_setting &&
|
|
244
286
|
filtering == o.filtering &&
|
|
245
287
|
date_preset == o.date_preset &&
|
|
246
288
|
from_date == o.from_date &&
|
|
@@ -257,7 +299,7 @@ module Zernio
|
|
|
257
299
|
# Calculates hash code according to all attributes.
|
|
258
300
|
# @return [Integer] Hash code
|
|
259
301
|
def hash
|
|
260
|
-
[account_id, object_id, level, fields, breakdowns, filtering, date_preset, from_date, to_date, time_increment].hash
|
|
302
|
+
[account_id, object_id, level, fields, breakdowns, action_breakdowns, action_attribution_windows, action_report_time, use_unified_attribution_setting, filtering, date_preset, from_date, to_date, time_increment].hash
|
|
261
303
|
end
|
|
262
304
|
|
|
263
305
|
# Builds the object from hash
|
|
@@ -163,6 +163,9 @@ module Zernio
|
|
|
163
163
|
|
|
164
164
|
attr_accessor :dynamic_creative
|
|
165
165
|
|
|
166
|
+
# Meta only. Hand-built carousel: 2-10 authored cards in DETERMINISTIC order, mapped to the creative's `link_data.child_attachments`. Unlike `dynamicCreative`, you control the card order and per-card copy/link. Requires top-level `body`, `linkUrl` and `callToAction`. Mutually exclusive with `imageUrl`/`video`, `creatives[]`, `dynamicCreative`, `placementAssets`, `existingCreativeId`, `adSetId`, `leadGenFormId` and goal `catalog_sales`.
|
|
167
|
+
attr_accessor :carousel_cards
|
|
168
|
+
|
|
166
169
|
attr_accessor :placement_assets
|
|
167
170
|
|
|
168
171
|
# Custom audience ID for targeting
|
|
@@ -291,6 +294,7 @@ module Zernio
|
|
|
291
294
|
:'start_date' => :'startDate',
|
|
292
295
|
:'instagram_account_id' => :'instagramAccountId',
|
|
293
296
|
:'dynamic_creative' => :'dynamicCreative',
|
|
297
|
+
:'carousel_cards' => :'carouselCards',
|
|
294
298
|
:'placement_assets' => :'placementAssets',
|
|
295
299
|
:'audience_id' => :'audienceId',
|
|
296
300
|
:'campaign_type' => :'campaignType',
|
|
@@ -378,6 +382,7 @@ module Zernio
|
|
|
378
382
|
:'start_date' => :'Time',
|
|
379
383
|
:'instagram_account_id' => :'String',
|
|
380
384
|
:'dynamic_creative' => :'CreateStandaloneAdRequestDynamicCreative',
|
|
385
|
+
:'carousel_cards' => :'Array<CreateStandaloneAdRequestCarouselCardsInner>',
|
|
381
386
|
:'placement_assets' => :'CreateStandaloneAdRequestPlacementAssets',
|
|
382
387
|
:'audience_id' => :'String',
|
|
383
388
|
:'campaign_type' => :'String',
|
|
@@ -665,6 +670,12 @@ module Zernio
|
|
|
665
670
|
self.dynamic_creative = attributes[:'dynamic_creative']
|
|
666
671
|
end
|
|
667
672
|
|
|
673
|
+
if attributes.key?(:'carousel_cards')
|
|
674
|
+
if (value = attributes[:'carousel_cards']).is_a?(Array)
|
|
675
|
+
self.carousel_cards = value
|
|
676
|
+
end
|
|
677
|
+
end
|
|
678
|
+
|
|
668
679
|
if attributes.key?(:'placement_assets')
|
|
669
680
|
self.placement_assets = attributes[:'placement_assets']
|
|
670
681
|
end
|
|
@@ -815,6 +826,14 @@ module Zernio
|
|
|
815
826
|
invalid_properties.push('invalid value for "age_max", must be greater than or equal to 13.')
|
|
816
827
|
end
|
|
817
828
|
|
|
829
|
+
if !@carousel_cards.nil? && @carousel_cards.length > 10
|
|
830
|
+
invalid_properties.push('invalid value for "carousel_cards", number of items must be less than or equal to 10.')
|
|
831
|
+
end
|
|
832
|
+
|
|
833
|
+
if !@carousel_cards.nil? && @carousel_cards.length < 2
|
|
834
|
+
invalid_properties.push('invalid value for "carousel_cards", number of items must be greater than or equal to 2.')
|
|
835
|
+
end
|
|
836
|
+
|
|
818
837
|
if !@attribution_spec.nil? && @attribution_spec.length > 3
|
|
819
838
|
invalid_properties.push('invalid value for "attribution_spec", number of items must be less than or equal to 3.')
|
|
820
839
|
end
|
|
@@ -865,6 +884,8 @@ module Zernio
|
|
|
865
884
|
return false if !@age_max.nil? && @age_max < 13
|
|
866
885
|
income_tier_validator = EnumAttributeValidator.new('String', ["top_5", "top_10", "top_10_25", "top_25_50"])
|
|
867
886
|
return false unless income_tier_validator.valid?(@income_tier)
|
|
887
|
+
return false if !@carousel_cards.nil? && @carousel_cards.length > 10
|
|
888
|
+
return false if !@carousel_cards.nil? && @carousel_cards.length < 2
|
|
868
889
|
campaign_type_validator = EnumAttributeValidator.new('String', ["display", "search"])
|
|
869
890
|
return false unless campaign_type_validator.valid?(@campaign_type)
|
|
870
891
|
advantage_audience_validator = EnumAttributeValidator.new('Integer', [0, 1])
|
|
@@ -1108,6 +1129,24 @@ module Zernio
|
|
|
1108
1129
|
@income_tier = income_tier
|
|
1109
1130
|
end
|
|
1110
1131
|
|
|
1132
|
+
# Custom attribute writer method with validation
|
|
1133
|
+
# @param [Object] carousel_cards Value to be assigned
|
|
1134
|
+
def carousel_cards=(carousel_cards)
|
|
1135
|
+
if carousel_cards.nil?
|
|
1136
|
+
fail ArgumentError, 'carousel_cards cannot be nil'
|
|
1137
|
+
end
|
|
1138
|
+
|
|
1139
|
+
if carousel_cards.length > 10
|
|
1140
|
+
fail ArgumentError, 'invalid value for "carousel_cards", number of items must be less than or equal to 10.'
|
|
1141
|
+
end
|
|
1142
|
+
|
|
1143
|
+
if carousel_cards.length < 2
|
|
1144
|
+
fail ArgumentError, 'invalid value for "carousel_cards", number of items must be greater than or equal to 2.'
|
|
1145
|
+
end
|
|
1146
|
+
|
|
1147
|
+
@carousel_cards = carousel_cards
|
|
1148
|
+
end
|
|
1149
|
+
|
|
1111
1150
|
# Custom attribute writer method checking allowed values (enum).
|
|
1112
1151
|
# @param [Object] campaign_type Object to be assigned
|
|
1113
1152
|
def campaign_type=(campaign_type)
|
|
@@ -1252,6 +1291,7 @@ module Zernio
|
|
|
1252
1291
|
start_date == o.start_date &&
|
|
1253
1292
|
instagram_account_id == o.instagram_account_id &&
|
|
1254
1293
|
dynamic_creative == o.dynamic_creative &&
|
|
1294
|
+
carousel_cards == o.carousel_cards &&
|
|
1255
1295
|
placement_assets == o.placement_assets &&
|
|
1256
1296
|
audience_id == o.audience_id &&
|
|
1257
1297
|
campaign_type == o.campaign_type &&
|
|
@@ -1281,7 +1321,7 @@ module Zernio
|
|
|
1281
1321
|
# Calculates hash code according to all attributes.
|
|
1282
1322
|
# @return [Integer] Hash code
|
|
1283
1323
|
def hash
|
|
1284
|
-
[account_id, ad_account_id, name, campaign_name, ad_set_name, ad_name, tracking, goal, optimization_goal, billing_event, budget_amount, budget_type, status, budget_level, currency, headline, long_headline, body, description, call_to_action, link_url, lead_gen_form_id, image_url, images, video, creatives, ad_set_id, existing_campaign_id, existing_creative_id, business_name, board_id, organization_id, targeting, countries, cities, regions, age_min, age_max, interests, zips, metros, custom_locations, behaviors, income_tier, languages, placements, saved_targeting_id, raw_targeting, special_ad_categories, end_date, start_date, instagram_account_id, dynamic_creative, placement_assets, audience_id, campaign_type, keywords, additional_headlines, additional_descriptions, advantage_audience, attribution_spec, gender, bid_strategy, bid_amount, roas_average_floor, platform_specific_data, dsa_beneficiary, dsa_payor, brand_identity, identity_type, promoted_object].hash
|
|
1324
|
+
[account_id, ad_account_id, name, campaign_name, ad_set_name, ad_name, tracking, goal, optimization_goal, billing_event, budget_amount, budget_type, status, budget_level, currency, headline, long_headline, body, description, call_to_action, link_url, lead_gen_form_id, image_url, images, video, creatives, ad_set_id, existing_campaign_id, existing_creative_id, business_name, board_id, organization_id, targeting, countries, cities, regions, age_min, age_max, interests, zips, metros, custom_locations, behaviors, income_tier, languages, placements, saved_targeting_id, raw_targeting, special_ad_categories, end_date, start_date, instagram_account_id, dynamic_creative, carousel_cards, placement_assets, audience_id, campaign_type, keywords, additional_headlines, additional_descriptions, advantage_audience, attribution_spec, gender, bid_strategy, bid_amount, roas_average_floor, platform_specific_data, dsa_beneficiary, dsa_payor, brand_identity, identity_type, promoted_object].hash
|
|
1285
1325
|
end
|
|
1286
1326
|
|
|
1287
1327
|
# Builds the object from hash
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Zernio API
|
|
3
|
+
|
|
4
|
+
#API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.4
|
|
7
|
+
Contact: support@zernio.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.19.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'date'
|
|
14
|
+
require 'time'
|
|
15
|
+
|
|
16
|
+
module Zernio
|
|
17
|
+
class CreateStandaloneAdRequestCarouselCardsInner < ApiModelBase
|
|
18
|
+
# Card image; uploaded to the ad account and referenced by hash.
|
|
19
|
+
attr_accessor :image_url
|
|
20
|
+
|
|
21
|
+
# Card destination URL. Defaults to the top-level linkUrl.
|
|
22
|
+
attr_accessor :link_url
|
|
23
|
+
|
|
24
|
+
# Card headline, shown below the card image.
|
|
25
|
+
attr_accessor :headline
|
|
26
|
+
|
|
27
|
+
# Card description, shown under the headline.
|
|
28
|
+
attr_accessor :description
|
|
29
|
+
|
|
30
|
+
# Card CTA override. Defaults to the top-level callToAction; same enum.
|
|
31
|
+
attr_accessor :call_to_action
|
|
32
|
+
|
|
33
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
|
34
|
+
def self.attribute_map
|
|
35
|
+
{
|
|
36
|
+
:'image_url' => :'imageUrl',
|
|
37
|
+
:'link_url' => :'linkUrl',
|
|
38
|
+
:'headline' => :'headline',
|
|
39
|
+
:'description' => :'description',
|
|
40
|
+
:'call_to_action' => :'callToAction'
|
|
41
|
+
}
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
# Returns attribute mapping this model knows about
|
|
45
|
+
def self.acceptable_attribute_map
|
|
46
|
+
attribute_map
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# Returns all the JSON keys this model knows about
|
|
50
|
+
def self.acceptable_attributes
|
|
51
|
+
acceptable_attribute_map.values
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
# Attribute type mapping.
|
|
55
|
+
def self.openapi_types
|
|
56
|
+
{
|
|
57
|
+
:'image_url' => :'String',
|
|
58
|
+
:'link_url' => :'String',
|
|
59
|
+
:'headline' => :'String',
|
|
60
|
+
:'description' => :'String',
|
|
61
|
+
:'call_to_action' => :'String'
|
|
62
|
+
}
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
# List of attributes with nullable: true
|
|
66
|
+
def self.openapi_nullable
|
|
67
|
+
Set.new([
|
|
68
|
+
])
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
# Initializes the object
|
|
72
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
73
|
+
def initialize(attributes = {})
|
|
74
|
+
if (!attributes.is_a?(Hash))
|
|
75
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `Zernio::CreateStandaloneAdRequestCarouselCardsInner` initialize method"
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
|
79
|
+
acceptable_attribute_map = self.class.acceptable_attribute_map
|
|
80
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
81
|
+
if (!acceptable_attribute_map.key?(k.to_sym))
|
|
82
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `Zernio::CreateStandaloneAdRequestCarouselCardsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
|
|
83
|
+
end
|
|
84
|
+
h[k.to_sym] = v
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
if attributes.key?(:'image_url')
|
|
88
|
+
self.image_url = attributes[:'image_url']
|
|
89
|
+
else
|
|
90
|
+
self.image_url = nil
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
if attributes.key?(:'link_url')
|
|
94
|
+
self.link_url = attributes[:'link_url']
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
if attributes.key?(:'headline')
|
|
98
|
+
self.headline = attributes[:'headline']
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
if attributes.key?(:'description')
|
|
102
|
+
self.description = attributes[:'description']
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
if attributes.key?(:'call_to_action')
|
|
106
|
+
self.call_to_action = attributes[:'call_to_action']
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
|
111
|
+
# @return Array for valid properties with the reasons
|
|
112
|
+
def list_invalid_properties
|
|
113
|
+
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
|
114
|
+
invalid_properties = Array.new
|
|
115
|
+
if @image_url.nil?
|
|
116
|
+
invalid_properties.push('invalid value for "image_url", image_url cannot be nil.')
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
if !@headline.nil? && @headline.to_s.length > 255
|
|
120
|
+
invalid_properties.push('invalid value for "headline", the character length must be smaller than or equal to 255.')
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
if !@description.nil? && @description.to_s.length > 255
|
|
124
|
+
invalid_properties.push('invalid value for "description", the character length must be smaller than or equal to 255.')
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
invalid_properties
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
# Check to see if the all the properties in the model are valid
|
|
131
|
+
# @return true if the model is valid
|
|
132
|
+
def valid?
|
|
133
|
+
warn '[DEPRECATED] the `valid?` method is obsolete'
|
|
134
|
+
return false if @image_url.nil?
|
|
135
|
+
return false if !@headline.nil? && @headline.to_s.length > 255
|
|
136
|
+
return false if !@description.nil? && @description.to_s.length > 255
|
|
137
|
+
true
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
# Custom attribute writer method with validation
|
|
141
|
+
# @param [Object] image_url Value to be assigned
|
|
142
|
+
def image_url=(image_url)
|
|
143
|
+
if image_url.nil?
|
|
144
|
+
fail ArgumentError, 'image_url cannot be nil'
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
@image_url = image_url
|
|
148
|
+
end
|
|
149
|
+
|
|
150
|
+
# Custom attribute writer method with validation
|
|
151
|
+
# @param [Object] headline Value to be assigned
|
|
152
|
+
def headline=(headline)
|
|
153
|
+
if headline.nil?
|
|
154
|
+
fail ArgumentError, 'headline cannot be nil'
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
if headline.to_s.length > 255
|
|
158
|
+
fail ArgumentError, 'invalid value for "headline", the character length must be smaller than or equal to 255.'
|
|
159
|
+
end
|
|
160
|
+
|
|
161
|
+
@headline = headline
|
|
162
|
+
end
|
|
163
|
+
|
|
164
|
+
# Custom attribute writer method with validation
|
|
165
|
+
# @param [Object] description Value to be assigned
|
|
166
|
+
def description=(description)
|
|
167
|
+
if description.nil?
|
|
168
|
+
fail ArgumentError, 'description cannot be nil'
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
if description.to_s.length > 255
|
|
172
|
+
fail ArgumentError, 'invalid value for "description", the character length must be smaller than or equal to 255.'
|
|
173
|
+
end
|
|
174
|
+
|
|
175
|
+
@description = description
|
|
176
|
+
end
|
|
177
|
+
|
|
178
|
+
# Checks equality by comparing each attribute.
|
|
179
|
+
# @param [Object] Object to be compared
|
|
180
|
+
def ==(o)
|
|
181
|
+
return true if self.equal?(o)
|
|
182
|
+
self.class == o.class &&
|
|
183
|
+
image_url == o.image_url &&
|
|
184
|
+
link_url == o.link_url &&
|
|
185
|
+
headline == o.headline &&
|
|
186
|
+
description == o.description &&
|
|
187
|
+
call_to_action == o.call_to_action
|
|
188
|
+
end
|
|
189
|
+
|
|
190
|
+
# @see the `==` method
|
|
191
|
+
# @param [Object] Object to be compared
|
|
192
|
+
def eql?(o)
|
|
193
|
+
self == o
|
|
194
|
+
end
|
|
195
|
+
|
|
196
|
+
# Calculates hash code according to all attributes.
|
|
197
|
+
# @return [Integer] Hash code
|
|
198
|
+
def hash
|
|
199
|
+
[image_url, link_url, headline, description, call_to_action].hash
|
|
200
|
+
end
|
|
201
|
+
|
|
202
|
+
# Builds the object from hash
|
|
203
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
204
|
+
# @return [Object] Returns the model itself
|
|
205
|
+
def self.build_from_hash(attributes)
|
|
206
|
+
return nil unless attributes.is_a?(Hash)
|
|
207
|
+
attributes = attributes.transform_keys(&:to_sym)
|
|
208
|
+
transformed_hash = {}
|
|
209
|
+
openapi_types.each_pair do |key, type|
|
|
210
|
+
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
|
|
211
|
+
transformed_hash["#{key}"] = nil
|
|
212
|
+
elsif type =~ /\AArray<(.*)>/i
|
|
213
|
+
# check to ensure the input is an array given that the attribute
|
|
214
|
+
# is documented as an array but the input is not
|
|
215
|
+
if attributes[attribute_map[key]].is_a?(Array)
|
|
216
|
+
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
|
|
217
|
+
end
|
|
218
|
+
elsif !attributes[attribute_map[key]].nil?
|
|
219
|
+
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
|
|
220
|
+
end
|
|
221
|
+
end
|
|
222
|
+
new(transformed_hash)
|
|
223
|
+
end
|
|
224
|
+
|
|
225
|
+
# Returns the object in the form of hash
|
|
226
|
+
# @return [Hash] Returns the object in the form of hash
|
|
227
|
+
def to_hash
|
|
228
|
+
hash = {}
|
|
229
|
+
self.class.attribute_map.each_pair do |attr, param|
|
|
230
|
+
value = self.send(attr)
|
|
231
|
+
if value.nil?
|
|
232
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
|
233
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
|
234
|
+
end
|
|
235
|
+
|
|
236
|
+
hash[param] = _to_hash(value)
|
|
237
|
+
end
|
|
238
|
+
hash
|
|
239
|
+
end
|
|
240
|
+
|
|
241
|
+
end
|
|
242
|
+
|
|
243
|
+
end
|
data/lib/zernio-sdk/version.rb
CHANGED
data/lib/zernio-sdk.rb
CHANGED
|
@@ -248,6 +248,7 @@ require 'zernio-sdk/models/create_standalone_ad_request'
|
|
|
248
248
|
require 'zernio-sdk/models/create_standalone_ad_request_attribution_spec_inner'
|
|
249
249
|
require 'zernio-sdk/models/create_standalone_ad_request_behaviors_inner'
|
|
250
250
|
require 'zernio-sdk/models/create_standalone_ad_request_brand_identity'
|
|
251
|
+
require 'zernio-sdk/models/create_standalone_ad_request_carousel_cards_inner'
|
|
251
252
|
require 'zernio-sdk/models/create_standalone_ad_request_cities_inner'
|
|
252
253
|
require 'zernio-sdk/models/create_standalone_ad_request_creatives_inner'
|
|
253
254
|
require 'zernio-sdk/models/create_standalone_ad_request_creatives_inner_video'
|
data/openapi.yaml
CHANGED
|
@@ -33272,6 +33272,10 @@ paths:
|
|
|
33272
33272
|
- { name: level, in: query, schema: { type: string, enum: [ad, adset, campaign, account] }, description: Row granularity }
|
|
33273
33273
|
- { name: fields, in: query, schema: { type: string }, description: "Comma-separated Graph insights fields (e.g. spend,impressions,frequency,website_purchase_roas). Omitted = Meta's default set." }
|
|
33274
33274
|
- { name: breakdowns, in: query, schema: { type: string }, description: "Comma-separated Graph breakdowns (e.g. age,gender or publisher_platform)." }
|
|
33275
|
+
- { name: actionBreakdowns, in: query, schema: { type: string }, description: "Comma-separated Graph action breakdowns. Segments the actions[] arrays in each row." }
|
|
33276
|
+
- { name: actionAttributionWindows, in: query, schema: { type: string }, description: "Comma-separated Meta attribution windows. Action values are returned keyed per window." }
|
|
33277
|
+
- { name: actionReportTime, in: query, schema: { type: string }, description: "When actions are counted: impression, conversion or mixed." }
|
|
33278
|
+
- { name: useUnifiedAttributionSetting, in: query, schema: { type: boolean }, description: "Use the ad sets' own attribution settings for action counting." }
|
|
33275
33279
|
- { name: filtering, in: query, schema: { type: string }, description: "JSON array of Meta filter objects: [{\"field\", \"operator\", \"value\"}]. Applied server-side by Meta." }
|
|
33276
33280
|
- { name: datePreset, in: query, schema: { type: string }, description: "Meta date_preset (e.g. last_7d, last_30d, this_month). Mutually exclusive with fromDate/toDate." }
|
|
33277
33281
|
- { name: fromDate, in: query, schema: { type: string, format: date }, description: "Start of range (YYYY-MM-DD); requires toDate." }
|
|
@@ -33325,6 +33329,13 @@ paths:
|
|
|
33325
33329
|
level: { type: string, enum: [ad, adset, campaign, account] }
|
|
33326
33330
|
fields: { type: string, description: "Comma-separated Graph insights fields." }
|
|
33327
33331
|
breakdowns: { type: string, description: "Comma-separated Graph breakdowns." }
|
|
33332
|
+
actionBreakdowns: { type: string, description: "Comma-separated Graph action breakdowns (e.g. action_type,action_destination)." }
|
|
33333
|
+
actionAttributionWindows:
|
|
33334
|
+
type: array
|
|
33335
|
+
items: { type: string }
|
|
33336
|
+
description: "Meta attribution windows (e.g. [\"7d_click\", \"1d_view\"]). Action values are returned keyed per window."
|
|
33337
|
+
actionReportTime: { type: string, description: "When actions are counted: impression, conversion or mixed." }
|
|
33338
|
+
useUnifiedAttributionSetting: { type: boolean, description: "Use the ad sets' own attribution settings for action counting." }
|
|
33328
33339
|
filtering:
|
|
33329
33340
|
type: array
|
|
33330
33341
|
description: "Meta filter objects, applied server-side."
|
|
@@ -34517,6 +34528,27 @@ paths:
|
|
|
34517
34528
|
enum: [SINGLE_IMAGE, CAROUSEL_IMAGE]
|
|
34518
34529
|
default: SINGLE_IMAGE
|
|
34519
34530
|
description: "Asset-feed ad format. Defaults to SINGLE_IMAGE."
|
|
34531
|
+
carouselCards:
|
|
34532
|
+
type: array
|
|
34533
|
+
minItems: 2
|
|
34534
|
+
maxItems: 10
|
|
34535
|
+
description: |
|
|
34536
|
+
Meta only. Hand-built carousel: 2-10 authored cards in DETERMINISTIC order, mapped to
|
|
34537
|
+
the creative's `link_data.child_attachments`. Unlike `dynamicCreative`,
|
|
34538
|
+
you control the card order and per-card copy/link. Requires top-level `body`,
|
|
34539
|
+
`linkUrl` and `callToAction`.
|
|
34540
|
+
Mutually exclusive with `imageUrl`/`video`, `creatives[]`, `dynamicCreative`,
|
|
34541
|
+
`placementAssets`, `existingCreativeId`, `adSetId`, `leadGenFormId` and goal
|
|
34542
|
+
`catalog_sales`.
|
|
34543
|
+
items:
|
|
34544
|
+
type: object
|
|
34545
|
+
required: [imageUrl]
|
|
34546
|
+
properties:
|
|
34547
|
+
imageUrl: { type: string, format: uri, description: "Card image; uploaded to the ad account and referenced by hash." }
|
|
34548
|
+
linkUrl: { type: string, format: uri, description: "Card destination URL. Defaults to the top-level linkUrl." }
|
|
34549
|
+
headline: { type: string, maxLength: 255, description: "Card headline, shown below the card image." }
|
|
34550
|
+
description: { type: string, maxLength: 255, description: "Card description, shown under the headline." }
|
|
34551
|
+
callToAction: { type: string, description: "Card CTA override. Defaults to the top-level callToAction; same enum." }
|
|
34520
34552
|
placementAssets:
|
|
34521
34553
|
type: object
|
|
34522
34554
|
description: |
|
data/spec/api/ads_api_spec.rb
CHANGED
|
@@ -558,6 +558,10 @@ describe 'AdsApi' do
|
|
|
558
558
|
# @option opts [String] :level Row granularity
|
|
559
559
|
# @option opts [String] :fields Comma-separated Graph insights fields (e.g. spend,impressions,frequency,website_purchase_roas). Omitted = Meta's default set.
|
|
560
560
|
# @option opts [String] :breakdowns Comma-separated Graph breakdowns (e.g. age,gender or publisher_platform).
|
|
561
|
+
# @option opts [String] :action_breakdowns Comma-separated Graph action breakdowns. Segments the actions[] arrays in each row.
|
|
562
|
+
# @option opts [String] :action_attribution_windows Comma-separated Meta attribution windows. Action values are returned keyed per window.
|
|
563
|
+
# @option opts [String] :action_report_time When actions are counted: impression, conversion or mixed.
|
|
564
|
+
# @option opts [Boolean] :use_unified_attribution_setting Use the ad sets' own attribution settings for action counting.
|
|
561
565
|
# @option opts [String] :filtering JSON array of Meta filter objects: [{\"field\", \"operator\", \"value\"}]. Applied server-side by Meta.
|
|
562
566
|
# @option opts [String] :date_preset Meta date_preset (e.g. last_7d, last_30d, this_month). Mutually exclusive with fromDate/toDate.
|
|
563
567
|
# @option opts [Date] :from_date Start of range (YYYY-MM-DD); requires toDate.
|
|
@@ -61,6 +61,30 @@ describe Zernio::CreateAdInsightsReportRequest do
|
|
|
61
61
|
end
|
|
62
62
|
end
|
|
63
63
|
|
|
64
|
+
describe 'test attribute "action_breakdowns"' do
|
|
65
|
+
it 'should work' do
|
|
66
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
describe 'test attribute "action_attribution_windows"' do
|
|
71
|
+
it 'should work' do
|
|
72
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
describe 'test attribute "action_report_time"' do
|
|
77
|
+
it 'should work' do
|
|
78
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
describe 'test attribute "use_unified_attribution_setting"' do
|
|
83
|
+
it 'should work' do
|
|
84
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
|
|
64
88
|
describe 'test attribute "filtering"' do
|
|
65
89
|
it 'should work' do
|
|
66
90
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Zernio API
|
|
3
|
+
|
|
4
|
+
#API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.4
|
|
7
|
+
Contact: support@zernio.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.19.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for Zernio::CreateStandaloneAdRequestCarouselCardsInner
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe Zernio::CreateStandaloneAdRequestCarouselCardsInner do
|
|
21
|
+
#let(:instance) { Zernio::CreateStandaloneAdRequestCarouselCardsInner.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of CreateStandaloneAdRequestCarouselCardsInner' do
|
|
24
|
+
it 'should create an instance of CreateStandaloneAdRequestCarouselCardsInner' do
|
|
25
|
+
# uncomment below to test the instance creation
|
|
26
|
+
#expect(instance).to be_instance_of(Zernio::CreateStandaloneAdRequestCarouselCardsInner)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "image_url"' do
|
|
31
|
+
it 'should work' do
|
|
32
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
describe 'test attribute "link_url"' do
|
|
37
|
+
it 'should work' do
|
|
38
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
describe 'test attribute "headline"' do
|
|
43
|
+
it 'should work' do
|
|
44
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
describe 'test attribute "description"' do
|
|
49
|
+
it 'should work' do
|
|
50
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
describe 'test attribute "call_to_action"' do
|
|
55
|
+
it 'should work' do
|
|
56
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
end
|
|
@@ -373,6 +373,12 @@ describe Zernio::CreateStandaloneAdRequest do
|
|
|
373
373
|
end
|
|
374
374
|
end
|
|
375
375
|
|
|
376
|
+
describe 'test attribute "carousel_cards"' do
|
|
377
|
+
it 'should work' do
|
|
378
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
379
|
+
end
|
|
380
|
+
end
|
|
381
|
+
|
|
376
382
|
describe 'test attribute "placement_assets"' do
|
|
377
383
|
it 'should work' do
|
|
378
384
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: zernio-sdk
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.529
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- OpenAPI-Generator
|
|
@@ -307,6 +307,7 @@ files:
|
|
|
307
307
|
- docs/CreateStandaloneAdRequestAttributionSpecInner.md
|
|
308
308
|
- docs/CreateStandaloneAdRequestBehaviorsInner.md
|
|
309
309
|
- docs/CreateStandaloneAdRequestBrandIdentity.md
|
|
310
|
+
- docs/CreateStandaloneAdRequestCarouselCardsInner.md
|
|
310
311
|
- docs/CreateStandaloneAdRequestCitiesInner.md
|
|
311
312
|
- docs/CreateStandaloneAdRequestCreativesInner.md
|
|
312
313
|
- docs/CreateStandaloneAdRequestCreativesInnerVideo.md
|
|
@@ -1825,6 +1826,7 @@ files:
|
|
|
1825
1826
|
- lib/zernio-sdk/models/create_standalone_ad_request_attribution_spec_inner.rb
|
|
1826
1827
|
- lib/zernio-sdk/models/create_standalone_ad_request_behaviors_inner.rb
|
|
1827
1828
|
- lib/zernio-sdk/models/create_standalone_ad_request_brand_identity.rb
|
|
1829
|
+
- lib/zernio-sdk/models/create_standalone_ad_request_carousel_cards_inner.rb
|
|
1828
1830
|
- lib/zernio-sdk/models/create_standalone_ad_request_cities_inner.rb
|
|
1829
1831
|
- lib/zernio-sdk/models/create_standalone_ad_request_creatives_inner.rb
|
|
1830
1832
|
- lib/zernio-sdk/models/create_standalone_ad_request_creatives_inner_video.rb
|
|
@@ -3296,6 +3298,7 @@ files:
|
|
|
3296
3298
|
- spec/models/create_standalone_ad_request_attribution_spec_inner_spec.rb
|
|
3297
3299
|
- spec/models/create_standalone_ad_request_behaviors_inner_spec.rb
|
|
3298
3300
|
- spec/models/create_standalone_ad_request_brand_identity_spec.rb
|
|
3301
|
+
- spec/models/create_standalone_ad_request_carousel_cards_inner_spec.rb
|
|
3299
3302
|
- spec/models/create_standalone_ad_request_cities_inner_spec.rb
|
|
3300
3303
|
- spec/models/create_standalone_ad_request_creatives_inner_spec.rb
|
|
3301
3304
|
- spec/models/create_standalone_ad_request_creatives_inner_video_spec.rb
|
|
@@ -5671,6 +5674,7 @@ test_files:
|
|
|
5671
5674
|
- spec/models/get_you_tube_demographics412_response_scope_status_spec.rb
|
|
5672
5675
|
- spec/models/update_google_business_location_details_request_categories_additional_categories_inner_spec.rb
|
|
5673
5676
|
- spec/models/update_workflow_request_spec.rb
|
|
5677
|
+
- spec/models/create_standalone_ad_request_carousel_cards_inner_spec.rb
|
|
5674
5678
|
- spec/models/validate_phone_number_kyc_address_request_spec.rb
|
|
5675
5679
|
- spec/models/sync_external_posts200_response_synced_spec.rb
|
|
5676
5680
|
- spec/models/create_account_group201_response_group_spec.rb
|