knockapi 1.38.0 → 1.40.0

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 (153) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +48 -0
  3. data/README.md +1 -1
  4. data/lib/knockapi/models/audience_add_members_params.rb +3 -30
  5. data/lib/knockapi/models/audience_member_request.rb +32 -0
  6. data/lib/knockapi/models/audience_remove_members_params.rb +3 -30
  7. data/lib/knockapi/models/list_messages_response.rb +26 -0
  8. data/lib/knockapi/models/list_schedules_response.rb +26 -0
  9. data/lib/knockapi/models/list_subscriptions_response.rb +26 -0
  10. data/lib/knockapi/models/message.rb +37 -11
  11. data/lib/knockapi/models/{message_get_content_response.rb → message_contents.rb} +30 -156
  12. data/lib/knockapi/models/message_event.rb +3 -3
  13. data/lib/knockapi/models/message_in_app_feed_button_set_block.rb +76 -0
  14. data/lib/knockapi/models/message_in_app_feed_content_block.rb +55 -0
  15. data/lib/knockapi/models/messages/batch_archive_params.rb +2 -10
  16. data/lib/knockapi/models/messages/batch_get_content_response.rb +1 -495
  17. data/lib/knockapi/models/messages/batch_mark_as_read_params.rb +2 -10
  18. data/lib/knockapi/models/messages/batch_mark_as_seen_params.rb +2 -10
  19. data/lib/knockapi/models/messages/batch_mark_as_unread_params.rb +2 -10
  20. data/lib/knockapi/models/messages/batch_mark_as_unseen_params.rb +2 -10
  21. data/lib/knockapi/models/messages/batch_messages_status_request.rb +20 -0
  22. data/lib/knockapi/models/messages/batch_unarchive_params.rb +2 -10
  23. data/lib/knockapi/models/preference_set_commercial_subscribed_setting.rb +19 -0
  24. data/lib/knockapi/models/recipients/preference_set.rb +26 -4
  25. data/lib/knockapi/models/recipients/preference_set_request.rb +26 -4
  26. data/lib/knockapi/models/recipients/slack_channel_data.rb +9 -1
  27. data/lib/knockapi/models/users/bulk_set_preferences_params.rb +26 -4
  28. data/lib/knockapi/models/users/feed_list_items_response.rb +5 -128
  29. data/lib/knockapi/models/users/{guide_mark_message_as_archived_response.rb → guide_action_response.rb} +1 -1
  30. data/lib/knockapi/models/users/guide_archived_request.rb +72 -0
  31. data/lib/knockapi/models/users/guide_interacted_request.rb +60 -0
  32. data/lib/knockapi/models/users/guide_mark_message_as_archived_params.rb +2 -82
  33. data/lib/knockapi/models/users/guide_mark_message_as_interacted_params.rb +2 -82
  34. data/lib/knockapi/models/users/guide_mark_message_as_seen_params.rb +2 -82
  35. data/lib/knockapi/models/users/guide_reset_guide_engagements_params.rb +39 -0
  36. data/lib/knockapi/models/users/guide_seen_request.rb +68 -0
  37. data/lib/knockapi/models/users/guide_unarchive_guide_message_params.rb +39 -0
  38. data/lib/knockapi/models/users/preference_center_branding_config.rb +50 -0
  39. data/lib/knockapi/models/users/preference_center_generate_signed_url_params.rb +22 -0
  40. data/lib/knockapi/models/users/preference_center_generate_signed_url_response.rb +34 -0
  41. data/lib/knockapi/models/users/preference_center_get_config_params.rb +22 -0
  42. data/lib/knockapi/models/users/preference_center_get_config_response.rb +221 -0
  43. data/lib/knockapi/models.rb +16 -0
  44. data/lib/knockapi/resources/audiences.rb +2 -2
  45. data/lib/knockapi/resources/messages/batch.rb +2 -2
  46. data/lib/knockapi/resources/messages.rb +2 -2
  47. data/lib/knockapi/resources/objects.rb +1 -1
  48. data/lib/knockapi/resources/users/guides.rb +79 -42
  49. data/lib/knockapi/resources/users/preference_center.rb +60 -0
  50. data/lib/knockapi/resources/users.rb +7 -1
  51. data/lib/knockapi/version.rb +1 -1
  52. data/lib/knockapi.rb +21 -4
  53. data/rbi/knockapi/models/audience_add_members_params.rbi +3 -56
  54. data/rbi/knockapi/models/audience_member_request.rbi +55 -0
  55. data/rbi/knockapi/models/audience_remove_members_params.rbi +3 -57
  56. data/rbi/knockapi/models/list_messages_response.rbi +46 -0
  57. data/rbi/knockapi/models/list_schedules_response.rbi +49 -0
  58. data/rbi/knockapi/models/list_subscriptions_response.rbi +52 -0
  59. data/rbi/knockapi/models/message.rbi +50 -18
  60. data/rbi/knockapi/models/{message_get_content_response.rbi → message_contents.rbi} +43 -299
  61. data/rbi/knockapi/models/message_event.rbi +9 -9
  62. data/rbi/knockapi/models/message_in_app_feed_button_set_block.rbi +133 -0
  63. data/rbi/knockapi/models/message_in_app_feed_content_block.rbi +97 -0
  64. data/rbi/knockapi/models/messages/batch_archive_params.rbi +6 -22
  65. data/rbi/knockapi/models/messages/batch_get_content_response.rbi +1 -879
  66. data/rbi/knockapi/models/messages/batch_mark_as_read_params.rbi +6 -22
  67. data/rbi/knockapi/models/messages/batch_mark_as_seen_params.rbi +6 -22
  68. data/rbi/knockapi/models/messages/batch_mark_as_unread_params.rbi +6 -22
  69. data/rbi/knockapi/models/messages/batch_mark_as_unseen_params.rbi +6 -22
  70. data/rbi/knockapi/models/messages/batch_messages_status_request.rbi +33 -0
  71. data/rbi/knockapi/models/messages/batch_unarchive_params.rbi +6 -22
  72. data/rbi/knockapi/models/preference_set_commercial_subscribed_setting.rbi +36 -0
  73. data/rbi/knockapi/models/recipients/preference_set.rbi +50 -5
  74. data/rbi/knockapi/models/recipients/preference_set_request.rbi +56 -5
  75. data/rbi/knockapi/models/recipients/slack_channel_data.rbi +8 -0
  76. data/rbi/knockapi/models/users/bulk_set_preferences_params.rbi +56 -5
  77. data/rbi/knockapi/models/users/feed_list_items_response.rbi +4 -251
  78. data/rbi/knockapi/models/users/{guide_mark_message_as_seen_response.rbi → guide_action_response.rbi} +2 -2
  79. data/rbi/knockapi/models/users/guide_archived_request.rbi +102 -0
  80. data/rbi/knockapi/models/users/guide_interacted_request.rbi +89 -0
  81. data/rbi/knockapi/models/users/guide_mark_message_as_archived_params.rbi +3 -99
  82. data/rbi/knockapi/models/users/guide_mark_message_as_interacted_params.rbi +3 -99
  83. data/rbi/knockapi/models/users/guide_mark_message_as_seen_params.rbi +3 -99
  84. data/rbi/knockapi/models/users/guide_reset_guide_engagements_params.rbi +65 -0
  85. data/rbi/knockapi/models/users/guide_seen_request.rbi +97 -0
  86. data/rbi/knockapi/models/users/guide_unarchive_guide_message_params.rbi +65 -0
  87. data/rbi/knockapi/models/users/preference_center_branding_config.rbi +72 -0
  88. data/rbi/knockapi/models/users/preference_center_generate_signed_url_params.rbi +40 -0
  89. data/rbi/knockapi/models/users/preference_center_generate_signed_url_response.rbi +41 -0
  90. data/rbi/knockapi/models/users/preference_center_get_config_params.rbi +40 -0
  91. data/rbi/knockapi/models/users/preference_center_get_config_response.rbi +476 -0
  92. data/rbi/knockapi/models.rbi +18 -0
  93. data/rbi/knockapi/resources/audiences.rbi +2 -3
  94. data/rbi/knockapi/resources/messages/batch.rbi +1 -3
  95. data/rbi/knockapi/resources/messages.rbi +1 -1
  96. data/rbi/knockapi/resources/objects.rbi +10 -2
  97. data/rbi/knockapi/resources/users/guides.rbi +56 -42
  98. data/rbi/knockapi/resources/users/preference_center.rbi +48 -0
  99. data/rbi/knockapi/resources/users.rbi +15 -2
  100. data/sig/knockapi/models/audience_add_members_params.rbs +4 -23
  101. data/sig/knockapi/models/audience_member_request.rbs +22 -0
  102. data/sig/knockapi/models/audience_remove_members_params.rbs +4 -26
  103. data/sig/knockapi/models/list_messages_response.rbs +22 -0
  104. data/sig/knockapi/models/list_schedules_response.rbs +22 -0
  105. data/sig/knockapi/models/list_subscriptions_response.rbs +25 -0
  106. data/sig/knockapi/models/message.rbs +28 -5
  107. data/sig/knockapi/models/message_contents.rbs +286 -0
  108. data/sig/knockapi/models/message_event.rbs +6 -6
  109. data/sig/knockapi/models/message_in_app_feed_button_set_block.rbs +54 -0
  110. data/sig/knockapi/models/message_in_app_feed_content_block.rbs +46 -0
  111. data/sig/knockapi/models/messages/batch_archive_params.rbs +4 -13
  112. data/sig/knockapi/models/messages/batch_get_content_response.rbs +1 -391
  113. data/sig/knockapi/models/messages/batch_mark_as_read_params.rbs +4 -13
  114. data/sig/knockapi/models/messages/batch_mark_as_seen_params.rbs +4 -13
  115. data/sig/knockapi/models/messages/batch_mark_as_unread_params.rbs +4 -13
  116. data/sig/knockapi/models/messages/batch_mark_as_unseen_params.rbs +4 -13
  117. data/sig/knockapi/models/messages/batch_messages_status_request.rbs +15 -0
  118. data/sig/knockapi/models/messages/batch_unarchive_params.rbs +4 -13
  119. data/sig/knockapi/models/preference_set_commercial_subscribed_setting.rbs +14 -0
  120. data/sig/knockapi/models/recipients/preference_set.rbs +13 -4
  121. data/sig/knockapi/models/recipients/preference_set_request.rbs +13 -4
  122. data/sig/knockapi/models/recipients/slack_channel_data.rbs +10 -1
  123. data/sig/knockapi/models/users/bulk_set_preferences_params.rbs +13 -4
  124. data/sig/knockapi/models/users/feed_list_items_response.rbs +2 -100
  125. data/sig/knockapi/models/users/{guide_mark_message_as_seen_response.rbs → guide_action_response.rbs} +2 -2
  126. data/sig/knockapi/models/users/guide_archived_request.rbs +58 -0
  127. data/sig/knockapi/models/users/guide_interacted_request.rbs +51 -0
  128. data/sig/knockapi/models/users/guide_mark_message_as_archived_params.rbs +4 -63
  129. data/sig/knockapi/models/users/guide_mark_message_as_interacted_params.rbs +4 -63
  130. data/sig/knockapi/models/users/guide_mark_message_as_seen_params.rbs +4 -63
  131. data/sig/knockapi/models/users/guide_reset_guide_engagements_params.rbs +36 -0
  132. data/sig/knockapi/models/users/guide_seen_request.rbs +56 -0
  133. data/sig/knockapi/models/users/guide_unarchive_guide_message_params.rbs +36 -0
  134. data/sig/knockapi/models/users/preference_center_branding_config.rbs +37 -0
  135. data/sig/knockapi/models/users/preference_center_generate_signed_url_params.rbs +25 -0
  136. data/sig/knockapi/models/users/preference_center_generate_signed_url_response.rbs +18 -0
  137. data/sig/knockapi/models/users/preference_center_get_config_params.rbs +25 -0
  138. data/sig/knockapi/models/users/preference_center_get_config_response.rbs +189 -0
  139. data/sig/knockapi/models.rbs +16 -0
  140. data/sig/knockapi/resources/audiences.rbs +2 -2
  141. data/sig/knockapi/resources/messages.rbs +1 -1
  142. data/sig/knockapi/resources/objects.rbs +1 -1
  143. data/sig/knockapi/resources/users/guides.rbs +22 -18
  144. data/sig/knockapi/resources/users/preference_center.rbs +19 -0
  145. data/sig/knockapi/resources/users.rbs +3 -1
  146. metadata +65 -14
  147. data/lib/knockapi/models/users/guide_mark_message_as_interacted_response.rb +0 -21
  148. data/lib/knockapi/models/users/guide_mark_message_as_seen_response.rb +0 -21
  149. data/rbi/knockapi/models/users/guide_mark_message_as_archived_response.rbi +0 -33
  150. data/rbi/knockapi/models/users/guide_mark_message_as_interacted_response.rbi +0 -33
  151. data/sig/knockapi/models/message_get_content_response.rbs +0 -384
  152. data/sig/knockapi/models/users/guide_mark_message_as_archived_response.rbs +0 -15
  153. data/sig/knockapi/models/users/guide_mark_message_as_interacted_response.rbs +0 -15
@@ -109,8 +109,8 @@ module Knockapi
109
109
  blocks:
110
110
  T::Array[
111
111
  T.any(
112
- Knockapi::Models::Users::FeedListItemsResponse::Block::MessageInAppFeedContentBlock::OrHash,
113
- Knockapi::Models::Users::FeedListItemsResponse::Block::MessageInAppFeedButtonSetBlock::OrHash
112
+ Knockapi::MessageInAppFeedContentBlock::OrHash,
113
+ Knockapi::MessageInAppFeedButtonSetBlock::OrHash
114
114
  )
115
115
  ],
116
116
  data: T.nilable(T::Hash[Symbol, T.anything]),
@@ -206,258 +206,11 @@ module Knockapi
206
206
  Variants =
207
207
  T.type_alias do
208
208
  T.any(
209
- Knockapi::Models::Users::FeedListItemsResponse::Block::MessageInAppFeedContentBlock,
210
- Knockapi::Models::Users::FeedListItemsResponse::Block::MessageInAppFeedButtonSetBlock
209
+ Knockapi::MessageInAppFeedContentBlock,
210
+ Knockapi::MessageInAppFeedButtonSetBlock
211
211
  )
212
212
  end
213
213
 
214
- class MessageInAppFeedContentBlock < Knockapi::Internal::Type::BaseModel
215
- OrHash =
216
- T.type_alias do
217
- T.any(
218
- Knockapi::Models::Users::FeedListItemsResponse::Block::MessageInAppFeedContentBlock,
219
- Knockapi::Internal::AnyHash
220
- )
221
- end
222
-
223
- # The content of the block in a message in an app feed.
224
- sig { returns(String) }
225
- attr_accessor :content
226
-
227
- # The name of the block in a message in an app feed.
228
- sig { returns(String) }
229
- attr_accessor :name
230
-
231
- # The rendered HTML version of the content.
232
- sig { returns(String) }
233
- attr_accessor :rendered
234
-
235
- # The type of block in a message in an app feed.
236
- sig do
237
- returns(
238
- Knockapi::Models::Users::FeedListItemsResponse::Block::MessageInAppFeedContentBlock::Type::TaggedSymbol
239
- )
240
- end
241
- attr_accessor :type
242
-
243
- # A block in a message in an app feed.
244
- sig do
245
- params(
246
- content: String,
247
- name: String,
248
- rendered: String,
249
- type:
250
- Knockapi::Models::Users::FeedListItemsResponse::Block::MessageInAppFeedContentBlock::Type::OrSymbol
251
- ).returns(T.attached_class)
252
- end
253
- def self.new(
254
- # The content of the block in a message in an app feed.
255
- content:,
256
- # The name of the block in a message in an app feed.
257
- name:,
258
- # The rendered HTML version of the content.
259
- rendered:,
260
- # The type of block in a message in an app feed.
261
- type:
262
- )
263
- end
264
-
265
- sig do
266
- override.returns(
267
- {
268
- content: String,
269
- name: String,
270
- rendered: String,
271
- type:
272
- Knockapi::Models::Users::FeedListItemsResponse::Block::MessageInAppFeedContentBlock::Type::TaggedSymbol
273
- }
274
- )
275
- end
276
- def to_hash
277
- end
278
-
279
- # The type of block in a message in an app feed.
280
- module Type
281
- extend Knockapi::Internal::Type::Enum
282
-
283
- TaggedSymbol =
284
- T.type_alias do
285
- T.all(
286
- Symbol,
287
- Knockapi::Models::Users::FeedListItemsResponse::Block::MessageInAppFeedContentBlock::Type
288
- )
289
- end
290
- OrSymbol = T.type_alias { T.any(Symbol, String) }
291
-
292
- MARKDOWN =
293
- T.let(
294
- :markdown,
295
- Knockapi::Models::Users::FeedListItemsResponse::Block::MessageInAppFeedContentBlock::Type::TaggedSymbol
296
- )
297
- TEXT =
298
- T.let(
299
- :text,
300
- Knockapi::Models::Users::FeedListItemsResponse::Block::MessageInAppFeedContentBlock::Type::TaggedSymbol
301
- )
302
-
303
- sig do
304
- override.returns(
305
- T::Array[
306
- Knockapi::Models::Users::FeedListItemsResponse::Block::MessageInAppFeedContentBlock::Type::TaggedSymbol
307
- ]
308
- )
309
- end
310
- def self.values
311
- end
312
- end
313
- end
314
-
315
- class MessageInAppFeedButtonSetBlock < Knockapi::Internal::Type::BaseModel
316
- OrHash =
317
- T.type_alias do
318
- T.any(
319
- Knockapi::Models::Users::FeedListItemsResponse::Block::MessageInAppFeedButtonSetBlock,
320
- Knockapi::Internal::AnyHash
321
- )
322
- end
323
-
324
- # A list of buttons in an in app feed message.
325
- sig do
326
- returns(
327
- T::Array[
328
- Knockapi::Models::Users::FeedListItemsResponse::Block::MessageInAppFeedButtonSetBlock::Button
329
- ]
330
- )
331
- end
332
- attr_accessor :buttons
333
-
334
- # The name of the button set in a message in an app feed.
335
- sig { returns(String) }
336
- attr_accessor :name
337
-
338
- # The type of block in a message in an app feed.
339
- sig do
340
- returns(
341
- Knockapi::Models::Users::FeedListItemsResponse::Block::MessageInAppFeedButtonSetBlock::Type::TaggedSymbol
342
- )
343
- end
344
- attr_accessor :type
345
-
346
- # A button set block in a message in an app feed.
347
- sig do
348
- params(
349
- buttons:
350
- T::Array[
351
- Knockapi::Models::Users::FeedListItemsResponse::Block::MessageInAppFeedButtonSetBlock::Button::OrHash
352
- ],
353
- name: String,
354
- type:
355
- Knockapi::Models::Users::FeedListItemsResponse::Block::MessageInAppFeedButtonSetBlock::Type::OrSymbol
356
- ).returns(T.attached_class)
357
- end
358
- def self.new(
359
- # A list of buttons in an in app feed message.
360
- buttons:,
361
- # The name of the button set in a message in an app feed.
362
- name:,
363
- # The type of block in a message in an app feed.
364
- type:
365
- )
366
- end
367
-
368
- sig do
369
- override.returns(
370
- {
371
- buttons:
372
- T::Array[
373
- Knockapi::Models::Users::FeedListItemsResponse::Block::MessageInAppFeedButtonSetBlock::Button
374
- ],
375
- name: String,
376
- type:
377
- Knockapi::Models::Users::FeedListItemsResponse::Block::MessageInAppFeedButtonSetBlock::Type::TaggedSymbol
378
- }
379
- )
380
- end
381
- def to_hash
382
- end
383
-
384
- class Button < Knockapi::Internal::Type::BaseModel
385
- OrHash =
386
- T.type_alias do
387
- T.any(
388
- Knockapi::Models::Users::FeedListItemsResponse::Block::MessageInAppFeedButtonSetBlock::Button,
389
- Knockapi::Internal::AnyHash
390
- )
391
- end
392
-
393
- # The action to take when the button is clicked.
394
- sig { returns(String) }
395
- attr_accessor :action
396
-
397
- # The label of the button.
398
- sig { returns(String) }
399
- attr_accessor :label
400
-
401
- # The name of the button.
402
- sig { returns(String) }
403
- attr_accessor :name
404
-
405
- # A button in an in app feed message.
406
- sig do
407
- params(action: String, label: String, name: String).returns(
408
- T.attached_class
409
- )
410
- end
411
- def self.new(
412
- # The action to take when the button is clicked.
413
- action:,
414
- # The label of the button.
415
- label:,
416
- # The name of the button.
417
- name:
418
- )
419
- end
420
-
421
- sig do
422
- override.returns(
423
- { action: String, label: String, name: String }
424
- )
425
- end
426
- def to_hash
427
- end
428
- end
429
-
430
- # The type of block in a message in an app feed.
431
- module Type
432
- extend Knockapi::Internal::Type::Enum
433
-
434
- TaggedSymbol =
435
- T.type_alias do
436
- T.all(
437
- Symbol,
438
- Knockapi::Models::Users::FeedListItemsResponse::Block::MessageInAppFeedButtonSetBlock::Type
439
- )
440
- end
441
- OrSymbol = T.type_alias { T.any(Symbol, String) }
442
-
443
- BUTTON_SET =
444
- T.let(
445
- :button_set,
446
- Knockapi::Models::Users::FeedListItemsResponse::Block::MessageInAppFeedButtonSetBlock::Type::TaggedSymbol
447
- )
448
-
449
- sig do
450
- override.returns(
451
- T::Array[
452
- Knockapi::Models::Users::FeedListItemsResponse::Block::MessageInAppFeedButtonSetBlock::Type::TaggedSymbol
453
- ]
454
- )
455
- end
456
- def self.values
457
- end
458
- end
459
- end
460
-
461
214
  sig do
462
215
  override.returns(
463
216
  T::Array[
@@ -3,11 +3,11 @@
3
3
  module Knockapi
4
4
  module Models
5
5
  module Users
6
- class GuideMarkMessageAsSeenResponse < Knockapi::Internal::Type::BaseModel
6
+ class GuideActionResponse < Knockapi::Internal::Type::BaseModel
7
7
  OrHash =
8
8
  T.type_alias do
9
9
  T.any(
10
- Knockapi::Models::Users::GuideMarkMessageAsSeenResponse,
10
+ Knockapi::Users::GuideActionResponse,
11
11
  Knockapi::Internal::AnyHash
12
12
  )
13
13
  end
@@ -0,0 +1,102 @@
1
+ # typed: strong
2
+
3
+ module Knockapi
4
+ module Models
5
+ module Users
6
+ class GuideArchivedRequest < Knockapi::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Knockapi::Users::GuideArchivedRequest,
11
+ Knockapi::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # The unique identifier for the channel.
16
+ sig { returns(String) }
17
+ attr_accessor :channel_id
18
+
19
+ # The unique identifier for the guide.
20
+ sig { returns(String) }
21
+ attr_accessor :guide_id
22
+
23
+ # The key of the guide.
24
+ sig { returns(String) }
25
+ attr_accessor :guide_key
26
+
27
+ # The step reference of the guide.
28
+ sig { returns(String) }
29
+ attr_accessor :guide_step_ref
30
+
31
+ # Whether the guide is final.
32
+ sig { returns(T.nilable(T::Boolean)) }
33
+ attr_reader :is_final
34
+
35
+ sig { params(is_final: T::Boolean).void }
36
+ attr_writer :is_final
37
+
38
+ # The tenant ID of the guide.
39
+ sig { returns(T.nilable(String)) }
40
+ attr_reader :tenant
41
+
42
+ sig { params(tenant: String).void }
43
+ attr_writer :tenant
44
+
45
+ # Whether the guide bypasses its guide group's throttle settings. When true,
46
+ # archiving the guide does not open a new throttle window.
47
+ sig { returns(T.nilable(T::Boolean)) }
48
+ attr_reader :unthrottled
49
+
50
+ sig { params(unthrottled: T::Boolean).void }
51
+ attr_writer :unthrottled
52
+
53
+ # A request to mark a guide as archived.
54
+ sig do
55
+ params(
56
+ channel_id: String,
57
+ guide_id: String,
58
+ guide_key: String,
59
+ guide_step_ref: String,
60
+ is_final: T::Boolean,
61
+ tenant: String,
62
+ unthrottled: T::Boolean
63
+ ).returns(T.attached_class)
64
+ end
65
+ def self.new(
66
+ # The unique identifier for the channel.
67
+ channel_id:,
68
+ # The unique identifier for the guide.
69
+ guide_id:,
70
+ # The key of the guide.
71
+ guide_key:,
72
+ # The step reference of the guide.
73
+ guide_step_ref:,
74
+ # Whether the guide is final.
75
+ is_final: nil,
76
+ # The tenant ID of the guide.
77
+ tenant: nil,
78
+ # Whether the guide bypasses its guide group's throttle settings. When true,
79
+ # archiving the guide does not open a new throttle window.
80
+ unthrottled: nil
81
+ )
82
+ end
83
+
84
+ sig do
85
+ override.returns(
86
+ {
87
+ channel_id: String,
88
+ guide_id: String,
89
+ guide_key: String,
90
+ guide_step_ref: String,
91
+ is_final: T::Boolean,
92
+ tenant: String,
93
+ unthrottled: T::Boolean
94
+ }
95
+ )
96
+ end
97
+ def to_hash
98
+ end
99
+ end
100
+ end
101
+ end
102
+ end
@@ -0,0 +1,89 @@
1
+ # typed: strong
2
+
3
+ module Knockapi
4
+ module Models
5
+ module Users
6
+ class GuideInteractedRequest < Knockapi::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Knockapi::Users::GuideInteractedRequest,
11
+ Knockapi::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # The unique identifier for the channel.
16
+ sig { returns(String) }
17
+ attr_accessor :channel_id
18
+
19
+ # The unique identifier for the guide.
20
+ sig { returns(String) }
21
+ attr_accessor :guide_id
22
+
23
+ # The key of the guide.
24
+ sig { returns(String) }
25
+ attr_accessor :guide_key
26
+
27
+ # The step reference of the guide.
28
+ sig { returns(String) }
29
+ attr_accessor :guide_step_ref
30
+
31
+ # Metadata about the interaction.
32
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
33
+ attr_reader :metadata
34
+
35
+ sig { params(metadata: T::Hash[Symbol, T.anything]).void }
36
+ attr_writer :metadata
37
+
38
+ # The tenant ID of the guide.
39
+ sig { returns(T.nilable(String)) }
40
+ attr_reader :tenant
41
+
42
+ sig { params(tenant: String).void }
43
+ attr_writer :tenant
44
+
45
+ # A request to mark a guide as interacted with.
46
+ sig do
47
+ params(
48
+ channel_id: String,
49
+ guide_id: String,
50
+ guide_key: String,
51
+ guide_step_ref: String,
52
+ metadata: T::Hash[Symbol, T.anything],
53
+ tenant: String
54
+ ).returns(T.attached_class)
55
+ end
56
+ def self.new(
57
+ # The unique identifier for the channel.
58
+ channel_id:,
59
+ # The unique identifier for the guide.
60
+ guide_id:,
61
+ # The key of the guide.
62
+ guide_key:,
63
+ # The step reference of the guide.
64
+ guide_step_ref:,
65
+ # Metadata about the interaction.
66
+ metadata: nil,
67
+ # The tenant ID of the guide.
68
+ tenant: nil
69
+ )
70
+ end
71
+
72
+ sig do
73
+ override.returns(
74
+ {
75
+ channel_id: String,
76
+ guide_id: String,
77
+ guide_key: String,
78
+ guide_step_ref: String,
79
+ metadata: T::Hash[Symbol, T.anything],
80
+ tenant: String
81
+ }
82
+ )
83
+ end
84
+ def to_hash
85
+ end
86
+ end
87
+ end
88
+ end
89
+ end
@@ -3,7 +3,7 @@
3
3
  module Knockapi
4
4
  module Models
5
5
  module Users
6
- class GuideMarkMessageAsArchivedParams < Knockapi::Internal::Type::BaseModel
6
+ class GuideMarkMessageAsArchivedParams < Knockapi::Models::Users::GuideArchivedRequest
7
7
  extend Knockapi::Internal::Type::RequestParameters::Converter
8
8
  include Knockapi::Internal::Type::RequestParameters
9
9
 
@@ -18,114 +18,18 @@ module Knockapi
18
18
  sig { returns(String) }
19
19
  attr_accessor :user_id
20
20
 
21
- sig { returns(String) }
22
- attr_accessor :message_id
23
-
24
- # The unique identifier for the channel.
25
- sig { returns(String) }
26
- attr_accessor :channel_id
27
-
28
- # The unique identifier for the guide.
29
- sig { returns(String) }
30
- attr_accessor :guide_id
31
-
32
- # The key of the guide.
33
- sig { returns(String) }
34
- attr_accessor :guide_key
35
-
36
- # The step reference of the guide.
37
- sig { returns(String) }
38
- attr_accessor :guide_step_ref
39
-
40
- # The content of the guide.
41
- sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
42
- attr_reader :content
43
-
44
- sig { params(content: T::Hash[Symbol, T.anything]).void }
45
- attr_writer :content
46
-
47
- # The data of the guide.
48
- sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
49
- attr_reader :data
50
-
51
- sig { params(data: T::Hash[Symbol, T.anything]).void }
52
- attr_writer :data
53
-
54
- # Whether the guide is final.
55
- sig { returns(T.nilable(T::Boolean)) }
56
- attr_reader :is_final
57
-
58
- sig { params(is_final: T::Boolean).void }
59
- attr_writer :is_final
60
-
61
- # The metadata of the guide.
62
- sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
63
- attr_reader :metadata
64
-
65
- sig { params(metadata: T::Hash[Symbol, T.anything]).void }
66
- attr_writer :metadata
67
-
68
- # The tenant ID of the guide.
69
- sig { returns(T.nilable(String)) }
70
- attr_accessor :tenant
71
-
72
21
  sig do
73
22
  params(
74
23
  user_id: String,
75
- message_id: String,
76
- channel_id: String,
77
- guide_id: String,
78
- guide_key: String,
79
- guide_step_ref: String,
80
- content: T::Hash[Symbol, T.anything],
81
- data: T::Hash[Symbol, T.anything],
82
- is_final: T::Boolean,
83
- metadata: T::Hash[Symbol, T.anything],
84
- tenant: T.nilable(String),
85
24
  request_options: Knockapi::RequestOptions::OrHash
86
25
  ).returns(T.attached_class)
87
26
  end
88
- def self.new(
89
- user_id:,
90
- message_id:,
91
- # The unique identifier for the channel.
92
- channel_id:,
93
- # The unique identifier for the guide.
94
- guide_id:,
95
- # The key of the guide.
96
- guide_key:,
97
- # The step reference of the guide.
98
- guide_step_ref:,
99
- # The content of the guide.
100
- content: nil,
101
- # The data of the guide.
102
- data: nil,
103
- # Whether the guide is final.
104
- is_final: nil,
105
- # The metadata of the guide.
106
- metadata: nil,
107
- # The tenant ID of the guide.
108
- tenant: nil,
109
- request_options: {}
110
- )
27
+ def self.new(user_id:, request_options: {})
111
28
  end
112
29
 
113
30
  sig do
114
31
  override.returns(
115
- {
116
- user_id: String,
117
- message_id: String,
118
- channel_id: String,
119
- guide_id: String,
120
- guide_key: String,
121
- guide_step_ref: String,
122
- content: T::Hash[Symbol, T.anything],
123
- data: T::Hash[Symbol, T.anything],
124
- is_final: T::Boolean,
125
- metadata: T::Hash[Symbol, T.anything],
126
- tenant: T.nilable(String),
127
- request_options: Knockapi::RequestOptions
128
- }
32
+ { user_id: String, request_options: Knockapi::RequestOptions }
129
33
  )
130
34
  end
131
35
  def to_hash