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
@@ -37,23 +37,19 @@ module Knockapi
37
37
  sig do
38
38
  params(
39
39
  user_id: String,
40
- message_id: String,
41
40
  channel_id: String,
42
41
  guide_id: String,
43
42
  guide_key: String,
44
43
  guide_step_ref: String,
45
- content: T::Hash[Symbol, T.anything],
46
- data: T::Hash[Symbol, T.anything],
47
44
  is_final: T::Boolean,
48
- metadata: T::Hash[Symbol, T.anything],
49
- tenant: T.nilable(String),
45
+ tenant: String,
46
+ unthrottled: T::Boolean,
50
47
  request_options: Knockapi::RequestOptions::OrHash
51
- ).returns(Knockapi::Models::Users::GuideMarkMessageAsArchivedResponse)
48
+ ).returns(Knockapi::Users::GuideActionResponse)
52
49
  end
53
50
  def mark_message_as_archived(
54
51
  # The unique identifier of the user.
55
52
  user_id,
56
- message_id,
57
53
  # The unique identifier for the channel.
58
54
  channel_id:,
59
55
  # The unique identifier for the guide.
@@ -62,16 +58,13 @@ module Knockapi
62
58
  guide_key:,
63
59
  # The step reference of the guide.
64
60
  guide_step_ref:,
65
- # The content of the guide.
66
- content: nil,
67
- # The data of the guide.
68
- data: nil,
69
61
  # Whether the guide is final.
70
62
  is_final: nil,
71
- # The metadata of the guide.
72
- metadata: nil,
73
63
  # The tenant ID of the guide.
74
64
  tenant: nil,
65
+ # Whether the guide bypasses its guide group's throttle settings. When true,
66
+ # archiving the guide does not open a new throttle window.
67
+ unthrottled: nil,
75
68
  request_options: {}
76
69
  )
77
70
  end
@@ -81,25 +74,18 @@ module Knockapi
81
74
  sig do
82
75
  params(
83
76
  user_id: String,
84
- message_id: String,
85
77
  channel_id: String,
86
78
  guide_id: String,
87
79
  guide_key: String,
88
80
  guide_step_ref: String,
89
- content: T::Hash[Symbol, T.anything],
90
- data: T::Hash[Symbol, T.anything],
91
- is_final: T::Boolean,
92
81
  metadata: T::Hash[Symbol, T.anything],
93
- tenant: T.nilable(String),
82
+ tenant: String,
94
83
  request_options: Knockapi::RequestOptions::OrHash
95
- ).returns(
96
- Knockapi::Models::Users::GuideMarkMessageAsInteractedResponse
97
- )
84
+ ).returns(Knockapi::Users::GuideActionResponse)
98
85
  end
99
86
  def mark_message_as_interacted(
100
87
  # The unique identifier of the user.
101
88
  user_id,
102
- message_id,
103
89
  # The unique identifier for the channel.
104
90
  channel_id:,
105
91
  # The unique identifier for the guide.
@@ -108,13 +94,7 @@ module Knockapi
108
94
  guide_key:,
109
95
  # The step reference of the guide.
110
96
  guide_step_ref:,
111
- # The content of the guide.
112
- content: nil,
113
- # The data of the guide.
114
- data: nil,
115
- # Whether the guide is final.
116
- is_final: nil,
117
- # The metadata of the guide.
97
+ # Metadata about the interaction.
118
98
  metadata: nil,
119
99
  # The tenant ID of the guide.
120
100
  tenant: nil,
@@ -127,39 +107,73 @@ module Knockapi
127
107
  sig do
128
108
  params(
129
109
  user_id: String,
130
- message_id: String,
131
110
  channel_id: String,
111
+ content: T::Hash[Symbol, T.anything],
132
112
  guide_id: String,
133
113
  guide_key: String,
134
114
  guide_step_ref: String,
135
- content: T::Hash[Symbol, T.anything],
136
115
  data: T::Hash[Symbol, T.anything],
137
- is_final: T::Boolean,
138
- metadata: T::Hash[Symbol, T.anything],
139
- tenant: T.nilable(String),
116
+ tenant: String,
140
117
  request_options: Knockapi::RequestOptions::OrHash
141
- ).returns(Knockapi::Models::Users::GuideMarkMessageAsSeenResponse)
118
+ ).returns(Knockapi::Users::GuideActionResponse)
142
119
  end
143
120
  def mark_message_as_seen(
144
121
  # The unique identifier of the user.
145
122
  user_id,
146
- message_id,
147
123
  # The unique identifier for the channel.
148
124
  channel_id:,
125
+ # The content of the guide.
126
+ content:,
149
127
  # The unique identifier for the guide.
150
128
  guide_id:,
151
129
  # The key of the guide.
152
130
  guide_key:,
153
131
  # The step reference of the guide.
154
132
  guide_step_ref:,
155
- # The content of the guide.
156
- content: nil,
157
133
  # The data of the guide.
158
134
  data: nil,
159
- # Whether the guide is final.
160
- is_final: nil,
161
- # The metadata of the guide.
162
- metadata: nil,
135
+ # The tenant ID of the guide.
136
+ tenant: nil,
137
+ request_options: {}
138
+ )
139
+ end
140
+
141
+ # Resets the engagement state of a guide for a user, removing the guide's
142
+ # engagement log entry so the next interaction creates a fresh engagement.
143
+ sig do
144
+ params(
145
+ user_id: String,
146
+ guide_key: String,
147
+ tenant: String,
148
+ request_options: Knockapi::RequestOptions::OrHash
149
+ ).returns(Knockapi::Users::GuideActionResponse)
150
+ end
151
+ def reset_guide_engagements(
152
+ # The unique identifier of the user.
153
+ user_id,
154
+ # The key of the guide.
155
+ guide_key:,
156
+ # The tenant ID of the guide.
157
+ tenant: nil,
158
+ request_options: {}
159
+ )
160
+ end
161
+
162
+ # Records that a guide has been unarchived, triggering any associated unarchived
163
+ # events.
164
+ sig do
165
+ params(
166
+ user_id: String,
167
+ guide_key: String,
168
+ tenant: String,
169
+ request_options: Knockapi::RequestOptions::OrHash
170
+ ).returns(Knockapi::Users::GuideActionResponse)
171
+ end
172
+ def unarchive_guide_message(
173
+ # The unique identifier of the user.
174
+ user_id,
175
+ # The key of the guide.
176
+ guide_key:,
163
177
  # The tenant ID of the guide.
164
178
  tenant: nil,
165
179
  request_options: {}
@@ -0,0 +1,48 @@
1
+ # typed: strong
2
+
3
+ module Knockapi
4
+ module Resources
5
+ class Users
6
+ # The preference center is a hosted page where users can manage their notification
7
+ # preferences.
8
+ class PreferenceCenter
9
+ # Generates a signed preference center URL and token for the given user in the
10
+ # current environment.
11
+ sig do
12
+ params(
13
+ user_id: String,
14
+ request_options: Knockapi::RequestOptions::OrHash
15
+ ).returns(
16
+ Knockapi::Models::Users::PreferenceCenterGenerateSignedURLResponse
17
+ )
18
+ end
19
+ def generate_signed_url(
20
+ # The unique identifier of the user.
21
+ user_id,
22
+ request_options: {}
23
+ )
24
+ end
25
+
26
+ # Returns the preference center config with environment metadata for the given
27
+ # user.
28
+ sig do
29
+ params(
30
+ user_id: String,
31
+ request_options: Knockapi::RequestOptions::OrHash
32
+ ).returns(Knockapi::Models::Users::PreferenceCenterGetConfigResponse)
33
+ end
34
+ def get_config(
35
+ # The unique identifier of the user.
36
+ user_id,
37
+ request_options: {}
38
+ )
39
+ end
40
+
41
+ # @api private
42
+ sig { params(client: Knockapi::Client).returns(T.attached_class) }
43
+ def self.new(client:)
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -20,6 +20,11 @@ module Knockapi
20
20
  sig { returns(Knockapi::Resources::Users::Bulk) }
21
21
  attr_reader :bulk
22
22
 
23
+ # The preference center is a hosted page where users can manage their notification
24
+ # preferences.
25
+ sig { returns(Knockapi::Resources::Users::PreferenceCenter) }
26
+ attr_reader :preference_center
27
+
23
28
  # Create or update a user with the provided identification data. When you identify
24
29
  # an existing user, the system merges the properties you specific with what is
25
30
  # currently set on the user, updating only the fields included in your requests.
@@ -408,7 +413,13 @@ module Knockapi
408
413
  )
409
414
  ]
410
415
  ),
411
- commercial_subscribed: T.nilable(T::Boolean),
416
+ commercial_subscribed:
417
+ T.nilable(
418
+ T.any(
419
+ T::Boolean,
420
+ Knockapi::PreferenceSetCommercialSubscribedSetting::OrHash
421
+ )
422
+ ),
412
423
  workflows:
413
424
  T.nilable(
414
425
  T::Hash[
@@ -438,7 +449,9 @@ module Knockapi
438
449
  # Channel preferences.
439
450
  channels: nil,
440
451
  # Whether the recipient is subscribed to commercial communications. When false,
441
- # the recipient will not receive commercial workflow notifications.
452
+ # the recipient will not receive commercial workflow notifications. Can also be
453
+ # set to a settings object with conditions that are evaluated at notification send
454
+ # time.
442
455
  commercial_subscribed: nil,
443
456
  # An object where the key is the workflow key and the values are the preference
444
457
  # settings for that workflow.
@@ -3,7 +3,7 @@ module Knockapi
3
3
  type audience_add_members_params =
4
4
  {
5
5
  key: String,
6
- members: ::Array[Knockapi::AudienceAddMembersParams::Member],
6
+ members: ::Array[Knockapi::AudienceMemberRequest],
7
7
  create_audience: bool
8
8
  }
9
9
  & Knockapi::Internal::Type::request_parameters
@@ -14,7 +14,7 @@ module Knockapi
14
14
 
15
15
  attr_accessor key: String
16
16
 
17
- attr_accessor members: ::Array[Knockapi::AudienceAddMembersParams::Member]
17
+ attr_accessor members: ::Array[Knockapi::AudienceMemberRequest]
18
18
 
19
19
  attr_reader create_audience: bool?
20
20
 
@@ -22,36 +22,17 @@ module Knockapi
22
22
 
23
23
  def initialize: (
24
24
  key: String,
25
- members: ::Array[Knockapi::AudienceAddMembersParams::Member],
25
+ members: ::Array[Knockapi::AudienceMemberRequest],
26
26
  ?create_audience: bool,
27
27
  ?request_options: Knockapi::request_opts
28
28
  ) -> void
29
29
 
30
30
  def to_hash: -> {
31
31
  key: String,
32
- members: ::Array[Knockapi::AudienceAddMembersParams::Member],
32
+ members: ::Array[Knockapi::AudienceMemberRequest],
33
33
  create_audience: bool,
34
34
  request_options: Knockapi::RequestOptions
35
35
  }
36
-
37
- type member =
38
- { user: Knockapi::InlineIdentifyUserRequest, tenant: String? }
39
-
40
- class Member < Knockapi::Internal::Type::BaseModel
41
- attr_accessor user: Knockapi::InlineIdentifyUserRequest
42
-
43
- attr_accessor tenant: String?
44
-
45
- def initialize: (
46
- user: Knockapi::InlineIdentifyUserRequest,
47
- ?tenant: String?
48
- ) -> void
49
-
50
- def to_hash: -> {
51
- user: Knockapi::InlineIdentifyUserRequest,
52
- tenant: String?
53
- }
54
- end
55
36
  end
56
37
  end
57
38
  end
@@ -0,0 +1,22 @@
1
+ module Knockapi
2
+ module Models
3
+ type audience_member_request =
4
+ { user: Knockapi::InlineIdentifyUserRequest, tenant: String? }
5
+
6
+ class AudienceMemberRequest < Knockapi::Internal::Type::BaseModel
7
+ attr_accessor user: Knockapi::InlineIdentifyUserRequest
8
+
9
+ attr_accessor tenant: String?
10
+
11
+ def initialize: (
12
+ user: Knockapi::InlineIdentifyUserRequest,
13
+ ?tenant: String?
14
+ ) -> void
15
+
16
+ def to_hash: -> {
17
+ user: Knockapi::InlineIdentifyUserRequest,
18
+ tenant: String?
19
+ }
20
+ end
21
+ end
22
+ end
@@ -1,10 +1,7 @@
1
1
  module Knockapi
2
2
  module Models
3
3
  type audience_remove_members_params =
4
- {
5
- key: String,
6
- members: ::Array[Knockapi::AudienceRemoveMembersParams::Member]
7
- }
4
+ { key: String, members: ::Array[Knockapi::AudienceMemberRequest] }
8
5
  & Knockapi::Internal::Type::request_parameters
9
6
 
10
7
  class AudienceRemoveMembersParams < Knockapi::Internal::Type::BaseModel
@@ -13,38 +10,19 @@ module Knockapi
13
10
 
14
11
  attr_accessor key: String
15
12
 
16
- attr_accessor members: ::Array[Knockapi::AudienceRemoveMembersParams::Member]
13
+ attr_accessor members: ::Array[Knockapi::AudienceMemberRequest]
17
14
 
18
15
  def initialize: (
19
16
  key: String,
20
- members: ::Array[Knockapi::AudienceRemoveMembersParams::Member],
17
+ members: ::Array[Knockapi::AudienceMemberRequest],
21
18
  ?request_options: Knockapi::request_opts
22
19
  ) -> void
23
20
 
24
21
  def to_hash: -> {
25
22
  key: String,
26
- members: ::Array[Knockapi::AudienceRemoveMembersParams::Member],
23
+ members: ::Array[Knockapi::AudienceMemberRequest],
27
24
  request_options: Knockapi::RequestOptions
28
25
  }
29
-
30
- type member =
31
- { user: Knockapi::InlineIdentifyUserRequest, tenant: String? }
32
-
33
- class Member < Knockapi::Internal::Type::BaseModel
34
- attr_accessor user: Knockapi::InlineIdentifyUserRequest
35
-
36
- attr_accessor tenant: String?
37
-
38
- def initialize: (
39
- user: Knockapi::InlineIdentifyUserRequest,
40
- ?tenant: String?
41
- ) -> void
42
-
43
- def to_hash: -> {
44
- user: Knockapi::InlineIdentifyUserRequest,
45
- tenant: String?
46
- }
47
- end
48
26
  end
49
27
  end
50
28
  end
@@ -0,0 +1,22 @@
1
+ module Knockapi
2
+ module Models
3
+ type list_messages_response =
4
+ { items: ::Array[Knockapi::Message], page_info: Knockapi::PageInfo }
5
+
6
+ class ListMessagesResponse < Knockapi::Internal::Type::BaseModel
7
+ attr_accessor items: ::Array[Knockapi::Message]
8
+
9
+ attr_accessor page_info: Knockapi::PageInfo
10
+
11
+ def initialize: (
12
+ items: ::Array[Knockapi::Message],
13
+ page_info: Knockapi::PageInfo
14
+ ) -> void
15
+
16
+ def to_hash: -> {
17
+ items: ::Array[Knockapi::Message],
18
+ page_info: Knockapi::PageInfo
19
+ }
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ module Knockapi
2
+ module Models
3
+ type list_schedules_response =
4
+ { entries: ::Array[Knockapi::Schedule], page_info: Knockapi::PageInfo }
5
+
6
+ class ListSchedulesResponse < Knockapi::Internal::Type::BaseModel
7
+ attr_accessor entries: ::Array[Knockapi::Schedule]
8
+
9
+ attr_accessor page_info: Knockapi::PageInfo
10
+
11
+ def initialize: (
12
+ entries: ::Array[Knockapi::Schedule],
13
+ page_info: Knockapi::PageInfo
14
+ ) -> void
15
+
16
+ def to_hash: -> {
17
+ entries: ::Array[Knockapi::Schedule],
18
+ page_info: Knockapi::PageInfo
19
+ }
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,25 @@
1
+ module Knockapi
2
+ module Models
3
+ type list_subscriptions_response =
4
+ {
5
+ entries: ::Array[Knockapi::Recipients::Subscription],
6
+ page_info: Knockapi::PageInfo
7
+ }
8
+
9
+ class ListSubscriptionsResponse < Knockapi::Internal::Type::BaseModel
10
+ attr_accessor entries: ::Array[Knockapi::Recipients::Subscription]
11
+
12
+ attr_accessor page_info: Knockapi::PageInfo
13
+
14
+ def initialize: (
15
+ entries: ::Array[Knockapi::Recipients::Subscription],
16
+ page_info: Knockapi::PageInfo
17
+ ) -> void
18
+
19
+ def to_hash: -> {
20
+ entries: ::Array[Knockapi::Recipients::Subscription],
21
+ page_info: Knockapi::PageInfo
22
+ }
23
+ end
24
+ end
25
+ end
@@ -310,18 +310,41 @@ module Knockapi
310
310
  end
311
311
  end
312
312
 
313
- type recipient_snapshot = { email: String, name: String? }
313
+ type recipient_snapshot =
314
+ {
315
+ channel_id: String?,
316
+ email: String?,
317
+ name: String?,
318
+ user_id: String?,
319
+ via_incoming_webhook: bool?
320
+ }
314
321
 
315
322
  class RecipientSnapshot < Knockapi::Internal::Type::BaseModel
316
- attr_reader email: String?
323
+ attr_accessor channel_id: String?
317
324
 
318
- def email=: (String) -> String
325
+ attr_accessor email: String?
319
326
 
320
327
  attr_accessor name: String?
321
328
 
322
- def initialize: (?email: String, ?name: String?) -> void
329
+ attr_accessor user_id: String?
330
+
331
+ attr_accessor via_incoming_webhook: bool?
332
+
333
+ def initialize: (
334
+ ?channel_id: String?,
335
+ ?email: String?,
336
+ ?name: String?,
337
+ ?user_id: String?,
338
+ ?via_incoming_webhook: bool?
339
+ ) -> void
323
340
 
324
- def to_hash: -> { email: String, name: String? }
341
+ def to_hash: -> {
342
+ channel_id: String?,
343
+ email: String?,
344
+ name: String?,
345
+ user_id: String?,
346
+ via_incoming_webhook: bool?
347
+ }
325
348
  end
326
349
  end
327
350
  end