late-sdk 0.0.754 → 0.0.756
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 +7 -0
- data/docs/ConnectApi.md +210 -3
- data/docs/ConnectDiscordChannelRequest.md +22 -0
- data/docs/ConnectSlackChannelRequest.md +24 -0
- data/docs/ConnectWhatsAppEmbeddedSignupRequest.md +28 -0
- data/docs/CreateStandaloneAdRequest.md +2 -0
- data/docs/CreateStandaloneAdRequestSitelinksInner.md +24 -0
- data/lib/zernio-sdk/api/connect_api.rb +213 -4
- data/lib/zernio-sdk/models/connect_discord_channel_request.rb +219 -0
- data/lib/zernio-sdk/models/connect_slack_channel_request.rb +211 -0
- data/lib/zernio-sdk/models/connect_whats_app_embedded_signup_request.rb +230 -0
- data/lib/zernio-sdk/models/create_standalone_ad_request.rb +41 -1
- data/lib/zernio-sdk/models/create_standalone_ad_request_sitelinks_inner.rb +286 -0
- data/lib/zernio-sdk/version.rb +1 -1
- data/lib/zernio-sdk.rb +4 -0
- data/openapi.yaml +115 -4
- data/spec/api/connect_api_spec.rb +38 -2
- data/spec/models/connect_discord_channel_request_spec.rb +48 -0
- data/spec/models/connect_slack_channel_request_spec.rb +54 -0
- data/spec/models/connect_whats_app_embedded_signup_request_spec.rb +66 -0
- data/spec/models/create_standalone_ad_request_sitelinks_inner_spec.rb +54 -0
- data/spec/models/create_standalone_ad_request_spec.rb +6 -0
- data/zernio-sdk-0.0.756.gem +0 -0
- metadata +18 -2
- data/zernio-sdk-0.0.754.gem +0 -0
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Zernio API
|
|
3
|
+
|
|
4
|
+
#API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api Versioning and deprecation: all endpoints are versioned in the URL path (current version: /v1). Breaking changes only ship in a new path version; existing versions keep working. Deprecated operations are marked 'deprecated: true' in this spec and announced in the changelog (https://zernio.com/changelog) before removal. Errors: every 4xx/5xx response is application/json with a machine-readable 'code' and a human-readable 'error' message (see the ErrorResponse schema).
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.4
|
|
7
|
+
Contact: support@zernio.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.19.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'date'
|
|
14
|
+
require 'time'
|
|
15
|
+
|
|
16
|
+
module Zernio
|
|
17
|
+
class ConnectWhatsAppEmbeddedSignupRequest < ApiModelBase
|
|
18
|
+
# Authorization code from the WA_EMBEDDED_SIGNUP postMessage
|
|
19
|
+
attr_accessor :code
|
|
20
|
+
|
|
21
|
+
attr_accessor :profile_id
|
|
22
|
+
|
|
23
|
+
# WhatsApp Business Account id, when the SDK reported one
|
|
24
|
+
attr_accessor :waba_id
|
|
25
|
+
|
|
26
|
+
attr_accessor :phone_number_id
|
|
27
|
+
|
|
28
|
+
# Number is also live in the WhatsApp Business app
|
|
29
|
+
attr_accessor :is_coexistence
|
|
30
|
+
|
|
31
|
+
# Rejects the connect when Meta returns a different number
|
|
32
|
+
attr_accessor :expected_phone_number
|
|
33
|
+
|
|
34
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
|
35
|
+
def self.attribute_map
|
|
36
|
+
{
|
|
37
|
+
:'code' => :'code',
|
|
38
|
+
:'profile_id' => :'profileId',
|
|
39
|
+
:'waba_id' => :'wabaId',
|
|
40
|
+
:'phone_number_id' => :'phoneNumberId',
|
|
41
|
+
:'is_coexistence' => :'isCoexistence',
|
|
42
|
+
:'expected_phone_number' => :'expectedPhoneNumber'
|
|
43
|
+
}
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
# Returns attribute mapping this model knows about
|
|
47
|
+
def self.acceptable_attribute_map
|
|
48
|
+
attribute_map
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
# Returns all the JSON keys this model knows about
|
|
52
|
+
def self.acceptable_attributes
|
|
53
|
+
acceptable_attribute_map.values
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
# Attribute type mapping.
|
|
57
|
+
def self.openapi_types
|
|
58
|
+
{
|
|
59
|
+
:'code' => :'String',
|
|
60
|
+
:'profile_id' => :'String',
|
|
61
|
+
:'waba_id' => :'String',
|
|
62
|
+
:'phone_number_id' => :'String',
|
|
63
|
+
:'is_coexistence' => :'Boolean',
|
|
64
|
+
:'expected_phone_number' => :'String'
|
|
65
|
+
}
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
# List of attributes with nullable: true
|
|
69
|
+
def self.openapi_nullable
|
|
70
|
+
Set.new([
|
|
71
|
+
])
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
# Initializes the object
|
|
75
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
76
|
+
def initialize(attributes = {})
|
|
77
|
+
if (!attributes.is_a?(Hash))
|
|
78
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `Zernio::ConnectWhatsAppEmbeddedSignupRequest` initialize method"
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
|
82
|
+
acceptable_attribute_map = self.class.acceptable_attribute_map
|
|
83
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
84
|
+
if (!acceptable_attribute_map.key?(k.to_sym))
|
|
85
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `Zernio::ConnectWhatsAppEmbeddedSignupRequest`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
|
|
86
|
+
end
|
|
87
|
+
h[k.to_sym] = v
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
if attributes.key?(:'code')
|
|
91
|
+
self.code = attributes[:'code']
|
|
92
|
+
else
|
|
93
|
+
self.code = nil
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
if attributes.key?(:'profile_id')
|
|
97
|
+
self.profile_id = attributes[:'profile_id']
|
|
98
|
+
else
|
|
99
|
+
self.profile_id = nil
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
if attributes.key?(:'waba_id')
|
|
103
|
+
self.waba_id = attributes[:'waba_id']
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
if attributes.key?(:'phone_number_id')
|
|
107
|
+
self.phone_number_id = attributes[:'phone_number_id']
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
if attributes.key?(:'is_coexistence')
|
|
111
|
+
self.is_coexistence = attributes[:'is_coexistence']
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
if attributes.key?(:'expected_phone_number')
|
|
115
|
+
self.expected_phone_number = attributes[:'expected_phone_number']
|
|
116
|
+
end
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
|
120
|
+
# @return Array for valid properties with the reasons
|
|
121
|
+
def list_invalid_properties
|
|
122
|
+
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
|
123
|
+
invalid_properties = Array.new
|
|
124
|
+
if @code.nil?
|
|
125
|
+
invalid_properties.push('invalid value for "code", code cannot be nil.')
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
if @profile_id.nil?
|
|
129
|
+
invalid_properties.push('invalid value for "profile_id", profile_id cannot be nil.')
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
invalid_properties
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
# Check to see if the all the properties in the model are valid
|
|
136
|
+
# @return true if the model is valid
|
|
137
|
+
def valid?
|
|
138
|
+
warn '[DEPRECATED] the `valid?` method is obsolete'
|
|
139
|
+
return false if @code.nil?
|
|
140
|
+
return false if @profile_id.nil?
|
|
141
|
+
true
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
# Custom attribute writer method with validation
|
|
145
|
+
# @param [Object] code Value to be assigned
|
|
146
|
+
def code=(code)
|
|
147
|
+
if code.nil?
|
|
148
|
+
fail ArgumentError, 'code cannot be nil'
|
|
149
|
+
end
|
|
150
|
+
|
|
151
|
+
@code = code
|
|
152
|
+
end
|
|
153
|
+
|
|
154
|
+
# Custom attribute writer method with validation
|
|
155
|
+
# @param [Object] profile_id Value to be assigned
|
|
156
|
+
def profile_id=(profile_id)
|
|
157
|
+
if profile_id.nil?
|
|
158
|
+
fail ArgumentError, 'profile_id cannot be nil'
|
|
159
|
+
end
|
|
160
|
+
|
|
161
|
+
@profile_id = profile_id
|
|
162
|
+
end
|
|
163
|
+
|
|
164
|
+
# Checks equality by comparing each attribute.
|
|
165
|
+
# @param [Object] Object to be compared
|
|
166
|
+
def ==(o)
|
|
167
|
+
return true if self.equal?(o)
|
|
168
|
+
self.class == o.class &&
|
|
169
|
+
code == o.code &&
|
|
170
|
+
profile_id == o.profile_id &&
|
|
171
|
+
waba_id == o.waba_id &&
|
|
172
|
+
phone_number_id == o.phone_number_id &&
|
|
173
|
+
is_coexistence == o.is_coexistence &&
|
|
174
|
+
expected_phone_number == o.expected_phone_number
|
|
175
|
+
end
|
|
176
|
+
|
|
177
|
+
# @see the `==` method
|
|
178
|
+
# @param [Object] Object to be compared
|
|
179
|
+
def eql?(o)
|
|
180
|
+
self == o
|
|
181
|
+
end
|
|
182
|
+
|
|
183
|
+
# Calculates hash code according to all attributes.
|
|
184
|
+
# @return [Integer] Hash code
|
|
185
|
+
def hash
|
|
186
|
+
[code, profile_id, waba_id, phone_number_id, is_coexistence, expected_phone_number].hash
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
# Builds the object from hash
|
|
190
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
191
|
+
# @return [Object] Returns the model itself
|
|
192
|
+
def self.build_from_hash(attributes)
|
|
193
|
+
return nil unless attributes.is_a?(Hash)
|
|
194
|
+
attributes = attributes.transform_keys(&:to_sym)
|
|
195
|
+
transformed_hash = {}
|
|
196
|
+
openapi_types.each_pair do |key, type|
|
|
197
|
+
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
|
|
198
|
+
transformed_hash["#{key}"] = nil
|
|
199
|
+
elsif type =~ /\AArray<(.*)>/i
|
|
200
|
+
# check to ensure the input is an array given that the attribute
|
|
201
|
+
# is documented as an array but the input is not
|
|
202
|
+
if attributes[attribute_map[key]].is_a?(Array)
|
|
203
|
+
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
|
|
204
|
+
end
|
|
205
|
+
elsif !attributes[attribute_map[key]].nil?
|
|
206
|
+
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
|
|
207
|
+
end
|
|
208
|
+
end
|
|
209
|
+
new(transformed_hash)
|
|
210
|
+
end
|
|
211
|
+
|
|
212
|
+
# Returns the object in the form of hash
|
|
213
|
+
# @return [Hash] Returns the object in the form of hash
|
|
214
|
+
def to_hash
|
|
215
|
+
hash = {}
|
|
216
|
+
self.class.attribute_map.each_pair do |attr, param|
|
|
217
|
+
value = self.send(attr)
|
|
218
|
+
if value.nil?
|
|
219
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
|
220
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
|
221
|
+
end
|
|
222
|
+
|
|
223
|
+
hash[param] = _to_hash(value)
|
|
224
|
+
end
|
|
225
|
+
hash
|
|
226
|
+
end
|
|
227
|
+
|
|
228
|
+
end
|
|
229
|
+
|
|
230
|
+
end
|
|
@@ -214,6 +214,9 @@ module Zernio
|
|
|
214
214
|
# Google Search RSA only. Extra descriptions.
|
|
215
215
|
attr_accessor :additional_descriptions
|
|
216
216
|
|
|
217
|
+
# Google Search only. Sitelink assets to create and attach at the campaign level. Each entry becomes an Asset (with sitelink_asset + Asset.final_urls) plus a CampaignAsset link (field_type SITELINK). Approval is async — Google reviews assets after creation; poll asset.policy_summary later to read the verdict. Google requires at least two sitelinks to surface them on an ad; four or more is Google's own recommendation for maximum visibility. The response's creative.sitelinks[] echoes each input plus its Google resourceName.
|
|
218
|
+
attr_accessor :sitelinks
|
|
219
|
+
|
|
217
220
|
# Meta only. Controls the Advantage audience feature (targeting_automation). 0 = disabled (default), 1 = enabled. Meta Marketing API requires this field on all ad set creation requests.
|
|
218
221
|
attr_accessor :advantage_audience
|
|
219
222
|
|
|
@@ -351,6 +354,7 @@ module Zernio
|
|
|
351
354
|
:'negative_keywords' => :'negativeKeywords',
|
|
352
355
|
:'additional_headlines' => :'additionalHeadlines',
|
|
353
356
|
:'additional_descriptions' => :'additionalDescriptions',
|
|
357
|
+
:'sitelinks' => :'sitelinks',
|
|
354
358
|
:'advantage_audience' => :'advantageAudience',
|
|
355
359
|
:'attribution_spec' => :'attributionSpec',
|
|
356
360
|
:'gender' => :'gender',
|
|
@@ -452,6 +456,7 @@ module Zernio
|
|
|
452
456
|
:'negative_keywords' => :'Array<String>',
|
|
453
457
|
:'additional_headlines' => :'Array<String>',
|
|
454
458
|
:'additional_descriptions' => :'Array<String>',
|
|
459
|
+
:'sitelinks' => :'Array<CreateStandaloneAdRequestSitelinksInner>',
|
|
455
460
|
:'advantage_audience' => :'Integer',
|
|
456
461
|
:'attribution_spec' => :'Array<CreateStandaloneAdRequestAttributionSpecInner>',
|
|
457
462
|
:'gender' => :'String',
|
|
@@ -822,6 +827,12 @@ module Zernio
|
|
|
822
827
|
end
|
|
823
828
|
end
|
|
824
829
|
|
|
830
|
+
if attributes.key?(:'sitelinks')
|
|
831
|
+
if (value = attributes[:'sitelinks']).is_a?(Array)
|
|
832
|
+
self.sitelinks = value
|
|
833
|
+
end
|
|
834
|
+
end
|
|
835
|
+
|
|
825
836
|
if attributes.key?(:'advantage_audience')
|
|
826
837
|
self.advantage_audience = attributes[:'advantage_audience']
|
|
827
838
|
end
|
|
@@ -976,6 +987,14 @@ module Zernio
|
|
|
976
987
|
invalid_properties.push('invalid value for "translations", number of items must be greater than or equal to 1.')
|
|
977
988
|
end
|
|
978
989
|
|
|
990
|
+
if !@sitelinks.nil? && @sitelinks.length > 20
|
|
991
|
+
invalid_properties.push('invalid value for "sitelinks", number of items must be less than or equal to 20.')
|
|
992
|
+
end
|
|
993
|
+
|
|
994
|
+
if !@sitelinks.nil? && @sitelinks.length < 2
|
|
995
|
+
invalid_properties.push('invalid value for "sitelinks", number of items must be greater than or equal to 2.')
|
|
996
|
+
end
|
|
997
|
+
|
|
979
998
|
if !@attribution_spec.nil? && @attribution_spec.length > 3
|
|
980
999
|
invalid_properties.push('invalid value for "attribution_spec", number of items must be less than or equal to 3.')
|
|
981
1000
|
end
|
|
@@ -1045,6 +1064,8 @@ module Zernio
|
|
|
1045
1064
|
return false if !@translations.nil? && @translations.length < 1
|
|
1046
1065
|
campaign_type_validator = EnumAttributeValidator.new('String', ["display", "search"])
|
|
1047
1066
|
return false unless campaign_type_validator.valid?(@campaign_type)
|
|
1067
|
+
return false if !@sitelinks.nil? && @sitelinks.length > 20
|
|
1068
|
+
return false if !@sitelinks.nil? && @sitelinks.length < 2
|
|
1048
1069
|
advantage_audience_validator = EnumAttributeValidator.new('Integer', [0, 1])
|
|
1049
1070
|
return false unless advantage_audience_validator.valid?(@advantage_audience)
|
|
1050
1071
|
return false if !@attribution_spec.nil? && @attribution_spec.length > 3
|
|
@@ -1381,6 +1402,24 @@ module Zernio
|
|
|
1381
1402
|
@campaign_type = campaign_type
|
|
1382
1403
|
end
|
|
1383
1404
|
|
|
1405
|
+
# Custom attribute writer method with validation
|
|
1406
|
+
# @param [Object] sitelinks Value to be assigned
|
|
1407
|
+
def sitelinks=(sitelinks)
|
|
1408
|
+
if sitelinks.nil?
|
|
1409
|
+
fail ArgumentError, 'sitelinks cannot be nil'
|
|
1410
|
+
end
|
|
1411
|
+
|
|
1412
|
+
if sitelinks.length > 20
|
|
1413
|
+
fail ArgumentError, 'invalid value for "sitelinks", number of items must be less than or equal to 20.'
|
|
1414
|
+
end
|
|
1415
|
+
|
|
1416
|
+
if sitelinks.length < 2
|
|
1417
|
+
fail ArgumentError, 'invalid value for "sitelinks", number of items must be greater than or equal to 2.'
|
|
1418
|
+
end
|
|
1419
|
+
|
|
1420
|
+
@sitelinks = sitelinks
|
|
1421
|
+
end
|
|
1422
|
+
|
|
1384
1423
|
# Custom attribute writer method checking allowed values (enum).
|
|
1385
1424
|
# @param [Object] advantage_audience Object to be assigned
|
|
1386
1425
|
def advantage_audience=(advantage_audience)
|
|
@@ -1547,6 +1586,7 @@ module Zernio
|
|
|
1547
1586
|
negative_keywords == o.negative_keywords &&
|
|
1548
1587
|
additional_headlines == o.additional_headlines &&
|
|
1549
1588
|
additional_descriptions == o.additional_descriptions &&
|
|
1589
|
+
sitelinks == o.sitelinks &&
|
|
1550
1590
|
advantage_audience == o.advantage_audience &&
|
|
1551
1591
|
attribution_spec == o.attribution_spec &&
|
|
1552
1592
|
gender == o.gender &&
|
|
@@ -1573,7 +1613,7 @@ module Zernio
|
|
|
1573
1613
|
# Calculates hash code according to all attributes.
|
|
1574
1614
|
# @return [Integer] Hash code
|
|
1575
1615
|
def hash
|
|
1576
|
-
[account_id, ad_account_id, name, campaign_name, ad_set_name, ad_name, tracking, goal, optimization_goal, billing_event, buying_type, rf_prediction_id, creative_features, multi_advertiser, validate_only, budget_amount, budget_type, status, campaign_status, budget_level, currency, headline, long_headline, body, description, call_to_action, link_url, lead_gen_form_id, image_url, images, video, creatives, ad_set_id, existing_campaign_id, existing_creative_id, business_name, board_id, organization_id, targeting, countries, cities, regions, age_min, age_max, interests, zips, metros, custom_locations, behaviors, income_tier, languages, placements, saved_targeting_id, raw_targeting, special_ad_categories, special_ad_category_country, end_date, start_date, instagram_account_id, dynamic_creative, carousel_cards, default_locale, translations, placement_assets, audience_id, campaign_type, keywords, negative_keywords, additional_headlines, additional_descriptions, advantage_audience, attribution_spec, gender, bid_strategy, bid_amount, roas_average_floor, value_rule_set_id, value_rules_applied, platform_specific_data, dsa_beneficiary, dsa_payor, brand_identity, identity_type, smart_plus, promoted_object].hash
|
|
1616
|
+
[account_id, ad_account_id, name, campaign_name, ad_set_name, ad_name, tracking, goal, optimization_goal, billing_event, buying_type, rf_prediction_id, creative_features, multi_advertiser, validate_only, budget_amount, budget_type, status, campaign_status, budget_level, currency, headline, long_headline, body, description, call_to_action, link_url, lead_gen_form_id, image_url, images, video, creatives, ad_set_id, existing_campaign_id, existing_creative_id, business_name, board_id, organization_id, targeting, countries, cities, regions, age_min, age_max, interests, zips, metros, custom_locations, behaviors, income_tier, languages, placements, saved_targeting_id, raw_targeting, special_ad_categories, special_ad_category_country, end_date, start_date, instagram_account_id, dynamic_creative, carousel_cards, default_locale, translations, placement_assets, audience_id, campaign_type, keywords, negative_keywords, additional_headlines, additional_descriptions, sitelinks, advantage_audience, attribution_spec, gender, bid_strategy, bid_amount, roas_average_floor, value_rule_set_id, value_rules_applied, platform_specific_data, dsa_beneficiary, dsa_payor, brand_identity, identity_type, smart_plus, promoted_object].hash
|
|
1577
1617
|
end
|
|
1578
1618
|
|
|
1579
1619
|
# Builds the object from hash
|
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Zernio API
|
|
3
|
+
|
|
4
|
+
#API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api Versioning and deprecation: all endpoints are versioned in the URL path (current version: /v1). Breaking changes only ship in a new path version; existing versions keep working. Deprecated operations are marked 'deprecated: true' in this spec and announced in the changelog (https://zernio.com/changelog) before removal. Errors: every 4xx/5xx response is application/json with a machine-readable 'code' and a human-readable 'error' message (see the ErrorResponse schema).
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.4
|
|
7
|
+
Contact: support@zernio.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.19.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'date'
|
|
14
|
+
require 'time'
|
|
15
|
+
|
|
16
|
+
module Zernio
|
|
17
|
+
class CreateStandaloneAdRequestSitelinksInner < ApiModelBase
|
|
18
|
+
# The clickable link text shown under the ad. 25-char cap comes from Google.
|
|
19
|
+
attr_accessor :text
|
|
20
|
+
|
|
21
|
+
# Final URL the sitelink navigates to.
|
|
22
|
+
attr_accessor :link_url
|
|
23
|
+
|
|
24
|
+
# First description line under the link text (optional). 35-char cap.
|
|
25
|
+
attr_accessor :description1
|
|
26
|
+
|
|
27
|
+
# Second description line (optional; usually paired with description1).
|
|
28
|
+
attr_accessor :description2
|
|
29
|
+
|
|
30
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
|
31
|
+
def self.attribute_map
|
|
32
|
+
{
|
|
33
|
+
:'text' => :'text',
|
|
34
|
+
:'link_url' => :'linkUrl',
|
|
35
|
+
:'description1' => :'description1',
|
|
36
|
+
:'description2' => :'description2'
|
|
37
|
+
}
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# Returns attribute mapping this model knows about
|
|
41
|
+
def self.acceptable_attribute_map
|
|
42
|
+
attribute_map
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# Returns all the JSON keys this model knows about
|
|
46
|
+
def self.acceptable_attributes
|
|
47
|
+
acceptable_attribute_map.values
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# Attribute type mapping.
|
|
51
|
+
def self.openapi_types
|
|
52
|
+
{
|
|
53
|
+
:'text' => :'String',
|
|
54
|
+
:'link_url' => :'String',
|
|
55
|
+
:'description1' => :'String',
|
|
56
|
+
:'description2' => :'String'
|
|
57
|
+
}
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
# List of attributes with nullable: true
|
|
61
|
+
def self.openapi_nullable
|
|
62
|
+
Set.new([
|
|
63
|
+
])
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
# Initializes the object
|
|
67
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
68
|
+
def initialize(attributes = {})
|
|
69
|
+
if (!attributes.is_a?(Hash))
|
|
70
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `Zernio::CreateStandaloneAdRequestSitelinksInner` initialize method"
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
|
74
|
+
acceptable_attribute_map = self.class.acceptable_attribute_map
|
|
75
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
76
|
+
if (!acceptable_attribute_map.key?(k.to_sym))
|
|
77
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `Zernio::CreateStandaloneAdRequestSitelinksInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
|
|
78
|
+
end
|
|
79
|
+
h[k.to_sym] = v
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
if attributes.key?(:'text')
|
|
83
|
+
self.text = attributes[:'text']
|
|
84
|
+
else
|
|
85
|
+
self.text = nil
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
if attributes.key?(:'link_url')
|
|
89
|
+
self.link_url = attributes[:'link_url']
|
|
90
|
+
else
|
|
91
|
+
self.link_url = nil
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
if attributes.key?(:'description1')
|
|
95
|
+
self.description1 = attributes[:'description1']
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
if attributes.key?(:'description2')
|
|
99
|
+
self.description2 = attributes[:'description2']
|
|
100
|
+
end
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
|
104
|
+
# @return Array for valid properties with the reasons
|
|
105
|
+
def list_invalid_properties
|
|
106
|
+
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
|
107
|
+
invalid_properties = Array.new
|
|
108
|
+
if @text.nil?
|
|
109
|
+
invalid_properties.push('invalid value for "text", text cannot be nil.')
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
if @text.to_s.length > 25
|
|
113
|
+
invalid_properties.push('invalid value for "text", the character length must be smaller than or equal to 25.')
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
if @text.to_s.length < 1
|
|
117
|
+
invalid_properties.push('invalid value for "text", the character length must be greater than or equal to 1.')
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
if @link_url.nil?
|
|
121
|
+
invalid_properties.push('invalid value for "link_url", link_url cannot be nil.')
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
if !@description1.nil? && @description1.to_s.length > 35
|
|
125
|
+
invalid_properties.push('invalid value for "description1", the character length must be smaller than or equal to 35.')
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
if !@description1.nil? && @description1.to_s.length < 1
|
|
129
|
+
invalid_properties.push('invalid value for "description1", the character length must be greater than or equal to 1.')
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
if !@description2.nil? && @description2.to_s.length > 35
|
|
133
|
+
invalid_properties.push('invalid value for "description2", the character length must be smaller than or equal to 35.')
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
if !@description2.nil? && @description2.to_s.length < 1
|
|
137
|
+
invalid_properties.push('invalid value for "description2", the character length must be greater than or equal to 1.')
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
invalid_properties
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
# Check to see if the all the properties in the model are valid
|
|
144
|
+
# @return true if the model is valid
|
|
145
|
+
def valid?
|
|
146
|
+
warn '[DEPRECATED] the `valid?` method is obsolete'
|
|
147
|
+
return false if @text.nil?
|
|
148
|
+
return false if @text.to_s.length > 25
|
|
149
|
+
return false if @text.to_s.length < 1
|
|
150
|
+
return false if @link_url.nil?
|
|
151
|
+
return false if !@description1.nil? && @description1.to_s.length > 35
|
|
152
|
+
return false if !@description1.nil? && @description1.to_s.length < 1
|
|
153
|
+
return false if !@description2.nil? && @description2.to_s.length > 35
|
|
154
|
+
return false if !@description2.nil? && @description2.to_s.length < 1
|
|
155
|
+
true
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
# Custom attribute writer method with validation
|
|
159
|
+
# @param [Object] text Value to be assigned
|
|
160
|
+
def text=(text)
|
|
161
|
+
if text.nil?
|
|
162
|
+
fail ArgumentError, 'text cannot be nil'
|
|
163
|
+
end
|
|
164
|
+
|
|
165
|
+
if text.to_s.length > 25
|
|
166
|
+
fail ArgumentError, 'invalid value for "text", the character length must be smaller than or equal to 25.'
|
|
167
|
+
end
|
|
168
|
+
|
|
169
|
+
if text.to_s.length < 1
|
|
170
|
+
fail ArgumentError, 'invalid value for "text", the character length must be greater than or equal to 1.'
|
|
171
|
+
end
|
|
172
|
+
|
|
173
|
+
@text = text
|
|
174
|
+
end
|
|
175
|
+
|
|
176
|
+
# Custom attribute writer method with validation
|
|
177
|
+
# @param [Object] link_url Value to be assigned
|
|
178
|
+
def link_url=(link_url)
|
|
179
|
+
if link_url.nil?
|
|
180
|
+
fail ArgumentError, 'link_url cannot be nil'
|
|
181
|
+
end
|
|
182
|
+
|
|
183
|
+
@link_url = link_url
|
|
184
|
+
end
|
|
185
|
+
|
|
186
|
+
# Custom attribute writer method with validation
|
|
187
|
+
# @param [Object] description1 Value to be assigned
|
|
188
|
+
def description1=(description1)
|
|
189
|
+
if description1.nil?
|
|
190
|
+
fail ArgumentError, 'description1 cannot be nil'
|
|
191
|
+
end
|
|
192
|
+
|
|
193
|
+
if description1.to_s.length > 35
|
|
194
|
+
fail ArgumentError, 'invalid value for "description1", the character length must be smaller than or equal to 35.'
|
|
195
|
+
end
|
|
196
|
+
|
|
197
|
+
if description1.to_s.length < 1
|
|
198
|
+
fail ArgumentError, 'invalid value for "description1", the character length must be greater than or equal to 1.'
|
|
199
|
+
end
|
|
200
|
+
|
|
201
|
+
@description1 = description1
|
|
202
|
+
end
|
|
203
|
+
|
|
204
|
+
# Custom attribute writer method with validation
|
|
205
|
+
# @param [Object] description2 Value to be assigned
|
|
206
|
+
def description2=(description2)
|
|
207
|
+
if description2.nil?
|
|
208
|
+
fail ArgumentError, 'description2 cannot be nil'
|
|
209
|
+
end
|
|
210
|
+
|
|
211
|
+
if description2.to_s.length > 35
|
|
212
|
+
fail ArgumentError, 'invalid value for "description2", the character length must be smaller than or equal to 35.'
|
|
213
|
+
end
|
|
214
|
+
|
|
215
|
+
if description2.to_s.length < 1
|
|
216
|
+
fail ArgumentError, 'invalid value for "description2", the character length must be greater than or equal to 1.'
|
|
217
|
+
end
|
|
218
|
+
|
|
219
|
+
@description2 = description2
|
|
220
|
+
end
|
|
221
|
+
|
|
222
|
+
# Checks equality by comparing each attribute.
|
|
223
|
+
# @param [Object] Object to be compared
|
|
224
|
+
def ==(o)
|
|
225
|
+
return true if self.equal?(o)
|
|
226
|
+
self.class == o.class &&
|
|
227
|
+
text == o.text &&
|
|
228
|
+
link_url == o.link_url &&
|
|
229
|
+
description1 == o.description1 &&
|
|
230
|
+
description2 == o.description2
|
|
231
|
+
end
|
|
232
|
+
|
|
233
|
+
# @see the `==` method
|
|
234
|
+
# @param [Object] Object to be compared
|
|
235
|
+
def eql?(o)
|
|
236
|
+
self == o
|
|
237
|
+
end
|
|
238
|
+
|
|
239
|
+
# Calculates hash code according to all attributes.
|
|
240
|
+
# @return [Integer] Hash code
|
|
241
|
+
def hash
|
|
242
|
+
[text, link_url, description1, description2].hash
|
|
243
|
+
end
|
|
244
|
+
|
|
245
|
+
# Builds the object from hash
|
|
246
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
247
|
+
# @return [Object] Returns the model itself
|
|
248
|
+
def self.build_from_hash(attributes)
|
|
249
|
+
return nil unless attributes.is_a?(Hash)
|
|
250
|
+
attributes = attributes.transform_keys(&:to_sym)
|
|
251
|
+
transformed_hash = {}
|
|
252
|
+
openapi_types.each_pair do |key, type|
|
|
253
|
+
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
|
|
254
|
+
transformed_hash["#{key}"] = nil
|
|
255
|
+
elsif type =~ /\AArray<(.*)>/i
|
|
256
|
+
# check to ensure the input is an array given that the attribute
|
|
257
|
+
# is documented as an array but the input is not
|
|
258
|
+
if attributes[attribute_map[key]].is_a?(Array)
|
|
259
|
+
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
|
|
260
|
+
end
|
|
261
|
+
elsif !attributes[attribute_map[key]].nil?
|
|
262
|
+
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
|
|
263
|
+
end
|
|
264
|
+
end
|
|
265
|
+
new(transformed_hash)
|
|
266
|
+
end
|
|
267
|
+
|
|
268
|
+
# Returns the object in the form of hash
|
|
269
|
+
# @return [Hash] Returns the object in the form of hash
|
|
270
|
+
def to_hash
|
|
271
|
+
hash = {}
|
|
272
|
+
self.class.attribute_map.each_pair do |attr, param|
|
|
273
|
+
value = self.send(attr)
|
|
274
|
+
if value.nil?
|
|
275
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
|
276
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
|
277
|
+
end
|
|
278
|
+
|
|
279
|
+
hash[param] = _to_hash(value)
|
|
280
|
+
end
|
|
281
|
+
hash
|
|
282
|
+
end
|
|
283
|
+
|
|
284
|
+
end
|
|
285
|
+
|
|
286
|
+
end
|
data/lib/zernio-sdk/version.rb
CHANGED
data/lib/zernio-sdk.rb
CHANGED
|
@@ -167,14 +167,17 @@ require 'zernio-sdk/models/connect_ads200_response_one_of'
|
|
|
167
167
|
require 'zernio-sdk/models/connect_ads200_response_one_of1'
|
|
168
168
|
require 'zernio-sdk/models/connect_bluesky_credentials200_response'
|
|
169
169
|
require 'zernio-sdk/models/connect_bluesky_credentials_request'
|
|
170
|
+
require 'zernio-sdk/models/connect_discord_channel_request'
|
|
170
171
|
require 'zernio-sdk/models/connect_open_ai_ads_credentials200_response'
|
|
171
172
|
require 'zernio-sdk/models/connect_open_ai_ads_credentials_request'
|
|
172
173
|
require 'zernio-sdk/models/connect_shopify_with_token200_response'
|
|
173
174
|
require 'zernio-sdk/models/connect_shopify_with_token200_response_account'
|
|
174
175
|
require 'zernio-sdk/models/connect_shopify_with_token_request'
|
|
176
|
+
require 'zernio-sdk/models/connect_slack_channel_request'
|
|
175
177
|
require 'zernio-sdk/models/connect_whats_app_credentials200_response'
|
|
176
178
|
require 'zernio-sdk/models/connect_whats_app_credentials200_response_account'
|
|
177
179
|
require 'zernio-sdk/models/connect_whats_app_credentials_request'
|
|
180
|
+
require 'zernio-sdk/models/connect_whats_app_embedded_signup_request'
|
|
178
181
|
require 'zernio-sdk/models/connected'
|
|
179
182
|
require 'zernio-sdk/models/connected_account'
|
|
180
183
|
require 'zernio-sdk/models/connected_app'
|
|
@@ -318,6 +321,7 @@ require 'zernio-sdk/models/create_standalone_ad_request_placements'
|
|
|
318
321
|
require 'zernio-sdk/models/create_standalone_ad_request_platform_specific_data'
|
|
319
322
|
require 'zernio-sdk/models/create_standalone_ad_request_promoted_object'
|
|
320
323
|
require 'zernio-sdk/models/create_standalone_ad_request_regions_inner'
|
|
324
|
+
require 'zernio-sdk/models/create_standalone_ad_request_sitelinks_inner'
|
|
321
325
|
require 'zernio-sdk/models/create_standalone_ad_request_tracking'
|
|
322
326
|
require 'zernio-sdk/models/create_standalone_ad_request_translations_inner'
|
|
323
327
|
require 'zernio-sdk/models/create_standalone_ad_request_video'
|