zernio-sdk 0.0.737 → 0.0.739
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/AdTreeAdSet.md +2 -0
- data/docs/AdTreeCampaign.md +2 -0
- data/docs/CreateCallAdRequest.md +1 -1
- data/docs/CreateMessagingAdRequest.md +1 -1
- data/docs/CtwaAdRequestBody.md +1 -1
- data/docs/ListBroadcastRecipients200Response.md +3 -1
- data/docs/ListBroadcastRecipients200ResponseSummary.md +28 -0
- data/lib/zernio-sdk/models/ad_tree_ad_set.rb +12 -1
- data/lib/zernio-sdk/models/ad_tree_campaign.rb +12 -1
- data/lib/zernio-sdk/models/create_call_ad_request.rb +1 -1
- data/lib/zernio-sdk/models/create_messaging_ad_request.rb +1 -1
- data/lib/zernio-sdk/models/ctwa_ad_request_body.rb +1 -1
- data/lib/zernio-sdk/models/list_broadcast_recipients200_response.rb +13 -4
- data/lib/zernio-sdk/models/list_broadcast_recipients200_response_summary.rb +193 -0
- data/lib/zernio-sdk/version.rb +1 -1
- data/lib/zernio-sdk.rb +1 -0
- data/openapi.yaml +23 -3
- data/spec/models/ad_tree_ad_set_spec.rb +6 -0
- data/spec/models/ad_tree_campaign_spec.rb +6 -0
- data/spec/models/list_broadcast_recipients200_response_spec.rb +6 -0
- data/spec/models/list_broadcast_recipients200_response_summary_spec.rb +66 -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: 928968c857cd46ee2a5081192f7d3c15857756a79f63b72eacaa0e39425f529f
|
|
4
|
+
data.tar.gz: 1ab4392b72e8e6d77b98aa4181403d3153f1512dc4bf9394b5ee72a18e2e9e05
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b9cf340de0a9052e88c0e5c04aa8da5227ff898fb0f94246f188e444396c1cbbccc3dcd06b9a68eda3b8281808622e07b50f382474f098676758f34d9ae4fafb
|
|
7
|
+
data.tar.gz: e0b1bc4d9913f1a2c59cd04901f257fb7d27fa18d98aa8eaffc31508a7b41d851865b94be11d02ee7ebd2aa0f2a26cd4adb64158a4d798b5c334e34bcb1b3ce6
|
data/README.md
CHANGED
|
@@ -1536,6 +1536,7 @@ Class | Method | HTTP request | Description
|
|
|
1536
1536
|
- [Zernio::ListBlogs200Response](docs/ListBlogs200Response.md)
|
|
1537
1537
|
- [Zernio::ListBroadcastRecipients200Response](docs/ListBroadcastRecipients200Response.md)
|
|
1538
1538
|
- [Zernio::ListBroadcastRecipients200ResponseRecipientsInner](docs/ListBroadcastRecipients200ResponseRecipientsInner.md)
|
|
1539
|
+
- [Zernio::ListBroadcastRecipients200ResponseSummary](docs/ListBroadcastRecipients200ResponseSummary.md)
|
|
1539
1540
|
- [Zernio::ListBroadcasts200Response](docs/ListBroadcasts200Response.md)
|
|
1540
1541
|
- [Zernio::ListBroadcasts200ResponseBroadcastsInner](docs/ListBroadcasts200ResponseBroadcastsInner.md)
|
|
1541
1542
|
- [Zernio::ListCalls200Response](docs/ListCalls200Response.md)
|
data/docs/AdTreeAdSet.md
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
| **platform_ad_set_id** | **String** | | [optional] |
|
|
8
8
|
| **ad_set_name** | **String** | | [optional] |
|
|
9
9
|
| **status** | [**AdStatus**](AdStatus.md) | Derived from child ad statuses | [optional] |
|
|
10
|
+
| **created_time** | **Time** | Earliest `platformCreatedAt` (platform ad creation time; falls back to `createdAt`, Zernio's sync time, for ads synced before that field existed) across this ad set's ads. Not the ad set's own creation time on the platform — a proxy usable for sorting. | [optional] |
|
|
10
11
|
| **ad_count** | **Integer** | | [optional] |
|
|
11
12
|
| **budget** | [**AdTreeAdSetBudget**](AdTreeAdSetBudget.md) | | [optional] |
|
|
12
13
|
| **ad_set_budget** | [**AdTreeAdSetAdSetBudget**](AdTreeAdSetAdSetBudget.md) | | [optional] |
|
|
@@ -30,6 +31,7 @@ instance = Zernio::AdTreeAdSet.new(
|
|
|
30
31
|
platform_ad_set_id: null,
|
|
31
32
|
ad_set_name: null,
|
|
32
33
|
status: null,
|
|
34
|
+
created_time: null,
|
|
33
35
|
ad_count: null,
|
|
34
36
|
budget: null,
|
|
35
37
|
ad_set_budget: null,
|
data/docs/AdTreeCampaign.md
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
| **platform_campaign_id** | **String** | | [optional] |
|
|
8
8
|
| **platform** | **String** | | [optional] |
|
|
9
9
|
| **campaign_name** | **String** | | [optional] |
|
|
10
|
+
| **created_time** | **Time** | Earliest `platformCreatedAt` (platform ad creation time; falls back to `createdAt`, Zernio's sync time, for ads synced before that field existed) across every ad in the campaign. Not the platform campaign's own creation time (Meta's `Campaign.created_time` etc. is not synced) — a campaign created empty and populated later will show its first ad's time, not the campaign's. Usable for sorting \"most recently created\" without the numeric-campaign-id heuristic. Same source as `AdTreeAdSet.createdTime` and `Ad.platformCreatedAt`; mirrors `AdCampaign.earliestAd`. | [optional] |
|
|
10
11
|
| **status** | [**AdStatus**](AdStatus.md) | Delivery status derived from child ad statuses. Distinct from `reviewStatus`, which reflects the platform-side review state. | [optional] |
|
|
11
12
|
| **review_status** | [**AdReviewStatus**](AdReviewStatus.md) | | [optional] |
|
|
12
13
|
| **platform_campaign_status** | **String** | Raw platform-level campaign status (Meta `effective_status`: ACTIVE, PAUSED, DELETED, ARCHIVED, IN_PROCESS, WITH_ISSUES). Distinct from per-ad `platformStatus`. | [optional] |
|
|
@@ -42,6 +43,7 @@ instance = Zernio::AdTreeCampaign.new(
|
|
|
42
43
|
platform_campaign_id: null,
|
|
43
44
|
platform: null,
|
|
44
45
|
campaign_name: null,
|
|
46
|
+
created_time: null,
|
|
45
47
|
status: null,
|
|
46
48
|
review_status: null,
|
|
47
49
|
platform_campaign_status: null,
|
data/docs/CreateCallAdRequest.md
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
| **body** | **String** | Primary text shown above the image / video. Single-creative shape only. Mutually exclusive with `creatives[]`. | [optional] |
|
|
12
12
|
| **image_url** | **String** | Image asset for single-creative shape. Mutually exclusive with `video` and with `creatives[]`. Required on the single-creative shape if `video` is not supplied. | [optional] |
|
|
13
13
|
| **video** | [**CtwaAdRequestBodyVideo**](CtwaAdRequestBodyVideo.md) | | [optional] |
|
|
14
|
-
| **creatives** | [**Array<CtwaAdRequestBodyCreativesInner>**](CtwaAdRequestBodyCreativesInner.md) | Multi-creative shape: N CTWA ads under one campaign + one ad set, sharing budget and targeting. Mutually exclusive with the top-level single-creative fields (`headline` / `body` / `imageUrl` / `video`). Each entry must supply its own headline, body, and exactly one of `imageUrl` / `video`. | [optional] |
|
|
14
|
+
| **creatives** | [**Array<CtwaAdRequestBodyCreativesInner>**](CtwaAdRequestBodyCreativesInner.md) | Multi-creative shape: N CTWA ads under one campaign + one ad set, sharing budget and targeting. Mutually exclusive with the top-level single-creative fields (`headline` / `body` / `imageUrl` / `video`): setting both is a 400, unlike `POST /v1/ads/create` where the top-level fields are silently ignored in multi-creative mode. Each entry must supply its own headline, body, and exactly one of `imageUrl` / `video`. | [optional] |
|
|
15
15
|
| **ad_set_id** | **String** | Attach the creatives to this EXISTING messaging ad set instead of building a campaign, so the ad set keeps its learning phase. It then owns budget, targeting and schedule, so `budgetAmount`, `budgetType`, `endDate`, `objective`, `countries`, `interests`, `audienceId` and `campaignStatus` are rejected with a 400 alongside it. Its `destination_type` must match the ad's destination. | [optional] |
|
|
16
16
|
| **budget_amount** | **Float** | Budget amount in the ad account's currency major units (e.g. dollars for USD, not cents). Must be > 0. Required unless `adSetId` is set, where the ad set owns it. | [optional] |
|
|
17
17
|
| **budget_type** | **String** | Required unless `adSetId` is set. | [optional] |
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
| **body** | **String** | Primary text shown above the image / video. Single-creative shape only. Mutually exclusive with `creatives[]`. | [optional] |
|
|
12
12
|
| **image_url** | **String** | Image asset for single-creative shape. Mutually exclusive with `video` and with `creatives[]`. Required on the single-creative shape if `video` is not supplied. | [optional] |
|
|
13
13
|
| **video** | [**CtwaAdRequestBodyVideo**](CtwaAdRequestBodyVideo.md) | | [optional] |
|
|
14
|
-
| **creatives** | [**Array<CtwaAdRequestBodyCreativesInner>**](CtwaAdRequestBodyCreativesInner.md) | Multi-creative shape: N CTWA ads under one campaign + one ad set, sharing budget and targeting. Mutually exclusive with the top-level single-creative fields (`headline` / `body` / `imageUrl` / `video`). Each entry must supply its own headline, body, and exactly one of `imageUrl` / `video`. | [optional] |
|
|
14
|
+
| **creatives** | [**Array<CtwaAdRequestBodyCreativesInner>**](CtwaAdRequestBodyCreativesInner.md) | Multi-creative shape: N CTWA ads under one campaign + one ad set, sharing budget and targeting. Mutually exclusive with the top-level single-creative fields (`headline` / `body` / `imageUrl` / `video`): setting both is a 400, unlike `POST /v1/ads/create` where the top-level fields are silently ignored in multi-creative mode. Each entry must supply its own headline, body, and exactly one of `imageUrl` / `video`. | [optional] |
|
|
15
15
|
| **ad_set_id** | **String** | Attach the creatives to this EXISTING messaging ad set instead of building a campaign, so the ad set keeps its learning phase. It then owns budget, targeting and schedule, so `budgetAmount`, `budgetType`, `endDate`, `objective`, `countries`, `interests`, `audienceId` and `campaignStatus` are rejected with a 400 alongside it. Its `destination_type` must match the ad's destination. | [optional] |
|
|
16
16
|
| **budget_amount** | **Float** | Budget amount in the ad account's currency major units (e.g. dollars for USD, not cents). Must be > 0. Required unless `adSetId` is set, where the ad set owns it. | [optional] |
|
|
17
17
|
| **budget_type** | **String** | Required unless `adSetId` is set. | [optional] |
|
data/docs/CtwaAdRequestBody.md
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
| **body** | **String** | Primary text shown above the image / video. Single-creative shape only. Mutually exclusive with `creatives[]`. | [optional] |
|
|
12
12
|
| **image_url** | **String** | Image asset for single-creative shape. Mutually exclusive with `video` and with `creatives[]`. Required on the single-creative shape if `video` is not supplied. | [optional] |
|
|
13
13
|
| **video** | [**CtwaAdRequestBodyVideo**](CtwaAdRequestBodyVideo.md) | | [optional] |
|
|
14
|
-
| **creatives** | [**Array<CtwaAdRequestBodyCreativesInner>**](CtwaAdRequestBodyCreativesInner.md) | Multi-creative shape: N CTWA ads under one campaign + one ad set, sharing budget and targeting. Mutually exclusive with the top-level single-creative fields (`headline` / `body` / `imageUrl` / `video`). Each entry must supply its own headline, body, and exactly one of `imageUrl` / `video`. | [optional] |
|
|
14
|
+
| **creatives** | [**Array<CtwaAdRequestBodyCreativesInner>**](CtwaAdRequestBodyCreativesInner.md) | Multi-creative shape: N CTWA ads under one campaign + one ad set, sharing budget and targeting. Mutually exclusive with the top-level single-creative fields (`headline` / `body` / `imageUrl` / `video`): setting both is a 400, unlike `POST /v1/ads/create` where the top-level fields are silently ignored in multi-creative mode. Each entry must supply its own headline, body, and exactly one of `imageUrl` / `video`. | [optional] |
|
|
15
15
|
| **ad_set_id** | **String** | Attach the creatives to this EXISTING messaging ad set instead of building a campaign, so the ad set keeps its learning phase. It then owns budget, targeting and schedule, so `budgetAmount`, `budgetType`, `endDate`, `objective`, `countries`, `interests`, `audienceId` and `campaignStatus` are rejected with a 400 alongside it. Its `destination_type` must match the ad's destination. | [optional] |
|
|
16
16
|
| **budget_amount** | **Float** | Budget amount in the ad account's currency major units (e.g. dollars for USD, not cents). Must be > 0. Required unless `adSetId` is set, where the ad set owns it. | [optional] |
|
|
17
17
|
| **budget_type** | **String** | Required unless `adSetId` is set. | [optional] |
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
| **success** | **Boolean** | | [optional] |
|
|
8
8
|
| **recipients** | [**Array<ListBroadcastRecipients200ResponseRecipientsInner>**](ListBroadcastRecipients200ResponseRecipientsInner.md) | | [optional] |
|
|
9
9
|
| **pagination** | [**ListContacts200ResponsePagination**](ListContacts200ResponsePagination.md) | | [optional] |
|
|
10
|
+
| **summary** | [**ListBroadcastRecipients200ResponseSummary**](ListBroadcastRecipients200ResponseSummary.md) | | [optional] |
|
|
10
11
|
|
|
11
12
|
## Example
|
|
12
13
|
|
|
@@ -16,7 +17,8 @@ require 'zernio-sdk'
|
|
|
16
17
|
instance = Zernio::ListBroadcastRecipients200Response.new(
|
|
17
18
|
success: null,
|
|
18
19
|
recipients: null,
|
|
19
|
-
pagination: null
|
|
20
|
+
pagination: null,
|
|
21
|
+
summary: null
|
|
20
22
|
)
|
|
21
23
|
```
|
|
22
24
|
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Zernio::ListBroadcastRecipients200ResponseSummary
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **total** | **Integer** | | [optional] |
|
|
8
|
+
| **pending** | **Integer** | | [optional] |
|
|
9
|
+
| **sent** | **Integer** | | [optional] |
|
|
10
|
+
| **delivered** | **Integer** | | [optional] |
|
|
11
|
+
| **read** | **Integer** | | [optional] |
|
|
12
|
+
| **failed** | **Integer** | | [optional] |
|
|
13
|
+
|
|
14
|
+
## Example
|
|
15
|
+
|
|
16
|
+
```ruby
|
|
17
|
+
require 'zernio-sdk'
|
|
18
|
+
|
|
19
|
+
instance = Zernio::ListBroadcastRecipients200ResponseSummary.new(
|
|
20
|
+
total: null,
|
|
21
|
+
pending: null,
|
|
22
|
+
sent: null,
|
|
23
|
+
delivered: null,
|
|
24
|
+
read: null,
|
|
25
|
+
failed: null
|
|
26
|
+
)
|
|
27
|
+
```
|
|
28
|
+
|
|
@@ -23,6 +23,9 @@ module Zernio
|
|
|
23
23
|
# Derived from child ad statuses
|
|
24
24
|
attr_accessor :status
|
|
25
25
|
|
|
26
|
+
# Earliest `platformCreatedAt` (platform ad creation time; falls back to `createdAt`, Zernio's sync time, for ads synced before that field existed) across this ad set's ads. Not the ad set's own creation time on the platform — a proxy usable for sorting.
|
|
27
|
+
attr_accessor :created_time
|
|
28
|
+
|
|
26
29
|
attr_accessor :ad_count
|
|
27
30
|
|
|
28
31
|
attr_accessor :budget
|
|
@@ -84,6 +87,7 @@ module Zernio
|
|
|
84
87
|
:'platform_ad_set_id' => :'platformAdSetId',
|
|
85
88
|
:'ad_set_name' => :'adSetName',
|
|
86
89
|
:'status' => :'status',
|
|
90
|
+
:'created_time' => :'createdTime',
|
|
87
91
|
:'ad_count' => :'adCount',
|
|
88
92
|
:'budget' => :'budget',
|
|
89
93
|
:'ad_set_budget' => :'adSetBudget',
|
|
@@ -116,6 +120,7 @@ module Zernio
|
|
|
116
120
|
:'platform_ad_set_id' => :'String',
|
|
117
121
|
:'ad_set_name' => :'String',
|
|
118
122
|
:'status' => :'AdStatus',
|
|
123
|
+
:'created_time' => :'Time',
|
|
119
124
|
:'ad_count' => :'Integer',
|
|
120
125
|
:'budget' => :'AdTreeAdSetBudget',
|
|
121
126
|
:'ad_set_budget' => :'AdTreeAdSetAdSetBudget',
|
|
@@ -135,6 +140,7 @@ module Zernio
|
|
|
135
140
|
# List of attributes with nullable: true
|
|
136
141
|
def self.openapi_nullable
|
|
137
142
|
Set.new([
|
|
143
|
+
:'created_time',
|
|
138
144
|
:'optimization_goal',
|
|
139
145
|
:'bid_strategy',
|
|
140
146
|
:'bid_amount',
|
|
@@ -171,6 +177,10 @@ module Zernio
|
|
|
171
177
|
self.status = attributes[:'status']
|
|
172
178
|
end
|
|
173
179
|
|
|
180
|
+
if attributes.key?(:'created_time')
|
|
181
|
+
self.created_time = attributes[:'created_time']
|
|
182
|
+
end
|
|
183
|
+
|
|
174
184
|
if attributes.key?(:'ad_count')
|
|
175
185
|
self.ad_count = attributes[:'ad_count']
|
|
176
186
|
end
|
|
@@ -253,6 +263,7 @@ module Zernio
|
|
|
253
263
|
platform_ad_set_id == o.platform_ad_set_id &&
|
|
254
264
|
ad_set_name == o.ad_set_name &&
|
|
255
265
|
status == o.status &&
|
|
266
|
+
created_time == o.created_time &&
|
|
256
267
|
ad_count == o.ad_count &&
|
|
257
268
|
budget == o.budget &&
|
|
258
269
|
ad_set_budget == o.ad_set_budget &&
|
|
@@ -277,7 +288,7 @@ module Zernio
|
|
|
277
288
|
# Calculates hash code according to all attributes.
|
|
278
289
|
# @return [Integer] Hash code
|
|
279
290
|
def hash
|
|
280
|
-
[platform_ad_set_id, ad_set_name, status, ad_count, budget, ad_set_budget, metrics, optimization_goal, bid_strategy, bid_amount, roas_average_floor, cost_type, serving_statuses, promoted_object, ads, daily].hash
|
|
291
|
+
[platform_ad_set_id, ad_set_name, status, created_time, ad_count, budget, ad_set_budget, metrics, optimization_goal, bid_strategy, bid_amount, roas_average_floor, cost_type, serving_statuses, promoted_object, ads, daily].hash
|
|
281
292
|
end
|
|
282
293
|
|
|
283
294
|
# Builds the object from hash
|
|
@@ -22,6 +22,9 @@ module Zernio
|
|
|
22
22
|
|
|
23
23
|
attr_accessor :campaign_name
|
|
24
24
|
|
|
25
|
+
# Earliest `platformCreatedAt` (platform ad creation time; falls back to `createdAt`, Zernio's sync time, for ads synced before that field existed) across every ad in the campaign. Not the platform campaign's own creation time (Meta's `Campaign.created_time` etc. is not synced) — a campaign created empty and populated later will show its first ad's time, not the campaign's. Usable for sorting \"most recently created\" without the numeric-campaign-id heuristic. Same source as `AdTreeAdSet.createdTime` and `Ad.platformCreatedAt`; mirrors `AdCampaign.earliestAd`.
|
|
26
|
+
attr_accessor :created_time
|
|
27
|
+
|
|
25
28
|
# Delivery status derived from child ad statuses. Distinct from `reviewStatus`, which reflects the platform-side review state.
|
|
26
29
|
attr_accessor :status
|
|
27
30
|
|
|
@@ -113,6 +116,7 @@ module Zernio
|
|
|
113
116
|
:'platform_campaign_id' => :'platformCampaignId',
|
|
114
117
|
:'platform' => :'platform',
|
|
115
118
|
:'campaign_name' => :'campaignName',
|
|
119
|
+
:'created_time' => :'createdTime',
|
|
116
120
|
:'status' => :'status',
|
|
117
121
|
:'review_status' => :'reviewStatus',
|
|
118
122
|
:'platform_campaign_status' => :'platformCampaignStatus',
|
|
@@ -157,6 +161,7 @@ module Zernio
|
|
|
157
161
|
:'platform_campaign_id' => :'String',
|
|
158
162
|
:'platform' => :'String',
|
|
159
163
|
:'campaign_name' => :'String',
|
|
164
|
+
:'created_time' => :'Time',
|
|
160
165
|
:'status' => :'AdStatus',
|
|
161
166
|
:'review_status' => :'AdReviewStatus',
|
|
162
167
|
:'platform_campaign_status' => :'String',
|
|
@@ -188,6 +193,7 @@ module Zernio
|
|
|
188
193
|
# List of attributes with nullable: true
|
|
189
194
|
def self.openapi_nullable
|
|
190
195
|
Set.new([
|
|
196
|
+
:'created_time',
|
|
191
197
|
:'review_status',
|
|
192
198
|
:'platform_campaign_status',
|
|
193
199
|
:'campaign_issues_info',
|
|
@@ -230,6 +236,10 @@ module Zernio
|
|
|
230
236
|
self.campaign_name = attributes[:'campaign_name']
|
|
231
237
|
end
|
|
232
238
|
|
|
239
|
+
if attributes.key?(:'created_time')
|
|
240
|
+
self.created_time = attributes[:'created_time']
|
|
241
|
+
end
|
|
242
|
+
|
|
233
243
|
if attributes.key?(:'status')
|
|
234
244
|
self.status = attributes[:'status']
|
|
235
245
|
end
|
|
@@ -386,6 +396,7 @@ module Zernio
|
|
|
386
396
|
platform_campaign_id == o.platform_campaign_id &&
|
|
387
397
|
platform == o.platform &&
|
|
388
398
|
campaign_name == o.campaign_name &&
|
|
399
|
+
created_time == o.created_time &&
|
|
389
400
|
status == o.status &&
|
|
390
401
|
review_status == o.review_status &&
|
|
391
402
|
platform_campaign_status == o.platform_campaign_status &&
|
|
@@ -422,7 +433,7 @@ module Zernio
|
|
|
422
433
|
# Calculates hash code according to all attributes.
|
|
423
434
|
# @return [Integer] Hash code
|
|
424
435
|
def hash
|
|
425
|
-
[platform_campaign_id, platform, campaign_name, status, review_status, platform_campaign_status, campaign_issues_info, ad_count, ad_set_count, budget, campaign_budget, budget_level, is_budget_schedule_enabled, currency, metrics, platform_ad_account_id, platform_ad_account_name, account_id, profile_id, advertising_channel_type, platform_objective, optimization_goal, bid_strategy, bid_amount, roas_average_floor, promoted_object, ad_sets, daily].hash
|
|
436
|
+
[platform_campaign_id, platform, campaign_name, created_time, status, review_status, platform_campaign_status, campaign_issues_info, ad_count, ad_set_count, budget, campaign_budget, budget_level, is_budget_schedule_enabled, currency, metrics, platform_ad_account_id, platform_ad_account_name, account_id, profile_id, advertising_channel_type, platform_objective, optimization_goal, bid_strategy, bid_amount, roas_average_floor, promoted_object, ad_sets, daily].hash
|
|
426
437
|
end
|
|
427
438
|
|
|
428
439
|
# Builds the object from hash
|
|
@@ -35,7 +35,7 @@ module Zernio
|
|
|
35
35
|
|
|
36
36
|
attr_accessor :video
|
|
37
37
|
|
|
38
|
-
# Multi-creative shape: N CTWA ads under one campaign + one ad set, sharing budget and targeting. Mutually exclusive with the top-level single-creative fields (`headline` / `body` / `imageUrl` / `video`). Each entry must supply its own headline, body, and exactly one of `imageUrl` / `video`.
|
|
38
|
+
# Multi-creative shape: N CTWA ads under one campaign + one ad set, sharing budget and targeting. Mutually exclusive with the top-level single-creative fields (`headline` / `body` / `imageUrl` / `video`): setting both is a 400, unlike `POST /v1/ads/create` where the top-level fields are silently ignored in multi-creative mode. Each entry must supply its own headline, body, and exactly one of `imageUrl` / `video`.
|
|
39
39
|
attr_accessor :creatives
|
|
40
40
|
|
|
41
41
|
# Attach the creatives to this EXISTING messaging ad set instead of building a campaign, so the ad set keeps its learning phase. It then owns budget, targeting and schedule, so `budgetAmount`, `budgetType`, `endDate`, `objective`, `countries`, `interests`, `audienceId` and `campaignStatus` are rejected with a 400 alongside it. Its `destination_type` must match the ad's destination.
|
|
@@ -35,7 +35,7 @@ module Zernio
|
|
|
35
35
|
|
|
36
36
|
attr_accessor :video
|
|
37
37
|
|
|
38
|
-
# Multi-creative shape: N CTWA ads under one campaign + one ad set, sharing budget and targeting. Mutually exclusive with the top-level single-creative fields (`headline` / `body` / `imageUrl` / `video`). Each entry must supply its own headline, body, and exactly one of `imageUrl` / `video`.
|
|
38
|
+
# Multi-creative shape: N CTWA ads under one campaign + one ad set, sharing budget and targeting. Mutually exclusive with the top-level single-creative fields (`headline` / `body` / `imageUrl` / `video`): setting both is a 400, unlike `POST /v1/ads/create` where the top-level fields are silently ignored in multi-creative mode. Each entry must supply its own headline, body, and exactly one of `imageUrl` / `video`.
|
|
39
39
|
attr_accessor :creatives
|
|
40
40
|
|
|
41
41
|
# Attach the creatives to this EXISTING messaging ad set instead of building a campaign, so the ad set keeps its learning phase. It then owns budget, targeting and schedule, so `budgetAmount`, `budgetType`, `endDate`, `objective`, `countries`, `interests`, `audienceId` and `campaignStatus` are rejected with a 400 alongside it. Its `destination_type` must match the ad's destination.
|
|
@@ -36,7 +36,7 @@ module Zernio
|
|
|
36
36
|
|
|
37
37
|
attr_accessor :video
|
|
38
38
|
|
|
39
|
-
# Multi-creative shape: N CTWA ads under one campaign + one ad set, sharing budget and targeting. Mutually exclusive with the top-level single-creative fields (`headline` / `body` / `imageUrl` / `video`). Each entry must supply its own headline, body, and exactly one of `imageUrl` / `video`.
|
|
39
|
+
# Multi-creative shape: N CTWA ads under one campaign + one ad set, sharing budget and targeting. Mutually exclusive with the top-level single-creative fields (`headline` / `body` / `imageUrl` / `video`): setting both is a 400, unlike `POST /v1/ads/create` where the top-level fields are silently ignored in multi-creative mode. Each entry must supply its own headline, body, and exactly one of `imageUrl` / `video`.
|
|
40
40
|
attr_accessor :creatives
|
|
41
41
|
|
|
42
42
|
# Attach the creatives to this EXISTING messaging ad set instead of building a campaign, so the ad set keeps its learning phase. It then owns budget, targeting and schedule, so `budgetAmount`, `budgetType`, `endDate`, `objective`, `countries`, `interests`, `audienceId` and `campaignStatus` are rejected with a 400 alongside it. Its `destination_type` must match the ad's destination.
|
|
@@ -21,12 +21,15 @@ module Zernio
|
|
|
21
21
|
|
|
22
22
|
attr_accessor :pagination
|
|
23
23
|
|
|
24
|
+
attr_accessor :summary
|
|
25
|
+
|
|
24
26
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
25
27
|
def self.attribute_map
|
|
26
28
|
{
|
|
27
29
|
:'success' => :'success',
|
|
28
30
|
:'recipients' => :'recipients',
|
|
29
|
-
:'pagination' => :'pagination'
|
|
31
|
+
:'pagination' => :'pagination',
|
|
32
|
+
:'summary' => :'summary'
|
|
30
33
|
}
|
|
31
34
|
end
|
|
32
35
|
|
|
@@ -45,7 +48,8 @@ module Zernio
|
|
|
45
48
|
{
|
|
46
49
|
:'success' => :'Boolean',
|
|
47
50
|
:'recipients' => :'Array<ListBroadcastRecipients200ResponseRecipientsInner>',
|
|
48
|
-
:'pagination' => :'ListContacts200ResponsePagination'
|
|
51
|
+
:'pagination' => :'ListContacts200ResponsePagination',
|
|
52
|
+
:'summary' => :'ListBroadcastRecipients200ResponseSummary'
|
|
49
53
|
}
|
|
50
54
|
end
|
|
51
55
|
|
|
@@ -84,6 +88,10 @@ module Zernio
|
|
|
84
88
|
if attributes.key?(:'pagination')
|
|
85
89
|
self.pagination = attributes[:'pagination']
|
|
86
90
|
end
|
|
91
|
+
|
|
92
|
+
if attributes.key?(:'summary')
|
|
93
|
+
self.summary = attributes[:'summary']
|
|
94
|
+
end
|
|
87
95
|
end
|
|
88
96
|
|
|
89
97
|
# Show invalid properties with the reasons. Usually used together with valid?
|
|
@@ -108,7 +116,8 @@ module Zernio
|
|
|
108
116
|
self.class == o.class &&
|
|
109
117
|
success == o.success &&
|
|
110
118
|
recipients == o.recipients &&
|
|
111
|
-
pagination == o.pagination
|
|
119
|
+
pagination == o.pagination &&
|
|
120
|
+
summary == o.summary
|
|
112
121
|
end
|
|
113
122
|
|
|
114
123
|
# @see the `==` method
|
|
@@ -120,7 +129,7 @@ module Zernio
|
|
|
120
129
|
# Calculates hash code according to all attributes.
|
|
121
130
|
# @return [Integer] Hash code
|
|
122
131
|
def hash
|
|
123
|
-
[success, recipients, pagination].hash
|
|
132
|
+
[success, recipients, pagination, summary].hash
|
|
124
133
|
end
|
|
125
134
|
|
|
126
135
|
# Builds the object from hash
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Zernio API
|
|
3
|
+
|
|
4
|
+
#API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api Versioning and deprecation: all endpoints are versioned in the URL path (current version: /v1). Breaking changes only ship in a new path version; existing versions keep working. Deprecated operations are marked 'deprecated: true' in this spec and announced in the changelog (https://zernio.com/changelog) before removal. Errors: every 4xx/5xx response is application/json with a machine-readable 'code' and a human-readable 'error' message (see the ErrorResponse schema).
|
|
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
|
+
# Delivery totals across all recipients in the broadcast, independent of pagination and status filtering.
|
|
18
|
+
class ListBroadcastRecipients200ResponseSummary < ApiModelBase
|
|
19
|
+
attr_accessor :total
|
|
20
|
+
|
|
21
|
+
attr_accessor :pending
|
|
22
|
+
|
|
23
|
+
attr_accessor :sent
|
|
24
|
+
|
|
25
|
+
attr_accessor :delivered
|
|
26
|
+
|
|
27
|
+
attr_accessor :read
|
|
28
|
+
|
|
29
|
+
attr_accessor :failed
|
|
30
|
+
|
|
31
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
|
32
|
+
def self.attribute_map
|
|
33
|
+
{
|
|
34
|
+
:'total' => :'total',
|
|
35
|
+
:'pending' => :'pending',
|
|
36
|
+
:'sent' => :'sent',
|
|
37
|
+
:'delivered' => :'delivered',
|
|
38
|
+
:'read' => :'read',
|
|
39
|
+
:'failed' => :'failed'
|
|
40
|
+
}
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
# Returns attribute mapping this model knows about
|
|
44
|
+
def self.acceptable_attribute_map
|
|
45
|
+
attribute_map
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# Returns all the JSON keys this model knows about
|
|
49
|
+
def self.acceptable_attributes
|
|
50
|
+
acceptable_attribute_map.values
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
# Attribute type mapping.
|
|
54
|
+
def self.openapi_types
|
|
55
|
+
{
|
|
56
|
+
:'total' => :'Integer',
|
|
57
|
+
:'pending' => :'Integer',
|
|
58
|
+
:'sent' => :'Integer',
|
|
59
|
+
:'delivered' => :'Integer',
|
|
60
|
+
:'read' => :'Integer',
|
|
61
|
+
:'failed' => :'Integer'
|
|
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::ListBroadcastRecipients200ResponseSummary` 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::ListBroadcastRecipients200ResponseSummary`. 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?(:'total')
|
|
88
|
+
self.total = attributes[:'total']
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
if attributes.key?(:'pending')
|
|
92
|
+
self.pending = attributes[:'pending']
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
if attributes.key?(:'sent')
|
|
96
|
+
self.sent = attributes[:'sent']
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
if attributes.key?(:'delivered')
|
|
100
|
+
self.delivered = attributes[:'delivered']
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
if attributes.key?(:'read')
|
|
104
|
+
self.read = attributes[:'read']
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
if attributes.key?(:'failed')
|
|
108
|
+
self.failed = attributes[:'failed']
|
|
109
|
+
end
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
|
113
|
+
# @return Array for valid properties with the reasons
|
|
114
|
+
def list_invalid_properties
|
|
115
|
+
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
|
116
|
+
invalid_properties = Array.new
|
|
117
|
+
invalid_properties
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
# Check to see if the all the properties in the model are valid
|
|
121
|
+
# @return true if the model is valid
|
|
122
|
+
def valid?
|
|
123
|
+
warn '[DEPRECATED] the `valid?` method is obsolete'
|
|
124
|
+
true
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
# Checks equality by comparing each attribute.
|
|
128
|
+
# @param [Object] Object to be compared
|
|
129
|
+
def ==(o)
|
|
130
|
+
return true if self.equal?(o)
|
|
131
|
+
self.class == o.class &&
|
|
132
|
+
total == o.total &&
|
|
133
|
+
pending == o.pending &&
|
|
134
|
+
sent == o.sent &&
|
|
135
|
+
delivered == o.delivered &&
|
|
136
|
+
read == o.read &&
|
|
137
|
+
failed == o.failed
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
# @see the `==` method
|
|
141
|
+
# @param [Object] Object to be compared
|
|
142
|
+
def eql?(o)
|
|
143
|
+
self == o
|
|
144
|
+
end
|
|
145
|
+
|
|
146
|
+
# Calculates hash code according to all attributes.
|
|
147
|
+
# @return [Integer] Hash code
|
|
148
|
+
def hash
|
|
149
|
+
[total, pending, sent, delivered, read, failed].hash
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
# Builds the object from hash
|
|
153
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
154
|
+
# @return [Object] Returns the model itself
|
|
155
|
+
def self.build_from_hash(attributes)
|
|
156
|
+
return nil unless attributes.is_a?(Hash)
|
|
157
|
+
attributes = attributes.transform_keys(&:to_sym)
|
|
158
|
+
transformed_hash = {}
|
|
159
|
+
openapi_types.each_pair do |key, type|
|
|
160
|
+
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
|
|
161
|
+
transformed_hash["#{key}"] = nil
|
|
162
|
+
elsif type =~ /\AArray<(.*)>/i
|
|
163
|
+
# check to ensure the input is an array given that the attribute
|
|
164
|
+
# is documented as an array but the input is not
|
|
165
|
+
if attributes[attribute_map[key]].is_a?(Array)
|
|
166
|
+
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
|
|
167
|
+
end
|
|
168
|
+
elsif !attributes[attribute_map[key]].nil?
|
|
169
|
+
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
|
|
170
|
+
end
|
|
171
|
+
end
|
|
172
|
+
new(transformed_hash)
|
|
173
|
+
end
|
|
174
|
+
|
|
175
|
+
# Returns the object in the form of hash
|
|
176
|
+
# @return [Hash] Returns the object in the form of hash
|
|
177
|
+
def to_hash
|
|
178
|
+
hash = {}
|
|
179
|
+
self.class.attribute_map.each_pair do |attr, param|
|
|
180
|
+
value = self.send(attr)
|
|
181
|
+
if value.nil?
|
|
182
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
|
183
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
|
184
|
+
end
|
|
185
|
+
|
|
186
|
+
hash[param] = _to_hash(value)
|
|
187
|
+
end
|
|
188
|
+
hash
|
|
189
|
+
end
|
|
190
|
+
|
|
191
|
+
end
|
|
192
|
+
|
|
193
|
+
end
|
data/lib/zernio-sdk/version.rb
CHANGED
data/lib/zernio-sdk.rb
CHANGED
|
@@ -895,6 +895,7 @@ require 'zernio-sdk/models/list_blog_articles200_response'
|
|
|
895
895
|
require 'zernio-sdk/models/list_blogs200_response'
|
|
896
896
|
require 'zernio-sdk/models/list_broadcast_recipients200_response'
|
|
897
897
|
require 'zernio-sdk/models/list_broadcast_recipients200_response_recipients_inner'
|
|
898
|
+
require 'zernio-sdk/models/list_broadcast_recipients200_response_summary'
|
|
898
899
|
require 'zernio-sdk/models/list_broadcasts200_response'
|
|
899
900
|
require 'zernio-sdk/models/list_broadcasts200_response_broadcasts_inner'
|
|
900
901
|
require 'zernio-sdk/models/list_calls200_response'
|
data/openapi.yaml
CHANGED
|
@@ -848,9 +848,11 @@ components:
|
|
|
848
848
|
Multi-creative shape: N CTWA ads under one campaign + one
|
|
849
849
|
ad set, sharing budget and targeting. Mutually exclusive
|
|
850
850
|
with the top-level single-creative fields (`headline` /
|
|
851
|
-
`body` / `imageUrl` / `video`)
|
|
852
|
-
|
|
853
|
-
|
|
851
|
+
`body` / `imageUrl` / `video`): setting both is a 400,
|
|
852
|
+
unlike `POST /v1/ads/create` where the top-level fields
|
|
853
|
+
are silently ignored in multi-creative mode. Each entry
|
|
854
|
+
must supply its own headline, body, and exactly one of
|
|
855
|
+
`imageUrl` / `video`.
|
|
854
856
|
items:
|
|
855
857
|
type: object
|
|
856
858
|
required: [headline, body]
|
|
@@ -8292,6 +8294,10 @@ components:
|
|
|
8292
8294
|
platformAdSetId: { type: string }
|
|
8293
8295
|
adSetName: { type: string }
|
|
8294
8296
|
status: { allOf: [{ $ref: '#/components/schemas/AdStatus' }], description: Derived from child ad statuses }
|
|
8297
|
+
createdTime:
|
|
8298
|
+
type: [string, "null"]
|
|
8299
|
+
format: date-time
|
|
8300
|
+
description: "Earliest `platformCreatedAt` (platform ad creation time; falls back to `createdAt`, Zernio's sync time, for ads synced before that field existed) across this ad set's ads. Not the ad set's own creation time on the platform — a proxy usable for sorting."
|
|
8295
8301
|
adCount: { type: integer }
|
|
8296
8302
|
budget:
|
|
8297
8303
|
type: [object, "null"]
|
|
@@ -8342,6 +8348,10 @@ components:
|
|
|
8342
8348
|
platformCampaignId: { type: string }
|
|
8343
8349
|
platform: { type: string, enum: [facebook, instagram, tiktok, linkedin, pinterest, google, twitter, openai] }
|
|
8344
8350
|
campaignName: { type: string }
|
|
8351
|
+
createdTime:
|
|
8352
|
+
type: [string, "null"]
|
|
8353
|
+
format: date-time
|
|
8354
|
+
description: "Earliest `platformCreatedAt` (platform ad creation time; falls back to `createdAt`, Zernio's sync time, for ads synced before that field existed) across every ad in the campaign. Not the platform campaign's own creation time (Meta's `Campaign.created_time` etc. is not synced) — a campaign created empty and populated later will show its first ad's time, not the campaign's. Usable for sorting \"most recently created\" without the numeric-campaign-id heuristic. Same source as `AdTreeAdSet.createdTime` and `Ad.platformCreatedAt`; mirrors `AdCampaign.earliestAd`."
|
|
8345
8355
|
status: { allOf: [{ $ref: '#/components/schemas/AdStatus' }], description: "Delivery status derived from child ad statuses. Distinct from `reviewStatus`, which reflects the platform-side review state." }
|
|
8346
8356
|
reviewStatus:
|
|
8347
8357
|
anyOf:
|
|
@@ -37152,6 +37162,16 @@ paths:
|
|
|
37152
37162
|
limit: { type: integer }
|
|
37153
37163
|
skip: { type: integer }
|
|
37154
37164
|
hasMore: { type: boolean }
|
|
37165
|
+
summary:
|
|
37166
|
+
type: object
|
|
37167
|
+
description: Delivery totals across all recipients in the broadcast, independent of pagination and status filtering.
|
|
37168
|
+
properties:
|
|
37169
|
+
total: { type: integer }
|
|
37170
|
+
pending: { type: integer }
|
|
37171
|
+
sent: { type: integer }
|
|
37172
|
+
delivered: { type: integer }
|
|
37173
|
+
read: { type: integer }
|
|
37174
|
+
failed: { type: integer }
|
|
37155
37175
|
'400': { description: Invalid request }
|
|
37156
37176
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
37157
37177
|
'404': { $ref: '#/components/responses/NotFound' }
|
|
@@ -45,6 +45,12 @@ describe Zernio::AdTreeAdSet do
|
|
|
45
45
|
end
|
|
46
46
|
end
|
|
47
47
|
|
|
48
|
+
describe 'test attribute "created_time"' 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
|
+
|
|
48
54
|
describe 'test attribute "ad_count"' do
|
|
49
55
|
it 'should work' do
|
|
50
56
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
@@ -49,6 +49,12 @@ describe Zernio::AdTreeCampaign do
|
|
|
49
49
|
end
|
|
50
50
|
end
|
|
51
51
|
|
|
52
|
+
describe 'test attribute "created_time"' do
|
|
53
|
+
it 'should work' do
|
|
54
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
|
|
52
58
|
describe 'test attribute "status"' do
|
|
53
59
|
it 'should work' do
|
|
54
60
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
@@ -45,4 +45,10 @@ describe Zernio::ListBroadcastRecipients200Response do
|
|
|
45
45
|
end
|
|
46
46
|
end
|
|
47
47
|
|
|
48
|
+
describe 'test attribute "summary"' 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
|
+
|
|
48
54
|
end
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Zernio API
|
|
3
|
+
|
|
4
|
+
#API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api Versioning and deprecation: all endpoints are versioned in the URL path (current version: /v1). Breaking changes only ship in a new path version; existing versions keep working. Deprecated operations are marked 'deprecated: true' in this spec and announced in the changelog (https://zernio.com/changelog) before removal. Errors: every 4xx/5xx response is application/json with a machine-readable 'code' and a human-readable 'error' message (see the ErrorResponse schema).
|
|
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::ListBroadcastRecipients200ResponseSummary
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe Zernio::ListBroadcastRecipients200ResponseSummary do
|
|
21
|
+
#let(:instance) { Zernio::ListBroadcastRecipients200ResponseSummary.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of ListBroadcastRecipients200ResponseSummary' do
|
|
24
|
+
it 'should create an instance of ListBroadcastRecipients200ResponseSummary' do
|
|
25
|
+
# uncomment below to test the instance creation
|
|
26
|
+
#expect(instance).to be_instance_of(Zernio::ListBroadcastRecipients200ResponseSummary)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "total"' 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 "pending"' 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 "sent"' 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 "delivered"' 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 "read"' 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
|
+
describe 'test attribute "failed"' do
|
|
61
|
+
it 'should work' do
|
|
62
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
end
|
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.739
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- OpenAPI-Generator
|
|
@@ -980,6 +980,7 @@ files:
|
|
|
980
980
|
- docs/ListBlogs200Response.md
|
|
981
981
|
- docs/ListBroadcastRecipients200Response.md
|
|
982
982
|
- docs/ListBroadcastRecipients200ResponseRecipientsInner.md
|
|
983
|
+
- docs/ListBroadcastRecipients200ResponseSummary.md
|
|
983
984
|
- docs/ListBroadcasts200Response.md
|
|
984
985
|
- docs/ListBroadcasts200ResponseBroadcastsInner.md
|
|
985
986
|
- docs/ListCalls200Response.md
|
|
@@ -2786,6 +2787,7 @@ files:
|
|
|
2786
2787
|
- lib/zernio-sdk/models/list_blogs200_response.rb
|
|
2787
2788
|
- lib/zernio-sdk/models/list_broadcast_recipients200_response.rb
|
|
2788
2789
|
- lib/zernio-sdk/models/list_broadcast_recipients200_response_recipients_inner.rb
|
|
2790
|
+
- lib/zernio-sdk/models/list_broadcast_recipients200_response_summary.rb
|
|
2789
2791
|
- lib/zernio-sdk/models/list_broadcasts200_response.rb
|
|
2790
2792
|
- lib/zernio-sdk/models/list_broadcasts200_response_broadcasts_inner.rb
|
|
2791
2793
|
- lib/zernio-sdk/models/list_calls200_response.rb
|
|
@@ -4556,6 +4558,7 @@ files:
|
|
|
4556
4558
|
- spec/models/list_blogs200_response_spec.rb
|
|
4557
4559
|
- spec/models/list_broadcast_recipients200_response_recipients_inner_spec.rb
|
|
4558
4560
|
- spec/models/list_broadcast_recipients200_response_spec.rb
|
|
4561
|
+
- spec/models/list_broadcast_recipients200_response_summary_spec.rb
|
|
4559
4562
|
- spec/models/list_broadcasts200_response_broadcasts_inner_spec.rb
|
|
4560
4563
|
- spec/models/list_broadcasts200_response_spec.rb
|
|
4561
4564
|
- spec/models/list_calls200_response_calls_inner_spec.rb
|
|
@@ -6496,6 +6499,7 @@ test_files:
|
|
|
6496
6499
|
- spec/models/list_sms_sender_ids200_response_budget_spec.rb
|
|
6497
6500
|
- spec/models/list_comment_automation_logs200_response_misses_samples_inner_spec.rb
|
|
6498
6501
|
- spec/models/get_ad_insights_report200_response_paging_spec.rb
|
|
6502
|
+
- spec/models/list_broadcast_recipients200_response_summary_spec.rb
|
|
6499
6503
|
- spec/models/create_voice_web_session200_response_spec.rb
|
|
6500
6504
|
- spec/models/update_linked_in_organization_request_spec.rb
|
|
6501
6505
|
- spec/models/create_blog_article201_response_spec.rb
|