zernio-sdk 0.0.736 → 0.0.738

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 63ca4050c220902da4e303732c62730c080426df1b5779d07f880d5e8bb45f02
4
- data.tar.gz: b4c23c0f20c1ff9fbb9514d4f09847b0463019c69ef870e31eac94f41fd81330
3
+ metadata.gz: 204511ccaf29178934cde6c2b0d9a2cd5775d1eedb91671b414dd113f7e89b72
4
+ data.tar.gz: 40a2c5e15f46c2ddbf2f93d73cbe5bf7364a88d9003a33190e4fb550c7c81c5b
5
5
  SHA512:
6
- metadata.gz: 1fff3ac80df8810b1675b28aee89741ea1845acafb0c0dde26667881f58842fd515f9f829445cad95cc23e7121f03a7dd226bc3fe2c1f62d5f242d9bbd42ba05
7
- data.tar.gz: 5c42494461e13f84907cd5e3fa40500d54481d6759890428b902e6ff171cae18fc98f72d77c31eebff64527a2341f33b45ba3d0e0e714349e132c1b08385b06f
6
+ metadata.gz: c40ef81851d6593fe3e71a79dc8b8c520ba5b0280c7efb2bbacc88a59aecec86276c5f3db099468cccd1764d36cf2a76638c4d5777a32eaa70cecbeb1f7909c9
7
+ data.tar.gz: d46cb077d13222edaeaf4978d9b216c9eacb5e97f364e5f5f55c56ebe63c803f4b96ebfb0c0b926a499694da6084fc8c06633c8106ef3297a08a8aa9999bd7c2
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)
@@ -12,7 +12,7 @@
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
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] |
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` and `audienceId` are rejected with a 400 alongside it. Its `destination_type` must match the ad's destination. | [optional] |
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] |
18
18
  | **currency** | **String** | ISO 4217 currency code matching the ad account's currency (e.g. `USD`). Optional: Zernio resolves it from the ad account when omitted. The value selects the minor-unit exponent Zernio converts budget/bid amounts by before calling Meta (most currencies are cents; zero-decimal currencies like JPY/KRW are sent as-is). | [optional] |
@@ -30,6 +30,8 @@
30
30
  | **placements** | [**CtwaAdRequestBodyPlacements**](CtwaAdRequestBodyPlacements.md) | | [optional] |
31
31
  | **advantage_audience** | **Integer** | Meta's Advantage+ audience expansion. `0` (default) keeps targeting strict; `1` lets Meta expand beyond the supplied targeting when its delivery system finds better matches. Always sent on CREATE (Meta requires it). | [optional] |
32
32
  | **objective** | **String** | Defaults to `OUTCOME_ENGAGEMENT`. `OUTCOME_SALES` and `OUTCOME_LEADS` require additional account configuration (Dataset linked to the WABA for sales) and may be rejected by Meta if missing. | [optional] |
33
+ | **status** | **String** | Ad-level status. Defaults to `ACTIVE`. `PAUSED` skips activating the newly created ad(s) after Meta accepts them. | [optional] |
34
+ | **campaign_status** | **String** | Campaign-level status, same semantics as `POST /v1/ads/create`. Defaults to `ACTIVE`. `PAUSED` holds activation at the campaign so it never spends before the advertiser reviews it, while the ad set and ad still switch on (one resume call brings the whole hierarchy live). Only meaningful when a new campaign is being created; rejected with a 400 alongside `adSetId` (the attach shape reuses an existing campaign). | [optional] |
33
35
  | **bid_strategy** | **String** | Meta bid strategy applied to the shared ad set. Defaults to `LOWEST_COST_WITHOUT_CAP` (auto-bid) when omitted. `LOWEST_COST_WITH_BID_CAP` and `COST_CAP` require `bidAmount`. `LOWEST_COST_WITH_MIN_ROAS` requires `roasAverageFloor`. CTWA's `optimization_goal` is fixed to `CONVERSATIONS`, but the bid strategy is independent. | [optional] |
34
36
  | **bid_amount** | **Float** | Whole currency units (e.g. `5` = $5.00 on a USD account). Required when `bidStrategy` is `LOWEST_COST_WITH_BID_CAP` or `COST_CAP`; rejected otherwise. | [optional] |
35
37
  | **roas_average_floor** | **Float** | Decimal ROAS multiplier (e.g. `2.0` = 2.0× ROAS floor). Required when `bidStrategy` is `LOWEST_COST_WITH_MIN_ROAS`; rejected otherwise. Meta enforces its own upper bound server-side. | [optional] |
@@ -70,6 +72,8 @@ instance = Zernio::CreateCallAdRequest.new(
70
72
  placements: null,
71
73
  advantage_audience: null,
72
74
  objective: null,
75
+ status: null,
76
+ campaign_status: null,
73
77
  bid_strategy: null,
74
78
  bid_amount: null,
75
79
  roas_average_floor: null,
@@ -12,7 +12,7 @@
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
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] |
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` and `audienceId` are rejected with a 400 alongside it. Its `destination_type` must match the ad's destination. | [optional] |
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] |
18
18
  | **currency** | **String** | ISO 4217 currency code matching the ad account's currency (e.g. `USD`). Optional: Zernio resolves it from the ad account when omitted. The value selects the minor-unit exponent Zernio converts budget/bid amounts by before calling Meta (most currencies are cents; zero-decimal currencies like JPY/KRW are sent as-is). | [optional] |
@@ -30,6 +30,8 @@
30
30
  | **placements** | [**CtwaAdRequestBodyPlacements**](CtwaAdRequestBodyPlacements.md) | | [optional] |
31
31
  | **advantage_audience** | **Integer** | Meta's Advantage+ audience expansion. `0` (default) keeps targeting strict; `1` lets Meta expand beyond the supplied targeting when its delivery system finds better matches. Always sent on CREATE (Meta requires it). | [optional] |
32
32
  | **objective** | **String** | Defaults to `OUTCOME_ENGAGEMENT`. `OUTCOME_SALES` and `OUTCOME_LEADS` require additional account configuration (Dataset linked to the WABA for sales) and may be rejected by Meta if missing. | [optional] |
33
+ | **status** | **String** | Ad-level status. Defaults to `ACTIVE`. `PAUSED` skips activating the newly created ad(s) after Meta accepts them. | [optional] |
34
+ | **campaign_status** | **String** | Campaign-level status, same semantics as `POST /v1/ads/create`. Defaults to `ACTIVE`. `PAUSED` holds activation at the campaign so it never spends before the advertiser reviews it, while the ad set and ad still switch on (one resume call brings the whole hierarchy live). Only meaningful when a new campaign is being created; rejected with a 400 alongside `adSetId` (the attach shape reuses an existing campaign). | [optional] |
33
35
  | **bid_strategy** | **String** | Meta bid strategy applied to the shared ad set. Defaults to `LOWEST_COST_WITHOUT_CAP` (auto-bid) when omitted. `LOWEST_COST_WITH_BID_CAP` and `COST_CAP` require `bidAmount`. `LOWEST_COST_WITH_MIN_ROAS` requires `roasAverageFloor`. CTWA's `optimization_goal` is fixed to `CONVERSATIONS`, but the bid strategy is independent. | [optional] |
34
36
  | **bid_amount** | **Float** | Whole currency units (e.g. `5` = $5.00 on a USD account). Required when `bidStrategy` is `LOWEST_COST_WITH_BID_CAP` or `COST_CAP`; rejected otherwise. | [optional] |
35
37
  | **roas_average_floor** | **Float** | Decimal ROAS multiplier (e.g. `2.0` = 2.0× ROAS floor). Required when `bidStrategy` is `LOWEST_COST_WITH_MIN_ROAS`; rejected otherwise. Meta enforces its own upper bound server-side. | [optional] |
@@ -69,6 +71,8 @@ instance = Zernio::CreateMessagingAdRequest.new(
69
71
  placements: null,
70
72
  advantage_audience: null,
71
73
  objective: null,
74
+ status: null,
75
+ campaign_status: null,
72
76
  bid_strategy: null,
73
77
  bid_amount: null,
74
78
  roas_average_floor: null,
@@ -12,7 +12,7 @@
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
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] |
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` and `audienceId` are rejected with a 400 alongside it. Its `destination_type` must match the ad's destination. | [optional] |
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] |
18
18
  | **currency** | **String** | ISO 4217 currency code matching the ad account's currency (e.g. `USD`). Optional: Zernio resolves it from the ad account when omitted. The value selects the minor-unit exponent Zernio converts budget/bid amounts by before calling Meta (most currencies are cents; zero-decimal currencies like JPY/KRW are sent as-is). | [optional] |
@@ -30,6 +30,8 @@
30
30
  | **placements** | [**CtwaAdRequestBodyPlacements**](CtwaAdRequestBodyPlacements.md) | | [optional] |
31
31
  | **advantage_audience** | **Integer** | Meta's Advantage+ audience expansion. `0` (default) keeps targeting strict; `1` lets Meta expand beyond the supplied targeting when its delivery system finds better matches. Always sent on CREATE (Meta requires it). | [optional] |
32
32
  | **objective** | **String** | Defaults to `OUTCOME_ENGAGEMENT`. `OUTCOME_SALES` and `OUTCOME_LEADS` require additional account configuration (Dataset linked to the WABA for sales) and may be rejected by Meta if missing. | [optional] |
33
+ | **status** | **String** | Ad-level status. Defaults to `ACTIVE`. `PAUSED` skips activating the newly created ad(s) after Meta accepts them. | [optional] |
34
+ | **campaign_status** | **String** | Campaign-level status, same semantics as `POST /v1/ads/create`. Defaults to `ACTIVE`. `PAUSED` holds activation at the campaign so it never spends before the advertiser reviews it, while the ad set and ad still switch on (one resume call brings the whole hierarchy live). Only meaningful when a new campaign is being created; rejected with a 400 alongside `adSetId` (the attach shape reuses an existing campaign). | [optional] |
33
35
  | **bid_strategy** | **String** | Meta bid strategy applied to the shared ad set. Defaults to `LOWEST_COST_WITHOUT_CAP` (auto-bid) when omitted. `LOWEST_COST_WITH_BID_CAP` and `COST_CAP` require `bidAmount`. `LOWEST_COST_WITH_MIN_ROAS` requires `roasAverageFloor`. CTWA's `optimization_goal` is fixed to `CONVERSATIONS`, but the bid strategy is independent. | [optional] |
34
36
  | **bid_amount** | **Float** | Whole currency units (e.g. `5` = $5.00 on a USD account). Required when `bidStrategy` is `LOWEST_COST_WITH_BID_CAP` or `COST_CAP`; rejected otherwise. | [optional] |
35
37
  | **roas_average_floor** | **Float** | Decimal ROAS multiplier (e.g. `2.0` = 2.0× ROAS floor). Required when `bidStrategy` is `LOWEST_COST_WITH_MIN_ROAS`; rejected otherwise. Meta enforces its own upper bound server-side. | [optional] |
@@ -68,6 +70,8 @@ instance = Zernio::CtwaAdRequestBody.new(
68
70
  placements: null,
69
71
  advantage_audience: null,
70
72
  objective: null,
73
+ status: null,
74
+ campaign_status: null,
71
75
  bid_strategy: null,
72
76
  bid_amount: null,
73
77
  roas_average_floor: null,
@@ -4,8 +4,9 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **url** | **String** | | |
8
- | **thumbnail_url** | **String** | Required by Meta for every video creative. Used as the ad thumbnail. | |
7
+ | **url** | **String** | Public URL of the video to upload. Provide either `url` or `id`. | [optional] |
8
+ | **id** | **String** | Reuse a video already uploaded to this ad account (list them with GET /v1/ads/videos) instead of re-uploading. Wins over `url`. Provide either `url` or `id`. | [optional] |
9
+ | **thumbnail_url** | **String** | OPTIONAL: when omitted, the poster is auto-generated from Meta's own preferred video thumbnail. When Meta produces no candidate the request fails with a 502 platform_error (reason: video_thumbnail_unavailable). | [optional] |
9
10
 
10
11
  ## Example
11
12
 
@@ -14,6 +15,7 @@ require 'zernio-sdk'
14
15
 
15
16
  instance = Zernio::CtwaAdRequestBodyCreativesInnerVideo.new(
16
17
  url: null,
18
+ id: null,
17
19
  thumbnail_url: null
18
20
  )
19
21
  ```
@@ -4,8 +4,9 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **url** | **String** | | |
8
- | **thumbnail_url** | **String** | Required by Meta for every video creative. Used as the ad thumbnail. | |
7
+ | **url** | **String** | Public URL of the video to upload. Provide either `url` or `id`. | [optional] |
8
+ | **id** | **String** | Reuse a video already uploaded to this ad account (list them with GET /v1/ads/videos) instead of re-uploading. Wins over `url`. Provide either `url` or `id`. | [optional] |
9
+ | **thumbnail_url** | **String** | OPTIONAL: when omitted, the poster is auto-generated from Meta's own preferred video thumbnail. When Meta produces no candidate the request fails with a 502 platform_error (reason: video_thumbnail_unavailable) — retry, or supply this field to control the poster frame exactly. | [optional] |
9
10
 
10
11
  ## Example
11
12
 
@@ -14,6 +15,7 @@ require 'zernio-sdk'
14
15
 
15
16
  instance = Zernio::CtwaAdRequestBodyVideo.new(
16
17
  url: null,
18
+ id: null,
17
19
  thumbnail_url: null
18
20
  )
19
21
  ```
@@ -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
+
@@ -38,7 +38,7 @@ module Zernio
38
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`.
39
39
  attr_accessor :creatives
40
40
 
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` and `audienceId` are rejected with a 400 alongside it. Its `destination_type` must match the ad's destination.
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.
42
42
  attr_accessor :ad_set_id
43
43
 
44
44
  # 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.
@@ -88,6 +88,12 @@ module Zernio
88
88
  # Defaults to `OUTCOME_ENGAGEMENT`. `OUTCOME_SALES` and `OUTCOME_LEADS` require additional account configuration (Dataset linked to the WABA for sales) and may be rejected by Meta if missing.
89
89
  attr_accessor :objective
90
90
 
91
+ # Ad-level status. Defaults to `ACTIVE`. `PAUSED` skips activating the newly created ad(s) after Meta accepts them.
92
+ attr_accessor :status
93
+
94
+ # Campaign-level status, same semantics as `POST /v1/ads/create`. Defaults to `ACTIVE`. `PAUSED` holds activation at the campaign so it never spends before the advertiser reviews it, while the ad set and ad still switch on (one resume call brings the whole hierarchy live). Only meaningful when a new campaign is being created; rejected with a 400 alongside `adSetId` (the attach shape reuses an existing campaign).
95
+ attr_accessor :campaign_status
96
+
91
97
  # Meta bid strategy applied to the shared ad set. Defaults to `LOWEST_COST_WITHOUT_CAP` (auto-bid) when omitted. `LOWEST_COST_WITH_BID_CAP` and `COST_CAP` require `bidAmount`. `LOWEST_COST_WITH_MIN_ROAS` requires `roasAverageFloor`. CTWA's `optimization_goal` is fixed to `CONVERSATIONS`, but the bid strategy is independent.
92
98
  attr_accessor :bid_strategy
93
99
 
@@ -160,6 +166,8 @@ module Zernio
160
166
  :'placements' => :'placements',
161
167
  :'advantage_audience' => :'advantageAudience',
162
168
  :'objective' => :'objective',
169
+ :'status' => :'status',
170
+ :'campaign_status' => :'campaignStatus',
163
171
  :'bid_strategy' => :'bidStrategy',
164
172
  :'bid_amount' => :'bidAmount',
165
173
  :'roas_average_floor' => :'roasAverageFloor',
@@ -209,6 +217,8 @@ module Zernio
209
217
  :'placements' => :'CtwaAdRequestBodyPlacements',
210
218
  :'advantage_audience' => :'Integer',
211
219
  :'objective' => :'String',
220
+ :'status' => :'String',
221
+ :'campaign_status' => :'String',
212
222
  :'bid_strategy' => :'String',
213
223
  :'bid_amount' => :'Float',
214
224
  :'roas_average_floor' => :'Float',
@@ -374,6 +384,14 @@ module Zernio
374
384
  self.objective = attributes[:'objective']
375
385
  end
376
386
 
387
+ if attributes.key?(:'status')
388
+ self.status = attributes[:'status']
389
+ end
390
+
391
+ if attributes.key?(:'campaign_status')
392
+ self.campaign_status = attributes[:'campaign_status']
393
+ end
394
+
377
395
  if attributes.key?(:'bid_strategy')
378
396
  self.bid_strategy = attributes[:'bid_strategy']
379
397
  end
@@ -521,6 +539,10 @@ module Zernio
521
539
  return false unless advantage_audience_validator.valid?(@advantage_audience)
522
540
  objective_validator = EnumAttributeValidator.new('String', ["OUTCOME_ENGAGEMENT", "OUTCOME_SALES", "OUTCOME_LEADS"])
523
541
  return false unless objective_validator.valid?(@objective)
542
+ status_validator = EnumAttributeValidator.new('String', ["ACTIVE", "PAUSED"])
543
+ return false unless status_validator.valid?(@status)
544
+ campaign_status_validator = EnumAttributeValidator.new('String', ["ACTIVE", "PAUSED"])
545
+ return false unless campaign_status_validator.valid?(@campaign_status)
524
546
  bid_strategy_validator = EnumAttributeValidator.new('String', ["LOWEST_COST_WITHOUT_CAP", "LOWEST_COST_WITH_BID_CAP", "COST_CAP", "LOWEST_COST_WITH_MIN_ROAS"])
525
547
  return false unless bid_strategy_validator.valid?(@bid_strategy)
526
548
  return false if !@dsa_beneficiary.nil? && @dsa_beneficiary.to_s.length > 100
@@ -702,6 +724,26 @@ module Zernio
702
724
  @objective = objective
703
725
  end
704
726
 
727
+ # Custom attribute writer method checking allowed values (enum).
728
+ # @param [Object] status Object to be assigned
729
+ def status=(status)
730
+ validator = EnumAttributeValidator.new('String', ["ACTIVE", "PAUSED"])
731
+ unless validator.valid?(status)
732
+ fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
733
+ end
734
+ @status = status
735
+ end
736
+
737
+ # Custom attribute writer method checking allowed values (enum).
738
+ # @param [Object] campaign_status Object to be assigned
739
+ def campaign_status=(campaign_status)
740
+ validator = EnumAttributeValidator.new('String', ["ACTIVE", "PAUSED"])
741
+ unless validator.valid?(campaign_status)
742
+ fail ArgumentError, "invalid value for \"campaign_status\", must be one of #{validator.allowable_values}."
743
+ end
744
+ @campaign_status = campaign_status
745
+ end
746
+
705
747
  # Custom attribute writer method checking allowed values (enum).
706
748
  # @param [Object] bid_strategy Object to be assigned
707
749
  def bid_strategy=(bid_strategy)
@@ -791,6 +833,8 @@ module Zernio
791
833
  placements == o.placements &&
792
834
  advantage_audience == o.advantage_audience &&
793
835
  objective == o.objective &&
836
+ status == o.status &&
837
+ campaign_status == o.campaign_status &&
794
838
  bid_strategy == o.bid_strategy &&
795
839
  bid_amount == o.bid_amount &&
796
840
  roas_average_floor == o.roas_average_floor &&
@@ -809,7 +853,7 @@ module Zernio
809
853
  # Calculates hash code according to all attributes.
810
854
  # @return [Integer] Hash code
811
855
  def hash
812
- [account_id, ad_account_id, name, headline, body, image_url, video, creatives, ad_set_id, budget_amount, budget_type, currency, end_date, countries, cities, regions, zips, metros, custom_locations, age_min, age_max, interests, audience_id, placements, advantage_audience, objective, bid_strategy, bid_amount, roas_average_floor, dsa_beneficiary, dsa_payor, phone_number, link_url].hash
856
+ [account_id, ad_account_id, name, headline, body, image_url, video, creatives, ad_set_id, budget_amount, budget_type, currency, end_date, countries, cities, regions, zips, metros, custom_locations, age_min, age_max, interests, audience_id, placements, advantage_audience, objective, status, campaign_status, bid_strategy, bid_amount, roas_average_floor, dsa_beneficiary, dsa_payor, phone_number, link_url].hash
813
857
  end
814
858
 
815
859
  # Builds the object from hash
@@ -38,7 +38,7 @@ module Zernio
38
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`.
39
39
  attr_accessor :creatives
40
40
 
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` and `audienceId` are rejected with a 400 alongside it. Its `destination_type` must match the ad's destination.
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.
42
42
  attr_accessor :ad_set_id
43
43
 
44
44
  # 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.
@@ -88,6 +88,12 @@ module Zernio
88
88
  # Defaults to `OUTCOME_ENGAGEMENT`. `OUTCOME_SALES` and `OUTCOME_LEADS` require additional account configuration (Dataset linked to the WABA for sales) and may be rejected by Meta if missing.
89
89
  attr_accessor :objective
90
90
 
91
+ # Ad-level status. Defaults to `ACTIVE`. `PAUSED` skips activating the newly created ad(s) after Meta accepts them.
92
+ attr_accessor :status
93
+
94
+ # Campaign-level status, same semantics as `POST /v1/ads/create`. Defaults to `ACTIVE`. `PAUSED` holds activation at the campaign so it never spends before the advertiser reviews it, while the ad set and ad still switch on (one resume call brings the whole hierarchy live). Only meaningful when a new campaign is being created; rejected with a 400 alongside `adSetId` (the attach shape reuses an existing campaign).
95
+ attr_accessor :campaign_status
96
+
91
97
  # Meta bid strategy applied to the shared ad set. Defaults to `LOWEST_COST_WITHOUT_CAP` (auto-bid) when omitted. `LOWEST_COST_WITH_BID_CAP` and `COST_CAP` require `bidAmount`. `LOWEST_COST_WITH_MIN_ROAS` requires `roasAverageFloor`. CTWA's `optimization_goal` is fixed to `CONVERSATIONS`, but the bid strategy is independent.
92
98
  attr_accessor :bid_strategy
93
99
 
@@ -157,6 +163,8 @@ module Zernio
157
163
  :'placements' => :'placements',
158
164
  :'advantage_audience' => :'advantageAudience',
159
165
  :'objective' => :'objective',
166
+ :'status' => :'status',
167
+ :'campaign_status' => :'campaignStatus',
160
168
  :'bid_strategy' => :'bidStrategy',
161
169
  :'bid_amount' => :'bidAmount',
162
170
  :'roas_average_floor' => :'roasAverageFloor',
@@ -205,6 +213,8 @@ module Zernio
205
213
  :'placements' => :'CtwaAdRequestBodyPlacements',
206
214
  :'advantage_audience' => :'Integer',
207
215
  :'objective' => :'String',
216
+ :'status' => :'String',
217
+ :'campaign_status' => :'String',
208
218
  :'bid_strategy' => :'String',
209
219
  :'bid_amount' => :'Float',
210
220
  :'roas_average_floor' => :'Float',
@@ -369,6 +379,14 @@ module Zernio
369
379
  self.objective = attributes[:'objective']
370
380
  end
371
381
 
382
+ if attributes.key?(:'status')
383
+ self.status = attributes[:'status']
384
+ end
385
+
386
+ if attributes.key?(:'campaign_status')
387
+ self.campaign_status = attributes[:'campaign_status']
388
+ end
389
+
372
390
  if attributes.key?(:'bid_strategy')
373
391
  self.bid_strategy = attributes[:'bid_strategy']
374
392
  end
@@ -506,6 +524,10 @@ module Zernio
506
524
  return false unless advantage_audience_validator.valid?(@advantage_audience)
507
525
  objective_validator = EnumAttributeValidator.new('String', ["OUTCOME_ENGAGEMENT", "OUTCOME_SALES", "OUTCOME_LEADS"])
508
526
  return false unless objective_validator.valid?(@objective)
527
+ status_validator = EnumAttributeValidator.new('String', ["ACTIVE", "PAUSED"])
528
+ return false unless status_validator.valid?(@status)
529
+ campaign_status_validator = EnumAttributeValidator.new('String', ["ACTIVE", "PAUSED"])
530
+ return false unless campaign_status_validator.valid?(@campaign_status)
509
531
  bid_strategy_validator = EnumAttributeValidator.new('String', ["LOWEST_COST_WITHOUT_CAP", "LOWEST_COST_WITH_BID_CAP", "COST_CAP", "LOWEST_COST_WITH_MIN_ROAS"])
510
532
  return false unless bid_strategy_validator.valid?(@bid_strategy)
511
533
  return false if !@dsa_beneficiary.nil? && @dsa_beneficiary.to_s.length > 100
@@ -688,6 +710,26 @@ module Zernio
688
710
  @objective = objective
689
711
  end
690
712
 
713
+ # Custom attribute writer method checking allowed values (enum).
714
+ # @param [Object] status Object to be assigned
715
+ def status=(status)
716
+ validator = EnumAttributeValidator.new('String', ["ACTIVE", "PAUSED"])
717
+ unless validator.valid?(status)
718
+ fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
719
+ end
720
+ @status = status
721
+ end
722
+
723
+ # Custom attribute writer method checking allowed values (enum).
724
+ # @param [Object] campaign_status Object to be assigned
725
+ def campaign_status=(campaign_status)
726
+ validator = EnumAttributeValidator.new('String', ["ACTIVE", "PAUSED"])
727
+ unless validator.valid?(campaign_status)
728
+ fail ArgumentError, "invalid value for \"campaign_status\", must be one of #{validator.allowable_values}."
729
+ end
730
+ @campaign_status = campaign_status
731
+ end
732
+
691
733
  # Custom attribute writer method checking allowed values (enum).
692
734
  # @param [Object] bid_strategy Object to be assigned
693
735
  def bid_strategy=(bid_strategy)
@@ -767,6 +809,8 @@ module Zernio
767
809
  placements == o.placements &&
768
810
  advantage_audience == o.advantage_audience &&
769
811
  objective == o.objective &&
812
+ status == o.status &&
813
+ campaign_status == o.campaign_status &&
770
814
  bid_strategy == o.bid_strategy &&
771
815
  bid_amount == o.bid_amount &&
772
816
  roas_average_floor == o.roas_average_floor &&
@@ -784,7 +828,7 @@ module Zernio
784
828
  # Calculates hash code according to all attributes.
785
829
  # @return [Integer] Hash code
786
830
  def hash
787
- [account_id, ad_account_id, name, headline, body, image_url, video, creatives, ad_set_id, budget_amount, budget_type, currency, end_date, countries, cities, regions, zips, metros, custom_locations, age_min, age_max, interests, audience_id, placements, advantage_audience, objective, bid_strategy, bid_amount, roas_average_floor, dsa_beneficiary, dsa_payor, destination].hash
831
+ [account_id, ad_account_id, name, headline, body, image_url, video, creatives, ad_set_id, budget_amount, budget_type, currency, end_date, countries, cities, regions, zips, metros, custom_locations, age_min, age_max, interests, audience_id, placements, advantage_audience, objective, status, campaign_status, bid_strategy, bid_amount, roas_average_floor, dsa_beneficiary, dsa_payor, destination].hash
788
832
  end
789
833
 
790
834
  # Builds the object from hash
@@ -39,7 +39,7 @@ module Zernio
39
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`.
40
40
  attr_accessor :creatives
41
41
 
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` and `audienceId` are rejected with a 400 alongside it. Its `destination_type` must match the ad's destination.
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.
43
43
  attr_accessor :ad_set_id
44
44
 
45
45
  # 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.
@@ -89,6 +89,12 @@ module Zernio
89
89
  # Defaults to `OUTCOME_ENGAGEMENT`. `OUTCOME_SALES` and `OUTCOME_LEADS` require additional account configuration (Dataset linked to the WABA for sales) and may be rejected by Meta if missing.
90
90
  attr_accessor :objective
91
91
 
92
+ # Ad-level status. Defaults to `ACTIVE`. `PAUSED` skips activating the newly created ad(s) after Meta accepts them.
93
+ attr_accessor :status
94
+
95
+ # Campaign-level status, same semantics as `POST /v1/ads/create`. Defaults to `ACTIVE`. `PAUSED` holds activation at the campaign so it never spends before the advertiser reviews it, while the ad set and ad still switch on (one resume call brings the whole hierarchy live). Only meaningful when a new campaign is being created; rejected with a 400 alongside `adSetId` (the attach shape reuses an existing campaign).
96
+ attr_accessor :campaign_status
97
+
92
98
  # Meta bid strategy applied to the shared ad set. Defaults to `LOWEST_COST_WITHOUT_CAP` (auto-bid) when omitted. `LOWEST_COST_WITH_BID_CAP` and `COST_CAP` require `bidAmount`. `LOWEST_COST_WITH_MIN_ROAS` requires `roasAverageFloor`. CTWA's `optimization_goal` is fixed to `CONVERSATIONS`, but the bid strategy is independent.
93
99
  attr_accessor :bid_strategy
94
100
 
@@ -155,6 +161,8 @@ module Zernio
155
161
  :'placements' => :'placements',
156
162
  :'advantage_audience' => :'advantageAudience',
157
163
  :'objective' => :'objective',
164
+ :'status' => :'status',
165
+ :'campaign_status' => :'campaignStatus',
158
166
  :'bid_strategy' => :'bidStrategy',
159
167
  :'bid_amount' => :'bidAmount',
160
168
  :'roas_average_floor' => :'roasAverageFloor',
@@ -202,6 +210,8 @@ module Zernio
202
210
  :'placements' => :'CtwaAdRequestBodyPlacements',
203
211
  :'advantage_audience' => :'Integer',
204
212
  :'objective' => :'String',
213
+ :'status' => :'String',
214
+ :'campaign_status' => :'String',
205
215
  :'bid_strategy' => :'String',
206
216
  :'bid_amount' => :'Float',
207
217
  :'roas_average_floor' => :'Float',
@@ -358,6 +368,14 @@ module Zernio
358
368
  self.objective = attributes[:'objective']
359
369
  end
360
370
 
371
+ if attributes.key?(:'status')
372
+ self.status = attributes[:'status']
373
+ end
374
+
375
+ if attributes.key?(:'campaign_status')
376
+ self.campaign_status = attributes[:'campaign_status']
377
+ end
378
+
361
379
  if attributes.key?(:'bid_strategy')
362
380
  self.bid_strategy = attributes[:'bid_strategy']
363
381
  end
@@ -485,6 +503,10 @@ module Zernio
485
503
  return false unless advantage_audience_validator.valid?(@advantage_audience)
486
504
  objective_validator = EnumAttributeValidator.new('String', ["OUTCOME_ENGAGEMENT", "OUTCOME_SALES", "OUTCOME_LEADS"])
487
505
  return false unless objective_validator.valid?(@objective)
506
+ status_validator = EnumAttributeValidator.new('String', ["ACTIVE", "PAUSED"])
507
+ return false unless status_validator.valid?(@status)
508
+ campaign_status_validator = EnumAttributeValidator.new('String', ["ACTIVE", "PAUSED"])
509
+ return false unless campaign_status_validator.valid?(@campaign_status)
488
510
  bid_strategy_validator = EnumAttributeValidator.new('String', ["LOWEST_COST_WITHOUT_CAP", "LOWEST_COST_WITH_BID_CAP", "COST_CAP", "LOWEST_COST_WITH_MIN_ROAS"])
489
511
  return false unless bid_strategy_validator.valid?(@bid_strategy)
490
512
  return false if !@dsa_beneficiary.nil? && @dsa_beneficiary.to_s.length > 100
@@ -664,6 +686,26 @@ module Zernio
664
686
  @objective = objective
665
687
  end
666
688
 
689
+ # Custom attribute writer method checking allowed values (enum).
690
+ # @param [Object] status Object to be assigned
691
+ def status=(status)
692
+ validator = EnumAttributeValidator.new('String', ["ACTIVE", "PAUSED"])
693
+ unless validator.valid?(status)
694
+ fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
695
+ end
696
+ @status = status
697
+ end
698
+
699
+ # Custom attribute writer method checking allowed values (enum).
700
+ # @param [Object] campaign_status Object to be assigned
701
+ def campaign_status=(campaign_status)
702
+ validator = EnumAttributeValidator.new('String', ["ACTIVE", "PAUSED"])
703
+ unless validator.valid?(campaign_status)
704
+ fail ArgumentError, "invalid value for \"campaign_status\", must be one of #{validator.allowable_values}."
705
+ end
706
+ @campaign_status = campaign_status
707
+ end
708
+
667
709
  # Custom attribute writer method checking allowed values (enum).
668
710
  # @param [Object] bid_strategy Object to be assigned
669
711
  def bid_strategy=(bid_strategy)
@@ -733,6 +775,8 @@ module Zernio
733
775
  placements == o.placements &&
734
776
  advantage_audience == o.advantage_audience &&
735
777
  objective == o.objective &&
778
+ status == o.status &&
779
+ campaign_status == o.campaign_status &&
736
780
  bid_strategy == o.bid_strategy &&
737
781
  bid_amount == o.bid_amount &&
738
782
  roas_average_floor == o.roas_average_floor &&
@@ -749,7 +793,7 @@ module Zernio
749
793
  # Calculates hash code according to all attributes.
750
794
  # @return [Integer] Hash code
751
795
  def hash
752
- [account_id, ad_account_id, name, headline, body, image_url, video, creatives, ad_set_id, budget_amount, budget_type, currency, end_date, countries, cities, regions, zips, metros, custom_locations, age_min, age_max, interests, audience_id, placements, advantage_audience, objective, bid_strategy, bid_amount, roas_average_floor, dsa_beneficiary, dsa_payor].hash
796
+ [account_id, ad_account_id, name, headline, body, image_url, video, creatives, ad_set_id, budget_amount, budget_type, currency, end_date, countries, cities, regions, zips, metros, custom_locations, age_min, age_max, interests, audience_id, placements, advantage_audience, objective, status, campaign_status, bid_strategy, bid_amount, roas_average_floor, dsa_beneficiary, dsa_payor].hash
753
797
  end
754
798
 
755
799
  # Builds the object from hash