late-sdk 0.0.705 → 0.0.707

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +9 -0
  3. data/docs/AdAccountsApi.md +214 -0
  4. data/docs/CreateAdCreativeRequest.md +3 -1
  5. data/docs/CreateCustomConversionRequest.md +26 -0
  6. data/docs/CreateHighDemandPeriod201Response.md +20 -0
  7. data/docs/CreateHighDemandPeriodRequest.md +34 -0
  8. data/docs/CreateStandaloneAdRequest.md +2 -0
  9. data/docs/CustomConversion.md +28 -0
  10. data/docs/CustomConversionResult.md +24 -0
  11. data/docs/InstagramApi.md +1 -1
  12. data/docs/ListCustomConversions200Response.md +20 -0
  13. data/lib/zernio-sdk/api/ad_accounts_api.rb +212 -0
  14. data/lib/zernio-sdk/api/instagram_api.rb +2 -2
  15. data/lib/zernio-sdk/models/create_ad_creative_request.rb +26 -4
  16. data/lib/zernio-sdk/models/create_custom_conversion_request.rb +282 -0
  17. data/lib/zernio-sdk/models/create_high_demand_period201_response.rb +158 -0
  18. data/lib/zernio-sdk/models/create_high_demand_period_request.rb +347 -0
  19. data/lib/zernio-sdk/models/create_standalone_ad_request.rb +23 -1
  20. data/lib/zernio-sdk/models/custom_conversion.rb +198 -0
  21. data/lib/zernio-sdk/models/custom_conversion_result.rb +176 -0
  22. data/lib/zernio-sdk/models/list_custom_conversions200_response.rb +158 -0
  23. data/lib/zernio-sdk/version.rb +1 -1
  24. data/lib/zernio-sdk.rb +6 -0
  25. data/openapi.yaml +156 -0
  26. data/spec/api/ad_accounts_api_spec.rb +38 -0
  27. data/spec/api/instagram_api_spec.rb +1 -1
  28. data/spec/models/create_ad_creative_request_spec.rb +10 -0
  29. data/spec/models/create_custom_conversion_request_spec.rb +60 -0
  30. data/spec/models/create_high_demand_period201_response_spec.rb +42 -0
  31. data/spec/models/create_high_demand_period_request_spec.rb +92 -0
  32. data/spec/models/create_standalone_ad_request_spec.rb +10 -0
  33. data/spec/models/custom_conversion_result_spec.rb +54 -0
  34. data/spec/models/custom_conversion_spec.rb +66 -0
  35. data/spec/models/list_custom_conversions200_response_spec.rb +42 -0
  36. data/zernio-sdk-0.0.707.gem +0 -0
  37. metadata +26 -2
  38. data/zernio-sdk-0.0.705.gem +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7153cb1164607836b86fd1dbc18996db6245896bc0fe7309b7594bcd782368ff
4
- data.tar.gz: 26865b20ff4a03a1657fe716dd906db9d0804fd349fd1872da9eff2f695f80c8
3
+ metadata.gz: 6603194bef66dba2de17168c5b8ef102ab100f6406617c4d0c3bbf0f06ce576c
4
+ data.tar.gz: a7f637e264a58447b04932c099ad0b8e45671a13594cff01838f225cca58beaa
5
5
  SHA512:
6
- metadata.gz: 11db15896f63af5f214d89f986aff25715529dcba274391ebaecaadceaf7bb6e2f507c3d9893af7f9cd5753f1e6e13b10a3862b21b2baf7d5e141fcca829f816
7
- data.tar.gz: 732da95ad6b846017cf2f086687afc6d514c46a699e1a66119df51294453921d4ac9946158a684b3e54190adefcba605829d7da4d8ccffd2f5f99d42de16d7d7
6
+ metadata.gz: 1aabf517b419736b6e84044b9c9dab9c4a9bb5d9d7f8aadbadfa150d07136b7b892320dba5edf99b8044a900db34eaf65fbcb14c9abfc38ec87b59d3b04831f0
7
+ data.tar.gz: 95a110b10d856d9d85a7463145ffbedf6719b180cbc6a6e3a14928882d49fc024f7643947d0e85e24aef9562671bfe04797a74ba04352f8866d5b7b89b0d3bf4
data/README.md CHANGED
@@ -94,6 +94,8 @@ Class | Method | HTTP request | Description
94
94
  *Zernio::AccountsApi* | [**move_account_to_profile**](docs/AccountsApi.md#move_account_to_profile) | **PATCH** /v1/accounts/{accountId} | Move account to another profile
95
95
  *Zernio::AccountsApi* | [**update_account**](docs/AccountsApi.md#update_account) | **PUT** /v1/accounts/{accountId} | Update account
96
96
  *Zernio::AccountsApi* | [**update_slack_settings**](docs/AccountsApi.md#update_slack_settings) | **PATCH** /v1/accounts/{accountId}/slack-settings | Update Slack account settings
97
+ *Zernio::AdAccountsApi* | [**create_custom_conversion**](docs/AdAccountsApi.md#create_custom_conversion) | **POST** /v1/accounts/{accountId}/custom-conversions | Create or reuse a custom conversion
98
+ *Zernio::AdAccountsApi* | [**create_high_demand_period**](docs/AdAccountsApi.md#create_high_demand_period) | **POST** /v1/ads/high-demand-periods | Schedule a budget increase
97
99
  *Zernio::AdAccountsApi* | [**create_value_rule_set**](docs/AdAccountsApi.md#create_value_rule_set) | **POST** /v1/ads/value-rule-sets | Create a value rule set
98
100
  *Zernio::AdAccountsApi* | [**delete_value_rule_set**](docs/AdAccountsApi.md#delete_value_rule_set) | **DELETE** /v1/ads/value-rule-sets/{valueRuleSetId} | Delete a value rule set
99
101
  *Zernio::AdAccountsApi* | [**get_ad_account_finance**](docs/AdAccountsApi.md#get_ad_account_finance) | **GET** /v1/ads/accounts/finance | Ad account finances
@@ -106,6 +108,7 @@ Class | Method | HTTP request | Description
106
108
  *Zernio::AdAccountsApi* | [**list_ad_labels**](docs/AdAccountsApi.md#list_ad_labels) | **GET** /v1/ads/labels | Ad labels
107
109
  *Zernio::AdAccountsApi* | [**list_ad_studies**](docs/AdAccountsApi.md#list_ad_studies) | **GET** /v1/ads/studies | A/B tests and lift studies
108
110
  *Zernio::AdAccountsApi* | [**list_ads_business_centers**](docs/AdAccountsApi.md#list_ads_business_centers) | **GET** /v1/ads/business-centers | List TikTok Business Centers
111
+ *Zernio::AdAccountsApi* | [**list_custom_conversions**](docs/AdAccountsApi.md#list_custom_conversions) | **GET** /v1/accounts/{accountId}/custom-conversions | List custom conversions
109
112
  *Zernio::AdAccountsApi* | [**list_high_demand_periods**](docs/AdAccountsApi.md#list_high_demand_periods) | **GET** /v1/ads/high-demand-periods | High demand periods / budget schedules
110
113
  *Zernio::AdAccountsApi* | [**list_meta_businesses**](docs/AdAccountsApi.md#list_meta_businesses) | **GET** /v1/ads/businesses | Businesses list
111
114
  *Zernio::AdAccountsApi* | [**list_value_rule_sets**](docs/AdAccountsApi.md#list_value_rule_sets) | **GET** /v1/ads/value-rule-sets | List value rule sets
@@ -799,6 +802,7 @@ Class | Method | HTTP request | Description
799
802
  - [Zernio::CreateConversionDestinationRequest](docs/CreateConversionDestinationRequest.md)
800
803
  - [Zernio::CreateConversionDestinationRequestValue](docs/CreateConversionDestinationRequestValue.md)
801
804
  - [Zernio::CreateCtwaAd201Response](docs/CreateCtwaAd201Response.md)
805
+ - [Zernio::CreateCustomConversionRequest](docs/CreateCustomConversionRequest.md)
802
806
  - [Zernio::CreateCustomField200Response](docs/CreateCustomField200Response.md)
803
807
  - [Zernio::CreateCustomFieldRequest](docs/CreateCustomFieldRequest.md)
804
808
  - [Zernio::CreateDiscordGuildRole201Response](docs/CreateDiscordGuildRole201Response.md)
@@ -816,6 +820,8 @@ Class | Method | HTTP request | Description
816
820
  - [Zernio::CreateGoogleBusinessMediaRequest](docs/CreateGoogleBusinessMediaRequest.md)
817
821
  - [Zernio::CreateGoogleBusinessPlaceAction200Response](docs/CreateGoogleBusinessPlaceAction200Response.md)
818
822
  - [Zernio::CreateGoogleBusinessPlaceActionRequest](docs/CreateGoogleBusinessPlaceActionRequest.md)
823
+ - [Zernio::CreateHighDemandPeriod201Response](docs/CreateHighDemandPeriod201Response.md)
824
+ - [Zernio::CreateHighDemandPeriodRequest](docs/CreateHighDemandPeriodRequest.md)
819
825
  - [Zernio::CreateInboxConversation201Response](docs/CreateInboxConversation201Response.md)
820
826
  - [Zernio::CreateInboxConversation201ResponseData](docs/CreateInboxConversation201ResponseData.md)
821
827
  - [Zernio::CreateInboxConversation400Response](docs/CreateInboxConversation400Response.md)
@@ -927,6 +933,8 @@ Class | Method | HTTP request | Description
927
933
  - [Zernio::CtwaAdRequestBodyZipsInner](docs/CtwaAdRequestBodyZipsInner.md)
928
934
  - [Zernio::CtwaMultiResponse](docs/CtwaMultiResponse.md)
929
935
  - [Zernio::CtwaSingleResponse](docs/CtwaSingleResponse.md)
936
+ - [Zernio::CustomConversion](docs/CustomConversion.md)
937
+ - [Zernio::CustomConversionResult](docs/CustomConversionResult.md)
930
938
  - [Zernio::DeactivateSmsRegistration200Response](docs/DeactivateSmsRegistration200Response.md)
931
939
  - [Zernio::DeleteAccountGroup200Response](docs/DeleteAccountGroup200Response.md)
932
940
  - [Zernio::DeleteAdCampaign200Response](docs/DeleteAdCampaign200Response.md)
@@ -1465,6 +1473,7 @@ Class | Method | HTTP request | Description
1465
1473
  - [Zernio::ListConversionAssociations200ResponseAssociationsInner](docs/ListConversionAssociations200ResponseAssociationsInner.md)
1466
1474
  - [Zernio::ListConversionDestinations200Response](docs/ListConversionDestinations200Response.md)
1467
1475
  - [Zernio::ListConversionDestinations200ResponseDestinationsInner](docs/ListConversionDestinations200ResponseDestinationsInner.md)
1476
+ - [Zernio::ListCustomConversions200Response](docs/ListCustomConversions200Response.md)
1468
1477
  - [Zernio::ListCustomFields200Response](docs/ListCustomFields200Response.md)
1469
1478
  - [Zernio::ListCustomFields200ResponseFieldsInner](docs/ListCustomFields200ResponseFieldsInner.md)
1470
1479
  - [Zernio::ListDiscordGuildMembers200Response](docs/ListDiscordGuildMembers200Response.md)
@@ -4,6 +4,8 @@ All URIs are relative to *https://zernio.com/api*
4
4
 
5
5
  | Method | HTTP request | Description |
6
6
  | ------ | ------------ | ----------- |
7
+ | [**create_custom_conversion**](AdAccountsApi.md#create_custom_conversion) | **POST** /v1/accounts/{accountId}/custom-conversions | Create or reuse a custom conversion |
8
+ | [**create_high_demand_period**](AdAccountsApi.md#create_high_demand_period) | **POST** /v1/ads/high-demand-periods | Schedule a budget increase |
7
9
  | [**create_value_rule_set**](AdAccountsApi.md#create_value_rule_set) | **POST** /v1/ads/value-rule-sets | Create a value rule set |
8
10
  | [**delete_value_rule_set**](AdAccountsApi.md#delete_value_rule_set) | **DELETE** /v1/ads/value-rule-sets/{valueRuleSetId} | Delete a value rule set |
9
11
  | [**get_ad_account_finance**](AdAccountsApi.md#get_ad_account_finance) | **GET** /v1/ads/accounts/finance | Ad account finances |
@@ -16,6 +18,7 @@ All URIs are relative to *https://zernio.com/api*
16
18
  | [**list_ad_labels**](AdAccountsApi.md#list_ad_labels) | **GET** /v1/ads/labels | Ad labels |
17
19
  | [**list_ad_studies**](AdAccountsApi.md#list_ad_studies) | **GET** /v1/ads/studies | A/B tests and lift studies |
18
20
  | [**list_ads_business_centers**](AdAccountsApi.md#list_ads_business_centers) | **GET** /v1/ads/business-centers | List TikTok Business Centers |
21
+ | [**list_custom_conversions**](AdAccountsApi.md#list_custom_conversions) | **GET** /v1/accounts/{accountId}/custom-conversions | List custom conversions |
19
22
  | [**list_high_demand_periods**](AdAccountsApi.md#list_high_demand_periods) | **GET** /v1/ads/high-demand-periods | High demand periods / budget schedules |
20
23
  | [**list_meta_businesses**](AdAccountsApi.md#list_meta_businesses) | **GET** /v1/ads/businesses | Businesses list |
21
24
  | [**list_value_rule_sets**](AdAccountsApi.md#list_value_rule_sets) | **GET** /v1/ads/value-rule-sets | List value rule sets |
@@ -23,6 +26,146 @@ All URIs are relative to *https://zernio.com/api*
23
26
  | [**update_value_rule_set**](AdAccountsApi.md#update_value_rule_set) | **PUT** /v1/ads/value-rule-sets/{valueRuleSetId} | Replace a value rule set |
24
27
 
25
28
 
29
+ ## create_custom_conversion
30
+
31
+ > <CustomConversionResult> create_custom_conversion(account_id, create_custom_conversion_request)
32
+
33
+ Create or reuse a custom conversion
34
+
35
+ Provision the Meta custom conversion an ads flow optimises toward, and hand back the `customConversionId` for `promotedObject.customConversionId` on POST /v1/ads/create. Removes the manual \"create it in Ads Manager first\" step. **Reuse is ours, not Meta's.** Meta's create is not idempotent, so a retried request would otherwise mint a duplicate carrying none of the original's optimisation history. A non-archived conversion with the same `name` on the same `pixelId` is returned instead of created, with `reused: true` and a 200 rather than a 201. `rule` is forwarded verbatim in Meta's own grammar (e.g. `{\"url\": {\"i_contains\": \"thank-you\"}}`); Meta validates it and rejects a malformed one with \"A conversion rule is required at creation time\".
36
+
37
+ ### Examples
38
+
39
+ ```ruby
40
+ require 'time'
41
+ require 'zernio-sdk'
42
+ # setup authorization
43
+ Zernio.configure do |config|
44
+ # Configure Bearer authorization (JWT): bearerAuth
45
+ config.access_token = 'YOUR_BEARER_TOKEN'
46
+ end
47
+
48
+ api_instance = Zernio::AdAccountsApi.new
49
+ account_id = 'account_id_example' # String | Meta ads SocialAccount id.
50
+ create_custom_conversion_request = Zernio::CreateCustomConversionRequest.new({ad_account_id: 'ad_account_id_example', name: 'name_example', pixel_id: 'pixel_id_example', custom_event_type: 'custom_event_type_example', rule: 3.56}) # CreateCustomConversionRequest |
51
+
52
+ begin
53
+ # Create or reuse a custom conversion
54
+ result = api_instance.create_custom_conversion(account_id, create_custom_conversion_request)
55
+ p result
56
+ rescue Zernio::ApiError => e
57
+ puts "Error when calling AdAccountsApi->create_custom_conversion: #{e}"
58
+ end
59
+ ```
60
+
61
+ #### Using the create_custom_conversion_with_http_info variant
62
+
63
+ This returns an Array which contains the response data, status code and headers.
64
+
65
+ > <Array(<CustomConversionResult>, Integer, Hash)> create_custom_conversion_with_http_info(account_id, create_custom_conversion_request)
66
+
67
+ ```ruby
68
+ begin
69
+ # Create or reuse a custom conversion
70
+ data, status_code, headers = api_instance.create_custom_conversion_with_http_info(account_id, create_custom_conversion_request)
71
+ p status_code # => 2xx
72
+ p headers # => { ... }
73
+ p data # => <CustomConversionResult>
74
+ rescue Zernio::ApiError => e
75
+ puts "Error when calling AdAccountsApi->create_custom_conversion_with_http_info: #{e}"
76
+ end
77
+ ```
78
+
79
+ ### Parameters
80
+
81
+ | Name | Type | Description | Notes |
82
+ | ---- | ---- | ----------- | ----- |
83
+ | **account_id** | **String** | Meta ads SocialAccount id. | |
84
+ | **create_custom_conversion_request** | [**CreateCustomConversionRequest**](CreateCustomConversionRequest.md) | | |
85
+
86
+ ### Return type
87
+
88
+ [**CustomConversionResult**](CustomConversionResult.md)
89
+
90
+ ### Authorization
91
+
92
+ [bearerAuth](../README.md#bearerAuth)
93
+
94
+ ### HTTP request headers
95
+
96
+ - **Content-Type**: application/json
97
+ - **Accept**: application/json
98
+
99
+
100
+ ## create_high_demand_period
101
+
102
+ > <CreateHighDemandPeriod201Response> create_high_demand_period(create_high_demand_period_request)
103
+
104
+ Schedule a budget increase
105
+
106
+ Pre-schedule a temporary budget increase (Black Friday, a launch, a sale) instead of editing the budget by hand on the day. Same target rule as the GET: exactly one of `campaignId` / `adSetId`. Two Meta constraints worth knowing before you call it. `timeStart` / `timeEnd` must fall on a 15-minute boundary, and a campaign cannot mix `ABSOLUTE` and `MULTIPLIER` across its schedules — the second type is rejected with \"Can't mix your budget scaling selection\". Window rules (must sit inside the campaign's run dates, minimum lead time, no overlap) are Meta's and its message is forwarded verbatim.
107
+
108
+ ### Examples
109
+
110
+ ```ruby
111
+ require 'time'
112
+ require 'zernio-sdk'
113
+ # setup authorization
114
+ Zernio.configure do |config|
115
+ # Configure Bearer authorization (JWT): bearerAuth
116
+ config.access_token = 'YOUR_BEARER_TOKEN'
117
+ end
118
+
119
+ api_instance = Zernio::AdAccountsApi.new
120
+ create_high_demand_period_request = Zernio::CreateHighDemandPeriodRequest.new({account_id: 'account_id_example', budget_value: 3.56, budget_value_type: 'ABSOLUTE', time_start: 37, time_end: 37}) # CreateHighDemandPeriodRequest |
121
+
122
+ begin
123
+ # Schedule a budget increase
124
+ result = api_instance.create_high_demand_period(create_high_demand_period_request)
125
+ p result
126
+ rescue Zernio::ApiError => e
127
+ puts "Error when calling AdAccountsApi->create_high_demand_period: #{e}"
128
+ end
129
+ ```
130
+
131
+ #### Using the create_high_demand_period_with_http_info variant
132
+
133
+ This returns an Array which contains the response data, status code and headers.
134
+
135
+ > <Array(<CreateHighDemandPeriod201Response>, Integer, Hash)> create_high_demand_period_with_http_info(create_high_demand_period_request)
136
+
137
+ ```ruby
138
+ begin
139
+ # Schedule a budget increase
140
+ data, status_code, headers = api_instance.create_high_demand_period_with_http_info(create_high_demand_period_request)
141
+ p status_code # => 2xx
142
+ p headers # => { ... }
143
+ p data # => <CreateHighDemandPeriod201Response>
144
+ rescue Zernio::ApiError => e
145
+ puts "Error when calling AdAccountsApi->create_high_demand_period_with_http_info: #{e}"
146
+ end
147
+ ```
148
+
149
+ ### Parameters
150
+
151
+ | Name | Type | Description | Notes |
152
+ | ---- | ---- | ----------- | ----- |
153
+ | **create_high_demand_period_request** | [**CreateHighDemandPeriodRequest**](CreateHighDemandPeriodRequest.md) | | |
154
+
155
+ ### Return type
156
+
157
+ [**CreateHighDemandPeriod201Response**](CreateHighDemandPeriod201Response.md)
158
+
159
+ ### Authorization
160
+
161
+ [bearerAuth](../README.md#bearerAuth)
162
+
163
+ ### HTTP request headers
164
+
165
+ - **Content-Type**: application/json
166
+ - **Accept**: application/json
167
+
168
+
26
169
  ## create_value_rule_set
27
170
 
28
171
  > <CreateValueRuleSet201Response> create_value_rule_set(create_value_rule_set_request)
@@ -907,6 +1050,77 @@ end
907
1050
  - **Accept**: application/json
908
1051
 
909
1052
 
1053
+ ## list_custom_conversions
1054
+
1055
+ > <ListCustomConversions200Response> list_custom_conversions(account_id, ad_account_id)
1056
+
1057
+ List custom conversions
1058
+
1059
+ The ad account's Meta custom conversions, including archived ones (`isArchived`).
1060
+
1061
+ ### Examples
1062
+
1063
+ ```ruby
1064
+ require 'time'
1065
+ require 'zernio-sdk'
1066
+ # setup authorization
1067
+ Zernio.configure do |config|
1068
+ # Configure Bearer authorization (JWT): bearerAuth
1069
+ config.access_token = 'YOUR_BEARER_TOKEN'
1070
+ end
1071
+
1072
+ api_instance = Zernio::AdAccountsApi.new
1073
+ account_id = 'account_id_example' # String | Meta ads SocialAccount id.
1074
+ ad_account_id = 'ad_account_id_example' # String | Meta ad account id (act_<n>).
1075
+
1076
+ begin
1077
+ # List custom conversions
1078
+ result = api_instance.list_custom_conversions(account_id, ad_account_id)
1079
+ p result
1080
+ rescue Zernio::ApiError => e
1081
+ puts "Error when calling AdAccountsApi->list_custom_conversions: #{e}"
1082
+ end
1083
+ ```
1084
+
1085
+ #### Using the list_custom_conversions_with_http_info variant
1086
+
1087
+ This returns an Array which contains the response data, status code and headers.
1088
+
1089
+ > <Array(<ListCustomConversions200Response>, Integer, Hash)> list_custom_conversions_with_http_info(account_id, ad_account_id)
1090
+
1091
+ ```ruby
1092
+ begin
1093
+ # List custom conversions
1094
+ data, status_code, headers = api_instance.list_custom_conversions_with_http_info(account_id, ad_account_id)
1095
+ p status_code # => 2xx
1096
+ p headers # => { ... }
1097
+ p data # => <ListCustomConversions200Response>
1098
+ rescue Zernio::ApiError => e
1099
+ puts "Error when calling AdAccountsApi->list_custom_conversions_with_http_info: #{e}"
1100
+ end
1101
+ ```
1102
+
1103
+ ### Parameters
1104
+
1105
+ | Name | Type | Description | Notes |
1106
+ | ---- | ---- | ----------- | ----- |
1107
+ | **account_id** | **String** | Meta ads SocialAccount id. | |
1108
+ | **ad_account_id** | **String** | Meta ad account id (act_&lt;n&gt;). | |
1109
+
1110
+ ### Return type
1111
+
1112
+ [**ListCustomConversions200Response**](ListCustomConversions200Response.md)
1113
+
1114
+ ### Authorization
1115
+
1116
+ [bearerAuth](../README.md#bearerAuth)
1117
+
1118
+ ### HTTP request headers
1119
+
1120
+ - **Content-Type**: Not defined
1121
+ - **Accept**: application/json
1122
+
1123
+
910
1124
  ## list_high_demand_periods
911
1125
 
912
1126
  > <ListHighDemandPeriods200Response> list_high_demand_periods(account_id, opts)
@@ -16,6 +16,7 @@
16
16
  | **carousel_cards** | [**Array&lt;CreateAdCreativeRequestCarouselCardsInner&gt;**](CreateAdCreativeRequestCarouselCardsInner.md) | | [optional] |
17
17
  | **url_tags** | **String** | Appended to every outbound URL (e.g. utm_source&#x3D;fb). | [optional] |
18
18
  | **creative_features** | **Hash&lt;String, String&gt;** | Advantage+ creative enhancements: partial map of Meta creative feature keys (snake_case) to enroll status, forwarded as degrees_of_freedom_spec.creative_features_spec. Unspecified features default to OPT_OUT. | [optional] |
19
+ | **multi_advertiser** | **String** | Meta only. Multi-advertiser ads: whether Meta may show this ad alongside other advertisers&#39; in one unit. Meta auto-enrols since Aug 2024, so send OPT_OUT to leave. It is a top-level creative field, NOT a &#x60;creativeFeatures&#x60; key — Meta rejects it there. | [optional] |
19
20
 
20
21
  ## Example
21
22
 
@@ -34,7 +35,8 @@ instance = Zernio::CreateAdCreativeRequest.new(
34
35
  image_hash: null,
35
36
  carousel_cards: null,
36
37
  url_tags: null,
37
- creative_features: null
38
+ creative_features: null,
39
+ multi_advertiser: null
38
40
  )
39
41
  ```
40
42
 
@@ -0,0 +1,26 @@
1
+ # Zernio::CreateCustomConversionRequest
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **ad_account_id** | **String** | Meta ad account id (act_&lt;n&gt;). | |
8
+ | **name** | **String** | Also the reuse key, together with pixelId. | |
9
+ | **pixel_id** | **String** | Meta pixel id (event_source_id). From GET /v1/accounts/{accountId}/tracking-tags. | |
10
+ | **custom_event_type** | **String** | Meta custom_event_type, e.g. LEAD, PURCHASE, OTHER. | |
11
+ | **rule** | **Object** | Meta conversion rule, forwarded verbatim. | |
12
+
13
+ ## Example
14
+
15
+ ```ruby
16
+ require 'zernio-sdk'
17
+
18
+ instance = Zernio::CreateCustomConversionRequest.new(
19
+ ad_account_id: null,
20
+ name: null,
21
+ pixel_id: null,
22
+ custom_event_type: null,
23
+ rule: null
24
+ )
25
+ ```
26
+
@@ -0,0 +1,20 @@
1
+ # Zernio::CreateHighDemandPeriod201Response
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **object_id** | **String** | The campaign / ad set the schedule was attached to. | [optional] |
8
+ | **id** | **String** | Meta budget schedule id. | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'zernio-sdk'
14
+
15
+ instance = Zernio::CreateHighDemandPeriod201Response.new(
16
+ object_id: null,
17
+ id: null
18
+ )
19
+ ```
20
+
@@ -0,0 +1,34 @@
1
+ # Zernio::CreateHighDemandPeriodRequest
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **account_id** | **String** | Zernio SocialAccount id used to resolve the Meta token. | |
8
+ | **campaign_id** | **String** | Platform campaign id. Exactly one of campaignId / adSetId. | [optional] |
9
+ | **ad_set_id** | **String** | Platform ad set id. Exactly one of campaignId / adSetId. | [optional] |
10
+ | **budget_value** | **Float** | With ABSOLUTE, a budget in the ad account&#39;s currency in WHOLE units (50 &#x3D; $50.00). With MULTIPLIER, a factor of the existing budget (2 &#x3D; double it) and NOT a currency amount. | |
11
+ | **budget_value_type** | **String** | | |
12
+ | **time_start** | **Integer** | Unix seconds, on a 15-minute boundary (:00, :15, :30, :45). | |
13
+ | **time_end** | **Integer** | Unix seconds, on a 15-minute boundary and after timeStart. | |
14
+ | **recurrence_type** | **String** | | [optional] |
15
+ | **currency** | **String** | Ad account currency, for the ABSOLUTE minor-unit conversion. Ignored for MULTIPLIER. | [optional] |
16
+
17
+ ## Example
18
+
19
+ ```ruby
20
+ require 'zernio-sdk'
21
+
22
+ instance = Zernio::CreateHighDemandPeriodRequest.new(
23
+ account_id: null,
24
+ campaign_id: null,
25
+ ad_set_id: null,
26
+ budget_value: null,
27
+ budget_value_type: null,
28
+ time_start: null,
29
+ time_end: null,
30
+ recurrence_type: null,
31
+ currency: null
32
+ )
33
+ ```
34
+
@@ -17,6 +17,7 @@
17
17
  | **buying_type** | **String** | Meta only. RESERVED &#x3D; Reach &amp; Frequency: requires &#x60;rfPredictionId&#x60; (a RESERVED prediction from /v1/ads/rf-predictions + /reserve). Budget, schedule and pricing come from the reservation, so budgetAmount/budgetType are not required and bid fields are ignored. Only the plain single-ad shape (no creatives[], adSetId, existingCampaignId or dynamicCreative). | [optional] |
18
18
  | **rf_prediction_id** | **String** | Meta only. The RESERVED prediction id the R&amp;F ad set runs on (reserving mints a new id — pass that one). Requires buyingType RESERVED. | [optional] |
19
19
  | **creative_features** | **Hash&lt;String, String&gt;** | Meta only. Advantage+ creative enhancements: a partial map of Meta creative feature keys (snake_case, e.g. enhance_cta, image_brightness_and_contrast, text_optimizations) to enroll status, forwarded as degrees_of_freedom_spec.creative_features_spec. Meta validates the keys; unspecified features default to OPT_OUT. The legacy standard_enhancements bundle is deprecated by Meta and rejected. | [optional] |
20
+ | **multi_advertiser** | **String** | Meta only. Multi-advertiser ads: whether Meta may show this ad alongside other advertisers&#39; in one unit. Meta auto-enrols since Aug 2024, so send OPT_OUT to leave. It is a top-level creative field, NOT a &#x60;creativeFeatures&#x60; key — Meta rejects it there. | [optional] |
20
21
  | **validate_only** | **Boolean** | Meta only, single standalone shape only (no creatives[], adSetId, or RESERVED). Dry-run: each node runs Meta&#39;s execution_options validate_only and NOTHING is created or persisted. Children need real parents, so a fresh tree validates the campaign + creative (the ad set needs its campaign to exist — pass existingCampaignId to validate it too; the ad itself is never validatable pre-create). A Meta validation failure returns the 400 verbatim; success returns 200 with per-node results instead of an ad. | [optional] |
21
22
  | **budget_amount** | **Float** | Budget in WHOLE currency units (USD: 50 &#x3D; $50.00), NOT cents — Meta&#39;s own Marketing API takes this same number in minor units, so it is an easy and expensive mix-up. Required on legacy + multi-creative shapes. Inherited on attach. OpenAI Ads requires a $1 minimum (its budget is lifetime-only, see budgetType). | [optional] |
22
23
  | **budget_type** | **String** | Required on legacy + multi-creative shapes. Inherited on attach. OpenAI Ads accepts lifetime only (no daily-budget concept on the platform); sending daily returns 422. OpenAI Ads lifetime budgets require &#x60;endDate&#x60; to give the lifetime cap a spend window. | [optional] |
@@ -105,6 +106,7 @@ instance = Zernio::CreateStandaloneAdRequest.new(
105
106
  buying_type: null,
106
107
  rf_prediction_id: null,
107
108
  creative_features: null,
109
+ multi_advertiser: null,
108
110
  validate_only: null,
109
111
  budget_amount: null,
110
112
  budget_type: null,
@@ -0,0 +1,28 @@
1
+ # Zernio::CustomConversion
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **id** | **String** | | [optional] |
8
+ | **name** | **String** | | [optional] |
9
+ | **rule** | **Object** | Meta&#39;s rule, parsed back from the string Meta stores. | [optional] |
10
+ | **custom_event_type** | **String** | | [optional] |
11
+ | **pixel_id** | **String** | Meta&#39;s event_source_id — the pixel the rule reads from. | [optional] |
12
+ | **is_archived** | **Boolean** | | [optional] |
13
+
14
+ ## Example
15
+
16
+ ```ruby
17
+ require 'zernio-sdk'
18
+
19
+ instance = Zernio::CustomConversion.new(
20
+ id: null,
21
+ name: null,
22
+ rule: null,
23
+ custom_event_type: null,
24
+ pixel_id: null,
25
+ is_archived: null
26
+ )
27
+ ```
28
+
@@ -0,0 +1,24 @@
1
+ # Zernio::CustomConversionResult
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **ad_account_id** | **String** | | [optional] |
8
+ | **custom_conversion_id** | **String** | Drops straight into promotedObject.customConversionId on POST /v1/ads/create. | [optional] |
9
+ | **reused** | **Boolean** | True when an existing conversion matched name + pixelId; the response is then a 200. | [optional] |
10
+ | **custom_conversion** | [**CustomConversion**](CustomConversion.md) | | [optional] |
11
+
12
+ ## Example
13
+
14
+ ```ruby
15
+ require 'zernio-sdk'
16
+
17
+ instance = Zernio::CustomConversionResult.new(
18
+ ad_account_id: null,
19
+ custom_conversion_id: null,
20
+ reused: null,
21
+ custom_conversion: null
22
+ )
23
+ ```
24
+
data/docs/InstagramApi.md CHANGED
@@ -84,7 +84,7 @@ end
84
84
 
85
85
  Get Instagram story insights
86
86
 
87
- Returns metrics for a single story. The `source` field discriminates between three states: - `live` — fetched from Meta in real time (story is still active) - `cached` — fetched from a persisted `story_insights` webhook payload (story has expired but we received its final-state metrics from Meta) - `unavailable` — story has expired and we never received its webhook payload (for example, the account connected after the story expired) Field semantics follow Meta's API. Counts below 5 may be returned as 0 due to Meta's privacy floor on small audiences. The `navigation` field is the sum of `tapsForward + tapsBack + exits + swipesForward`.
87
+ Returns metrics for a single story. The `source` field discriminates between three states: - `live` — fetched from Meta in real time (story is still active) - `cached` — fetched from a persisted `story_insights` webhook payload (story has expired but we received its final-state metrics from Meta) - `unavailable` — story has expired and we never received its webhook payload (for example, the account connected after the story expired) Meta can report an expired story as an empty successful result rather than an error, so an expired story resolves to `cached` or `unavailable` even though the upstream request itself succeeded. Field semantics follow Meta's API. Counts below 5 may be returned as 0 due to Meta's privacy floor on small audiences. The `navigation` field is the sum of `tapsForward + tapsBack + exits + swipesForward`.
88
88
 
89
89
  ### Examples
90
90
 
@@ -0,0 +1,20 @@
1
+ # Zernio::ListCustomConversions200Response
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **ad_account_id** | **String** | | [optional] |
8
+ | **data** | [**Array&lt;CustomConversion&gt;**](CustomConversion.md) | | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'zernio-sdk'
14
+
15
+ instance = Zernio::ListCustomConversions200Response.new(
16
+ ad_account_id: null,
17
+ data: null
18
+ )
19
+ ```
20
+