late-sdk 0.0.771 → 0.0.773

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 (56) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +7 -0
  3. data/docs/AdCampaignsApi.md +72 -0
  4. data/docs/AnalyticsApi.md +2 -2
  5. data/docs/AttachCampaignAssets201Response.md +24 -0
  6. data/docs/AttachCampaignAssetsRequest.md +24 -0
  7. data/docs/AttachCampaignAssetsRequestSitelinksInner.md +24 -0
  8. data/docs/AttachCampaignAssetsRequestStructuredSnippetsInner.md +20 -0
  9. data/docs/CreateInboxConversationRequest.md +3 -1
  10. data/docs/CreateInboxConversationRequestTemplateButtonParamsInner.md +22 -0
  11. data/docs/CreateStandaloneAdRequest.md +4 -0
  12. data/docs/CreateStandaloneAdRequestStructuredSnippetsInner.md +20 -0
  13. data/docs/GetInboxConversationMessages200ResponseMessagesInner.md +4 -2
  14. data/docs/MessagesApi.md +1 -1
  15. data/docs/PostAnalytics.md +4 -0
  16. data/docs/TargetingSpec.md +2 -2
  17. data/docs/WebhookPayloadMessageMessage.md +3 -1
  18. data/docs/WebhookPayloadMessageSentMessage.md +4 -2
  19. data/lib/zernio-sdk/api/ad_campaigns_api.rb +74 -0
  20. data/lib/zernio-sdk/api/analytics_api.rb +3 -3
  21. data/lib/zernio-sdk/api/messages_api.rb +2 -2
  22. data/lib/zernio-sdk/models/ad_tree_campaign_optimization_goal.rb +1 -0
  23. data/lib/zernio-sdk/models/attach_campaign_assets201_response.rb +180 -0
  24. data/lib/zernio-sdk/models/attach_campaign_assets_request.rb +283 -0
  25. data/lib/zernio-sdk/models/attach_campaign_assets_request_sitelinks_inner.rb +282 -0
  26. data/lib/zernio-sdk/models/attach_campaign_assets_request_structured_snippets_inner.rb +234 -0
  27. data/lib/zernio-sdk/models/create_inbox_conversation_request.rb +33 -2
  28. data/lib/zernio-sdk/models/create_inbox_conversation_request_template_button_params_inner.rb +270 -0
  29. data/lib/zernio-sdk/models/create_standalone_ad_request.rb +81 -1
  30. data/lib/zernio-sdk/models/create_standalone_ad_request_structured_snippets_inner.rb +235 -0
  31. data/lib/zernio-sdk/models/get_inbox_conversation_messages200_response_messages_inner.rb +28 -5
  32. data/lib/zernio-sdk/models/post_analytics.rb +21 -1
  33. data/lib/zernio-sdk/models/targeting_spec.rb +2 -0
  34. data/lib/zernio-sdk/models/webhook_payload_message_message.rb +27 -4
  35. data/lib/zernio-sdk/models/webhook_payload_message_sent_message.rb +28 -5
  36. data/lib/zernio-sdk/version.rb +1 -1
  37. data/lib/zernio-sdk.rb +6 -0
  38. data/openapi.yaml +211 -11
  39. data/spec/api/ad_campaigns_api_spec.rb +13 -0
  40. data/spec/api/analytics_api_spec.rb +1 -1
  41. data/spec/api/messages_api_spec.rb +1 -1
  42. data/spec/models/attach_campaign_assets201_response_spec.rb +54 -0
  43. data/spec/models/attach_campaign_assets_request_sitelinks_inner_spec.rb +54 -0
  44. data/spec/models/attach_campaign_assets_request_spec.rb +54 -0
  45. data/spec/models/attach_campaign_assets_request_structured_snippets_inner_spec.rb +46 -0
  46. data/spec/models/create_inbox_conversation_request_spec.rb +6 -0
  47. data/spec/models/create_inbox_conversation_request_template_button_params_inner_spec.rb +52 -0
  48. data/spec/models/create_standalone_ad_request_spec.rb +12 -0
  49. data/spec/models/create_standalone_ad_request_structured_snippets_inner_spec.rb +46 -0
  50. data/spec/models/get_inbox_conversation_messages200_response_messages_inner_spec.rb +10 -0
  51. data/spec/models/post_analytics_spec.rb +12 -0
  52. data/spec/models/webhook_payload_message_message_spec.rb +10 -0
  53. data/spec/models/webhook_payload_message_sent_message_spec.rb +10 -0
  54. data/zernio-sdk-0.0.773.gem +0 -0
  55. metadata +26 -2
  56. data/zernio-sdk-0.0.771.gem +0 -0
@@ -79,9 +79,12 @@ module Zernio
79
79
  # Emoji reactions on this message (WhatsApp / Telegram). At most one per party in a 1:1 thread.
80
80
  attr_accessor :reactions
81
81
 
82
- # Platform-specific extras. Free-form, but commonly includes: `quotedMessageId` (platformMessageId this message replies to), `waInteractive` (a compact descriptor of WhatsApp interactive content sent: buttons / list / cta_url / flow / location_request), and for inbound interactive taps `interactiveType` / `interactiveId`.
82
+ # Platform-specific extras. Free-form, but commonly includes: `quotedMessageId` (platformMessageId this message replies to), `waInteractive` (a compact descriptor of WhatsApp interactive content sent: buttons / list / cta_url / flow / location_request), and for inbound interactive taps `interactiveType` / `interactiveId`. It can also carry `source` (`whatsapp_business_app` / `coexistence_history` on a WhatsApp Coexistence number, `bulk-api` on a POST /v1/whatsapp/bulk send), which is where the message reached us from rather than who produced it: read `sentVia` for that.
83
83
  attr_accessor :metadata
84
84
 
85
+ # Which Zernio surface produced this outgoing message: `human` (an operator in the Zernio inbox), `api` (a call to this API), `broadcast`, `sequence`, `workflow`, `comment_automation`, or `bulk-api` (POST /v1/whatsapp/bulk). Same vocabulary as the `source` filter on the inbox analytics endpoints. Always present, and `null` whenever the lineage is unknown: every incoming message, any outgoing message sent from the platform's own app, and every message stored before this field shipped (2026-08). Existing messages are NOT backfilled, so treat `null` as \"unknown\", never as \"sent by a human\".
86
+ attr_accessor :sent_via
87
+
85
88
  class EnumAttributeValidator
86
89
  attr_reader :datatype
87
90
  attr_reader :allowable_values
@@ -133,7 +136,8 @@ module Zernio
133
136
  :'sent_at' => :'sentAt',
134
137
  :'delivery_error' => :'deliveryError',
135
138
  :'reactions' => :'reactions',
136
- :'metadata' => :'metadata'
139
+ :'metadata' => :'metadata',
140
+ :'sent_via' => :'sentVia'
137
141
  }
138
142
  end
139
143
 
@@ -176,7 +180,8 @@ module Zernio
176
180
  :'sent_at' => :'Time',
177
181
  :'delivery_error' => :'GetInboxConversationMessages200ResponseMessagesInnerDeliveryError',
178
182
  :'reactions' => :'Array<GetInboxConversationMessages200ResponseMessagesInnerReactionsInner>',
179
- :'metadata' => :'Hash<String, Object>'
183
+ :'metadata' => :'Hash<String, Object>',
184
+ :'sent_via' => :'String'
180
185
  }
181
186
  end
182
187
 
@@ -194,6 +199,7 @@ module Zernio
194
199
  :'delivered_at',
195
200
  :'read_at',
196
201
  :'sent_at',
202
+ :'sent_via'
197
203
  ])
198
204
  end
199
205
 
@@ -328,6 +334,10 @@ module Zernio
328
334
  self.metadata = value
329
335
  end
330
336
  end
337
+
338
+ if attributes.key?(:'sent_via')
339
+ self.sent_via = attributes[:'sent_via']
340
+ end
331
341
  end
332
342
 
333
343
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -348,6 +358,8 @@ module Zernio
348
358
  return false unless direction_validator.valid?(@direction)
349
359
  delivery_status_validator = EnumAttributeValidator.new('String', ["sent", "delivered", "read", "failed", "deleted"])
350
360
  return false unless delivery_status_validator.valid?(@delivery_status)
361
+ sent_via_validator = EnumAttributeValidator.new('String', ["human", "api", "broadcast", "sequence", "workflow", "comment_automation", "bulk-api"])
362
+ return false unless sent_via_validator.valid?(@sent_via)
351
363
  true
352
364
  end
353
365
 
@@ -381,6 +393,16 @@ module Zernio
381
393
  @delivery_status = delivery_status
382
394
  end
383
395
 
396
+ # Custom attribute writer method checking allowed values (enum).
397
+ # @param [Object] sent_via Object to be assigned
398
+ def sent_via=(sent_via)
399
+ validator = EnumAttributeValidator.new('String', ["human", "api", "broadcast", "sequence", "workflow", "comment_automation", "bulk-api"])
400
+ unless validator.valid?(sent_via)
401
+ fail ArgumentError, "invalid value for \"sent_via\", must be one of #{validator.allowable_values}."
402
+ end
403
+ @sent_via = sent_via
404
+ end
405
+
384
406
  # Checks equality by comparing each attribute.
385
407
  # @param [Object] Object to be compared
386
408
  def ==(o)
@@ -412,7 +434,8 @@ module Zernio
412
434
  sent_at == o.sent_at &&
413
435
  delivery_error == o.delivery_error &&
414
436
  reactions == o.reactions &&
415
- metadata == o.metadata
437
+ metadata == o.metadata &&
438
+ sent_via == o.sent_via
416
439
  end
417
440
 
418
441
  # @see the `==` method
@@ -424,7 +447,7 @@ module Zernio
424
447
  # Calculates hash code according to all attributes.
425
448
  # @return [Integer] Hash code
426
449
  def hash
427
- [id, conversation_id, account_id, platform, message, sender_id, sender_name, sender_verified_type, direction, created_at, attachments, subject, story_reply, is_story_mention, is_edited, edited_at, edit_count, edit_history, is_deleted, deleted_at, delivery_status, delivered_at, read_at, sent_at, delivery_error, reactions, metadata].hash
450
+ [id, conversation_id, account_id, platform, message, sender_id, sender_name, sender_verified_type, direction, created_at, attachments, subject, story_reply, is_story_mention, is_edited, edited_at, edit_count, edit_history, is_deleted, deleted_at, delivery_status, delivered_at, read_at, sent_at, delivery_error, reactions, metadata, sent_via].hash
428
451
  end
429
452
 
430
453
  # Builds the object from hash
@@ -41,6 +41,12 @@ module Zernio
41
41
  # Instagram Reels only: total watch time including replays, in milliseconds. 0 for non-Reels media and other platforms.
42
42
  attr_accessor :ig_reels_video_view_total_time
43
43
 
44
+ # Instagram Reels only: the rate of initial views that skipped the reel within its first 3 seconds, as reported by Meta. Passed through exactly as Meta reports it, with no rescaling, so do not assume a 0-1 share. Meta labels the metric estimated and in development, so it can move between syncs. 0 for non-Reels media and other platforms. When a post is published to several accounts, the aggregate is weighted by views.
45
+ attr_accessor :reels_skip_rate
46
+
47
+ # Instagram only: reposts of the media by other users, minus deleted reposts. Available on feed posts, reels and stories. 0 for other platforms, including Threads, where reposts are counted in shares instead.
48
+ attr_accessor :reposts
49
+
44
50
  # Video length in seconds. Currently Instagram Reels only; combine with igReelsAvgWatchTime (ms) to estimate retention. Null when unknown (other platforms, non-video media, or when Instagram does not expose the media URL, e.g. reels with copyrighted audio).
45
51
  attr_accessor :video_duration_seconds
46
52
 
@@ -63,6 +69,8 @@ module Zernio
63
69
  :'follows' => :'follows',
64
70
  :'ig_reels_avg_watch_time' => :'igReelsAvgWatchTime',
65
71
  :'ig_reels_video_view_total_time' => :'igReelsVideoViewTotalTime',
72
+ :'reels_skip_rate' => :'reelsSkipRate',
73
+ :'reposts' => :'reposts',
66
74
  :'video_duration_seconds' => :'videoDurationSeconds',
67
75
  :'engagement_rate' => :'engagementRate',
68
76
  :'last_updated' => :'lastUpdated'
@@ -93,6 +101,8 @@ module Zernio
93
101
  :'follows' => :'Integer',
94
102
  :'ig_reels_avg_watch_time' => :'Integer',
95
103
  :'ig_reels_video_view_total_time' => :'Integer',
104
+ :'reels_skip_rate' => :'Float',
105
+ :'reposts' => :'Integer',
96
106
  :'video_duration_seconds' => :'Integer',
97
107
  :'engagement_rate' => :'Float',
98
108
  :'last_updated' => :'Time'
@@ -166,6 +176,14 @@ module Zernio
166
176
  self.ig_reels_video_view_total_time = attributes[:'ig_reels_video_view_total_time']
167
177
  end
168
178
 
179
+ if attributes.key?(:'reels_skip_rate')
180
+ self.reels_skip_rate = attributes[:'reels_skip_rate']
181
+ end
182
+
183
+ if attributes.key?(:'reposts')
184
+ self.reposts = attributes[:'reposts']
185
+ end
186
+
169
187
  if attributes.key?(:'video_duration_seconds')
170
188
  self.video_duration_seconds = attributes[:'video_duration_seconds']
171
189
  end
@@ -210,6 +228,8 @@ module Zernio
210
228
  follows == o.follows &&
211
229
  ig_reels_avg_watch_time == o.ig_reels_avg_watch_time &&
212
230
  ig_reels_video_view_total_time == o.ig_reels_video_view_total_time &&
231
+ reels_skip_rate == o.reels_skip_rate &&
232
+ reposts == o.reposts &&
213
233
  video_duration_seconds == o.video_duration_seconds &&
214
234
  engagement_rate == o.engagement_rate &&
215
235
  last_updated == o.last_updated
@@ -224,7 +244,7 @@ module Zernio
224
244
  # Calculates hash code according to all attributes.
225
245
  # @return [Integer] Hash code
226
246
  def hash
227
- [impressions, reach, likes, comments, shares, saves, clicks, views, follows, ig_reels_avg_watch_time, ig_reels_video_view_total_time, video_duration_seconds, engagement_rate, last_updated].hash
247
+ [impressions, reach, likes, comments, shares, saves, clicks, views, follows, ig_reels_avg_watch_time, ig_reels_video_view_total_time, reels_skip_rate, reposts, video_duration_seconds, engagement_rate, last_updated].hash
228
248
  end
229
249
 
230
250
  # Builds the object from hash
@@ -36,8 +36,10 @@ module Zernio
36
36
 
37
37
  attr_accessor :excluded_locations
38
38
 
39
+ # Minimum age. Applied on Meta, TikTok and Pinterest; ignored on Google, LinkedIn and X. Each platform clamps to its own range: Meta and Pinterest effectively cap at 65 (65 = 65+), TikTok maps up to 100. Pinterest has no under-18 bucket, so an ageMin below 18 starts at 18 there.
39
40
  attr_accessor :age_min
40
41
 
42
+ # Maximum age. Same per-platform application and clamping as ageMin.
41
43
  attr_accessor :age_max
42
44
 
43
45
  # Restrict by gender. 'all' (default) targets everyone. Applied on Meta, TikTok and Pinterest. Ignored on Google, LinkedIn and X.
@@ -40,6 +40,9 @@ module Zernio
40
40
 
41
41
  attr_accessor :is_read
42
42
 
43
+ # Which Zernio surface produced the message. Always present and always `null` on this event, since nobody on our side produced an inbound message; it is only informative on `message.sent`, which documents the vocabulary.
44
+ attr_accessor :sent_via
45
+
43
46
  class EnumAttributeValidator
44
47
  attr_reader :datatype
45
48
  attr_reader :allowable_values
@@ -74,7 +77,8 @@ module Zernio
74
77
  :'attachments' => :'attachments',
75
78
  :'sender' => :'sender',
76
79
  :'sent_at' => :'sentAt',
77
- :'is_read' => :'isRead'
80
+ :'is_read' => :'isRead',
81
+ :'sent_via' => :'sentVia'
78
82
  }
79
83
  end
80
84
 
@@ -100,7 +104,8 @@ module Zernio
100
104
  :'attachments' => :'Array<WebhookPayloadMessageMessageAttachmentsInner>',
101
105
  :'sender' => :'WebhookPayloadMessageMessageSender',
102
106
  :'sent_at' => :'Time',
103
- :'is_read' => :'Boolean'
107
+ :'is_read' => :'Boolean',
108
+ :'sent_via' => :'String'
104
109
  }
105
110
  end
106
111
 
@@ -108,6 +113,7 @@ module Zernio
108
113
  def self.openapi_nullable
109
114
  Set.new([
110
115
  :'text',
116
+ :'sent_via'
111
117
  ])
112
118
  end
113
119
 
@@ -188,6 +194,10 @@ module Zernio
188
194
  else
189
195
  self.is_read = nil
190
196
  end
197
+
198
+ if attributes.key?(:'sent_via')
199
+ self.sent_via = attributes[:'sent_via']
200
+ end
191
201
  end
192
202
 
193
203
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -251,6 +261,8 @@ module Zernio
251
261
  return false if @sender.nil?
252
262
  return false if @sent_at.nil?
253
263
  return false if @is_read.nil?
264
+ sent_via_validator = EnumAttributeValidator.new('String', ["human", "api", "broadcast", "sequence", "workflow", "comment_automation", "bulk-api"])
265
+ return false unless sent_via_validator.valid?(@sent_via)
254
266
  true
255
267
  end
256
268
 
@@ -344,6 +356,16 @@ module Zernio
344
356
  @is_read = is_read
345
357
  end
346
358
 
359
+ # Custom attribute writer method checking allowed values (enum).
360
+ # @param [Object] sent_via Object to be assigned
361
+ def sent_via=(sent_via)
362
+ validator = EnumAttributeValidator.new('String', ["human", "api", "broadcast", "sequence", "workflow", "comment_automation", "bulk-api"])
363
+ unless validator.valid?(sent_via)
364
+ fail ArgumentError, "invalid value for \"sent_via\", must be one of #{validator.allowable_values}."
365
+ end
366
+ @sent_via = sent_via
367
+ end
368
+
347
369
  # Checks equality by comparing each attribute.
348
370
  # @param [Object] Object to be compared
349
371
  def ==(o)
@@ -358,7 +380,8 @@ module Zernio
358
380
  attachments == o.attachments &&
359
381
  sender == o.sender &&
360
382
  sent_at == o.sent_at &&
361
- is_read == o.is_read
383
+ is_read == o.is_read &&
384
+ sent_via == o.sent_via
362
385
  end
363
386
 
364
387
  # @see the `==` method
@@ -370,7 +393,7 @@ module Zernio
370
393
  # Calculates hash code according to all attributes.
371
394
  # @return [Integer] Hash code
372
395
  def hash
373
- [id, conversation_id, platform, platform_message_id, direction, text, attachments, sender, sent_at, is_read].hash
396
+ [id, conversation_id, platform, platform_message_id, direction, text, attachments, sender, sent_at, is_read, sent_via].hash
374
397
  end
375
398
 
376
399
  # Builds the object from hash
@@ -41,9 +41,12 @@ module Zernio
41
41
 
42
42
  attr_accessor :is_read
43
43
 
44
- # WhatsApp send origin. whatsapp_business_app when sent from the WhatsApp Business phone app on a Coexistence number; cloud_api when sent through Zernio (dashboard, API, or broadcasts). Absent on non-WhatsApp platforms. This is not the inbox metadata.source lineage field.
44
+ # WhatsApp send origin. whatsapp_business_app when sent from the WhatsApp Business phone app on a Coexistence number; cloud_api when sent through Zernio (dashboard, API, or broadcasts). Absent on non-WhatsApp platforms. Says where WhatsApp saw the send come from, not which Zernio surface produced it: read sentVia for that.
45
45
  attr_accessor :source
46
46
 
47
+ # Which Zernio surface produced this message: `human` (an operator in the Zernio inbox), `api` (a call to this API), `broadcast`, `sequence`, `workflow`, `comment_automation`, or `bulk-api` (POST /v1/whatsapp/bulk). Same vocabulary as the `source` filter on the inbox analytics endpoints, and the same value a later GET on this message returns. Always present, and `null` whenever the lineage is unknown: a message sent from the platform's own app, and every message stored before this field shipped (2026-08). Existing messages are NOT backfilled, so treat `null` as \"unknown\", never as \"sent by a human\".
48
+ attr_accessor :sent_via
49
+
47
50
  class EnumAttributeValidator
48
51
  attr_reader :datatype
49
52
  attr_reader :allowable_values
@@ -79,7 +82,8 @@ module Zernio
79
82
  :'sender' => :'sender',
80
83
  :'sent_at' => :'sentAt',
81
84
  :'is_read' => :'isRead',
82
- :'source' => :'source'
85
+ :'source' => :'source',
86
+ :'sent_via' => :'sentVia'
83
87
  }
84
88
  end
85
89
 
@@ -106,7 +110,8 @@ module Zernio
106
110
  :'sender' => :'WebhookPayloadMessageSentMessageSender',
107
111
  :'sent_at' => :'Time',
108
112
  :'is_read' => :'Boolean',
109
- :'source' => :'String'
113
+ :'source' => :'String',
114
+ :'sent_via' => :'String'
110
115
  }
111
116
  end
112
117
 
@@ -114,6 +119,7 @@ module Zernio
114
119
  def self.openapi_nullable
115
120
  Set.new([
116
121
  :'text',
122
+ :'sent_via'
117
123
  ])
118
124
  end
119
125
 
@@ -198,6 +204,10 @@ module Zernio
198
204
  if attributes.key?(:'source')
199
205
  self.source = attributes[:'source']
200
206
  end
207
+
208
+ if attributes.key?(:'sent_via')
209
+ self.sent_via = attributes[:'sent_via']
210
+ end
201
211
  end
202
212
 
203
213
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -263,6 +273,8 @@ module Zernio
263
273
  return false if @is_read.nil?
264
274
  source_validator = EnumAttributeValidator.new('String', ["whatsapp_business_app", "cloud_api"])
265
275
  return false unless source_validator.valid?(@source)
276
+ sent_via_validator = EnumAttributeValidator.new('String', ["human", "api", "broadcast", "sequence", "workflow", "comment_automation", "bulk-api"])
277
+ return false unless sent_via_validator.valid?(@sent_via)
266
278
  true
267
279
  end
268
280
 
@@ -366,6 +378,16 @@ module Zernio
366
378
  @source = source
367
379
  end
368
380
 
381
+ # Custom attribute writer method checking allowed values (enum).
382
+ # @param [Object] sent_via Object to be assigned
383
+ def sent_via=(sent_via)
384
+ validator = EnumAttributeValidator.new('String', ["human", "api", "broadcast", "sequence", "workflow", "comment_automation", "bulk-api"])
385
+ unless validator.valid?(sent_via)
386
+ fail ArgumentError, "invalid value for \"sent_via\", must be one of #{validator.allowable_values}."
387
+ end
388
+ @sent_via = sent_via
389
+ end
390
+
369
391
  # Checks equality by comparing each attribute.
370
392
  # @param [Object] Object to be compared
371
393
  def ==(o)
@@ -381,7 +403,8 @@ module Zernio
381
403
  sender == o.sender &&
382
404
  sent_at == o.sent_at &&
383
405
  is_read == o.is_read &&
384
- source == o.source
406
+ source == o.source &&
407
+ sent_via == o.sent_via
385
408
  end
386
409
 
387
410
  # @see the `==` method
@@ -393,7 +416,7 @@ module Zernio
393
416
  # Calculates hash code according to all attributes.
394
417
  # @return [Integer] Hash code
395
418
  def hash
396
- [id, conversation_id, platform, platform_message_id, direction, text, attachments, sender, sent_at, is_read, source].hash
419
+ [id, conversation_id, platform, platform_message_id, direction, text, attachments, sender, sent_at, is_read, source, sent_via].hash
397
420
  end
398
421
 
399
422
  # Builds the object from hash
@@ -11,5 +11,5 @@ Generator version: 7.19.0
11
11
  =end
12
12
 
13
13
  module Zernio
14
- VERSION = '0.0.771'
14
+ VERSION = '0.0.773'
15
15
  end
data/lib/zernio-sdk.rb CHANGED
@@ -88,6 +88,10 @@ require 'zernio-sdk/models/archive_lead_form200_response'
88
88
  require 'zernio-sdk/models/assign_google_business_location200_response'
89
89
  require 'zernio-sdk/models/assign_google_business_location200_response_account'
90
90
  require 'zernio-sdk/models/assign_google_business_location_request'
91
+ require 'zernio-sdk/models/attach_campaign_assets201_response'
92
+ require 'zernio-sdk/models/attach_campaign_assets_request'
93
+ require 'zernio-sdk/models/attach_campaign_assets_request_sitelinks_inner'
94
+ require 'zernio-sdk/models/attach_campaign_assets_request_structured_snippets_inner'
91
95
  require 'zernio-sdk/models/attach_number_to_sip_trunk200_response'
92
96
  require 'zernio-sdk/models/attach_number_to_sip_trunk_request'
93
97
  require 'zernio-sdk/models/batch_get_google_business_reviews200_response'
@@ -258,6 +262,7 @@ require 'zernio-sdk/models/create_inbox_conversation422_response'
258
262
  require 'zernio-sdk/models/create_inbox_conversation429_response'
259
263
  require 'zernio-sdk/models/create_inbox_conversation_request'
260
264
  require 'zernio-sdk/models/create_inbox_conversation_request_header_media'
265
+ require 'zernio-sdk/models/create_inbox_conversation_request_template_button_params_inner'
261
266
  require 'zernio-sdk/models/create_invite_token201_response'
262
267
  require 'zernio-sdk/models/create_invite_token_request'
263
268
  require 'zernio-sdk/models/create_lead_form200_response'
@@ -323,6 +328,7 @@ require 'zernio-sdk/models/create_standalone_ad_request_platform_specific_data'
323
328
  require 'zernio-sdk/models/create_standalone_ad_request_promoted_object'
324
329
  require 'zernio-sdk/models/create_standalone_ad_request_regions_inner'
325
330
  require 'zernio-sdk/models/create_standalone_ad_request_sitelinks_inner'
331
+ require 'zernio-sdk/models/create_standalone_ad_request_structured_snippets_inner'
326
332
  require 'zernio-sdk/models/create_standalone_ad_request_tracking'
327
333
  require 'zernio-sdk/models/create_standalone_ad_request_translations_inner'
328
334
  require 'zernio-sdk/models/create_standalone_ad_request_video'