knockapi 1.39.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 +32 -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 +8 -8
  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 -70
  33. data/lib/knockapi/models/users/guide_mark_message_as_interacted_params.rb +2 -58
  34. data/lib/knockapi/models/users/guide_mark_message_as_seen_params.rb +2 -66
  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 +69 -21
  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 +19 -19
  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 -82
  82. data/rbi/knockapi/models/users/guide_mark_message_as_interacted_params.rbi +3 -69
  83. data/rbi/knockapi/models/users/guide_mark_message_as_seen_params.rbi +3 -77
  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 +45 -11
  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 +16 -16
  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 -51
  129. data/sig/knockapi/models/users/guide_mark_message_as_interacted_params.rbs +4 -44
  130. data/sig/knockapi/models/users/guide_mark_message_as_seen_params.rbs +4 -49
  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 +17 -6
  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
@@ -0,0 +1,49 @@
1
+ # typed: strong
2
+
3
+ module Knockapi
4
+ module Models
5
+ class ListSchedulesResponse < Knockapi::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Knockapi::ListSchedulesResponse, Knockapi::Internal::AnyHash)
9
+ end
10
+
11
+ # A list of schedules.
12
+ sig { returns(T::Array[Knockapi::Schedule]) }
13
+ attr_accessor :entries
14
+
15
+ # Pagination information for a list of resources.
16
+ sig { returns(Knockapi::PageInfo) }
17
+ attr_reader :page_info
18
+
19
+ sig { params(page_info: Knockapi::PageInfo::OrHash).void }
20
+ attr_writer :page_info
21
+
22
+ # A response containing a list of schedules.
23
+ sig do
24
+ params(
25
+ entries: T::Array[Knockapi::Schedule::OrHash],
26
+ page_info: Knockapi::PageInfo::OrHash
27
+ ).returns(T.attached_class)
28
+ end
29
+ def self.new(
30
+ # A list of schedules.
31
+ entries:,
32
+ # Pagination information for a list of resources.
33
+ page_info:
34
+ )
35
+ end
36
+
37
+ sig do
38
+ override.returns(
39
+ {
40
+ entries: T::Array[Knockapi::Schedule],
41
+ page_info: Knockapi::PageInfo
42
+ }
43
+ )
44
+ end
45
+ def to_hash
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,52 @@
1
+ # typed: strong
2
+
3
+ module Knockapi
4
+ module Models
5
+ class ListSubscriptionsResponse < Knockapi::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Knockapi::ListSubscriptionsResponse,
10
+ Knockapi::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # A list of subscriptions.
15
+ sig { returns(T::Array[Knockapi::Recipients::Subscription]) }
16
+ attr_accessor :entries
17
+
18
+ # Pagination information for a list of resources.
19
+ sig { returns(Knockapi::PageInfo) }
20
+ attr_reader :page_info
21
+
22
+ sig { params(page_info: Knockapi::PageInfo::OrHash).void }
23
+ attr_writer :page_info
24
+
25
+ # A response containing a list of subscriptions.
26
+ sig do
27
+ params(
28
+ entries: T::Array[Knockapi::Recipients::Subscription::OrHash],
29
+ page_info: Knockapi::PageInfo::OrHash
30
+ ).returns(T.attached_class)
31
+ end
32
+ def self.new(
33
+ # A list of subscriptions.
34
+ entries:,
35
+ # Pagination information for a list of resources.
36
+ page_info:
37
+ )
38
+ end
39
+
40
+ sig do
41
+ override.returns(
42
+ {
43
+ entries: T::Array[Knockapi::Recipients::Subscription],
44
+ page_info: Knockapi::PageInfo
45
+ }
46
+ )
47
+ end
48
+ def to_hash
49
+ end
50
+ end
51
+ end
52
+ end
@@ -108,8 +108,9 @@ module Knockapi
108
108
  sig { returns(T.nilable(Time)) }
109
109
  attr_accessor :read_at
110
110
 
111
- # Recipient contact information captured at email send time. Null for non-email
112
- # channels.
111
+ # The destination the message was delivered to, captured at send time. Email
112
+ # channels carry `email`/`name`; chat channels carry the destination `channel_id`
113
+ # or `user_id`, or `via_incoming_webhook`. Null when no snapshot was captured.
113
114
  sig { returns(T.nilable(Knockapi::Message::RecipientSnapshot)) }
114
115
  attr_reader :recipient_snapshot
115
116
 
@@ -223,8 +224,9 @@ module Knockapi
223
224
  metadata: nil,
224
225
  # Timestamp when the message was read.
225
226
  read_at: nil,
226
- # Recipient contact information captured at email send time. Null for non-email
227
- # channels.
227
+ # The destination the message was delivered to, captured at send time. Email
228
+ # channels carry `email`/`name`; chat channels carry the destination `channel_id`
229
+ # or `user_id`, or `via_incoming_webhook`. Null when no snapshot was captured.
228
230
  recipient_snapshot: nil,
229
231
  # Timestamp when the message was scheduled to be sent.
230
232
  scheduled_at: nil,
@@ -563,33 +565,63 @@ module Knockapi
563
565
  )
564
566
  end
565
567
 
566
- # The email address the message was delivered to
568
+ # The chat channel the message was delivered to (chat channels)
567
569
  sig { returns(T.nilable(String)) }
568
- attr_reader :email
570
+ attr_accessor :channel_id
569
571
 
570
- sig { params(email: String).void }
571
- attr_writer :email
572
+ # The email address the message was delivered to (email channels)
573
+ sig { returns(T.nilable(String)) }
574
+ attr_accessor :email
572
575
 
573
- # The recipient name at send time
576
+ # The recipient name at send time (email channels)
574
577
  sig { returns(T.nilable(String)) }
575
578
  attr_accessor :name
576
579
 
577
- # Recipient contact information captured at email send time. Null for non-email
578
- # channels.
580
+ # The chat user the message was direct-messaged to (chat channels)
581
+ sig { returns(T.nilable(String)) }
582
+ attr_accessor :user_id
583
+
584
+ # Whether the chat message was delivered via an incoming webhook
585
+ sig { returns(T.nilable(T::Boolean)) }
586
+ attr_accessor :via_incoming_webhook
587
+
588
+ # The destination the message was delivered to, captured at send time. Email
589
+ # channels carry `email`/`name`; chat channels carry the destination `channel_id`
590
+ # or `user_id`, or `via_incoming_webhook`. Null when no snapshot was captured.
579
591
  sig do
580
- params(email: String, name: T.nilable(String)).returns(
581
- T.attached_class
582
- )
592
+ params(
593
+ channel_id: T.nilable(String),
594
+ email: T.nilable(String),
595
+ name: T.nilable(String),
596
+ user_id: T.nilable(String),
597
+ via_incoming_webhook: T.nilable(T::Boolean)
598
+ ).returns(T.attached_class)
583
599
  end
584
600
  def self.new(
585
- # The email address the message was delivered to
601
+ # The chat channel the message was delivered to (chat channels)
602
+ channel_id: nil,
603
+ # The email address the message was delivered to (email channels)
586
604
  email: nil,
587
- # The recipient name at send time
588
- name: nil
605
+ # The recipient name at send time (email channels)
606
+ name: nil,
607
+ # The chat user the message was direct-messaged to (chat channels)
608
+ user_id: nil,
609
+ # Whether the chat message was delivered via an incoming webhook
610
+ via_incoming_webhook: nil
589
611
  )
590
612
  end
591
613
 
592
- sig { override.returns({ email: String, name: T.nilable(String) }) }
614
+ sig do
615
+ override.returns(
616
+ {
617
+ channel_id: T.nilable(String),
618
+ email: T.nilable(String),
619
+ name: T.nilable(String),
620
+ user_id: T.nilable(String),
621
+ via_incoming_webhook: T.nilable(T::Boolean)
622
+ }
623
+ )
624
+ end
593
625
  def to_hash
594
626
  end
595
627
  end