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.
- checksums.yaml +4 -4
- data/README.md +9 -0
- data/docs/AdAccountsApi.md +214 -0
- data/docs/CreateAdCreativeRequest.md +3 -1
- data/docs/CreateCustomConversionRequest.md +26 -0
- data/docs/CreateHighDemandPeriod201Response.md +20 -0
- data/docs/CreateHighDemandPeriodRequest.md +34 -0
- data/docs/CreateStandaloneAdRequest.md +2 -0
- data/docs/CustomConversion.md +28 -0
- data/docs/CustomConversionResult.md +24 -0
- data/docs/InstagramApi.md +1 -1
- data/docs/ListCustomConversions200Response.md +20 -0
- data/lib/zernio-sdk/api/ad_accounts_api.rb +212 -0
- data/lib/zernio-sdk/api/instagram_api.rb +2 -2
- data/lib/zernio-sdk/models/create_ad_creative_request.rb +26 -4
- data/lib/zernio-sdk/models/create_custom_conversion_request.rb +282 -0
- data/lib/zernio-sdk/models/create_high_demand_period201_response.rb +158 -0
- data/lib/zernio-sdk/models/create_high_demand_period_request.rb +347 -0
- data/lib/zernio-sdk/models/create_standalone_ad_request.rb +23 -1
- data/lib/zernio-sdk/models/custom_conversion.rb +198 -0
- data/lib/zernio-sdk/models/custom_conversion_result.rb +176 -0
- data/lib/zernio-sdk/models/list_custom_conversions200_response.rb +158 -0
- data/lib/zernio-sdk/version.rb +1 -1
- data/lib/zernio-sdk.rb +6 -0
- data/openapi.yaml +156 -0
- data/spec/api/ad_accounts_api_spec.rb +38 -0
- data/spec/api/instagram_api_spec.rb +1 -1
- data/spec/models/create_ad_creative_request_spec.rb +10 -0
- data/spec/models/create_custom_conversion_request_spec.rb +60 -0
- data/spec/models/create_high_demand_period201_response_spec.rb +42 -0
- data/spec/models/create_high_demand_period_request_spec.rb +92 -0
- data/spec/models/create_standalone_ad_request_spec.rb +10 -0
- data/spec/models/custom_conversion_result_spec.rb +54 -0
- data/spec/models/custom_conversion_spec.rb +66 -0
- data/spec/models/list_custom_conversions200_response_spec.rb +42 -0
- data/zernio-sdk-0.0.707.gem +0 -0
- metadata +26 -2
- data/zernio-sdk-0.0.705.gem +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6603194bef66dba2de17168c5b8ef102ab100f6406617c4d0c3bbf0f06ce576c
|
|
4
|
+
data.tar.gz: a7f637e264a58447b04932c099ad0b8e45671a13594cff01838f225cca58beaa
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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)
|
data/docs/AdAccountsApi.md
CHANGED
|
@@ -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_<n>). | |
|
|
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<CreateAdCreativeRequestCarouselCardsInner>**](CreateAdCreativeRequestCarouselCardsInner.md) | | [optional] |
|
|
17
17
|
| **url_tags** | **String** | Appended to every outbound URL (e.g. utm_source=fb). | [optional] |
|
|
18
18
|
| **creative_features** | **Hash<String, String>** | 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' in one unit. Meta auto-enrols since Aug 2024, so send OPT_OUT to leave. It is a top-level creative field, NOT a `creativeFeatures` 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_<n>). | |
|
|
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's currency in WHOLE units (50 = $50.00). With MULTIPLIER, a factor of the existing budget (2 = 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 = Reach & Frequency: requires `rfPredictionId` (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&F ad set runs on (reserving mints a new id — pass that one). Requires buyingType RESERVED. | [optional] |
|
|
19
19
|
| **creative_features** | **Hash<String, String>** | 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' in one unit. Meta auto-enrols since Aug 2024, so send OPT_OUT to leave. It is a top-level creative field, NOT a `creativeFeatures` 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'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 = $50.00), NOT cents — Meta'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 `endDate` 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's rule, parsed back from the string Meta stores. | [optional] |
|
|
10
|
+
| **custom_event_type** | **String** | | [optional] |
|
|
11
|
+
| **pixel_id** | **String** | Meta'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<CustomConversion>**](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
|
+
|