knockapi 1.16.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +26 -0
- data/README.md +1 -1
- data/lib/knockapi/internal/transport/pooled_net_requester.rb +30 -24
- data/lib/knockapi/internal/util.rb +5 -5
- data/lib/knockapi/models/identify_user_request.rb +2 -2
- data/lib/knockapi/models/inline_identify_user_request.rb +2 -2
- data/lib/knockapi/models/inline_object_request.rb +2 -2
- data/lib/knockapi/models/message.rb +94 -3
- data/lib/knockapi/models/messages/batch_archive_response.rb +1 -1
- data/lib/knockapi/models/messages/batch_mark_as_interacted_response.rb +1 -1
- data/lib/knockapi/models/messages/batch_mark_as_read_response.rb +1 -1
- data/lib/knockapi/models/messages/batch_mark_as_seen_response.rb +1 -1
- data/lib/knockapi/models/messages/batch_mark_as_unread_response.rb +1 -1
- data/lib/knockapi/models/messages/batch_mark_as_unseen_response.rb +1 -1
- data/lib/knockapi/models/messages/batch_unarchive_response.rb +1 -1
- data/lib/knockapi/models/object_set_params.rb +2 -2
- data/lib/knockapi/models/objects/bulk_set_params.rb +2 -2
- data/lib/knockapi/models/recipients/channel_data.rb +133 -11
- data/lib/knockapi/models/recipients/channel_data_request.rb +36 -10
- data/lib/knockapi/models/recipients/inline_channel_data_request.rb +34 -8
- data/lib/knockapi/models/recipients/preference_set.rb +130 -3
- data/lib/knockapi/models/recipients/preference_set_request.rb +136 -3
- data/lib/knockapi/models/tenant_request.rb +2 -2
- data/lib/knockapi/models/tenant_set_params.rb +2 -2
- data/lib/knockapi/models/users/guide_get_channel_response.rb +270 -34
- data/lib/knockapi/resources/messages/batch.rb +7 -7
- data/lib/knockapi/resources/objects.rb +7 -3
- data/lib/knockapi/resources/tenants.rb +1 -1
- data/lib/knockapi/resources/users.rb +7 -3
- data/lib/knockapi/version.rb +1 -1
- data/lib/knockapi.rb +0 -2
- data/rbi/knockapi/models/identify_user_request.rbi +9 -9
- data/rbi/knockapi/models/inline_identify_user_request.rbi +9 -9
- data/rbi/knockapi/models/inline_object_request.rbi +9 -9
- data/rbi/knockapi/models/message.rbi +123 -2
- data/rbi/knockapi/models/messages/batch_archive_response.rbi +1 -1
- data/rbi/knockapi/models/messages/batch_mark_as_interacted_response.rbi +1 -1
- data/rbi/knockapi/models/messages/batch_mark_as_read_response.rbi +1 -1
- data/rbi/knockapi/models/messages/batch_mark_as_seen_response.rbi +1 -1
- data/rbi/knockapi/models/messages/batch_mark_as_unread_response.rbi +1 -1
- data/rbi/knockapi/models/messages/batch_mark_as_unseen_response.rbi +1 -1
- data/rbi/knockapi/models/messages/batch_unarchive_response.rbi +1 -1
- data/rbi/knockapi/models/object_set_params.rbi +12 -12
- data/rbi/knockapi/models/objects/bulk_set_params.rbi +9 -9
- data/rbi/knockapi/models/recipients/channel_data.rbi +250 -12
- data/rbi/knockapi/models/recipients/channel_data_request.rbi +68 -14
- data/rbi/knockapi/models/recipients/inline_channel_data_request.rbi +57 -5
- data/rbi/knockapi/models/recipients/preference_set.rbi +279 -0
- data/rbi/knockapi/models/recipients/preference_set_request.rbi +299 -0
- data/rbi/knockapi/models/tenant_request.rbi +9 -9
- data/rbi/knockapi/models/tenant_set_params.rbi +9 -9
- data/rbi/knockapi/models/users/guide_get_channel_response.rbi +532 -70
- data/rbi/knockapi/resources/messages/batch.rbi +7 -7
- data/rbi/knockapi/resources/objects.rbi +22 -6
- data/rbi/knockapi/resources/tenants.rbi +3 -3
- data/rbi/knockapi/resources/users.rbi +22 -6
- data/sig/knockapi/models/message.rbs +79 -0
- data/sig/knockapi/models/messages/batch_archive_response.rbs +1 -1
- data/sig/knockapi/models/messages/batch_mark_as_interacted_response.rbs +1 -2
- data/sig/knockapi/models/messages/batch_mark_as_read_response.rbs +1 -1
- data/sig/knockapi/models/messages/batch_mark_as_seen_response.rbs +1 -1
- data/sig/knockapi/models/messages/batch_mark_as_unread_response.rbs +1 -1
- data/sig/knockapi/models/messages/batch_mark_as_unseen_response.rbs +1 -1
- data/sig/knockapi/models/messages/batch_unarchive_response.rbs +1 -1
- data/sig/knockapi/models/recipients/channel_data.rbs +97 -7
- data/sig/knockapi/models/recipients/channel_data_request.rbs +27 -5
- data/sig/knockapi/models/recipients/inline_channel_data_request.rbs +27 -5
- data/sig/knockapi/models/recipients/preference_set.rbs +87 -0
- data/sig/knockapi/models/recipients/preference_set_request.rbs +87 -0
- data/sig/knockapi/models/users/guide_get_channel_response.rbs +294 -31
- data/sig/knockapi/resources/objects.rbs +2 -0
- data/sig/knockapi/resources/users.rbs +2 -0
- metadata +2 -8
- data/lib/knockapi/models/recipients/one_signal_channel_data.rb +0 -20
- data/lib/knockapi/models/recipients/push_channel_data.rb +0 -20
- data/rbi/knockapi/models/recipients/one_signal_channel_data.rbi +0 -33
- data/rbi/knockapi/models/recipients/push_channel_data.rbi +0 -33
- data/sig/knockapi/models/recipients/one_signal_channel_data.rbs +0 -15
- data/sig/knockapi/models/recipients/push_channel_data.rbs +0 -15
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: fc785b0ad211db7b83b53f41e0049c338cb773c1e38939ae169b79d8f7c864c0
|
|
4
|
+
data.tar.gz: 6da67b0bb566b75e47f5f8e3df16f186d1be34d66a465e64849cad9f796da95d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f8aa5dd11bb82eb2b81d6c2e359db5da4a97088f649d9808eccf6fd74d356ead63b919aedaa2b61bd339a958ade85deccf9965f20677b5d5646c38d9b9567169
|
|
7
|
+
data.tar.gz: 2d0532da30ba698de50465a59f46cd96ce75cd63be73807ee92124181ec5e03e48b804a1011f16cc43ff4cf6a08c285550bb7bcbd7db6b43f089121946e95f3a
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,31 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.17.0 (2025-10-24)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v1.16.0...v1.17.0](https://github.com/knocklabs/knock-ruby/compare/v1.16.0...v1.17.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* **api:** api update ([fd477b8](https://github.com/knocklabs/knock-ruby/commit/fd477b877f0a74c124a531a9f9b09e52905383b7))
|
|
10
|
+
* **api:** api update ([e47f831](https://github.com/knocklabs/knock-ruby/commit/e47f831b8ec05779d0003c27f701f9b0fd1c85b5))
|
|
11
|
+
* **api:** api update ([2b5808c](https://github.com/knocklabs/knock-ruby/commit/2b5808ccb42252fdebc45486d231aba4dfa9a7b7))
|
|
12
|
+
* **api:** api update ([99546b7](https://github.com/knocklabs/knock-ruby/commit/99546b73a6a6440e373059c1bdc71d48532af3fa))
|
|
13
|
+
* **api:** api update ([042c92a](https://github.com/knocklabs/knock-ruby/commit/042c92a80665539dfeda7c2b8de0acead59fcfb1))
|
|
14
|
+
* **api:** api update ([0f7fc4a](https://github.com/knocklabs/knock-ruby/commit/0f7fc4a35357d5cf6cb8394f0df9b60598d15e63))
|
|
15
|
+
* handle thread interrupts in the core HTTP client ([6161a77](https://github.com/knocklabs/knock-ruby/commit/6161a7749b9fa424f49758cebd3753d135a84095))
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Bug Fixes
|
|
19
|
+
|
|
20
|
+
* absolutely qualified uris should always override the default ([2bb6341](https://github.com/knocklabs/knock-ruby/commit/2bb63414bbf3b9d9b4b996cd75341a183a6aa792))
|
|
21
|
+
* should not reuse buffers for `IO.copy_stream` interop ([6464681](https://github.com/knocklabs/knock-ruby/commit/64646819574a19a1eb4969dc4abbc1d718ed7f4f))
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
### Chores
|
|
25
|
+
|
|
26
|
+
* ignore linter error for tests having large collections ([20f8ea6](https://github.com/knocklabs/knock-ruby/commit/20f8ea6a8cae8b3463b48d48f4ad065df465cddb))
|
|
27
|
+
* simplify model references ([c126d85](https://github.com/knocklabs/knock-ruby/commit/c126d85300aa1ffe211fbc8e1c25eff4ca25ab7e))
|
|
28
|
+
|
|
3
29
|
## 1.16.0 (2025-10-07)
|
|
4
30
|
|
|
5
31
|
Full Changelog: [v1.15.0...v1.16.0](https://github.com/knocklabs/knock-ruby/compare/v1.15.0...v1.16.0)
|
data/README.md
CHANGED
|
@@ -128,40 +128,48 @@ module Knockapi
|
|
|
128
128
|
url, deadline = request.fetch_values(:url, :deadline)
|
|
129
129
|
|
|
130
130
|
req = nil
|
|
131
|
-
eof = false
|
|
132
131
|
finished = false
|
|
133
|
-
closing = nil
|
|
134
132
|
|
|
135
133
|
# rubocop:disable Metrics/BlockLength
|
|
136
134
|
enum = Enumerator.new do |y|
|
|
137
135
|
next if finished
|
|
138
136
|
|
|
139
137
|
with_pool(url, deadline: deadline) do |conn|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
conn.start
|
|
148
|
-
end
|
|
138
|
+
eof = false
|
|
139
|
+
closing = nil
|
|
140
|
+
::Thread.handle_interrupt(Object => :never) do
|
|
141
|
+
::Thread.handle_interrupt(Object => :immediate) do
|
|
142
|
+
req, closing = self.class.build_request(request) do
|
|
143
|
+
self.class.calibrate_socket_timeout(conn, deadline)
|
|
144
|
+
end
|
|
149
145
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
rsp.read_body do |bytes|
|
|
156
|
-
y << bytes.force_encoding(Encoding::BINARY)
|
|
157
|
-
break if finished
|
|
146
|
+
self.class.calibrate_socket_timeout(conn, deadline)
|
|
147
|
+
unless conn.started?
|
|
148
|
+
conn.keep_alive_timeout = self.class::KEEP_ALIVE_TIMEOUT
|
|
149
|
+
conn.start
|
|
150
|
+
end
|
|
158
151
|
|
|
159
152
|
self.class.calibrate_socket_timeout(conn, deadline)
|
|
153
|
+
conn.request(req) do |rsp|
|
|
154
|
+
y << [req, rsp]
|
|
155
|
+
break if finished
|
|
156
|
+
|
|
157
|
+
rsp.read_body do |bytes|
|
|
158
|
+
y << bytes.force_encoding(Encoding::BINARY)
|
|
159
|
+
break if finished
|
|
160
|
+
|
|
161
|
+
self.class.calibrate_socket_timeout(conn, deadline)
|
|
162
|
+
end
|
|
163
|
+
eof = true
|
|
164
|
+
end
|
|
165
|
+
end
|
|
166
|
+
ensure
|
|
167
|
+
begin
|
|
168
|
+
conn.finish if !eof && conn&.started?
|
|
169
|
+
ensure
|
|
170
|
+
closing&.call
|
|
160
171
|
end
|
|
161
|
-
eof = true
|
|
162
172
|
end
|
|
163
|
-
ensure
|
|
164
|
-
conn.finish if !eof && conn&.started?
|
|
165
173
|
end
|
|
166
174
|
rescue Timeout::Error
|
|
167
175
|
raise Knockapi::Errors::APITimeoutError.new(url: url, request: req)
|
|
@@ -174,8 +182,6 @@ module Knockapi
|
|
|
174
182
|
body = Knockapi::Internal::Util.fused_enum(enum, external: true) do
|
|
175
183
|
finished = true
|
|
176
184
|
loop { enum.next }
|
|
177
|
-
ensure
|
|
178
|
-
closing&.call
|
|
179
185
|
end
|
|
180
186
|
[Integer(response.code), response, body]
|
|
181
187
|
end
|
|
@@ -346,8 +346,9 @@ module Knockapi
|
|
|
346
346
|
base_path, base_query = lhs.fetch_values(:path, :query)
|
|
347
347
|
slashed = base_path.end_with?("/") ? base_path : "#{base_path}/"
|
|
348
348
|
|
|
349
|
-
|
|
350
|
-
|
|
349
|
+
merged = {**parse_uri(rhs.fetch(:path)), **rhs.except(:path, :query)}
|
|
350
|
+
parsed_path, parsed_query = merged.fetch_values(:path, :query)
|
|
351
|
+
override = URI::Generic.build(**merged.slice(:scheme, :host, :port), path: parsed_path)
|
|
351
352
|
|
|
352
353
|
joined = URI.join(URI::Generic.build(lhs.except(:path, :query)), slashed, override)
|
|
353
354
|
query = deep_merge(
|
|
@@ -473,10 +474,9 @@ module Knockapi
|
|
|
473
474
|
# @return [Enumerable<String>]
|
|
474
475
|
def writable_enum(&blk)
|
|
475
476
|
Enumerator.new do |y|
|
|
476
|
-
buf = String.new
|
|
477
477
|
y.define_singleton_method(:write) do
|
|
478
|
-
self <<
|
|
479
|
-
|
|
478
|
+
self << _1.dup
|
|
479
|
+
_1.bytesize
|
|
480
480
|
end
|
|
481
481
|
|
|
482
482
|
blk.call(y)
|
|
@@ -12,7 +12,7 @@ module Knockapi
|
|
|
12
12
|
# @!attribute channel_data
|
|
13
13
|
# A request to set channel data for a type of channel inline.
|
|
14
14
|
#
|
|
15
|
-
# @return [Hash{Symbol=>Knockapi::Models::Recipients::
|
|
15
|
+
# @return [Hash{Symbol=>Knockapi::Models::Recipients::InlineChannelDataRequestItem::PushChannelDataTokensOnly, Knockapi::Models::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataTargetArNsOnly, Knockapi::Models::Recipients::InlineChannelDataRequestItem::OneSignalChannelDataPlayerIDsOnly, Knockapi::Models::Recipients::SlackChannelData, Knockapi::Models::Recipients::MsTeamsChannelData, Knockapi::Models::Recipients::DiscordChannelData}, nil]
|
|
16
16
|
optional :channel_data,
|
|
17
17
|
-> {
|
|
18
18
|
Knockapi::Internal::Type::HashOf[union: Knockapi::Recipients::InlineChannelDataRequestItem]
|
|
@@ -79,7 +79,7 @@ module Knockapi
|
|
|
79
79
|
#
|
|
80
80
|
# @param avatar [String, nil] A URL for the avatar of the user.
|
|
81
81
|
#
|
|
82
|
-
# @param channel_data [Hash{Symbol=>Knockapi::Models::Recipients::
|
|
82
|
+
# @param channel_data [Hash{Symbol=>Knockapi::Models::Recipients::InlineChannelDataRequestItem::PushChannelDataTokensOnly, Knockapi::Models::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataTargetArNsOnly, Knockapi::Models::Recipients::InlineChannelDataRequestItem::OneSignalChannelDataPlayerIDsOnly, Knockapi::Models::Recipients::SlackChannelData, Knockapi::Models::Recipients::MsTeamsChannelData, Knockapi::Models::Recipients::DiscordChannelData}, nil] A request to set channel data for a type of channel inline.
|
|
83
83
|
#
|
|
84
84
|
# @param created_at [Time, nil] The creation date of the user from your system.
|
|
85
85
|
#
|
|
@@ -18,7 +18,7 @@ module Knockapi
|
|
|
18
18
|
# @!attribute channel_data
|
|
19
19
|
# A request to set channel data for a type of channel inline.
|
|
20
20
|
#
|
|
21
|
-
# @return [Hash{Symbol=>Knockapi::Models::Recipients::
|
|
21
|
+
# @return [Hash{Symbol=>Knockapi::Models::Recipients::InlineChannelDataRequestItem::PushChannelDataTokensOnly, Knockapi::Models::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataTargetArNsOnly, Knockapi::Models::Recipients::InlineChannelDataRequestItem::OneSignalChannelDataPlayerIDsOnly, Knockapi::Models::Recipients::SlackChannelData, Knockapi::Models::Recipients::MsTeamsChannelData, Knockapi::Models::Recipients::DiscordChannelData}, nil]
|
|
22
22
|
optional :channel_data,
|
|
23
23
|
-> {
|
|
24
24
|
Knockapi::Internal::Type::HashOf[union: Knockapi::Recipients::InlineChannelDataRequestItem]
|
|
@@ -88,7 +88,7 @@ module Knockapi
|
|
|
88
88
|
#
|
|
89
89
|
# @param avatar [String, nil] A URL for the avatar of the user.
|
|
90
90
|
#
|
|
91
|
-
# @param channel_data [Hash{Symbol=>Knockapi::Models::Recipients::
|
|
91
|
+
# @param channel_data [Hash{Symbol=>Knockapi::Models::Recipients::InlineChannelDataRequestItem::PushChannelDataTokensOnly, Knockapi::Models::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataTargetArNsOnly, Knockapi::Models::Recipients::InlineChannelDataRequestItem::OneSignalChannelDataPlayerIDsOnly, Knockapi::Models::Recipients::SlackChannelData, Knockapi::Models::Recipients::MsTeamsChannelData, Knockapi::Models::Recipients::DiscordChannelData}, nil] A request to set channel data for a type of channel inline.
|
|
92
92
|
#
|
|
93
93
|
# @param created_at [Time, nil] The creation date of the user from your system.
|
|
94
94
|
#
|
|
@@ -18,7 +18,7 @@ module Knockapi
|
|
|
18
18
|
# @!attribute channel_data
|
|
19
19
|
# A request to set channel data for a type of channel inline.
|
|
20
20
|
#
|
|
21
|
-
# @return [Hash{Symbol=>Knockapi::Models::Recipients::
|
|
21
|
+
# @return [Hash{Symbol=>Knockapi::Models::Recipients::InlineChannelDataRequestItem::PushChannelDataTokensOnly, Knockapi::Models::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataTargetArNsOnly, Knockapi::Models::Recipients::InlineChannelDataRequestItem::OneSignalChannelDataPlayerIDsOnly, Knockapi::Models::Recipients::SlackChannelData, Knockapi::Models::Recipients::MsTeamsChannelData, Knockapi::Models::Recipients::DiscordChannelData}, nil]
|
|
22
22
|
optional :channel_data,
|
|
23
23
|
-> {
|
|
24
24
|
Knockapi::Internal::Type::HashOf[union: Knockapi::Recipients::InlineChannelDataRequestItem]
|
|
@@ -51,7 +51,7 @@ module Knockapi
|
|
|
51
51
|
#
|
|
52
52
|
# @param collection [String] The collection this object belongs to.
|
|
53
53
|
#
|
|
54
|
-
# @param channel_data [Hash{Symbol=>Knockapi::Models::Recipients::
|
|
54
|
+
# @param channel_data [Hash{Symbol=>Knockapi::Models::Recipients::InlineChannelDataRequestItem::PushChannelDataTokensOnly, Knockapi::Models::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataTargetArNsOnly, Knockapi::Models::Recipients::InlineChannelDataRequestItem::OneSignalChannelDataPlayerIDsOnly, Knockapi::Models::Recipients::SlackChannelData, Knockapi::Models::Recipients::MsTeamsChannelData, Knockapi::Models::Recipients::DiscordChannelData}, nil] A request to set channel data for a type of channel inline.
|
|
55
55
|
#
|
|
56
56
|
# @param created_at [Time, nil] Timestamp when the resource was created.
|
|
57
57
|
#
|
|
@@ -17,7 +17,9 @@ module Knockapi
|
|
|
17
17
|
required :_typename, String, api_name: :__typename
|
|
18
18
|
|
|
19
19
|
# @!attribute channel_id
|
|
20
|
-
#
|
|
20
|
+
# @deprecated
|
|
21
|
+
#
|
|
22
|
+
# Deprecated, use channel.id instead.
|
|
21
23
|
#
|
|
22
24
|
# @return [String]
|
|
23
25
|
required :channel_id, String
|
|
@@ -74,6 +76,12 @@ module Knockapi
|
|
|
74
76
|
# @return [Time, nil]
|
|
75
77
|
optional :archived_at, Time, nil?: true
|
|
76
78
|
|
|
79
|
+
# @!attribute channel
|
|
80
|
+
# A configured channel, which is a way to route messages to a provider.
|
|
81
|
+
#
|
|
82
|
+
# @return [Knockapi::Models::Message::Channel, nil]
|
|
83
|
+
optional :channel, -> { Knockapi::Message::Channel }
|
|
84
|
+
|
|
77
85
|
# @!attribute clicked_at
|
|
78
86
|
# Timestamp when the message was clicked.
|
|
79
87
|
#
|
|
@@ -141,7 +149,7 @@ module Knockapi
|
|
|
141
149
|
# @return [String, nil]
|
|
142
150
|
optional :workflow, String, nil?: true
|
|
143
151
|
|
|
144
|
-
# @!method initialize(id:, _typename:, channel_id:, engagement_statuses:, inserted_at:, recipient:, source:, status:, updated_at:, actors: nil, archived_at: nil, clicked_at: nil, data: nil, interacted_at: nil, link_clicked_at: nil, metadata: nil, read_at: nil, scheduled_at: nil, seen_at: nil, tenant: nil, workflow: nil)
|
|
152
|
+
# @!method initialize(id:, _typename:, channel_id:, engagement_statuses:, inserted_at:, recipient:, source:, status:, updated_at:, actors: nil, archived_at: nil, channel: nil, clicked_at: nil, data: nil, interacted_at: nil, link_clicked_at: nil, metadata: nil, read_at: nil, scheduled_at: nil, seen_at: nil, tenant: nil, workflow: nil)
|
|
145
153
|
# Some parameter documentations has been truncated, see
|
|
146
154
|
# {Knockapi::Models::Message} for more details.
|
|
147
155
|
#
|
|
@@ -152,7 +160,7 @@ module Knockapi
|
|
|
152
160
|
#
|
|
153
161
|
# @param _typename [String] The typename of the schema.
|
|
154
162
|
#
|
|
155
|
-
# @param channel_id [String]
|
|
163
|
+
# @param channel_id [String] Deprecated, use channel.id instead.
|
|
156
164
|
#
|
|
157
165
|
# @param engagement_statuses [Array<Symbol, Knockapi::Models::Message::EngagementStatus>] A list of engagement statuses.
|
|
158
166
|
#
|
|
@@ -170,6 +178,8 @@ module Knockapi
|
|
|
170
178
|
#
|
|
171
179
|
# @param archived_at [Time, nil] Timestamp when the message was archived.
|
|
172
180
|
#
|
|
181
|
+
# @param channel [Knockapi::Models::Message::Channel] A configured channel, which is a way to route messages to a provider.
|
|
182
|
+
#
|
|
173
183
|
# @param clicked_at [Time, nil] Timestamp when the message was clicked.
|
|
174
184
|
#
|
|
175
185
|
# @param data [Hash{Symbol=>Object}, nil] Data associated with the message’s workflow run. Includes the workflow trigger r
|
|
@@ -289,6 +299,87 @@ module Knockapi
|
|
|
289
299
|
# @!method self.values
|
|
290
300
|
# @return [Array<Symbol>]
|
|
291
301
|
end
|
|
302
|
+
|
|
303
|
+
# @see Knockapi::Models::Message#channel
|
|
304
|
+
class Channel < Knockapi::Internal::Type::BaseModel
|
|
305
|
+
# @!attribute id
|
|
306
|
+
# The unique identifier for the channel.
|
|
307
|
+
#
|
|
308
|
+
# @return [String]
|
|
309
|
+
required :id, String
|
|
310
|
+
|
|
311
|
+
# @!attribute created_at
|
|
312
|
+
# The timestamp of when the channel was created.
|
|
313
|
+
#
|
|
314
|
+
# @return [Time]
|
|
315
|
+
required :created_at, Time
|
|
316
|
+
|
|
317
|
+
# @!attribute provider
|
|
318
|
+
# The ID of the provider that this channel uses to deliver messages.
|
|
319
|
+
#
|
|
320
|
+
# @return [String]
|
|
321
|
+
required :provider, String
|
|
322
|
+
|
|
323
|
+
# @!attribute type
|
|
324
|
+
# The type of channel, determining what kind of messages it can send.
|
|
325
|
+
#
|
|
326
|
+
# @return [Symbol, Knockapi::Models::Message::Channel::Type]
|
|
327
|
+
required :type, enum: -> { Knockapi::Message::Channel::Type }
|
|
328
|
+
|
|
329
|
+
# @!attribute updated_at
|
|
330
|
+
# The timestamp of when the channel was last updated.
|
|
331
|
+
#
|
|
332
|
+
# @return [Time]
|
|
333
|
+
required :updated_at, Time
|
|
334
|
+
|
|
335
|
+
# @!attribute key
|
|
336
|
+
# Unique identifier for the channel within a project (immutable once created).
|
|
337
|
+
#
|
|
338
|
+
# @return [String, nil]
|
|
339
|
+
optional :key, String, nil?: true
|
|
340
|
+
|
|
341
|
+
# @!attribute name
|
|
342
|
+
# The human-readable name of the channel.
|
|
343
|
+
#
|
|
344
|
+
# @return [String, nil]
|
|
345
|
+
optional :name, String, nil?: true
|
|
346
|
+
|
|
347
|
+
# @!method initialize(id:, created_at:, provider:, type:, updated_at:, key: nil, name: nil)
|
|
348
|
+
# A configured channel, which is a way to route messages to a provider.
|
|
349
|
+
#
|
|
350
|
+
# @param id [String] The unique identifier for the channel.
|
|
351
|
+
#
|
|
352
|
+
# @param created_at [Time] The timestamp of when the channel was created.
|
|
353
|
+
#
|
|
354
|
+
# @param provider [String] The ID of the provider that this channel uses to deliver messages.
|
|
355
|
+
#
|
|
356
|
+
# @param type [Symbol, Knockapi::Models::Message::Channel::Type] The type of channel, determining what kind of messages it can send.
|
|
357
|
+
#
|
|
358
|
+
# @param updated_at [Time] The timestamp of when the channel was last updated.
|
|
359
|
+
#
|
|
360
|
+
# @param key [String, nil] Unique identifier for the channel within a project (immutable once created).
|
|
361
|
+
#
|
|
362
|
+
# @param name [String, nil] The human-readable name of the channel.
|
|
363
|
+
|
|
364
|
+
# The type of channel, determining what kind of messages it can send.
|
|
365
|
+
#
|
|
366
|
+
# @see Knockapi::Models::Message::Channel#type
|
|
367
|
+
module Type
|
|
368
|
+
extend Knockapi::Internal::Type::Enum
|
|
369
|
+
|
|
370
|
+
EMAIL = :email
|
|
371
|
+
IN_APP = :in_app
|
|
372
|
+
IN_APP_FEED = :in_app_feed
|
|
373
|
+
IN_APP_GUIDE = :in_app_guide
|
|
374
|
+
SMS = :sms
|
|
375
|
+
PUSH = :push
|
|
376
|
+
CHAT = :chat
|
|
377
|
+
HTTP = :http
|
|
378
|
+
|
|
379
|
+
# @!method self.values
|
|
380
|
+
# @return [Array<Symbol>]
|
|
381
|
+
end
|
|
382
|
+
end
|
|
292
383
|
end
|
|
293
384
|
end
|
|
294
385
|
end
|
|
@@ -4,7 +4,7 @@ module Knockapi
|
|
|
4
4
|
module Models
|
|
5
5
|
module Messages
|
|
6
6
|
# @type [Knockapi::Internal::Type::Converter]
|
|
7
|
-
BatchArchiveResponse = Knockapi::Internal::Type::ArrayOf[-> { Knockapi::
|
|
7
|
+
BatchArchiveResponse = Knockapi::Internal::Type::ArrayOf[-> { Knockapi::Message }]
|
|
8
8
|
end
|
|
9
9
|
end
|
|
10
10
|
end
|
|
@@ -4,7 +4,7 @@ module Knockapi
|
|
|
4
4
|
module Models
|
|
5
5
|
module Messages
|
|
6
6
|
# @type [Knockapi::Internal::Type::Converter]
|
|
7
|
-
BatchMarkAsInteractedResponse = Knockapi::Internal::Type::ArrayOf[-> { Knockapi::
|
|
7
|
+
BatchMarkAsInteractedResponse = Knockapi::Internal::Type::ArrayOf[-> { Knockapi::Message }]
|
|
8
8
|
end
|
|
9
9
|
end
|
|
10
10
|
end
|
|
@@ -4,7 +4,7 @@ module Knockapi
|
|
|
4
4
|
module Models
|
|
5
5
|
module Messages
|
|
6
6
|
# @type [Knockapi::Internal::Type::Converter]
|
|
7
|
-
BatchMarkAsReadResponse = Knockapi::Internal::Type::ArrayOf[-> { Knockapi::
|
|
7
|
+
BatchMarkAsReadResponse = Knockapi::Internal::Type::ArrayOf[-> { Knockapi::Message }]
|
|
8
8
|
end
|
|
9
9
|
end
|
|
10
10
|
end
|
|
@@ -4,7 +4,7 @@ module Knockapi
|
|
|
4
4
|
module Models
|
|
5
5
|
module Messages
|
|
6
6
|
# @type [Knockapi::Internal::Type::Converter]
|
|
7
|
-
BatchMarkAsSeenResponse = Knockapi::Internal::Type::ArrayOf[-> { Knockapi::
|
|
7
|
+
BatchMarkAsSeenResponse = Knockapi::Internal::Type::ArrayOf[-> { Knockapi::Message }]
|
|
8
8
|
end
|
|
9
9
|
end
|
|
10
10
|
end
|
|
@@ -4,7 +4,7 @@ module Knockapi
|
|
|
4
4
|
module Models
|
|
5
5
|
module Messages
|
|
6
6
|
# @type [Knockapi::Internal::Type::Converter]
|
|
7
|
-
BatchMarkAsUnreadResponse = Knockapi::Internal::Type::ArrayOf[-> { Knockapi::
|
|
7
|
+
BatchMarkAsUnreadResponse = Knockapi::Internal::Type::ArrayOf[-> { Knockapi::Message }]
|
|
8
8
|
end
|
|
9
9
|
end
|
|
10
10
|
end
|
|
@@ -4,7 +4,7 @@ module Knockapi
|
|
|
4
4
|
module Models
|
|
5
5
|
module Messages
|
|
6
6
|
# @type [Knockapi::Internal::Type::Converter]
|
|
7
|
-
BatchMarkAsUnseenResponse = Knockapi::Internal::Type::ArrayOf[-> { Knockapi::
|
|
7
|
+
BatchMarkAsUnseenResponse = Knockapi::Internal::Type::ArrayOf[-> { Knockapi::Message }]
|
|
8
8
|
end
|
|
9
9
|
end
|
|
10
10
|
end
|
|
@@ -4,7 +4,7 @@ module Knockapi
|
|
|
4
4
|
module Models
|
|
5
5
|
module Messages
|
|
6
6
|
# @type [Knockapi::Internal::Type::Converter]
|
|
7
|
-
BatchUnarchiveResponse = Knockapi::Internal::Type::ArrayOf[-> { Knockapi::
|
|
7
|
+
BatchUnarchiveResponse = Knockapi::Internal::Type::ArrayOf[-> { Knockapi::Message }]
|
|
8
8
|
end
|
|
9
9
|
end
|
|
10
10
|
end
|
|
@@ -10,7 +10,7 @@ module Knockapi
|
|
|
10
10
|
# @!attribute channel_data
|
|
11
11
|
# A request to set channel data for a type of channel inline.
|
|
12
12
|
#
|
|
13
|
-
# @return [Hash{Symbol=>Knockapi::Models::Recipients::
|
|
13
|
+
# @return [Hash{Symbol=>Knockapi::Models::Recipients::InlineChannelDataRequestItem::PushChannelDataTokensOnly, Knockapi::Models::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataTargetArNsOnly, Knockapi::Models::Recipients::InlineChannelDataRequestItem::OneSignalChannelDataPlayerIDsOnly, Knockapi::Models::Recipients::SlackChannelData, Knockapi::Models::Recipients::MsTeamsChannelData, Knockapi::Models::Recipients::DiscordChannelData}, nil]
|
|
14
14
|
optional :channel_data,
|
|
15
15
|
-> { Knockapi::Internal::Type::HashOf[union: Knockapi::Recipients::InlineChannelDataRequestItem] }
|
|
16
16
|
|
|
@@ -42,7 +42,7 @@ module Knockapi
|
|
|
42
42
|
# Some parameter documentations has been truncated, see
|
|
43
43
|
# {Knockapi::Models::ObjectSetParams} for more details.
|
|
44
44
|
#
|
|
45
|
-
# @param channel_data [Hash{Symbol=>Knockapi::Models::Recipients::
|
|
45
|
+
# @param channel_data [Hash{Symbol=>Knockapi::Models::Recipients::InlineChannelDataRequestItem::PushChannelDataTokensOnly, Knockapi::Models::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataTargetArNsOnly, Knockapi::Models::Recipients::InlineChannelDataRequestItem::OneSignalChannelDataPlayerIDsOnly, Knockapi::Models::Recipients::SlackChannelData, Knockapi::Models::Recipients::MsTeamsChannelData, Knockapi::Models::Recipients::DiscordChannelData}] A request to set channel data for a type of channel inline.
|
|
46
46
|
#
|
|
47
47
|
# @param locale [String, nil] The locale of the object. Used for [message localization](/concepts/translations
|
|
48
48
|
#
|
|
@@ -29,7 +29,7 @@ module Knockapi
|
|
|
29
29
|
# @!attribute channel_data
|
|
30
30
|
# A request to set channel data for a type of channel inline.
|
|
31
31
|
#
|
|
32
|
-
# @return [Hash{Symbol=>Knockapi::Models::Recipients::
|
|
32
|
+
# @return [Hash{Symbol=>Knockapi::Models::Recipients::InlineChannelDataRequestItem::PushChannelDataTokensOnly, Knockapi::Models::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataTargetArNsOnly, Knockapi::Models::Recipients::InlineChannelDataRequestItem::OneSignalChannelDataPlayerIDsOnly, Knockapi::Models::Recipients::SlackChannelData, Knockapi::Models::Recipients::MsTeamsChannelData, Knockapi::Models::Recipients::DiscordChannelData}, nil]
|
|
33
33
|
optional :channel_data,
|
|
34
34
|
-> {
|
|
35
35
|
Knockapi::Internal::Type::HashOf[union: Knockapi::Recipients::InlineChannelDataRequestItem]
|
|
@@ -60,7 +60,7 @@ module Knockapi
|
|
|
60
60
|
#
|
|
61
61
|
# @param id [String] Unique identifier for the object.
|
|
62
62
|
#
|
|
63
|
-
# @param channel_data [Hash{Symbol=>Knockapi::Models::Recipients::
|
|
63
|
+
# @param channel_data [Hash{Symbol=>Knockapi::Models::Recipients::InlineChannelDataRequestItem::PushChannelDataTokensOnly, Knockapi::Models::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataTargetArNsOnly, Knockapi::Models::Recipients::InlineChannelDataRequestItem::OneSignalChannelDataPlayerIDsOnly, Knockapi::Models::Recipients::SlackChannelData, Knockapi::Models::Recipients::MsTeamsChannelData, Knockapi::Models::Recipients::DiscordChannelData}, nil] A request to set channel data for a type of channel inline.
|
|
64
64
|
#
|
|
65
65
|
# @param created_at [Time, nil] Timestamp when the resource was created.
|
|
66
66
|
#
|