late-sdk 0.0.729 → 0.0.731
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +1 -0
- data/docs/AdCampaign.md +1 -1
- data/docs/AdTreeCampaign.md +1 -1
- data/docs/AdTreeCampaignOptimizationGoal.md +15 -0
- data/docs/UpdateProfileRequest.md +1 -1
- data/docs/UploadedOrDerivedAudience.md +1 -1
- data/lib/zernio-sdk/models/ad_campaign.rb +1 -3
- data/lib/zernio-sdk/models/ad_tree_campaign.rb +1 -3
- data/lib/zernio-sdk/models/ad_tree_campaign_optimization_goal.rb +103 -0
- data/lib/zernio-sdk/models/update_profile_request.rb +21 -0
- data/lib/zernio-sdk/models/uploaded_or_derived_audience.rb +1 -1
- data/lib/zernio-sdk/version.rb +1 -1
- data/lib/zernio-sdk.rb +1 -0
- data/openapi.yaml +11 -10
- data/spec/models/ad_tree_campaign_optimization_goal_spec.rb +21 -0
- data/zernio-sdk-0.0.731.gem +0 -0
- metadata +6 -2
- data/zernio-sdk-0.0.729.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: f57d9569449a71654022a9646049177f630a6af9606ec61ed214db25dfd9e687
|
|
4
|
+
data.tar.gz: 25ce7ce867bee3d044e46bfa3374b75983d33a0eb8505efb10d50e7c91a4ccf3
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1c8cca60b9c48fc8baab47d00cd492b74d7c34ffc7dccd898fb9a54634f70bc40b7f804f29ac2f6c4d5bb046d1d15f94790a981da8a0d5d51a22d23f9e724544
|
|
7
|
+
data.tar.gz: fa7ca51f4953dcca40eb011b65fc83ebbea773366bd1dc06052a5a0f3e3b7c970a304e20133ecbcb9a9737abfb7ef328c160ff9219c601541613dcf0683b0c01
|
data/README.md
CHANGED
|
@@ -679,6 +679,7 @@ Class | Method | HTTP request | Description
|
|
|
679
679
|
- [Zernio::AdTreeCampaign](docs/AdTreeCampaign.md)
|
|
680
680
|
- [Zernio::AdTreeCampaignBudget](docs/AdTreeCampaignBudget.md)
|
|
681
681
|
- [Zernio::AdTreeCampaignCampaignBudget](docs/AdTreeCampaignCampaignBudget.md)
|
|
682
|
+
- [Zernio::AdTreeCampaignOptimizationGoal](docs/AdTreeCampaignOptimizationGoal.md)
|
|
682
683
|
- [Zernio::AdTreeCampaignPromotedObject](docs/AdTreeCampaignPromotedObject.md)
|
|
683
684
|
- [Zernio::AdTreeResponse](docs/AdTreeResponse.md)
|
|
684
685
|
- [Zernio::AddBroadcastRecipients200Response](docs/AddBroadcastRecipients200Response.md)
|
data/docs/AdCampaign.md
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
| **profile_id** | **String** | | [optional] |
|
|
25
25
|
| **advertising_channel_type** | **String** | Google-only. Raw campaign.advertising_channel_type. See AdTreeCampaign.advertisingChannelType. | [optional] |
|
|
26
26
|
| **platform_objective** | **String** | Raw Meta campaign objective (e.g. OUTCOME_SALES, OUTCOME_LEADS, OUTCOME_TRAFFIC) | [optional] |
|
|
27
|
-
| **optimization_goal** | **
|
|
27
|
+
| **optimization_goal** | [**AdTreeCampaignOptimizationGoal**](AdTreeCampaignOptimizationGoal.md) | | [optional] |
|
|
28
28
|
| **bid_strategy** | [**BidStrategy**](BidStrategy.md) | | [optional] |
|
|
29
29
|
| **bid_amount** | **Float** | Representative bid from the top-spending ad set (whole currency units). Meta: populated when bidStrategy is LOWEST_COST_WITH_BID_CAP or COST_CAP. LinkedIn: the campaign unitCost, ungated, where 0 is a real delivery-stopping value. | [optional] |
|
|
30
30
|
| **roas_average_floor** | **Float** | Representative ROAS floor from the top-spending ad set. Decimal multiplier (2.0 = 2.0x). | [optional] |
|
data/docs/AdTreeCampaign.md
CHANGED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
| **profile_id** | **String** | | [optional] |
|
|
26
26
|
| **advertising_channel_type** | **String** | Google-only. Raw campaign.advertising_channel_type (SEARCH, PERFORMANCE_MAX, LOCAL_SERVICES, VIDEO, DEMAND_GEN, DISPLAY, SHOPPING, ...). Serving surface, distinct from platformObjective (advertiser intent). Null/absent for non-Google platforms. | [optional] |
|
|
27
27
|
| **platform_objective** | **String** | Raw Meta campaign objective (e.g. OUTCOME_SALES, OUTCOME_LEADS, OUTCOME_TRAFFIC) | [optional] |
|
|
28
|
-
| **optimization_goal** | **
|
|
28
|
+
| **optimization_goal** | [**AdTreeCampaignOptimizationGoal**](AdTreeCampaignOptimizationGoal.md) | | [optional] |
|
|
29
29
|
| **bid_strategy** | [**BidStrategy**](BidStrategy.md) | | [optional] |
|
|
30
30
|
| **bid_amount** | **Float** | Representative bid for the campaign, bubbled up from the top-spending ad set (whole currency units). Meta: populated when the ad-set bidStrategy is LOWEST_COST_WITH_BID_CAP or COST_CAP. LinkedIn: the campaign unitCost, which has no bidStrategy gate and where 0 is a real, delivery-stopping value rather than unset. | [optional] |
|
|
31
31
|
| **roas_average_floor** | **Float** | Representative ROAS floor for the campaign — bubbled up from the top-spending ad set. Decimal multiplier (2.0 = 2.0x). | [optional] |
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Zernio::AdTreeCampaignOptimizationGoal
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
|
|
8
|
+
## Example
|
|
9
|
+
|
|
10
|
+
```ruby
|
|
11
|
+
require 'zernio-sdk'
|
|
12
|
+
|
|
13
|
+
instance = Zernio::AdTreeCampaignOptimizationGoal.new()
|
|
14
|
+
```
|
|
15
|
+
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
| Name | Type | Description | Notes |
|
|
6
6
|
| ---- | ---- | ----------- | ----- |
|
|
7
7
|
| **name** | **String** | | [optional] |
|
|
8
|
-
| **description** | **String** |
|
|
8
|
+
| **description** | **String** | Set to null to clear the description. | [optional] |
|
|
9
9
|
| **color** | **String** | | [optional] |
|
|
10
10
|
| **is_default** | **Boolean** | | [optional] |
|
|
11
11
|
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
| **companies** | [**Array<UploadedOrDerivedAudienceCompaniesInner>**](UploadedOrDerivedAudienceCompaniesInner.md) | Required for company_list audiences (LinkedIn only): plain-text company rows for account targeting. Each row needs at least one identifier. Not hashed, LinkedIn matches these against its own company graph. LinkedIn recommends 1,000+ companies for a usable match rate and takes up to 48h to process the list. Replace the list later with POST /v1/ads/audiences/{audienceId}/companies. | [optional] |
|
|
18
18
|
| **pixel_id** | **String** | Required for website audiences | [optional] |
|
|
19
19
|
| **retention_days** | **Integer** | Required for website (max 180) and meta_engagement (max 365) audiences. | [optional] |
|
|
20
|
-
| **engagement_source** | **String** | Required for meta_engagement audiences (Meta only): what people engaged with. `page` = a Facebook Page, `instagram` = an IG professional account, `video` = a video.
|
|
20
|
+
| **engagement_source** | **String** | Required for meta_engagement audiences (Meta only): what people engaged with. `page` = a Facebook Page, `instagram` = an IG professional account, `video` = a video. | [optional] |
|
|
21
21
|
| **source_id** | **String** | Required for meta_engagement: the Page / IG account / video id. | [optional] |
|
|
22
22
|
| **event** | **String** | meta_engagement only. The engagement event; defaults per source (page → page_engaged, instagram → ig_business_profile_all, video → video_watched). Ignored when `rule` is provided. | [optional] |
|
|
23
23
|
| **source_audience_id** | **String** | Required for lookalike audiences | [optional] |
|
|
@@ -64,7 +64,6 @@ module Zernio
|
|
|
64
64
|
# Raw Meta campaign objective (e.g. OUTCOME_SALES, OUTCOME_LEADS, OUTCOME_TRAFFIC)
|
|
65
65
|
attr_accessor :platform_objective
|
|
66
66
|
|
|
67
|
-
# Optimization goal shared across ad sets, or comma-separated values when ad sets differ. Meta: e.g. OFFSITE_CONVERSIONS, VALUE, LEAD_GENERATION. LinkedIn: the campaign optimizationTargetType (e.g. MAX_CLICK, MAX_IMPRESSION, NONE); `NONE` with a manual costType is a campaign LinkedIn will not deliver.
|
|
68
67
|
attr_accessor :optimization_goal
|
|
69
68
|
|
|
70
69
|
attr_accessor :bid_strategy
|
|
@@ -169,7 +168,7 @@ module Zernio
|
|
|
169
168
|
:'profile_id' => :'String',
|
|
170
169
|
:'advertising_channel_type' => :'String',
|
|
171
170
|
:'platform_objective' => :'String',
|
|
172
|
-
:'optimization_goal' => :'
|
|
171
|
+
:'optimization_goal' => :'AdTreeCampaignOptimizationGoal',
|
|
173
172
|
:'bid_strategy' => :'BidStrategy',
|
|
174
173
|
:'bid_amount' => :'Float',
|
|
175
174
|
:'roas_average_floor' => :'Float',
|
|
@@ -190,7 +189,6 @@ module Zernio
|
|
|
190
189
|
:'platform_ad_account_name',
|
|
191
190
|
:'advertising_channel_type',
|
|
192
191
|
:'platform_objective',
|
|
193
|
-
:'optimization_goal',
|
|
194
192
|
:'bid_strategy',
|
|
195
193
|
:'bid_amount',
|
|
196
194
|
:'roas_average_floor',
|
|
@@ -68,7 +68,6 @@ module Zernio
|
|
|
68
68
|
# Raw Meta campaign objective (e.g. OUTCOME_SALES, OUTCOME_LEADS, OUTCOME_TRAFFIC)
|
|
69
69
|
attr_accessor :platform_objective
|
|
70
70
|
|
|
71
|
-
# Optimization goal shared across ad sets, or comma-separated values when ad sets differ. Meta: e.g. OFFSITE_CONVERSIONS, VALUE, LEAD_GENERATION. LinkedIn: the campaign optimizationTargetType (e.g. MAX_CLICK, MAX_IMPRESSION, NONE); `NONE` with a manual costType is a campaign LinkedIn will not deliver.
|
|
72
71
|
attr_accessor :optimization_goal
|
|
73
72
|
|
|
74
73
|
attr_accessor :bid_strategy
|
|
@@ -176,7 +175,7 @@ module Zernio
|
|
|
176
175
|
:'profile_id' => :'String',
|
|
177
176
|
:'advertising_channel_type' => :'String',
|
|
178
177
|
:'platform_objective' => :'String',
|
|
179
|
-
:'optimization_goal' => :'
|
|
178
|
+
:'optimization_goal' => :'AdTreeCampaignOptimizationGoal',
|
|
180
179
|
:'bid_strategy' => :'BidStrategy',
|
|
181
180
|
:'bid_amount' => :'Float',
|
|
182
181
|
:'roas_average_floor' => :'Float',
|
|
@@ -197,7 +196,6 @@ module Zernio
|
|
|
197
196
|
:'platform_ad_account_name',
|
|
198
197
|
:'advertising_channel_type',
|
|
199
198
|
:'platform_objective',
|
|
200
|
-
:'optimization_goal',
|
|
201
199
|
:'bid_strategy',
|
|
202
200
|
:'bid_amount',
|
|
203
201
|
:'roas_average_floor',
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Zernio API
|
|
3
|
+
|
|
4
|
+
#API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.4
|
|
7
|
+
Contact: support@zernio.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.19.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'date'
|
|
14
|
+
require 'time'
|
|
15
|
+
|
|
16
|
+
module Zernio
|
|
17
|
+
# A single string when every ad set shares one optimization goal; a JSON array of the distinct goals when ad sets differ (never a comma-joined string); array element order is not guaranteed, treat it as an unordered set; the key is absent when no ad set carries a goal. Meta: e.g. OFFSITE_CONVERSIONS, VALUE, LEAD_GENERATION. LinkedIn: the campaign optimizationTargetType (e.g. MAX_CLICK, MAX_IMPRESSION, NONE); `NONE` with a manual costType is a campaign LinkedIn will not deliver.
|
|
18
|
+
module AdTreeCampaignOptimizationGoal
|
|
19
|
+
class << self
|
|
20
|
+
# List of class defined in anyOf (OpenAPI v3)
|
|
21
|
+
def openapi_any_of
|
|
22
|
+
[
|
|
23
|
+
:'String'
|
|
24
|
+
]
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# Builds the object
|
|
28
|
+
# @param [Mixed] Data to be matched against the list of anyOf items
|
|
29
|
+
# @return [Object] Returns the model or the data itself
|
|
30
|
+
def build(data)
|
|
31
|
+
# Go through the list of anyOf items and attempt to identify the appropriate one.
|
|
32
|
+
# Note:
|
|
33
|
+
# - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 })
|
|
34
|
+
# due to the way the deserialization is made in the base_object template (it just casts without verifying).
|
|
35
|
+
# - TODO: scalar values are de facto behaving as if they were nullable.
|
|
36
|
+
# - TODO: logging when debugging is set.
|
|
37
|
+
openapi_any_of.each do |klass|
|
|
38
|
+
begin
|
|
39
|
+
next if klass == :AnyType # "nullable: true"
|
|
40
|
+
return find_and_cast_into_type(klass, data)
|
|
41
|
+
rescue # rescue all errors so we keep iterating even if the current item lookup raises
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
openapi_any_of.include?(:AnyType) ? data : nil
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
private
|
|
49
|
+
|
|
50
|
+
SchemaMismatchError = Class.new(StandardError)
|
|
51
|
+
|
|
52
|
+
# Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse.
|
|
53
|
+
def find_and_cast_into_type(klass, data)
|
|
54
|
+
return if data.nil?
|
|
55
|
+
|
|
56
|
+
case klass.to_s
|
|
57
|
+
when 'Boolean'
|
|
58
|
+
return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass)
|
|
59
|
+
when 'Float'
|
|
60
|
+
return data if data.instance_of?(Float)
|
|
61
|
+
when 'Integer'
|
|
62
|
+
return data if data.instance_of?(Integer)
|
|
63
|
+
when 'Time'
|
|
64
|
+
return Time.parse(data)
|
|
65
|
+
when 'Date'
|
|
66
|
+
return Date.iso8601(data)
|
|
67
|
+
when 'String'
|
|
68
|
+
return data if data.instance_of?(String)
|
|
69
|
+
when 'Object' # "type: object"
|
|
70
|
+
return data if data.instance_of?(Hash)
|
|
71
|
+
when /\AArray<(?<sub_type>.+)>\z/ # "type: array"
|
|
72
|
+
if data.instance_of?(Array)
|
|
73
|
+
sub_type = Regexp.last_match[:sub_type]
|
|
74
|
+
return data.map { |item| find_and_cast_into_type(sub_type, item) }
|
|
75
|
+
end
|
|
76
|
+
when /\AHash<String, (?<sub_type>.+)>\z/ # "type: object" with "additionalProperties: { ... }"
|
|
77
|
+
if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) }
|
|
78
|
+
sub_type = Regexp.last_match[:sub_type]
|
|
79
|
+
return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) }
|
|
80
|
+
end
|
|
81
|
+
else # model
|
|
82
|
+
const = Zernio.const_get(klass)
|
|
83
|
+
if const
|
|
84
|
+
if const.respond_to?(:openapi_any_of) # nested anyOf model
|
|
85
|
+
model = const.build(data)
|
|
86
|
+
return model if model
|
|
87
|
+
else
|
|
88
|
+
# raise if data contains keys that are not known to the model
|
|
89
|
+
raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty?
|
|
90
|
+
model = const.build_from_hash(data)
|
|
91
|
+
return model if model
|
|
92
|
+
end
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
raise # if no match by now, raise
|
|
97
|
+
rescue
|
|
98
|
+
raise SchemaMismatchError, "#{data} doesn't match the #{klass} type"
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
end
|
|
@@ -17,6 +17,7 @@ module Zernio
|
|
|
17
17
|
class UpdateProfileRequest < ApiModelBase
|
|
18
18
|
attr_accessor :name
|
|
19
19
|
|
|
20
|
+
# Set to null to clear the description.
|
|
20
21
|
attr_accessor :description
|
|
21
22
|
|
|
22
23
|
attr_accessor :color
|
|
@@ -56,6 +57,7 @@ module Zernio
|
|
|
56
57
|
# List of attributes with nullable: true
|
|
57
58
|
def self.openapi_nullable
|
|
58
59
|
Set.new([
|
|
60
|
+
:'description',
|
|
59
61
|
])
|
|
60
62
|
end
|
|
61
63
|
|
|
@@ -97,6 +99,10 @@ module Zernio
|
|
|
97
99
|
def list_invalid_properties
|
|
98
100
|
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
|
99
101
|
invalid_properties = Array.new
|
|
102
|
+
if !@name.nil? && @name.to_s.length < 1
|
|
103
|
+
invalid_properties.push('invalid value for "name", the character length must be greater than or equal to 1.')
|
|
104
|
+
end
|
|
105
|
+
|
|
100
106
|
invalid_properties
|
|
101
107
|
end
|
|
102
108
|
|
|
@@ -104,9 +110,24 @@ module Zernio
|
|
|
104
110
|
# @return true if the model is valid
|
|
105
111
|
def valid?
|
|
106
112
|
warn '[DEPRECATED] the `valid?` method is obsolete'
|
|
113
|
+
return false if !@name.nil? && @name.to_s.length < 1
|
|
107
114
|
true
|
|
108
115
|
end
|
|
109
116
|
|
|
117
|
+
# Custom attribute writer method with validation
|
|
118
|
+
# @param [Object] name Value to be assigned
|
|
119
|
+
def name=(name)
|
|
120
|
+
if name.nil?
|
|
121
|
+
fail ArgumentError, 'name cannot be nil'
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
if name.to_s.length < 1
|
|
125
|
+
fail ArgumentError, 'invalid value for "name", the character length must be greater than or equal to 1.'
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
@name = name
|
|
129
|
+
end
|
|
130
|
+
|
|
110
131
|
# Checks equality by comparing each attribute.
|
|
111
132
|
# @param [Object] Object to be compared
|
|
112
133
|
def ==(o)
|
|
@@ -51,7 +51,7 @@ module Zernio
|
|
|
51
51
|
# Required for website (max 180) and meta_engagement (max 365) audiences.
|
|
52
52
|
attr_accessor :retention_days
|
|
53
53
|
|
|
54
|
-
# Required for meta_engagement audiences (Meta only): what people engaged with. `page` = a Facebook Page, `instagram` = an IG professional account, `video` = a video.
|
|
54
|
+
# Required for meta_engagement audiences (Meta only): what people engaged with. `page` = a Facebook Page, `instagram` = an IG professional account, `video` = a video.
|
|
55
55
|
attr_accessor :engagement_source
|
|
56
56
|
|
|
57
57
|
# Required for meta_engagement: the Page / IG account / video id.
|
data/lib/zernio-sdk/version.rb
CHANGED
data/lib/zernio-sdk.rb
CHANGED
|
@@ -47,6 +47,7 @@ require 'zernio-sdk/models/ad_tree_ad_set_promoted_object'
|
|
|
47
47
|
require 'zernio-sdk/models/ad_tree_campaign'
|
|
48
48
|
require 'zernio-sdk/models/ad_tree_campaign_budget'
|
|
49
49
|
require 'zernio-sdk/models/ad_tree_campaign_campaign_budget'
|
|
50
|
+
require 'zernio-sdk/models/ad_tree_campaign_optimization_goal'
|
|
50
51
|
require 'zernio-sdk/models/ad_tree_campaign_promoted_object'
|
|
51
52
|
require 'zernio-sdk/models/ad_tree_response'
|
|
52
53
|
require 'zernio-sdk/models/add_broadcast_recipients200_response'
|
data/openapi.yaml
CHANGED
|
@@ -8364,8 +8364,9 @@ components:
|
|
|
8364
8364
|
description: "Google-only. Raw campaign.advertising_channel_type (SEARCH, PERFORMANCE_MAX, LOCAL_SERVICES, VIDEO, DEMAND_GEN, DISPLAY, SHOPPING, ...). Serving surface, distinct from platformObjective (advertiser intent). Null/absent for non-Google platforms."
|
|
8365
8365
|
platformObjective: { type: [string, "null"], description: "Raw Meta campaign objective (e.g. OUTCOME_SALES, OUTCOME_LEADS, OUTCOME_TRAFFIC)" }
|
|
8366
8366
|
optimizationGoal:
|
|
8367
|
-
type: [string,
|
|
8368
|
-
|
|
8367
|
+
type: [string, array]
|
|
8368
|
+
items: { type: string }
|
|
8369
|
+
description: 'A single string when every ad set shares one optimization goal; a JSON array of the distinct goals when ad sets differ (never a comma-joined string); array element order is not guaranteed, treat it as an unordered set; the key is absent when no ad set carries a goal. Meta: e.g. OFFSITE_CONVERSIONS, VALUE, LEAD_GENERATION. LinkedIn: the campaign optimizationTargetType (e.g. MAX_CLICK, MAX_IMPRESSION, NONE); `NONE` with a manual costType is a campaign LinkedIn will not deliver.'
|
|
8369
8370
|
bidStrategy:
|
|
8370
8371
|
anyOf:
|
|
8371
8372
|
- $ref: '#/components/schemas/BidStrategy'
|
|
@@ -8441,8 +8442,9 @@ components:
|
|
|
8441
8442
|
description: "Google-only. Raw campaign.advertising_channel_type. See AdTreeCampaign.advertisingChannelType."
|
|
8442
8443
|
platformObjective: { type: [string, "null"], description: "Raw Meta campaign objective (e.g. OUTCOME_SALES, OUTCOME_LEADS, OUTCOME_TRAFFIC)" }
|
|
8443
8444
|
optimizationGoal:
|
|
8444
|
-
type: [string,
|
|
8445
|
-
|
|
8445
|
+
type: [string, array]
|
|
8446
|
+
items: { type: string }
|
|
8447
|
+
description: 'A single string when every ad set shares one optimization goal; a JSON array of the distinct goals when ad sets differ (never a comma-joined string); array element order is not guaranteed, treat it as an unordered set; the key is absent when no ad set carries a goal. Meta: e.g. OFFSITE_CONVERSIONS, VALUE, LEAD_GENERATION. LinkedIn: the campaign optimizationTargetType (e.g. MAX_CLICK, MAX_IMPRESSION, NONE); `NONE` with a manual costType is a campaign LinkedIn will not deliver.'
|
|
8446
8448
|
bidStrategy:
|
|
8447
8449
|
anyOf:
|
|
8448
8450
|
- $ref: '#/components/schemas/BidStrategy'
|
|
@@ -15620,9 +15622,10 @@ paths:
|
|
|
15620
15622
|
application/json:
|
|
15621
15623
|
schema:
|
|
15622
15624
|
type: object
|
|
15625
|
+
minProperties: 1
|
|
15623
15626
|
properties:
|
|
15624
|
-
name: { type: string }
|
|
15625
|
-
description: { type: string }
|
|
15627
|
+
name: { type: string, minLength: 1 }
|
|
15628
|
+
description: { type: [string, "null"], description: 'Set to null to clear the description.' }
|
|
15626
15629
|
color: { type: string }
|
|
15627
15630
|
isDefault: { type: boolean }
|
|
15628
15631
|
example:
|
|
@@ -15646,7 +15649,7 @@ paths:
|
|
|
15646
15649
|
color: "#2196F3"
|
|
15647
15650
|
isDefault: true
|
|
15648
15651
|
createdAt: "2024-11-01T10:00:00Z"
|
|
15649
|
-
'400': { description: Invalid request }
|
|
15652
|
+
'400': { description: 'Invalid request, including a body that carries none of name, description, color or isDefault (code: missing_required_field).' }
|
|
15650
15653
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
15651
15654
|
'404': { $ref: '#/components/responses/NotFound' }
|
|
15652
15655
|
'409': { description: "A profile with this name already exists (code: profile_name_conflict)." }
|
|
@@ -44185,9 +44188,7 @@ paths:
|
|
|
44185
44188
|
description: |
|
|
44186
44189
|
Required for meta_engagement audiences (Meta only): what people
|
|
44187
44190
|
engaged with. `page` = a Facebook Page, `instagram` = an IG
|
|
44188
|
-
professional account, `video` = a video.
|
|
44189
|
-
eligible for engagement audiences or Meta rejects with subcode
|
|
44190
|
-
1713151 ("Invalid Event Name"), surfaced verbatim.
|
|
44191
|
+
professional account, `video` = a video.
|
|
44191
44192
|
sourceId: { type: string, description: "Required for meta_engagement: the Page / IG account / video id." }
|
|
44192
44193
|
event:
|
|
44193
44194
|
type: string
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Zernio API
|
|
3
|
+
|
|
4
|
+
#API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.4
|
|
7
|
+
Contact: support@zernio.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.19.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for Zernio::AdTreeCampaignOptimizationGoal
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe Zernio::AdTreeCampaignOptimizationGoal do
|
|
21
|
+
end
|
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: late-sdk
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.731
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- OpenAPI-Generator
|
|
@@ -102,6 +102,7 @@ files:
|
|
|
102
102
|
- docs/AdTreeCampaign.md
|
|
103
103
|
- docs/AdTreeCampaignBudget.md
|
|
104
104
|
- docs/AdTreeCampaignCampaignBudget.md
|
|
105
|
+
- docs/AdTreeCampaignOptimizationGoal.md
|
|
105
106
|
- docs/AdTreeCampaignPromotedObject.md
|
|
106
107
|
- docs/AdTreeResponse.md
|
|
107
108
|
- docs/AddBroadcastRecipients200Response.md
|
|
@@ -1933,6 +1934,7 @@ files:
|
|
|
1933
1934
|
- lib/zernio-sdk/models/ad_tree_campaign.rb
|
|
1934
1935
|
- lib/zernio-sdk/models/ad_tree_campaign_budget.rb
|
|
1935
1936
|
- lib/zernio-sdk/models/ad_tree_campaign_campaign_budget.rb
|
|
1937
|
+
- lib/zernio-sdk/models/ad_tree_campaign_optimization_goal.rb
|
|
1936
1938
|
- lib/zernio-sdk/models/ad_tree_campaign_promoted_object.rb
|
|
1937
1939
|
- lib/zernio-sdk/models/ad_tree_response.rb
|
|
1938
1940
|
- lib/zernio-sdk/models/add_broadcast_recipients200_response.rb
|
|
@@ -3701,6 +3703,7 @@ files:
|
|
|
3701
3703
|
- spec/models/ad_tree_ad_set_spec.rb
|
|
3702
3704
|
- spec/models/ad_tree_campaign_budget_spec.rb
|
|
3703
3705
|
- spec/models/ad_tree_campaign_campaign_budget_spec.rb
|
|
3706
|
+
- spec/models/ad_tree_campaign_optimization_goal_spec.rb
|
|
3704
3707
|
- spec/models/ad_tree_campaign_promoted_object_spec.rb
|
|
3705
3708
|
- spec/models/ad_tree_campaign_spec.rb
|
|
3706
3709
|
- spec/models/ad_tree_response_spec.rb
|
|
@@ -5375,7 +5378,7 @@ files:
|
|
|
5375
5378
|
- spec/models/you_tube_video_retention_response_retention_curve_inner_spec.rb
|
|
5376
5379
|
- spec/models/you_tube_video_retention_response_spec.rb
|
|
5377
5380
|
- spec/spec_helper.rb
|
|
5378
|
-
- zernio-sdk-0.0.
|
|
5381
|
+
- zernio-sdk-0.0.731.gem
|
|
5379
5382
|
- zernio-sdk.gemspec
|
|
5380
5383
|
homepage: https://openapi-generator.tech
|
|
5381
5384
|
licenses:
|
|
@@ -6219,6 +6222,7 @@ test_files:
|
|
|
6219
6222
|
- spec/models/delete_inbox_comment200_response_spec.rb
|
|
6220
6223
|
- spec/models/create_test_lead_request_spec.rb
|
|
6221
6224
|
- spec/models/start_whats_app_caller_id_verification200_response_spec.rb
|
|
6225
|
+
- spec/models/ad_tree_campaign_optimization_goal_spec.rb
|
|
6222
6226
|
- spec/models/get_linked_in_supply_forecast200_response_spec.rb
|
|
6223
6227
|
- spec/models/attach_number_to_sip_trunk200_response_spec.rb
|
|
6224
6228
|
- spec/models/update_ad_campaign200_response_spec.rb
|
data/zernio-sdk-0.0.729.gem
DELETED
|
Binary file
|