knockapi 1.15.0 → 1.17.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 (96) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +55 -0
  3. data/README.md +1 -1
  4. data/lib/knockapi/client.rb +0 -4
  5. data/lib/knockapi/file_part.rb +10 -7
  6. data/lib/knockapi/internal/transport/pooled_net_requester.rb +34 -31
  7. data/lib/knockapi/internal/type/file_input.rb +7 -4
  8. data/lib/knockapi/internal/util.rb +7 -6
  9. data/lib/knockapi/models/audience_add_members_params.rb +2 -2
  10. data/lib/knockapi/models/identify_user_request.rb +2 -2
  11. data/lib/knockapi/models/inline_identify_user_request.rb +2 -2
  12. data/lib/knockapi/models/inline_object_request.rb +2 -2
  13. data/lib/knockapi/models/message.rb +124 -11
  14. data/lib/knockapi/models/messages/batch_archive_response.rb +1 -1
  15. data/lib/knockapi/models/messages/batch_mark_as_interacted_response.rb +1 -1
  16. data/lib/knockapi/models/messages/batch_mark_as_read_response.rb +1 -1
  17. data/lib/knockapi/models/messages/batch_mark_as_seen_response.rb +1 -1
  18. data/lib/knockapi/models/messages/batch_mark_as_unread_response.rb +1 -1
  19. data/lib/knockapi/models/messages/batch_mark_as_unseen_response.rb +1 -1
  20. data/lib/knockapi/models/messages/batch_unarchive_response.rb +1 -1
  21. data/lib/knockapi/models/object_set_params.rb +2 -2
  22. data/lib/knockapi/models/objects/bulk_set_params.rb +2 -2
  23. data/lib/knockapi/models/recipients/channel_data.rb +133 -11
  24. data/lib/knockapi/models/recipients/channel_data_request.rb +36 -10
  25. data/lib/knockapi/models/recipients/inline_channel_data_request.rb +34 -8
  26. data/lib/knockapi/models/recipients/preference_set.rb +130 -3
  27. data/lib/knockapi/models/recipients/preference_set_request.rb +136 -3
  28. data/lib/knockapi/models/tenant_request.rb +2 -2
  29. data/lib/knockapi/models/tenant_set_params.rb +2 -2
  30. data/lib/knockapi/models/users/guide_get_channel_response.rb +270 -34
  31. data/lib/knockapi/resources/audiences.rb +1 -1
  32. data/lib/knockapi/resources/messages/batch.rb +7 -7
  33. data/lib/knockapi/resources/objects.rb +7 -3
  34. data/lib/knockapi/resources/tenants/bulk.rb +3 -2
  35. data/lib/knockapi/resources/tenants.rb +1 -1
  36. data/lib/knockapi/resources/users.rb +7 -3
  37. data/lib/knockapi/version.rb +1 -1
  38. data/lib/knockapi.rb +0 -3
  39. data/rbi/knockapi/client.rbi +0 -3
  40. data/rbi/knockapi/file_part.rbi +1 -1
  41. data/rbi/knockapi/models/audience_add_members_params.rbi +2 -2
  42. data/rbi/knockapi/models/identify_user_request.rbi +9 -9
  43. data/rbi/knockapi/models/inline_identify_user_request.rbi +9 -9
  44. data/rbi/knockapi/models/inline_object_request.rbi +9 -9
  45. data/rbi/knockapi/models/message.rbi +169 -12
  46. data/rbi/knockapi/models/messages/batch_archive_response.rbi +1 -1
  47. data/rbi/knockapi/models/messages/batch_mark_as_interacted_response.rbi +1 -1
  48. data/rbi/knockapi/models/messages/batch_mark_as_read_response.rbi +1 -1
  49. data/rbi/knockapi/models/messages/batch_mark_as_seen_response.rbi +1 -1
  50. data/rbi/knockapi/models/messages/batch_mark_as_unread_response.rbi +1 -1
  51. data/rbi/knockapi/models/messages/batch_mark_as_unseen_response.rbi +1 -1
  52. data/rbi/knockapi/models/messages/batch_unarchive_response.rbi +1 -1
  53. data/rbi/knockapi/models/object_set_params.rbi +12 -12
  54. data/rbi/knockapi/models/objects/bulk_set_params.rbi +9 -9
  55. data/rbi/knockapi/models/recipients/channel_data.rbi +250 -12
  56. data/rbi/knockapi/models/recipients/channel_data_request.rbi +68 -14
  57. data/rbi/knockapi/models/recipients/inline_channel_data_request.rbi +57 -5
  58. data/rbi/knockapi/models/recipients/preference_set.rbi +279 -0
  59. data/rbi/knockapi/models/recipients/preference_set_request.rbi +299 -0
  60. data/rbi/knockapi/models/tenant_request.rbi +9 -9
  61. data/rbi/knockapi/models/tenant_set_params.rbi +9 -9
  62. data/rbi/knockapi/models/users/guide_get_channel_response.rbi +532 -70
  63. data/rbi/knockapi/resources/audiences.rbi +1 -1
  64. data/rbi/knockapi/resources/messages/batch.rbi +7 -7
  65. data/rbi/knockapi/resources/objects.rbi +22 -6
  66. data/rbi/knockapi/resources/tenants/bulk.rbi +3 -2
  67. data/rbi/knockapi/resources/tenants.rbi +3 -3
  68. data/rbi/knockapi/resources/users.rbi +22 -6
  69. data/sig/knockapi/client.rbs +0 -2
  70. data/sig/knockapi/file_part.rbs +1 -1
  71. data/sig/knockapi/models/message.rbs +103 -3
  72. data/sig/knockapi/models/messages/batch_archive_response.rbs +1 -1
  73. data/sig/knockapi/models/messages/batch_mark_as_interacted_response.rbs +1 -2
  74. data/sig/knockapi/models/messages/batch_mark_as_read_response.rbs +1 -1
  75. data/sig/knockapi/models/messages/batch_mark_as_seen_response.rbs +1 -1
  76. data/sig/knockapi/models/messages/batch_mark_as_unread_response.rbs +1 -1
  77. data/sig/knockapi/models/messages/batch_mark_as_unseen_response.rbs +1 -1
  78. data/sig/knockapi/models/messages/batch_unarchive_response.rbs +1 -1
  79. data/sig/knockapi/models/recipients/channel_data.rbs +97 -7
  80. data/sig/knockapi/models/recipients/channel_data_request.rbs +27 -5
  81. data/sig/knockapi/models/recipients/inline_channel_data_request.rbs +27 -5
  82. data/sig/knockapi/models/recipients/preference_set.rbs +87 -0
  83. data/sig/knockapi/models/recipients/preference_set_request.rbs +87 -0
  84. data/sig/knockapi/models/users/guide_get_channel_response.rbs +294 -31
  85. data/sig/knockapi/resources/objects.rbs +2 -0
  86. data/sig/knockapi/resources/users.rbs +2 -0
  87. metadata +2 -11
  88. data/lib/knockapi/models/recipients/one_signal_channel_data.rb +0 -20
  89. data/lib/knockapi/models/recipients/push_channel_data.rb +0 -20
  90. data/lib/knockapi/resources/shared.rb +0 -14
  91. data/rbi/knockapi/models/recipients/one_signal_channel_data.rbi +0 -33
  92. data/rbi/knockapi/models/recipients/push_channel_data.rbi +0 -33
  93. data/rbi/knockapi/resources/shared.rbi +0 -12
  94. data/sig/knockapi/models/recipients/one_signal_channel_data.rbs +0 -15
  95. data/sig/knockapi/models/recipients/push_channel_data.rbs +0 -15
  96. data/sig/knockapi/resources/shared.rbs +0 -7
@@ -14,7 +14,7 @@ module Knockapi
14
14
  def add_members(
15
15
  # The key of the audience.
16
16
  key,
17
- # A list of audience members to add.
17
+ # A list of audience members to add. Limited to 1,000 members per request.
18
18
  members:,
19
19
  request_options: {}
20
20
  )
@@ -10,7 +10,7 @@ module Knockapi
10
10
  params(
11
11
  message_ids: T::Array[String],
12
12
  request_options: Knockapi::RequestOptions::OrHash
13
- ).returns(T::Array[Knockapi::Models::Message])
13
+ ).returns(T::Array[Knockapi::Message])
14
14
  end
15
15
  def archive(
16
16
  # The message IDs to update the status of.
@@ -45,7 +45,7 @@ module Knockapi
45
45
  message_ids: T::Array[String],
46
46
  metadata: T.nilable(T::Hash[Symbol, T.anything]),
47
47
  request_options: Knockapi::RequestOptions::OrHash
48
- ).returns(T::Array[Knockapi::Models::Message])
48
+ ).returns(T::Array[Knockapi::Message])
49
49
  end
50
50
  def mark_as_interacted(
51
51
  # The message IDs to batch mark as interacted with.
@@ -62,7 +62,7 @@ module Knockapi
62
62
  params(
63
63
  message_ids: T::Array[String],
64
64
  request_options: Knockapi::RequestOptions::OrHash
65
- ).returns(T::Array[Knockapi::Models::Message])
65
+ ).returns(T::Array[Knockapi::Message])
66
66
  end
67
67
  def mark_as_read(
68
68
  # The message IDs to update the status of.
@@ -78,7 +78,7 @@ module Knockapi
78
78
  params(
79
79
  message_ids: T::Array[String],
80
80
  request_options: Knockapi::RequestOptions::OrHash
81
- ).returns(T::Array[Knockapi::Models::Message])
81
+ ).returns(T::Array[Knockapi::Message])
82
82
  end
83
83
  def mark_as_seen(
84
84
  # The message IDs to update the status of.
@@ -94,7 +94,7 @@ module Knockapi
94
94
  params(
95
95
  message_ids: T::Array[String],
96
96
  request_options: Knockapi::RequestOptions::OrHash
97
- ).returns(T::Array[Knockapi::Models::Message])
97
+ ).returns(T::Array[Knockapi::Message])
98
98
  end
99
99
  def mark_as_unread(
100
100
  # The message IDs to update the status of.
@@ -110,7 +110,7 @@ module Knockapi
110
110
  params(
111
111
  message_ids: T::Array[String],
112
112
  request_options: Knockapi::RequestOptions::OrHash
113
- ).returns(T::Array[Knockapi::Models::Message])
113
+ ).returns(T::Array[Knockapi::Message])
114
114
  end
115
115
  def mark_as_unseen(
116
116
  # The message IDs to update the status of.
@@ -126,7 +126,7 @@ module Knockapi
126
126
  params(
127
127
  message_ids: T::Array[String],
128
128
  request_options: Knockapi::RequestOptions::OrHash
129
- ).returns(T::Array[Knockapi::Models::Message])
129
+ ).returns(T::Array[Knockapi::Message])
130
130
  end
131
131
  def unarchive(
132
132
  # The message IDs to update the status of.
@@ -353,9 +353,9 @@ module Knockapi
353
353
  T::Hash[
354
354
  Symbol,
355
355
  T.any(
356
- Knockapi::Recipients::PushChannelData::OrHash,
357
- Knockapi::Recipients::OneSignalChannelData::OrHash,
358
- Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData::OrHash,
356
+ Knockapi::Recipients::InlineChannelDataRequestItem::PushChannelDataTokensOnly::OrHash,
357
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataTargetArNsOnly::OrHash,
358
+ Knockapi::Recipients::InlineChannelDataRequestItem::OneSignalChannelDataPlayerIDsOnly::OrHash,
359
359
  Knockapi::Recipients::SlackChannelData::OrHash,
360
360
  Knockapi::Recipients::MsTeamsChannelData::OrHash,
361
361
  Knockapi::Recipients::DiscordChannelData::OrHash
@@ -401,9 +401,9 @@ module Knockapi
401
401
  channel_id: String,
402
402
  data:
403
403
  T.any(
404
- Knockapi::Recipients::PushChannelData::OrHash,
405
- Knockapi::Recipients::OneSignalChannelData::OrHash,
406
- Knockapi::Recipients::ChannelDataRequest::Data::AwsSnsPushChannelData::OrHash,
404
+ Knockapi::Recipients::ChannelDataRequest::Data::PushChannelDataTokensOnly::OrHash,
405
+ Knockapi::Recipients::ChannelDataRequest::Data::AwssnsPushChannelDataTargetArNsOnly::OrHash,
406
+ Knockapi::Recipients::ChannelDataRequest::Data::OneSignalChannelDataPlayerIDsOnly::OrHash,
407
407
  Knockapi::Recipients::SlackChannelData::OrHash,
408
408
  Knockapi::Recipients::MsTeamsChannelData::OrHash,
409
409
  Knockapi::Recipients::DiscordChannelData::OrHash
@@ -451,6 +451,17 @@ module Knockapi
451
451
  ),
452
452
  channel_types:
453
453
  T.nilable(Knockapi::Recipients::PreferenceSetChannelTypes::OrHash),
454
+ channels:
455
+ T.nilable(
456
+ T::Hash[
457
+ Symbol,
458
+ T.any(
459
+ T::Boolean,
460
+ Knockapi::Recipients::PreferenceSetRequest::Channel::PreferenceSetChannelSetting::OrHash
461
+ )
462
+ ]
463
+ ),
464
+ commercial_subscribed: T.nilable(T::Boolean),
454
465
  workflows:
455
466
  T.nilable(
456
467
  T::Hash[
@@ -479,6 +490,11 @@ module Knockapi
479
490
  categories: nil,
480
491
  # Channel type preferences.
481
492
  channel_types: nil,
493
+ # Channel preferences.
494
+ channels: nil,
495
+ # Whether the recipient is subscribed to commercial communications. When false,
496
+ # the recipient will not receive commercial workflow notifications.
497
+ commercial_subscribed: nil,
482
498
  # An object where the key is the workflow key and the values are the preference
483
499
  # settings for that workflow.
484
500
  workflows: nil,
@@ -4,7 +4,8 @@ module Knockapi
4
4
  module Resources
5
5
  class Tenants
6
6
  class Bulk
7
- # Delete multiple tenants in a single operation. This operation cannot be undone.
7
+ # Delete up to 100 tenants at a time in a single operation. This operation cannot
8
+ # be undone.
8
9
  sig do
9
10
  params(
10
11
  tenant_ids: T::Array[String],
@@ -18,7 +19,7 @@ module Knockapi
18
19
  )
19
20
  end
20
21
 
21
- # Set or update up to 1,000 tenants in a single operation.
22
+ # Set or update up to 100 tenants in a single operation.
22
23
  sig do
23
24
  params(
24
25
  tenants: T::Array[T.any(String, Knockapi::TenantRequest::OrHash)],
@@ -70,9 +70,9 @@ module Knockapi
70
70
  T::Hash[
71
71
  Symbol,
72
72
  T.any(
73
- Knockapi::Recipients::PushChannelData::OrHash,
74
- Knockapi::Recipients::OneSignalChannelData::OrHash,
75
- Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData::OrHash,
73
+ Knockapi::Recipients::InlineChannelDataRequestItem::PushChannelDataTokensOnly::OrHash,
74
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataTargetArNsOnly::OrHash,
75
+ Knockapi::Recipients::InlineChannelDataRequestItem::OneSignalChannelDataPlayerIDsOnly::OrHash,
76
76
  Knockapi::Recipients::SlackChannelData::OrHash,
77
77
  Knockapi::Recipients::MsTeamsChannelData::OrHash,
78
78
  Knockapi::Recipients::DiscordChannelData::OrHash
@@ -24,9 +24,9 @@ module Knockapi
24
24
  T::Hash[
25
25
  Symbol,
26
26
  T.any(
27
- Knockapi::Recipients::PushChannelData::OrHash,
28
- Knockapi::Recipients::OneSignalChannelData::OrHash,
29
- Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData::OrHash,
27
+ Knockapi::Recipients::InlineChannelDataRequestItem::PushChannelDataTokensOnly::OrHash,
28
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataTargetArNsOnly::OrHash,
29
+ Knockapi::Recipients::InlineChannelDataRequestItem::OneSignalChannelDataPlayerIDsOnly::OrHash,
30
30
  Knockapi::Recipients::SlackChannelData::OrHash,
31
31
  Knockapi::Recipients::MsTeamsChannelData::OrHash,
32
32
  Knockapi::Recipients::DiscordChannelData::OrHash
@@ -343,9 +343,9 @@ module Knockapi
343
343
  channel_id: String,
344
344
  data:
345
345
  T.any(
346
- Knockapi::Recipients::PushChannelData::OrHash,
347
- Knockapi::Recipients::OneSignalChannelData::OrHash,
348
- Knockapi::Recipients::ChannelDataRequest::Data::AwsSnsPushChannelData::OrHash,
346
+ Knockapi::Recipients::ChannelDataRequest::Data::PushChannelDataTokensOnly::OrHash,
347
+ Knockapi::Recipients::ChannelDataRequest::Data::AwssnsPushChannelDataTargetArNsOnly::OrHash,
348
+ Knockapi::Recipients::ChannelDataRequest::Data::OneSignalChannelDataPlayerIDsOnly::OrHash,
349
349
  Knockapi::Recipients::SlackChannelData::OrHash,
350
350
  Knockapi::Recipients::MsTeamsChannelData::OrHash,
351
351
  Knockapi::Recipients::DiscordChannelData::OrHash
@@ -386,6 +386,17 @@ module Knockapi
386
386
  ),
387
387
  channel_types:
388
388
  T.nilable(Knockapi::Recipients::PreferenceSetChannelTypes::OrHash),
389
+ channels:
390
+ T.nilable(
391
+ T::Hash[
392
+ Symbol,
393
+ T.any(
394
+ T::Boolean,
395
+ Knockapi::Recipients::PreferenceSetRequest::Channel::PreferenceSetChannelSetting::OrHash
396
+ )
397
+ ]
398
+ ),
399
+ commercial_subscribed: T.nilable(T::Boolean),
389
400
  workflows:
390
401
  T.nilable(
391
402
  T::Hash[
@@ -412,6 +423,11 @@ module Knockapi
412
423
  categories: nil,
413
424
  # Channel type preferences.
414
425
  channel_types: nil,
426
+ # Channel preferences.
427
+ channels: nil,
428
+ # Whether the recipient is subscribed to commercial communications. When false,
429
+ # the recipient will not receive commercial workflow notifications.
430
+ commercial_subscribed: nil,
415
431
  # An object where the key is the workflow key and the values are the preference
416
432
  # settings for that workflow.
417
433
  workflows: nil,
@@ -10,8 +10,6 @@ module Knockapi
10
10
 
11
11
  attr_reader api_key: String
12
12
 
13
- attr_reader shared: Knockapi::Resources::Shared
14
-
15
13
  attr_reader recipients: Knockapi::Resources::Recipients
16
14
 
17
15
  attr_reader users: Knockapi::Resources::Users
@@ -14,7 +14,7 @@ module Knockapi
14
14
 
15
15
  def initialize: (
16
16
  Pathname | StringIO | IO | String content,
17
- ?filename: String?,
17
+ ?filename: (Pathname | String)?,
18
18
  ?content_type: String?
19
19
  ) -> void
20
20
  end
@@ -13,6 +13,7 @@ module Knockapi
13
13
  updated_at: Time,
14
14
  actors: ::Array[Knockapi::Models::recipient_reference],
15
15
  archived_at: Time?,
16
+ channel: Knockapi::Message::Channel,
16
17
  clicked_at: Time?,
17
18
  data: ::Hash[Symbol, top]?,
18
19
  interacted_at: Time?,
@@ -52,6 +53,10 @@ module Knockapi
52
53
 
53
54
  attr_accessor archived_at: Time?
54
55
 
56
+ attr_reader channel: Knockapi::Message::Channel?
57
+
58
+ def channel=: (Knockapi::Message::Channel) -> Knockapi::Message::Channel
59
+
55
60
  attr_accessor clicked_at: Time?
56
61
 
57
62
  attr_accessor data: ::Hash[Symbol, top]?
@@ -84,6 +89,7 @@ module Knockapi
84
89
  updated_at: Time,
85
90
  ?actors: ::Array[Knockapi::Models::recipient_reference],
86
91
  ?archived_at: Time?,
92
+ ?channel: Knockapi::Message::Channel,
87
93
  ?clicked_at: Time?,
88
94
  ?data: ::Hash[Symbol, top]?,
89
95
  ?interacted_at: Time?,
@@ -108,6 +114,7 @@ module Knockapi
108
114
  updated_at: Time,
109
115
  actors: ::Array[Knockapi::Models::recipient_reference],
110
116
  archived_at: Time?,
117
+ channel: Knockapi::Message::Channel,
111
118
  clicked_at: Time?,
112
119
  data: ::Hash[Symbol, top]?,
113
120
  interacted_at: Time?,
@@ -141,7 +148,8 @@ module Knockapi
141
148
  categories: ::Array[String],
142
149
  key: String,
143
150
  version_id: String,
144
- step_ref: String?
151
+ step_ref: String?,
152
+ type: Knockapi::Models::Message::Source::type_
145
153
  }
146
154
 
147
155
  class Source < Knockapi::Internal::Type::BaseModel
@@ -155,12 +163,19 @@ module Knockapi
155
163
 
156
164
  attr_accessor step_ref: String?
157
165
 
166
+ attr_reader type: Knockapi::Models::Message::Source::type_?
167
+
168
+ def type=: (
169
+ Knockapi::Models::Message::Source::type_
170
+ ) -> Knockapi::Models::Message::Source::type_
171
+
158
172
  def initialize: (
159
173
  _typename: String,
160
174
  categories: ::Array[String],
161
175
  key: String,
162
176
  version_id: String,
163
- ?step_ref: String?
177
+ ?step_ref: String?,
178
+ ?type: Knockapi::Models::Message::Source::type_
164
179
  ) -> void
165
180
 
166
181
  def to_hash: -> {
@@ -168,8 +183,21 @@ module Knockapi
168
183
  categories: ::Array[String],
169
184
  key: String,
170
185
  version_id: String,
171
- step_ref: String?
186
+ step_ref: String?,
187
+ type: Knockapi::Models::Message::Source::type_
172
188
  }
189
+
190
+ type type_ = :broadcast | :workflow | :guide
191
+
192
+ module Type
193
+ extend Knockapi::Internal::Type::Enum
194
+
195
+ BROADCAST: :broadcast
196
+ WORKFLOW: :workflow
197
+ GUIDE: :guide
198
+
199
+ def self?.values: -> ::Array[Knockapi::Models::Message::Source::type_]
200
+ end
173
201
  end
174
202
 
175
203
  type status =
@@ -194,6 +222,78 @@ module Knockapi
194
222
 
195
223
  def self?.values: -> ::Array[Knockapi::Models::Message::status]
196
224
  end
225
+
226
+ type channel =
227
+ {
228
+ id: String,
229
+ created_at: Time,
230
+ provider: String,
231
+ type: Knockapi::Models::Message::Channel::type_,
232
+ updated_at: Time,
233
+ key: String?,
234
+ name: String?
235
+ }
236
+
237
+ class Channel < Knockapi::Internal::Type::BaseModel
238
+ attr_accessor id: String
239
+
240
+ attr_accessor created_at: Time
241
+
242
+ attr_accessor provider: String
243
+
244
+ attr_accessor type: Knockapi::Models::Message::Channel::type_
245
+
246
+ attr_accessor updated_at: Time
247
+
248
+ attr_accessor key: String?
249
+
250
+ attr_accessor name: String?
251
+
252
+ def initialize: (
253
+ id: String,
254
+ created_at: Time,
255
+ provider: String,
256
+ type: Knockapi::Models::Message::Channel::type_,
257
+ updated_at: Time,
258
+ ?key: String?,
259
+ ?name: String?
260
+ ) -> void
261
+
262
+ def to_hash: -> {
263
+ id: String,
264
+ created_at: Time,
265
+ provider: String,
266
+ type: Knockapi::Models::Message::Channel::type_,
267
+ updated_at: Time,
268
+ key: String?,
269
+ name: String?
270
+ }
271
+
272
+ type type_ =
273
+ :email
274
+ | :in_app
275
+ | :in_app_feed
276
+ | :in_app_guide
277
+ | :sms
278
+ | :push
279
+ | :chat
280
+ | :http
281
+
282
+ module Type
283
+ extend Knockapi::Internal::Type::Enum
284
+
285
+ EMAIL: :email
286
+ IN_APP: :in_app
287
+ IN_APP_FEED: :in_app_feed
288
+ IN_APP_GUIDE: :in_app_guide
289
+ SMS: :sms
290
+ PUSH: :push
291
+ CHAT: :chat
292
+ HTTP: :http
293
+
294
+ def self?.values: -> ::Array[Knockapi::Models::Message::Channel::type_]
295
+ end
296
+ end
197
297
  end
198
298
  end
199
299
  end
@@ -1,7 +1,7 @@
1
1
  module Knockapi
2
2
  module Models
3
3
  module Messages
4
- type batch_archive_response = ::Array[Knockapi::Models::Message]
4
+ type batch_archive_response = ::Array[Knockapi::Message]
5
5
 
6
6
  BatchArchiveResponse: Knockapi::Internal::Type::Converter
7
7
  end
@@ -1,8 +1,7 @@
1
1
  module Knockapi
2
2
  module Models
3
3
  module Messages
4
- type batch_mark_as_interacted_response =
5
- ::Array[Knockapi::Models::Message]
4
+ type batch_mark_as_interacted_response = ::Array[Knockapi::Message]
6
5
 
7
6
  BatchMarkAsInteractedResponse: Knockapi::Internal::Type::Converter
8
7
  end
@@ -1,7 +1,7 @@
1
1
  module Knockapi
2
2
  module Models
3
3
  module Messages
4
- type batch_mark_as_read_response = ::Array[Knockapi::Models::Message]
4
+ type batch_mark_as_read_response = ::Array[Knockapi::Message]
5
5
 
6
6
  BatchMarkAsReadResponse: Knockapi::Internal::Type::Converter
7
7
  end
@@ -1,7 +1,7 @@
1
1
  module Knockapi
2
2
  module Models
3
3
  module Messages
4
- type batch_mark_as_seen_response = ::Array[Knockapi::Models::Message]
4
+ type batch_mark_as_seen_response = ::Array[Knockapi::Message]
5
5
 
6
6
  BatchMarkAsSeenResponse: Knockapi::Internal::Type::Converter
7
7
  end
@@ -1,7 +1,7 @@
1
1
  module Knockapi
2
2
  module Models
3
3
  module Messages
4
- type batch_mark_as_unread_response = ::Array[Knockapi::Models::Message]
4
+ type batch_mark_as_unread_response = ::Array[Knockapi::Message]
5
5
 
6
6
  BatchMarkAsUnreadResponse: Knockapi::Internal::Type::Converter
7
7
  end
@@ -1,7 +1,7 @@
1
1
  module Knockapi
2
2
  module Models
3
3
  module Messages
4
- type batch_mark_as_unseen_response = ::Array[Knockapi::Models::Message]
4
+ type batch_mark_as_unseen_response = ::Array[Knockapi::Message]
5
5
 
6
6
  BatchMarkAsUnseenResponse: Knockapi::Internal::Type::Converter
7
7
  end
@@ -1,7 +1,7 @@
1
1
  module Knockapi
2
2
  module Models
3
3
  module Messages
4
- type batch_unarchive_response = ::Array[Knockapi::Models::Message]
4
+ type batch_unarchive_response = ::Array[Knockapi::Message]
5
5
 
6
6
  BatchUnarchiveResponse: Knockapi::Internal::Type::Converter
7
7
  end
@@ -37,24 +37,114 @@ module Knockapi
37
37
  }
38
38
 
39
39
  type data =
40
- Knockapi::Recipients::PushChannelData
40
+ Knockapi::Recipients::RecipientsChannelData::Data::PushChannelDataFull
41
+ | Knockapi::Recipients::RecipientsChannelData::Data::AwssnsPushChannelDataFull
42
+ | Knockapi::Recipients::RecipientsChannelData::Data::OneSignalChannelDataPlayerIDsOnly
41
43
  | Knockapi::Recipients::SlackChannelData
42
44
  | Knockapi::Recipients::MsTeamsChannelData
43
45
  | Knockapi::Recipients::DiscordChannelData
44
- | Knockapi::Recipients::OneSignalChannelData
45
- | Knockapi::Recipients::RecipientsChannelData::Data::AwsSnsPushChannelData
46
46
 
47
47
  module Data
48
48
  extend Knockapi::Internal::Type::Union
49
49
 
50
- type aws_sns_push_channel_data = { target_arns: ::Array[String] }
50
+ type push_channel_data_full =
51
+ {
52
+ devices: ::Array[Knockapi::Recipients::RecipientsChannelData::Data::PushChannelDataFull::Device],
53
+ tokens: ::Array[String]
54
+ }
55
+
56
+ class PushChannelDataFull < Knockapi::Internal::Type::BaseModel
57
+ attr_accessor devices: ::Array[Knockapi::Recipients::RecipientsChannelData::Data::PushChannelDataFull::Device]
58
+
59
+ attr_accessor tokens: ::Array[String]
60
+
61
+ def initialize: (
62
+ devices: ::Array[Knockapi::Recipients::RecipientsChannelData::Data::PushChannelDataFull::Device],
63
+ tokens: ::Array[String]
64
+ ) -> void
65
+
66
+ def to_hash: -> {
67
+ devices: ::Array[Knockapi::Recipients::RecipientsChannelData::Data::PushChannelDataFull::Device],
68
+ tokens: ::Array[String]
69
+ }
70
+
71
+ type device = { token: String, locale: String?, timezone: String? }
72
+
73
+ class Device < Knockapi::Internal::Type::BaseModel
74
+ attr_accessor token: String
75
+
76
+ attr_accessor locale: String?
77
+
78
+ attr_accessor timezone: String?
79
+
80
+ def initialize: (
81
+ token: String,
82
+ ?locale: String?,
83
+ ?timezone: String?
84
+ ) -> void
85
+
86
+ def to_hash: -> {
87
+ token: String,
88
+ locale: String?,
89
+ timezone: String?
90
+ }
91
+ end
92
+ end
93
+
94
+ type awssns_push_channel_data_full =
95
+ {
96
+ devices: ::Array[Knockapi::Recipients::RecipientsChannelData::Data::AwssnsPushChannelDataFull::Device],
97
+ target_arns: ::Array[String]
98
+ }
99
+
100
+ class AwssnsPushChannelDataFull < Knockapi::Internal::Type::BaseModel
101
+ attr_accessor devices: ::Array[Knockapi::Recipients::RecipientsChannelData::Data::AwssnsPushChannelDataFull::Device]
51
102
 
52
- class AwsSnsPushChannelData < Knockapi::Internal::Type::BaseModel
53
103
  attr_accessor target_arns: ::Array[String]
54
104
 
55
- def initialize: (target_arns: ::Array[String]) -> void
105
+ def initialize: (
106
+ devices: ::Array[Knockapi::Recipients::RecipientsChannelData::Data::AwssnsPushChannelDataFull::Device],
107
+ target_arns: ::Array[String]
108
+ ) -> void
109
+
110
+ def to_hash: -> {
111
+ devices: ::Array[Knockapi::Recipients::RecipientsChannelData::Data::AwssnsPushChannelDataFull::Device],
112
+ target_arns: ::Array[String]
113
+ }
114
+
115
+ type device =
116
+ { target_arn: String, locale: String?, timezone: String? }
117
+
118
+ class Device < Knockapi::Internal::Type::BaseModel
119
+ attr_accessor target_arn: String
120
+
121
+ attr_accessor locale: String?
122
+
123
+ attr_accessor timezone: String?
124
+
125
+ def initialize: (
126
+ target_arn: String,
127
+ ?locale: String?,
128
+ ?timezone: String?
129
+ ) -> void
130
+
131
+ def to_hash: -> {
132
+ target_arn: String,
133
+ locale: String?,
134
+ timezone: String?
135
+ }
136
+ end
137
+ end
138
+
139
+ type one_signal_channel_data_player_ids_only =
140
+ { player_ids: ::Array[String] }
141
+
142
+ class OneSignalChannelDataPlayerIDsOnly < Knockapi::Internal::Type::BaseModel
143
+ attr_accessor player_ids: ::Array[String]
144
+
145
+ def initialize: (player_ids: ::Array[String]) -> void
56
146
 
57
- def to_hash: -> { target_arns: ::Array[String] }
147
+ def to_hash: -> { player_ids: ::Array[String] }
58
148
  end
59
149
 
60
150
  def self?.variants: -> ::Array[Knockapi::Models::Recipients::RecipientsChannelData::data]
@@ -16,9 +16,9 @@ module Knockapi
16
16
  }
17
17
 
18
18
  type data =
19
- Knockapi::Recipients::PushChannelData
20
- | Knockapi::Recipients::OneSignalChannelData
21
- | Knockapi::Recipients::ChannelDataRequest::Data::AwsSnsPushChannelData
19
+ Knockapi::Recipients::ChannelDataRequest::Data::PushChannelDataTokensOnly
20
+ | Knockapi::Recipients::ChannelDataRequest::Data::AwssnsPushChannelDataTargetArNsOnly
21
+ | Knockapi::Recipients::ChannelDataRequest::Data::OneSignalChannelDataPlayerIDsOnly
22
22
  | Knockapi::Recipients::SlackChannelData
23
23
  | Knockapi::Recipients::MsTeamsChannelData
24
24
  | Knockapi::Recipients::DiscordChannelData
@@ -26,9 +26,20 @@ module Knockapi
26
26
  module Data
27
27
  extend Knockapi::Internal::Type::Union
28
28
 
29
- type aws_sns_push_channel_data = { target_arns: ::Array[String] }
29
+ type push_channel_data_tokens_only = { tokens: ::Array[String] }
30
30
 
31
- class AwsSnsPushChannelData < Knockapi::Internal::Type::BaseModel
31
+ class PushChannelDataTokensOnly < Knockapi::Internal::Type::BaseModel
32
+ attr_accessor tokens: ::Array[String]
33
+
34
+ def initialize: (tokens: ::Array[String]) -> void
35
+
36
+ def to_hash: -> { tokens: ::Array[String] }
37
+ end
38
+
39
+ type awssns_push_channel_data_target_ar_ns_only =
40
+ { target_arns: ::Array[String] }
41
+
42
+ class AwssnsPushChannelDataTargetArNsOnly < Knockapi::Internal::Type::BaseModel
32
43
  attr_accessor target_arns: ::Array[String]
33
44
 
34
45
  def initialize: (target_arns: ::Array[String]) -> void
@@ -36,6 +47,17 @@ module Knockapi
36
47
  def to_hash: -> { target_arns: ::Array[String] }
37
48
  end
38
49
 
50
+ type one_signal_channel_data_player_ids_only =
51
+ { player_ids: ::Array[String] }
52
+
53
+ class OneSignalChannelDataPlayerIDsOnly < Knockapi::Internal::Type::BaseModel
54
+ attr_accessor player_ids: ::Array[String]
55
+
56
+ def initialize: (player_ids: ::Array[String]) -> void
57
+
58
+ def to_hash: -> { player_ids: ::Array[String] }
59
+ end
60
+
39
61
  def self?.variants: -> ::Array[Knockapi::Models::Recipients::ChannelDataRequest::data]
40
62
  end
41
63
  end