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.
- checksums.yaml +4 -4
- data/README.md +7 -0
- data/docs/AdCampaignsApi.md +72 -0
- data/docs/AnalyticsApi.md +2 -2
- data/docs/AttachCampaignAssets201Response.md +24 -0
- data/docs/AttachCampaignAssetsRequest.md +24 -0
- data/docs/AttachCampaignAssetsRequestSitelinksInner.md +24 -0
- data/docs/AttachCampaignAssetsRequestStructuredSnippetsInner.md +20 -0
- data/docs/CreateInboxConversationRequest.md +3 -1
- data/docs/CreateInboxConversationRequestTemplateButtonParamsInner.md +22 -0
- data/docs/CreateStandaloneAdRequest.md +4 -0
- data/docs/CreateStandaloneAdRequestStructuredSnippetsInner.md +20 -0
- data/docs/GetInboxConversationMessages200ResponseMessagesInner.md +4 -2
- data/docs/MessagesApi.md +1 -1
- data/docs/PostAnalytics.md +4 -0
- data/docs/TargetingSpec.md +2 -2
- data/docs/WebhookPayloadMessageMessage.md +3 -1
- data/docs/WebhookPayloadMessageSentMessage.md +4 -2
- data/lib/zernio-sdk/api/ad_campaigns_api.rb +74 -0
- data/lib/zernio-sdk/api/analytics_api.rb +3 -3
- data/lib/zernio-sdk/api/messages_api.rb +2 -2
- data/lib/zernio-sdk/models/ad_tree_campaign_optimization_goal.rb +1 -0
- data/lib/zernio-sdk/models/attach_campaign_assets201_response.rb +180 -0
- data/lib/zernio-sdk/models/attach_campaign_assets_request.rb +283 -0
- data/lib/zernio-sdk/models/attach_campaign_assets_request_sitelinks_inner.rb +282 -0
- data/lib/zernio-sdk/models/attach_campaign_assets_request_structured_snippets_inner.rb +234 -0
- data/lib/zernio-sdk/models/create_inbox_conversation_request.rb +33 -2
- data/lib/zernio-sdk/models/create_inbox_conversation_request_template_button_params_inner.rb +270 -0
- data/lib/zernio-sdk/models/create_standalone_ad_request.rb +81 -1
- data/lib/zernio-sdk/models/create_standalone_ad_request_structured_snippets_inner.rb +235 -0
- data/lib/zernio-sdk/models/get_inbox_conversation_messages200_response_messages_inner.rb +28 -5
- data/lib/zernio-sdk/models/post_analytics.rb +21 -1
- data/lib/zernio-sdk/models/targeting_spec.rb +2 -0
- data/lib/zernio-sdk/models/webhook_payload_message_message.rb +27 -4
- data/lib/zernio-sdk/models/webhook_payload_message_sent_message.rb +28 -5
- data/lib/zernio-sdk/version.rb +1 -1
- data/lib/zernio-sdk.rb +6 -0
- data/openapi.yaml +211 -11
- data/spec/api/ad_campaigns_api_spec.rb +13 -0
- data/spec/api/analytics_api_spec.rb +1 -1
- data/spec/api/messages_api_spec.rb +1 -1
- data/spec/models/attach_campaign_assets201_response_spec.rb +54 -0
- data/spec/models/attach_campaign_assets_request_sitelinks_inner_spec.rb +54 -0
- data/spec/models/attach_campaign_assets_request_spec.rb +54 -0
- data/spec/models/attach_campaign_assets_request_structured_snippets_inner_spec.rb +46 -0
- data/spec/models/create_inbox_conversation_request_spec.rb +6 -0
- data/spec/models/create_inbox_conversation_request_template_button_params_inner_spec.rb +52 -0
- data/spec/models/create_standalone_ad_request_spec.rb +12 -0
- data/spec/models/create_standalone_ad_request_structured_snippets_inner_spec.rb +46 -0
- data/spec/models/get_inbox_conversation_messages200_response_messages_inner_spec.rb +10 -0
- data/spec/models/post_analytics_spec.rb +12 -0
- data/spec/models/webhook_payload_message_message_spec.rb +10 -0
- data/spec/models/webhook_payload_message_sent_message_spec.rb +10 -0
- data/zernio-sdk-0.0.773.gem +0 -0
- metadata +26 -2
- 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.
|
|
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
|
data/lib/zernio-sdk/version.rb
CHANGED
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'
|