late-sdk 0.0.91 → 0.0.93

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +14 -1
  3. data/docs/ConnectApi.md +146 -4
  4. data/docs/CreateWhatsAppTemplateRequest.md +1 -1
  5. data/docs/GetYoutubePlaylists200Response.md +20 -0
  6. data/docs/GetYoutubePlaylists200ResponsePlaylistsInner.md +28 -0
  7. data/docs/MessagesApi.md +16 -16
  8. data/docs/UpdateWhatsAppTemplateRequest.md +1 -1
  9. data/docs/{UpdateRedditSubreddits200Response.md → UpdateYoutubeDefaultPlaylist200Response.md} +2 -2
  10. data/docs/UpdateYoutubeDefaultPlaylistRequest.md +20 -0
  11. data/docs/WebhooksApi.md +4 -4
  12. data/docs/WhatsAppApi.md +1 -1
  13. data/docs/WhatsAppBodyComponent.md +24 -0
  14. data/docs/WhatsAppBodyComponentExample.md +18 -0
  15. data/docs/WhatsAppButtonsComponent.md +20 -0
  16. data/docs/WhatsAppFooterComponent.md +22 -0
  17. data/docs/WhatsAppHeaderComponent.md +24 -0
  18. data/docs/WhatsAppHeaderComponentExample.md +20 -0
  19. data/docs/WhatsAppTemplateButton.md +44 -0
  20. data/docs/WhatsAppTemplateComponent.md +85 -0
  21. data/docs/YouTubePlatformData.md +3 -1
  22. data/lib/late-sdk/api/connect_api.rb +140 -3
  23. data/lib/late-sdk/api/messages_api.rb +12 -12
  24. data/lib/late-sdk/api/webhooks_api.rb +3 -3
  25. data/lib/late-sdk/models/create_whats_app_template_request.rb +21 -2
  26. data/lib/late-sdk/models/get_youtube_playlists200_response.rb +158 -0
  27. data/lib/late-sdk/models/get_youtube_playlists200_response_playlists_inner.rb +226 -0
  28. data/lib/late-sdk/models/update_whats_app_template_request.rb +10 -1
  29. data/lib/late-sdk/models/{update_reddit_subreddits200_response.rb → update_youtube_default_playlist200_response.rb} +3 -3
  30. data/lib/late-sdk/models/update_youtube_default_playlist_request.rb +173 -0
  31. data/lib/late-sdk/models/whats_app_body_component.rb +234 -0
  32. data/lib/late-sdk/models/whats_app_body_component_example.rb +150 -0
  33. data/lib/late-sdk/models/whats_app_buttons_component.rb +225 -0
  34. data/lib/late-sdk/models/whats_app_footer_component.rb +227 -0
  35. data/lib/late-sdk/models/whats_app_header_component.rb +235 -0
  36. data/lib/late-sdk/models/whats_app_header_component_example.rb +190 -0
  37. data/lib/late-sdk/models/whats_app_template_button.rb +345 -0
  38. data/lib/late-sdk/models/whats_app_template_component.rb +59 -0
  39. data/lib/late-sdk/models/you_tube_platform_data.rb +14 -4
  40. data/lib/late-sdk/version.rb +1 -1
  41. data/lib/late-sdk.rb +12 -1
  42. data/openapi.yaml +248 -5
  43. data/spec/api/connect_api_spec.rb +26 -1
  44. data/spec/api/messages_api_spec.rb +4 -4
  45. data/spec/api/webhooks_api_spec.rb +1 -1
  46. data/spec/models/get_youtube_playlists200_response_playlists_inner_spec.rb +70 -0
  47. data/spec/models/get_youtube_playlists200_response_spec.rb +42 -0
  48. data/spec/models/{update_reddit_subreddits200_response_spec.rb → update_youtube_default_playlist200_response_spec.rb} +6 -6
  49. data/spec/models/update_youtube_default_playlist_request_spec.rb +42 -0
  50. data/spec/models/whats_app_body_component_example_spec.rb +36 -0
  51. data/spec/models/whats_app_body_component_spec.rb +58 -0
  52. data/spec/models/whats_app_buttons_component_spec.rb +46 -0
  53. data/spec/models/whats_app_footer_component_spec.rb +52 -0
  54. data/spec/models/whats_app_header_component_example_spec.rb +42 -0
  55. data/spec/models/whats_app_header_component_spec.rb +62 -0
  56. data/spec/models/whats_app_template_button_spec.rb +122 -0
  57. data/spec/models/whats_app_template_component_spec.rb +44 -0
  58. data/spec/models/you_tube_platform_data_spec.rb +6 -0
  59. data/zernio-sdk-0.0.93.gem +0 -0
  60. metadata +50 -6
  61. data/zernio-sdk-0.0.91.gem +0 -0
@@ -0,0 +1,345 @@
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.1
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 Late
17
+ class WhatsAppTemplateButton < ApiModelBase
18
+ attr_accessor :type
19
+
20
+ attr_accessor :text
21
+
22
+ # Required when type is URL
23
+ attr_accessor :url
24
+
25
+ # Example values for URL suffix variables
26
+ attr_accessor :example
27
+
28
+ # Required when type is PHONE_NUMBER
29
+ attr_accessor :phone_number
30
+
31
+ # Required when type is OTP
32
+ attr_accessor :otp_type
33
+
34
+ attr_accessor :autofill_text
35
+
36
+ attr_accessor :package_name
37
+
38
+ attr_accessor :signature_hash
39
+
40
+ attr_accessor :flow_id
41
+
42
+ attr_accessor :flow_name
43
+
44
+ attr_accessor :flow_json
45
+
46
+ attr_accessor :flow_action
47
+
48
+ attr_accessor :navigate_screen
49
+
50
+ class EnumAttributeValidator
51
+ attr_reader :datatype
52
+ attr_reader :allowable_values
53
+
54
+ def initialize(datatype, allowable_values)
55
+ @allowable_values = allowable_values.map do |value|
56
+ case datatype.to_s
57
+ when /Integer/i
58
+ value.to_i
59
+ when /Float/i
60
+ value.to_f
61
+ else
62
+ value
63
+ end
64
+ end
65
+ end
66
+
67
+ def valid?(value)
68
+ !value || allowable_values.include?(value)
69
+ end
70
+ end
71
+
72
+ # Attribute mapping from ruby-style variable name to JSON key.
73
+ def self.attribute_map
74
+ {
75
+ :'type' => :'type',
76
+ :'text' => :'text',
77
+ :'url' => :'url',
78
+ :'example' => :'example',
79
+ :'phone_number' => :'phone_number',
80
+ :'otp_type' => :'otp_type',
81
+ :'autofill_text' => :'autofill_text',
82
+ :'package_name' => :'package_name',
83
+ :'signature_hash' => :'signature_hash',
84
+ :'flow_id' => :'flow_id',
85
+ :'flow_name' => :'flow_name',
86
+ :'flow_json' => :'flow_json',
87
+ :'flow_action' => :'flow_action',
88
+ :'navigate_screen' => :'navigate_screen'
89
+ }
90
+ end
91
+
92
+ # Returns attribute mapping this model knows about
93
+ def self.acceptable_attribute_map
94
+ attribute_map
95
+ end
96
+
97
+ # Returns all the JSON keys this model knows about
98
+ def self.acceptable_attributes
99
+ acceptable_attribute_map.values
100
+ end
101
+
102
+ # Attribute type mapping.
103
+ def self.openapi_types
104
+ {
105
+ :'type' => :'String',
106
+ :'text' => :'String',
107
+ :'url' => :'String',
108
+ :'example' => :'Array<String>',
109
+ :'phone_number' => :'String',
110
+ :'otp_type' => :'String',
111
+ :'autofill_text' => :'String',
112
+ :'package_name' => :'String',
113
+ :'signature_hash' => :'String',
114
+ :'flow_id' => :'String',
115
+ :'flow_name' => :'String',
116
+ :'flow_json' => :'String',
117
+ :'flow_action' => :'String',
118
+ :'navigate_screen' => :'String'
119
+ }
120
+ end
121
+
122
+ # List of attributes with nullable: true
123
+ def self.openapi_nullable
124
+ Set.new([
125
+ ])
126
+ end
127
+
128
+ # discriminator's property name in OpenAPI v3
129
+ def self.openapi_discriminator_name
130
+ :'type'
131
+ end
132
+
133
+ # Initializes the object
134
+ # @param [Hash] attributes Model attributes in the form of hash
135
+ def initialize(attributes = {})
136
+ if (!attributes.is_a?(Hash))
137
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Late::WhatsAppTemplateButton` initialize method"
138
+ end
139
+
140
+ # check to see if the attribute exists and convert string to symbol for hash key
141
+ acceptable_attribute_map = self.class.acceptable_attribute_map
142
+ attributes = attributes.each_with_object({}) { |(k, v), h|
143
+ if (!acceptable_attribute_map.key?(k.to_sym))
144
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Late::WhatsAppTemplateButton`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
145
+ end
146
+ h[k.to_sym] = v
147
+ }
148
+
149
+ if attributes.key?(:'type')
150
+ self.type = attributes[:'type']
151
+ else
152
+ self.type = nil
153
+ end
154
+
155
+ if attributes.key?(:'text')
156
+ self.text = attributes[:'text']
157
+ else
158
+ self.text = nil
159
+ end
160
+
161
+ if attributes.key?(:'url')
162
+ self.url = attributes[:'url']
163
+ end
164
+
165
+ if attributes.key?(:'example')
166
+ if (value = attributes[:'example']).is_a?(Array)
167
+ self.example = value
168
+ end
169
+ end
170
+
171
+ if attributes.key?(:'phone_number')
172
+ self.phone_number = attributes[:'phone_number']
173
+ end
174
+
175
+ if attributes.key?(:'otp_type')
176
+ self.otp_type = attributes[:'otp_type']
177
+ end
178
+
179
+ if attributes.key?(:'autofill_text')
180
+ self.autofill_text = attributes[:'autofill_text']
181
+ end
182
+
183
+ if attributes.key?(:'package_name')
184
+ self.package_name = attributes[:'package_name']
185
+ end
186
+
187
+ if attributes.key?(:'signature_hash')
188
+ self.signature_hash = attributes[:'signature_hash']
189
+ end
190
+
191
+ if attributes.key?(:'flow_id')
192
+ self.flow_id = attributes[:'flow_id']
193
+ end
194
+
195
+ if attributes.key?(:'flow_name')
196
+ self.flow_name = attributes[:'flow_name']
197
+ end
198
+
199
+ if attributes.key?(:'flow_json')
200
+ self.flow_json = attributes[:'flow_json']
201
+ end
202
+
203
+ if attributes.key?(:'flow_action')
204
+ self.flow_action = attributes[:'flow_action']
205
+ end
206
+
207
+ if attributes.key?(:'navigate_screen')
208
+ self.navigate_screen = attributes[:'navigate_screen']
209
+ end
210
+ end
211
+
212
+ # Show invalid properties with the reasons. Usually used together with valid?
213
+ # @return Array for valid properties with the reasons
214
+ def list_invalid_properties
215
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
216
+ invalid_properties = Array.new
217
+ if @type.nil?
218
+ invalid_properties.push('invalid value for "type", type cannot be nil.')
219
+ end
220
+
221
+ if @text.nil?
222
+ invalid_properties.push('invalid value for "text", text cannot be nil.')
223
+ end
224
+
225
+ invalid_properties
226
+ end
227
+
228
+ # Check to see if the all the properties in the model are valid
229
+ # @return true if the model is valid
230
+ def valid?
231
+ warn '[DEPRECATED] the `valid?` method is obsolete'
232
+ return false if @type.nil?
233
+ type_validator = EnumAttributeValidator.new('String', ["QUICK_REPLY", "URL", "PHONE_NUMBER", "OTP", "FLOW", "MPM", "CATALOG"])
234
+ return false unless type_validator.valid?(@type)
235
+ return false if @text.nil?
236
+ otp_type_validator = EnumAttributeValidator.new('String', ["COPY_CODE", "ONE_TAP", "ZERO_TAP"])
237
+ return false unless otp_type_validator.valid?(@otp_type)
238
+ true
239
+ end
240
+
241
+ # Custom attribute writer method checking allowed values (enum).
242
+ # @param [Object] type Object to be assigned
243
+ def type=(type)
244
+ validator = EnumAttributeValidator.new('String', ["QUICK_REPLY", "URL", "PHONE_NUMBER", "OTP", "FLOW", "MPM", "CATALOG"])
245
+ unless validator.valid?(type)
246
+ fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
247
+ end
248
+ @type = type
249
+ end
250
+
251
+ # Custom attribute writer method with validation
252
+ # @param [Object] text Value to be assigned
253
+ def text=(text)
254
+ if text.nil?
255
+ fail ArgumentError, 'text cannot be nil'
256
+ end
257
+
258
+ @text = text
259
+ end
260
+
261
+ # Custom attribute writer method checking allowed values (enum).
262
+ # @param [Object] otp_type Object to be assigned
263
+ def otp_type=(otp_type)
264
+ validator = EnumAttributeValidator.new('String', ["COPY_CODE", "ONE_TAP", "ZERO_TAP"])
265
+ unless validator.valid?(otp_type)
266
+ fail ArgumentError, "invalid value for \"otp_type\", must be one of #{validator.allowable_values}."
267
+ end
268
+ @otp_type = otp_type
269
+ end
270
+
271
+ # Checks equality by comparing each attribute.
272
+ # @param [Object] Object to be compared
273
+ def ==(o)
274
+ return true if self.equal?(o)
275
+ self.class == o.class &&
276
+ type == o.type &&
277
+ text == o.text &&
278
+ url == o.url &&
279
+ example == o.example &&
280
+ phone_number == o.phone_number &&
281
+ otp_type == o.otp_type &&
282
+ autofill_text == o.autofill_text &&
283
+ package_name == o.package_name &&
284
+ signature_hash == o.signature_hash &&
285
+ flow_id == o.flow_id &&
286
+ flow_name == o.flow_name &&
287
+ flow_json == o.flow_json &&
288
+ flow_action == o.flow_action &&
289
+ navigate_screen == o.navigate_screen
290
+ end
291
+
292
+ # @see the `==` method
293
+ # @param [Object] Object to be compared
294
+ def eql?(o)
295
+ self == o
296
+ end
297
+
298
+ # Calculates hash code according to all attributes.
299
+ # @return [Integer] Hash code
300
+ def hash
301
+ [type, text, url, example, phone_number, otp_type, autofill_text, package_name, signature_hash, flow_id, flow_name, flow_json, flow_action, navigate_screen].hash
302
+ end
303
+
304
+ # Builds the object from hash
305
+ # @param [Hash] attributes Model attributes in the form of hash
306
+ # @return [Object] Returns the model itself
307
+ def self.build_from_hash(attributes)
308
+ return nil unless attributes.is_a?(Hash)
309
+ attributes = attributes.transform_keys(&:to_sym)
310
+ transformed_hash = {}
311
+ openapi_types.each_pair do |key, type|
312
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
313
+ transformed_hash["#{key}"] = nil
314
+ elsif type =~ /\AArray<(.*)>/i
315
+ # check to ensure the input is an array given that the attribute
316
+ # is documented as an array but the input is not
317
+ if attributes[attribute_map[key]].is_a?(Array)
318
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
319
+ end
320
+ elsif !attributes[attribute_map[key]].nil?
321
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
322
+ end
323
+ end
324
+ new(transformed_hash)
325
+ end
326
+
327
+ # Returns the object in the form of hash
328
+ # @return [Hash] Returns the object in the form of hash
329
+ def to_hash
330
+ hash = {}
331
+ self.class.attribute_map.each_pair do |attr, param|
332
+ value = self.send(attr)
333
+ if value.nil?
334
+ is_nullable = self.class.openapi_nullable.include?(attr)
335
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
336
+ end
337
+
338
+ hash[param] = _to_hash(value)
339
+ end
340
+ hash
341
+ end
342
+
343
+ end
344
+
345
+ end
@@ -0,0 +1,59 @@
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.1
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 Late
17
+ module WhatsAppTemplateComponent
18
+ class << self
19
+ # List of class defined in oneOf (OpenAPI v3)
20
+ def openapi_one_of
21
+ [
22
+ :'WhatsAppBodyComponent',
23
+ :'WhatsAppButtonsComponent',
24
+ :'WhatsAppFooterComponent',
25
+ :'WhatsAppHeaderComponent'
26
+ ]
27
+ end
28
+
29
+ # Discriminator's property name (OpenAPI v3)
30
+ def openapi_discriminator_name
31
+ :'type'
32
+ end
33
+
34
+ # Discriminator's mapping (OpenAPI v3)
35
+ def openapi_discriminator_mapping
36
+ {
37
+ :'BODY' => :'WhatsAppBodyComponent',
38
+ :'BUTTONS' => :'WhatsAppButtonsComponent',
39
+ :'FOOTER' => :'WhatsAppFooterComponent',
40
+ :'HEADER' => :'WhatsAppHeaderComponent'
41
+ }
42
+ end
43
+
44
+ # Builds the object
45
+ # @param [Mixed] Data to be matched against the list of oneOf items
46
+ # @return [Object] Returns the model or the data itself
47
+ def build(data)
48
+ discriminator_value = data[openapi_discriminator_name]
49
+ return nil if discriminator_value.nil?
50
+
51
+ klass = openapi_discriminator_mapping[discriminator_value.to_s.to_sym]
52
+ return nil unless klass
53
+
54
+ Late.const_get(klass).build_from_hash(data)
55
+ end
56
+ end
57
+ end
58
+
59
+ end
@@ -34,6 +34,9 @@ module Late
34
34
  # YouTube video category ID. Defaults to 22 (People & Blogs). Common: 1 (Film), 2 (Autos), 10 (Music), 15 (Pets), 17 (Sports), 20 (Gaming), 23 (Comedy), 24 (Entertainment), 25 (News), 26 (Howto), 27 (Education), 28 (Science & Tech).
35
35
  attr_accessor :category_id
36
36
 
37
+ # Optional YouTube playlist ID to add the video to after upload (e.g. 'PLxxxxxxxxxxxxx'). Use GET /v1/accounts/{id}/youtube-playlists to list available playlists. Works for both immediate and scheduled uploads. Quota cost: 50 YouTube API units per call.
38
+ attr_accessor :playlist_id
39
+
37
40
  class EnumAttributeValidator
38
41
  attr_reader :datatype
39
42
  attr_reader :allowable_values
@@ -64,7 +67,8 @@ module Late
64
67
  :'made_for_kids' => :'madeForKids',
65
68
  :'first_comment' => :'firstComment',
66
69
  :'contains_synthetic_media' => :'containsSyntheticMedia',
67
- :'category_id' => :'categoryId'
70
+ :'category_id' => :'categoryId',
71
+ :'playlist_id' => :'playlistId'
68
72
  }
69
73
  end
70
74
 
@@ -86,7 +90,8 @@ module Late
86
90
  :'made_for_kids' => :'Boolean',
87
91
  :'first_comment' => :'String',
88
92
  :'contains_synthetic_media' => :'Boolean',
89
- :'category_id' => :'String'
93
+ :'category_id' => :'String',
94
+ :'playlist_id' => :'String'
90
95
  }
91
96
  end
92
97
 
@@ -143,6 +148,10 @@ module Late
143
148
  else
144
149
  self.category_id = '22'
145
150
  end
151
+
152
+ if attributes.key?(:'playlist_id')
153
+ self.playlist_id = attributes[:'playlist_id']
154
+ end
146
155
  end
147
156
 
148
157
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -220,7 +229,8 @@ module Late
220
229
  made_for_kids == o.made_for_kids &&
221
230
  first_comment == o.first_comment &&
222
231
  contains_synthetic_media == o.contains_synthetic_media &&
223
- category_id == o.category_id
232
+ category_id == o.category_id &&
233
+ playlist_id == o.playlist_id
224
234
  end
225
235
 
226
236
  # @see the `==` method
@@ -232,7 +242,7 @@ module Late
232
242
  # Calculates hash code according to all attributes.
233
243
  # @return [Integer] Hash code
234
244
  def hash
235
- [title, visibility, made_for_kids, first_comment, contains_synthetic_media, category_id].hash
245
+ [title, visibility, made_for_kids, first_comment, contains_synthetic_media, category_id, playlist_id].hash
236
246
  end
237
247
 
238
248
  # Builds the object from hash
@@ -11,5 +11,5 @@ Generator version: 7.19.0
11
11
  =end
12
12
 
13
13
  module Late
14
- VERSION = '0.0.91'
14
+ VERSION = '0.0.93'
15
15
  end
data/lib/late-sdk.rb CHANGED
@@ -335,6 +335,8 @@ require 'late-sdk/models/get_you_tube_daily_views403_response'
335
335
  require 'late-sdk/models/get_you_tube_daily_views500_response'
336
336
  require 'late-sdk/models/get_you_tube_transcript200_response'
337
337
  require 'late-sdk/models/get_you_tube_transcript200_response_segments_inner'
338
+ require 'late-sdk/models/get_youtube_playlists200_response'
339
+ require 'late-sdk/models/get_youtube_playlists200_response_playlists_inner'
338
340
  require 'late-sdk/models/google_business_platform_data'
339
341
  require 'late-sdk/models/google_business_platform_data_call_to_action'
340
342
  require 'late-sdk/models/handle_o_auth_callback_request'
@@ -618,7 +620,6 @@ require 'late-sdk/models/update_profile200_response'
618
620
  require 'late-sdk/models/update_profile_request'
619
621
  require 'late-sdk/models/update_queue_slot200_response'
620
622
  require 'late-sdk/models/update_queue_slot_request'
621
- require 'late-sdk/models/update_reddit_subreddits200_response'
622
623
  require 'late-sdk/models/update_reddit_subreddits_request'
623
624
  require 'late-sdk/models/update_sequence200_response'
624
625
  require 'late-sdk/models/update_sequence200_response_sequence'
@@ -635,6 +636,8 @@ require 'late-sdk/models/update_whats_app_group_chat_request'
635
636
  require 'late-sdk/models/update_whats_app_template200_response'
636
637
  require 'late-sdk/models/update_whats_app_template200_response_template'
637
638
  require 'late-sdk/models/update_whats_app_template_request'
639
+ require 'late-sdk/models/update_youtube_default_playlist200_response'
640
+ require 'late-sdk/models/update_youtube_default_playlist_request'
638
641
  require 'late-sdk/models/upload_media_direct200_response'
639
642
  require 'late-sdk/models/upload_token_response'
640
643
  require 'late-sdk/models/upload_token_status_response'
@@ -687,6 +690,14 @@ require 'late-sdk/models/webhook_payload_post'
687
690
  require 'late-sdk/models/webhook_payload_post_post'
688
691
  require 'late-sdk/models/webhook_payload_post_post_platforms_inner'
689
692
  require 'late-sdk/models/webhook_payload_test'
693
+ require 'late-sdk/models/whats_app_body_component'
694
+ require 'late-sdk/models/whats_app_body_component_example'
695
+ require 'late-sdk/models/whats_app_buttons_component'
696
+ require 'late-sdk/models/whats_app_footer_component'
697
+ require 'late-sdk/models/whats_app_header_component'
698
+ require 'late-sdk/models/whats_app_header_component_example'
699
+ require 'late-sdk/models/whats_app_template_button'
700
+ require 'late-sdk/models/whats_app_template_component'
690
701
  require 'late-sdk/models/you_tube_daily_views_response'
691
702
  require 'late-sdk/models/you_tube_daily_views_response_daily_views_inner'
692
703
  require 'late-sdk/models/you_tube_daily_views_response_date_range'