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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +32 -0
- data/README.md +1 -1
- data/lib/knockapi/models/audience_add_members_params.rb +3 -30
- data/lib/knockapi/models/audience_member_request.rb +32 -0
- data/lib/knockapi/models/audience_remove_members_params.rb +3 -30
- data/lib/knockapi/models/list_messages_response.rb +26 -0
- data/lib/knockapi/models/list_schedules_response.rb +26 -0
- data/lib/knockapi/models/list_subscriptions_response.rb +26 -0
- data/lib/knockapi/models/message.rb +37 -11
- data/lib/knockapi/models/{message_get_content_response.rb → message_contents.rb} +30 -156
- data/lib/knockapi/models/message_event.rb +8 -8
- data/lib/knockapi/models/message_in_app_feed_button_set_block.rb +76 -0
- data/lib/knockapi/models/message_in_app_feed_content_block.rb +55 -0
- data/lib/knockapi/models/messages/batch_archive_params.rb +2 -10
- data/lib/knockapi/models/messages/batch_get_content_response.rb +1 -495
- data/lib/knockapi/models/messages/batch_mark_as_read_params.rb +2 -10
- data/lib/knockapi/models/messages/batch_mark_as_seen_params.rb +2 -10
- data/lib/knockapi/models/messages/batch_mark_as_unread_params.rb +2 -10
- data/lib/knockapi/models/messages/batch_mark_as_unseen_params.rb +2 -10
- data/lib/knockapi/models/messages/batch_messages_status_request.rb +20 -0
- data/lib/knockapi/models/messages/batch_unarchive_params.rb +2 -10
- data/lib/knockapi/models/preference_set_commercial_subscribed_setting.rb +19 -0
- data/lib/knockapi/models/recipients/preference_set.rb +26 -4
- data/lib/knockapi/models/recipients/preference_set_request.rb +26 -4
- data/lib/knockapi/models/recipients/slack_channel_data.rb +9 -1
- data/lib/knockapi/models/users/bulk_set_preferences_params.rb +26 -4
- data/lib/knockapi/models/users/feed_list_items_response.rb +5 -128
- data/lib/knockapi/models/users/{guide_mark_message_as_archived_response.rb → guide_action_response.rb} +1 -1
- data/lib/knockapi/models/users/guide_archived_request.rb +72 -0
- data/lib/knockapi/models/users/guide_interacted_request.rb +60 -0
- data/lib/knockapi/models/users/guide_mark_message_as_archived_params.rb +2 -70
- data/lib/knockapi/models/users/guide_mark_message_as_interacted_params.rb +2 -58
- data/lib/knockapi/models/users/guide_mark_message_as_seen_params.rb +2 -66
- data/lib/knockapi/models/users/guide_reset_guide_engagements_params.rb +39 -0
- data/lib/knockapi/models/users/guide_seen_request.rb +68 -0
- data/lib/knockapi/models/users/guide_unarchive_guide_message_params.rb +39 -0
- data/lib/knockapi/models/users/preference_center_branding_config.rb +50 -0
- data/lib/knockapi/models/users/preference_center_generate_signed_url_params.rb +22 -0
- data/lib/knockapi/models/users/preference_center_generate_signed_url_response.rb +34 -0
- data/lib/knockapi/models/users/preference_center_get_config_params.rb +22 -0
- data/lib/knockapi/models/users/preference_center_get_config_response.rb +221 -0
- data/lib/knockapi/models.rb +16 -0
- data/lib/knockapi/resources/audiences.rb +2 -2
- data/lib/knockapi/resources/messages/batch.rb +2 -2
- data/lib/knockapi/resources/messages.rb +2 -2
- data/lib/knockapi/resources/objects.rb +1 -1
- data/lib/knockapi/resources/users/guides.rb +69 -21
- data/lib/knockapi/resources/users/preference_center.rb +60 -0
- data/lib/knockapi/resources/users.rb +7 -1
- data/lib/knockapi/version.rb +1 -1
- data/lib/knockapi.rb +21 -4
- data/rbi/knockapi/models/audience_add_members_params.rbi +3 -56
- data/rbi/knockapi/models/audience_member_request.rbi +55 -0
- data/rbi/knockapi/models/audience_remove_members_params.rbi +3 -57
- data/rbi/knockapi/models/list_messages_response.rbi +46 -0
- data/rbi/knockapi/models/list_schedules_response.rbi +49 -0
- data/rbi/knockapi/models/list_subscriptions_response.rbi +52 -0
- data/rbi/knockapi/models/message.rbi +50 -18
- data/rbi/knockapi/models/{message_get_content_response.rbi → message_contents.rbi} +43 -299
- data/rbi/knockapi/models/message_event.rbi +19 -19
- data/rbi/knockapi/models/message_in_app_feed_button_set_block.rbi +133 -0
- data/rbi/knockapi/models/message_in_app_feed_content_block.rbi +97 -0
- data/rbi/knockapi/models/messages/batch_archive_params.rbi +6 -22
- data/rbi/knockapi/models/messages/batch_get_content_response.rbi +1 -879
- data/rbi/knockapi/models/messages/batch_mark_as_read_params.rbi +6 -22
- data/rbi/knockapi/models/messages/batch_mark_as_seen_params.rbi +6 -22
- data/rbi/knockapi/models/messages/batch_mark_as_unread_params.rbi +6 -22
- data/rbi/knockapi/models/messages/batch_mark_as_unseen_params.rbi +6 -22
- data/rbi/knockapi/models/messages/batch_messages_status_request.rbi +33 -0
- data/rbi/knockapi/models/messages/batch_unarchive_params.rbi +6 -22
- data/rbi/knockapi/models/preference_set_commercial_subscribed_setting.rbi +36 -0
- data/rbi/knockapi/models/recipients/preference_set.rbi +50 -5
- data/rbi/knockapi/models/recipients/preference_set_request.rbi +56 -5
- data/rbi/knockapi/models/recipients/slack_channel_data.rbi +8 -0
- data/rbi/knockapi/models/users/bulk_set_preferences_params.rbi +56 -5
- data/rbi/knockapi/models/users/feed_list_items_response.rbi +4 -251
- data/rbi/knockapi/models/users/{guide_mark_message_as_seen_response.rbi → guide_action_response.rbi} +2 -2
- data/rbi/knockapi/models/users/guide_archived_request.rbi +102 -0
- data/rbi/knockapi/models/users/guide_interacted_request.rbi +89 -0
- data/rbi/knockapi/models/users/guide_mark_message_as_archived_params.rbi +3 -82
- data/rbi/knockapi/models/users/guide_mark_message_as_interacted_params.rbi +3 -69
- data/rbi/knockapi/models/users/guide_mark_message_as_seen_params.rbi +3 -77
- data/rbi/knockapi/models/users/guide_reset_guide_engagements_params.rbi +65 -0
- data/rbi/knockapi/models/users/guide_seen_request.rbi +97 -0
- data/rbi/knockapi/models/users/guide_unarchive_guide_message_params.rbi +65 -0
- data/rbi/knockapi/models/users/preference_center_branding_config.rbi +72 -0
- data/rbi/knockapi/models/users/preference_center_generate_signed_url_params.rbi +40 -0
- data/rbi/knockapi/models/users/preference_center_generate_signed_url_response.rbi +41 -0
- data/rbi/knockapi/models/users/preference_center_get_config_params.rbi +40 -0
- data/rbi/knockapi/models/users/preference_center_get_config_response.rbi +476 -0
- data/rbi/knockapi/models.rbi +18 -0
- data/rbi/knockapi/resources/audiences.rbi +2 -3
- data/rbi/knockapi/resources/messages/batch.rbi +1 -3
- data/rbi/knockapi/resources/messages.rbi +1 -1
- data/rbi/knockapi/resources/objects.rbi +10 -2
- data/rbi/knockapi/resources/users/guides.rbi +45 -11
- data/rbi/knockapi/resources/users/preference_center.rbi +48 -0
- data/rbi/knockapi/resources/users.rbi +15 -2
- data/sig/knockapi/models/audience_add_members_params.rbs +4 -23
- data/sig/knockapi/models/audience_member_request.rbs +22 -0
- data/sig/knockapi/models/audience_remove_members_params.rbs +4 -26
- data/sig/knockapi/models/list_messages_response.rbs +22 -0
- data/sig/knockapi/models/list_schedules_response.rbs +22 -0
- data/sig/knockapi/models/list_subscriptions_response.rbs +25 -0
- data/sig/knockapi/models/message.rbs +28 -5
- data/sig/knockapi/models/message_contents.rbs +286 -0
- data/sig/knockapi/models/message_event.rbs +16 -16
- data/sig/knockapi/models/message_in_app_feed_button_set_block.rbs +54 -0
- data/sig/knockapi/models/message_in_app_feed_content_block.rbs +46 -0
- data/sig/knockapi/models/messages/batch_archive_params.rbs +4 -13
- data/sig/knockapi/models/messages/batch_get_content_response.rbs +1 -391
- data/sig/knockapi/models/messages/batch_mark_as_read_params.rbs +4 -13
- data/sig/knockapi/models/messages/batch_mark_as_seen_params.rbs +4 -13
- data/sig/knockapi/models/messages/batch_mark_as_unread_params.rbs +4 -13
- data/sig/knockapi/models/messages/batch_mark_as_unseen_params.rbs +4 -13
- data/sig/knockapi/models/messages/batch_messages_status_request.rbs +15 -0
- data/sig/knockapi/models/messages/batch_unarchive_params.rbs +4 -13
- data/sig/knockapi/models/preference_set_commercial_subscribed_setting.rbs +14 -0
- data/sig/knockapi/models/recipients/preference_set.rbs +13 -4
- data/sig/knockapi/models/recipients/preference_set_request.rbs +13 -4
- data/sig/knockapi/models/recipients/slack_channel_data.rbs +10 -1
- data/sig/knockapi/models/users/bulk_set_preferences_params.rbs +13 -4
- data/sig/knockapi/models/users/feed_list_items_response.rbs +2 -100
- data/sig/knockapi/models/users/{guide_mark_message_as_seen_response.rbs → guide_action_response.rbs} +2 -2
- data/sig/knockapi/models/users/guide_archived_request.rbs +58 -0
- data/sig/knockapi/models/users/guide_interacted_request.rbs +51 -0
- data/sig/knockapi/models/users/guide_mark_message_as_archived_params.rbs +4 -51
- data/sig/knockapi/models/users/guide_mark_message_as_interacted_params.rbs +4 -44
- data/sig/knockapi/models/users/guide_mark_message_as_seen_params.rbs +4 -49
- data/sig/knockapi/models/users/guide_reset_guide_engagements_params.rbs +36 -0
- data/sig/knockapi/models/users/guide_seen_request.rbs +56 -0
- data/sig/knockapi/models/users/guide_unarchive_guide_message_params.rbs +36 -0
- data/sig/knockapi/models/users/preference_center_branding_config.rbs +37 -0
- data/sig/knockapi/models/users/preference_center_generate_signed_url_params.rbs +25 -0
- data/sig/knockapi/models/users/preference_center_generate_signed_url_response.rbs +18 -0
- data/sig/knockapi/models/users/preference_center_get_config_params.rbs +25 -0
- data/sig/knockapi/models/users/preference_center_get_config_response.rbs +189 -0
- data/sig/knockapi/models.rbs +16 -0
- data/sig/knockapi/resources/audiences.rbs +2 -2
- data/sig/knockapi/resources/messages.rbs +1 -1
- data/sig/knockapi/resources/objects.rbs +1 -1
- data/sig/knockapi/resources/users/guides.rbs +17 -6
- data/sig/knockapi/resources/users/preference_center.rbs +19 -0
- data/sig/knockapi/resources/users.rbs +3 -1
- metadata +65 -14
- data/lib/knockapi/models/users/guide_mark_message_as_interacted_response.rb +0 -21
- data/lib/knockapi/models/users/guide_mark_message_as_seen_response.rb +0 -21
- data/rbi/knockapi/models/users/guide_mark_message_as_archived_response.rbi +0 -33
- data/rbi/knockapi/models/users/guide_mark_message_as_interacted_response.rbi +0 -33
- data/sig/knockapi/models/message_get_content_response.rbs +0 -384
- data/sig/knockapi/models/users/guide_mark_message_as_archived_response.rbs +0 -15
- data/sig/knockapi/models/users/guide_mark_message_as_interacted_response.rbs +0 -15
|
@@ -111,14 +111,14 @@ module Knockapi
|
|
|
111
111
|
#
|
|
112
112
|
# @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
113
113
|
#
|
|
114
|
-
# @return [Knockapi::Models::
|
|
114
|
+
# @return [Knockapi::Models::MessageContents]
|
|
115
115
|
#
|
|
116
116
|
# @see Knockapi::Models::MessageGetContentParams
|
|
117
117
|
def get_content(message_id, params = {})
|
|
118
118
|
@client.request(
|
|
119
119
|
method: :get,
|
|
120
120
|
path: ["v1/messages/%1$s/content", message_id],
|
|
121
|
-
model: Knockapi::
|
|
121
|
+
model: Knockapi::MessageContents,
|
|
122
122
|
options: params[:request_options]
|
|
123
123
|
)
|
|
124
124
|
end
|
|
@@ -459,7 +459,7 @@ module Knockapi
|
|
|
459
459
|
#
|
|
460
460
|
# @param channels [Hash{Symbol=>Boolean, Knockapi::Models::Recipients::PreferenceSetChannelSetting}, nil] Channel preferences.
|
|
461
461
|
#
|
|
462
|
-
# @param commercial_subscribed [Boolean, nil] Whether the recipient is subscribed to commercial communications. When false, th
|
|
462
|
+
# @param commercial_subscribed [Boolean, Knockapi::Models::PreferenceSetCommercialSubscribedSetting, nil] Whether the recipient is subscribed to commercial communications. When false, th
|
|
463
463
|
#
|
|
464
464
|
# @param workflows [Hash{Symbol=>Boolean, Knockapi::Models::Recipients::PreferenceSetRequest::Workflow::PreferenceSetWorkflowCategorySettingObject}, nil] An object where the key is the workflow key and the values are the preference se
|
|
465
465
|
#
|
|
@@ -43,12 +43,10 @@ module Knockapi
|
|
|
43
43
|
# Records that a guide has been archived by a user, triggering any associated
|
|
44
44
|
# archived events.
|
|
45
45
|
#
|
|
46
|
-
# @overload mark_message_as_archived(user_id,
|
|
46
|
+
# @overload mark_message_as_archived(user_id, channel_id:, guide_id:, guide_key:, guide_step_ref:, is_final: nil, tenant: nil, unthrottled: nil, request_options: {})
|
|
47
47
|
#
|
|
48
48
|
# @param user_id [String] The unique identifier of the user.
|
|
49
49
|
#
|
|
50
|
-
# @param message_id [String]
|
|
51
|
-
#
|
|
52
50
|
# @param channel_id [String] The unique identifier for the channel.
|
|
53
51
|
#
|
|
54
52
|
# @param guide_id [String] The unique identifier for the guide.
|
|
@@ -65,16 +63,16 @@ module Knockapi
|
|
|
65
63
|
#
|
|
66
64
|
# @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
67
65
|
#
|
|
68
|
-
# @return [Knockapi::Models::Users::
|
|
66
|
+
# @return [Knockapi::Models::Users::GuideActionResponse]
|
|
69
67
|
#
|
|
70
68
|
# @see Knockapi::Models::Users::GuideMarkMessageAsArchivedParams
|
|
71
|
-
def mark_message_as_archived(user_id,
|
|
69
|
+
def mark_message_as_archived(user_id, params)
|
|
72
70
|
parsed, options = Knockapi::Users::GuideMarkMessageAsArchivedParams.dump_request(params)
|
|
73
71
|
@client.request(
|
|
74
72
|
method: :put,
|
|
75
|
-
path: ["v1/users/%1$s/guides/messages
|
|
73
|
+
path: ["v1/users/%1$s/guides/messages/archived", user_id],
|
|
76
74
|
body: parsed,
|
|
77
|
-
model: Knockapi::
|
|
75
|
+
model: Knockapi::Users::GuideActionResponse,
|
|
78
76
|
options: options
|
|
79
77
|
)
|
|
80
78
|
end
|
|
@@ -82,12 +80,10 @@ module Knockapi
|
|
|
82
80
|
# Records that a user has interacted with a guide, triggering any associated
|
|
83
81
|
# interacted events.
|
|
84
82
|
#
|
|
85
|
-
# @overload mark_message_as_interacted(user_id,
|
|
83
|
+
# @overload mark_message_as_interacted(user_id, channel_id:, guide_id:, guide_key:, guide_step_ref:, metadata: nil, tenant: nil, request_options: {})
|
|
86
84
|
#
|
|
87
85
|
# @param user_id [String] The unique identifier of the user.
|
|
88
86
|
#
|
|
89
|
-
# @param message_id [String]
|
|
90
|
-
#
|
|
91
87
|
# @param channel_id [String] The unique identifier for the channel.
|
|
92
88
|
#
|
|
93
89
|
# @param guide_id [String] The unique identifier for the guide.
|
|
@@ -102,16 +98,16 @@ module Knockapi
|
|
|
102
98
|
#
|
|
103
99
|
# @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
104
100
|
#
|
|
105
|
-
# @return [Knockapi::Models::Users::
|
|
101
|
+
# @return [Knockapi::Models::Users::GuideActionResponse]
|
|
106
102
|
#
|
|
107
103
|
# @see Knockapi::Models::Users::GuideMarkMessageAsInteractedParams
|
|
108
|
-
def mark_message_as_interacted(user_id,
|
|
104
|
+
def mark_message_as_interacted(user_id, params)
|
|
109
105
|
parsed, options = Knockapi::Users::GuideMarkMessageAsInteractedParams.dump_request(params)
|
|
110
106
|
@client.request(
|
|
111
107
|
method: :put,
|
|
112
|
-
path: ["v1/users/%1$s/guides/messages
|
|
108
|
+
path: ["v1/users/%1$s/guides/messages/interacted", user_id],
|
|
113
109
|
body: parsed,
|
|
114
|
-
model: Knockapi::
|
|
110
|
+
model: Knockapi::Users::GuideActionResponse,
|
|
115
111
|
options: options
|
|
116
112
|
)
|
|
117
113
|
end
|
|
@@ -119,12 +115,10 @@ module Knockapi
|
|
|
119
115
|
# Records that a guide has been seen by a user, triggering any associated seen
|
|
120
116
|
# events.
|
|
121
117
|
#
|
|
122
|
-
# @overload mark_message_as_seen(user_id,
|
|
118
|
+
# @overload mark_message_as_seen(user_id, channel_id:, content:, guide_id:, guide_key:, guide_step_ref:, data: nil, tenant: nil, request_options: {})
|
|
123
119
|
#
|
|
124
120
|
# @param user_id [String] The unique identifier of the user.
|
|
125
121
|
#
|
|
126
|
-
# @param message_id [String]
|
|
127
|
-
#
|
|
128
122
|
# @param channel_id [String] The unique identifier for the channel.
|
|
129
123
|
#
|
|
130
124
|
# @param content [Hash{Symbol=>Object}] The content of the guide.
|
|
@@ -141,16 +135,70 @@ module Knockapi
|
|
|
141
135
|
#
|
|
142
136
|
# @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
143
137
|
#
|
|
144
|
-
# @return [Knockapi::Models::Users::
|
|
138
|
+
# @return [Knockapi::Models::Users::GuideActionResponse]
|
|
145
139
|
#
|
|
146
140
|
# @see Knockapi::Models::Users::GuideMarkMessageAsSeenParams
|
|
147
|
-
def mark_message_as_seen(user_id,
|
|
141
|
+
def mark_message_as_seen(user_id, params)
|
|
148
142
|
parsed, options = Knockapi::Users::GuideMarkMessageAsSeenParams.dump_request(params)
|
|
149
143
|
@client.request(
|
|
150
144
|
method: :put,
|
|
151
|
-
path: ["v1/users/%1$s/guides/messages
|
|
145
|
+
path: ["v1/users/%1$s/guides/messages/seen", user_id],
|
|
146
|
+
body: parsed,
|
|
147
|
+
model: Knockapi::Users::GuideActionResponse,
|
|
148
|
+
options: options
|
|
149
|
+
)
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
# Resets the engagement state of a guide for a user, removing the guide's
|
|
153
|
+
# engagement log entry so the next interaction creates a fresh engagement.
|
|
154
|
+
#
|
|
155
|
+
# @overload reset_guide_engagements(user_id, guide_key:, tenant: nil, request_options: {})
|
|
156
|
+
#
|
|
157
|
+
# @param user_id [String] The unique identifier of the user.
|
|
158
|
+
#
|
|
159
|
+
# @param guide_key [String] The key of the guide.
|
|
160
|
+
#
|
|
161
|
+
# @param tenant [String] The tenant ID of the guide.
|
|
162
|
+
#
|
|
163
|
+
# @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
164
|
+
#
|
|
165
|
+
# @return [Knockapi::Models::Users::GuideActionResponse]
|
|
166
|
+
#
|
|
167
|
+
# @see Knockapi::Models::Users::GuideResetGuideEngagementsParams
|
|
168
|
+
def reset_guide_engagements(user_id, params)
|
|
169
|
+
parsed, options = Knockapi::Users::GuideResetGuideEngagementsParams.dump_request(params)
|
|
170
|
+
@client.request(
|
|
171
|
+
method: :put,
|
|
172
|
+
path: ["v1/users/%1$s/guides/engagements/reset", user_id],
|
|
173
|
+
body: parsed,
|
|
174
|
+
model: Knockapi::Users::GuideActionResponse,
|
|
175
|
+
options: options
|
|
176
|
+
)
|
|
177
|
+
end
|
|
178
|
+
|
|
179
|
+
# Records that a guide has been unarchived, triggering any associated unarchived
|
|
180
|
+
# events.
|
|
181
|
+
#
|
|
182
|
+
# @overload unarchive_guide_message(user_id, guide_key:, tenant: nil, request_options: {})
|
|
183
|
+
#
|
|
184
|
+
# @param user_id [String] The unique identifier of the user.
|
|
185
|
+
#
|
|
186
|
+
# @param guide_key [String] The key of the guide.
|
|
187
|
+
#
|
|
188
|
+
# @param tenant [String] The tenant ID of the guide.
|
|
189
|
+
#
|
|
190
|
+
# @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
191
|
+
#
|
|
192
|
+
# @return [Knockapi::Models::Users::GuideActionResponse]
|
|
193
|
+
#
|
|
194
|
+
# @see Knockapi::Models::Users::GuideUnarchiveGuideMessageParams
|
|
195
|
+
def unarchive_guide_message(user_id, params)
|
|
196
|
+
parsed, options = Knockapi::Users::GuideUnarchiveGuideMessageParams.dump_request(params)
|
|
197
|
+
@client.request(
|
|
198
|
+
method: :delete,
|
|
199
|
+
path: ["v1/users/%1$s/guides/messages/archived", user_id],
|
|
152
200
|
body: parsed,
|
|
153
|
-
model: Knockapi::
|
|
201
|
+
model: Knockapi::Users::GuideActionResponse,
|
|
154
202
|
options: options
|
|
155
203
|
)
|
|
156
204
|
end
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
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
|
+
#
|
|
12
|
+
# @overload generate_signed_url(user_id, request_options: {})
|
|
13
|
+
#
|
|
14
|
+
# @param user_id [String] The unique identifier of the user.
|
|
15
|
+
#
|
|
16
|
+
# @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
17
|
+
#
|
|
18
|
+
# @return [Knockapi::Models::Users::PreferenceCenterGenerateSignedURLResponse]
|
|
19
|
+
#
|
|
20
|
+
# @see Knockapi::Models::Users::PreferenceCenterGenerateSignedURLParams
|
|
21
|
+
def generate_signed_url(user_id, params = {})
|
|
22
|
+
@client.request(
|
|
23
|
+
method: :post,
|
|
24
|
+
path: ["v1/users/%1$s/preference_center/signed_url", user_id],
|
|
25
|
+
model: Knockapi::Models::Users::PreferenceCenterGenerateSignedURLResponse,
|
|
26
|
+
options: params[:request_options]
|
|
27
|
+
)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# Returns the preference center config with environment metadata for the given
|
|
31
|
+
# user.
|
|
32
|
+
#
|
|
33
|
+
# @overload get_config(user_id, request_options: {})
|
|
34
|
+
#
|
|
35
|
+
# @param user_id [String] The unique identifier of the user.
|
|
36
|
+
#
|
|
37
|
+
# @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
38
|
+
#
|
|
39
|
+
# @return [Knockapi::Models::Users::PreferenceCenterGetConfigResponse]
|
|
40
|
+
#
|
|
41
|
+
# @see Knockapi::Models::Users::PreferenceCenterGetConfigParams
|
|
42
|
+
def get_config(user_id, params = {})
|
|
43
|
+
@client.request(
|
|
44
|
+
method: :get,
|
|
45
|
+
path: ["v1/users/%1$s/preference_center/config", user_id],
|
|
46
|
+
model: Knockapi::Models::Users::PreferenceCenterGetConfigResponse,
|
|
47
|
+
options: params[:request_options]
|
|
48
|
+
)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
# @api private
|
|
52
|
+
#
|
|
53
|
+
# @param client [Knockapi::Client]
|
|
54
|
+
def initialize(client:)
|
|
55
|
+
@client = client
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
@@ -20,6 +20,11 @@ module Knockapi
|
|
|
20
20
|
# @return [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
|
+
# @return [Knockapi::Resources::Users::PreferenceCenter]
|
|
26
|
+
attr_reader :preference_center
|
|
27
|
+
|
|
23
28
|
# Some parameter documentations has been truncated, see
|
|
24
29
|
# {Knockapi::Models::UserUpdateParams} for more details.
|
|
25
30
|
#
|
|
@@ -407,7 +412,7 @@ module Knockapi
|
|
|
407
412
|
#
|
|
408
413
|
# @param channels [Hash{Symbol=>Boolean, Knockapi::Models::Recipients::PreferenceSetChannelSetting}, nil] Channel preferences.
|
|
409
414
|
#
|
|
410
|
-
# @param commercial_subscribed [Boolean, nil] Whether the recipient is subscribed to commercial communications. When false, th
|
|
415
|
+
# @param commercial_subscribed [Boolean, Knockapi::Models::PreferenceSetCommercialSubscribedSetting, nil] Whether the recipient is subscribed to commercial communications. When false, th
|
|
411
416
|
#
|
|
412
417
|
# @param workflows [Hash{Symbol=>Boolean, Knockapi::Models::Recipients::PreferenceSetRequest::Workflow::PreferenceSetWorkflowCategorySettingObject}, nil] An object where the key is the workflow key and the values are the preference se
|
|
413
418
|
#
|
|
@@ -479,6 +484,7 @@ module Knockapi
|
|
|
479
484
|
@feeds = Knockapi::Resources::Users::Feeds.new(client: client)
|
|
480
485
|
@guides = Knockapi::Resources::Users::Guides.new(client: client)
|
|
481
486
|
@bulk = Knockapi::Resources::Users::Bulk.new(client: client)
|
|
487
|
+
@preference_center = Knockapi::Resources::Users::PreferenceCenter.new(client: client)
|
|
482
488
|
end
|
|
483
489
|
end
|
|
484
490
|
end
|
data/lib/knockapi/version.rb
CHANGED
data/lib/knockapi.rb
CHANGED
|
@@ -56,8 +56,13 @@ require_relative "knockapi/internal/entries_cursor"
|
|
|
56
56
|
require_relative "knockapi/internal/items_cursor"
|
|
57
57
|
require_relative "knockapi/internal/ms_teams_pagination"
|
|
58
58
|
require_relative "knockapi/internal/slack_channels_cursor"
|
|
59
|
+
require_relative "knockapi/models/messages/batch_messages_status_request"
|
|
59
60
|
require_relative "knockapi/models/recipients/channel_data_request"
|
|
60
61
|
require_relative "knockapi/models/recipients/preference_set_request"
|
|
62
|
+
require_relative "knockapi/models/users/guide_archived_request"
|
|
63
|
+
require_relative "knockapi/models/users/guide_interacted_request"
|
|
64
|
+
require_relative "knockapi/models/users/guide_seen_request"
|
|
65
|
+
require_relative "knockapi/models/users/preference_center_branding_config"
|
|
61
66
|
require_relative "knockapi/models/identify_user_request"
|
|
62
67
|
require_relative "knockapi/models/workflow_recipient_run"
|
|
63
68
|
require_relative "knockapi/models/activity"
|
|
@@ -65,6 +70,7 @@ require_relative "knockapi/models/audience_add_members_params"
|
|
|
65
70
|
require_relative "knockapi/models/audience_list_members_params"
|
|
66
71
|
require_relative "knockapi/models/audience_list_members_response"
|
|
67
72
|
require_relative "knockapi/models/audience_member"
|
|
73
|
+
require_relative "knockapi/models/audience_member_request"
|
|
68
74
|
require_relative "knockapi/models/audience_remove_members_params"
|
|
69
75
|
require_relative "knockapi/models/bulk_operation"
|
|
70
76
|
require_relative "knockapi/models/bulk_operation_get_params"
|
|
@@ -77,13 +83,18 @@ require_relative "knockapi/models/integrations/census_custom_destination_params"
|
|
|
77
83
|
require_relative "knockapi/models/integrations/census_custom_destination_response"
|
|
78
84
|
require_relative "knockapi/models/integrations/hightouch_embedded_destination_params"
|
|
79
85
|
require_relative "knockapi/models/integrations/hightouch_embedded_destination_response"
|
|
86
|
+
require_relative "knockapi/models/list_messages_response"
|
|
87
|
+
require_relative "knockapi/models/list_schedules_response"
|
|
88
|
+
require_relative "knockapi/models/list_subscriptions_response"
|
|
80
89
|
require_relative "knockapi/models/message"
|
|
81
90
|
require_relative "knockapi/models/message_archive_params"
|
|
91
|
+
require_relative "knockapi/models/message_contents"
|
|
82
92
|
require_relative "knockapi/models/message_delivery_log"
|
|
83
93
|
require_relative "knockapi/models/message_event"
|
|
84
94
|
require_relative "knockapi/models/message_get_content_params"
|
|
85
|
-
require_relative "knockapi/models/message_get_content_response"
|
|
86
95
|
require_relative "knockapi/models/message_get_params"
|
|
96
|
+
require_relative "knockapi/models/message_in_app_feed_button_set_block"
|
|
97
|
+
require_relative "knockapi/models/message_in_app_feed_content_block"
|
|
87
98
|
require_relative "knockapi/models/message_list_activities_params"
|
|
88
99
|
require_relative "knockapi/models/message_list_delivery_logs_params"
|
|
89
100
|
require_relative "knockapi/models/message_list_events_params"
|
|
@@ -135,6 +146,7 @@ require_relative "knockapi/models/object_set_preferences_params"
|
|
|
135
146
|
require_relative "knockapi/models/object_unset_channel_data_params"
|
|
136
147
|
require_relative "knockapi/models/object_unset_preferences_params"
|
|
137
148
|
require_relative "knockapi/models/page_info"
|
|
149
|
+
require_relative "knockapi/models/preference_set_commercial_subscribed_setting"
|
|
138
150
|
require_relative "knockapi/models/providers/ms_team_check_auth_params"
|
|
139
151
|
require_relative "knockapi/models/providers/ms_team_check_auth_response"
|
|
140
152
|
require_relative "knockapi/models/providers/ms_team_list_channels_params"
|
|
@@ -205,14 +217,18 @@ require_relative "knockapi/models/users/feed_get_settings_params"
|
|
|
205
217
|
require_relative "knockapi/models/users/feed_get_settings_response"
|
|
206
218
|
require_relative "knockapi/models/users/feed_list_items_params"
|
|
207
219
|
require_relative "knockapi/models/users/feed_list_items_response"
|
|
220
|
+
require_relative "knockapi/models/users/guide_action_response"
|
|
208
221
|
require_relative "knockapi/models/users/guide_get_channel_params"
|
|
209
222
|
require_relative "knockapi/models/users/guide_get_channel_response"
|
|
210
223
|
require_relative "knockapi/models/users/guide_mark_message_as_archived_params"
|
|
211
|
-
require_relative "knockapi/models/users/guide_mark_message_as_archived_response"
|
|
212
224
|
require_relative "knockapi/models/users/guide_mark_message_as_interacted_params"
|
|
213
|
-
require_relative "knockapi/models/users/guide_mark_message_as_interacted_response"
|
|
214
225
|
require_relative "knockapi/models/users/guide_mark_message_as_seen_params"
|
|
215
|
-
require_relative "knockapi/models/users/
|
|
226
|
+
require_relative "knockapi/models/users/guide_reset_guide_engagements_params"
|
|
227
|
+
require_relative "knockapi/models/users/guide_unarchive_guide_message_params"
|
|
228
|
+
require_relative "knockapi/models/users/preference_center_generate_signed_url_params"
|
|
229
|
+
require_relative "knockapi/models/users/preference_center_generate_signed_url_response"
|
|
230
|
+
require_relative "knockapi/models/users/preference_center_get_config_params"
|
|
231
|
+
require_relative "knockapi/models/users/preference_center_get_config_response"
|
|
216
232
|
require_relative "knockapi/models/user_set_channel_data_params"
|
|
217
233
|
require_relative "knockapi/models/user_set_preferences_params"
|
|
218
234
|
require_relative "knockapi/models/user_unset_channel_data_params"
|
|
@@ -252,5 +268,6 @@ require_relative "knockapi/resources/users"
|
|
|
252
268
|
require_relative "knockapi/resources/users/bulk"
|
|
253
269
|
require_relative "knockapi/resources/users/feeds"
|
|
254
270
|
require_relative "knockapi/resources/users/guides"
|
|
271
|
+
require_relative "knockapi/resources/users/preference_center"
|
|
255
272
|
require_relative "knockapi/resources/workflow_recipient_runs"
|
|
256
273
|
require_relative "knockapi/resources/workflows"
|
|
@@ -15,7 +15,7 @@ module Knockapi
|
|
|
15
15
|
attr_accessor :key
|
|
16
16
|
|
|
17
17
|
# A list of audience members to add. You can add up to 1,000 members per request.
|
|
18
|
-
sig { returns(T::Array[Knockapi::
|
|
18
|
+
sig { returns(T::Array[Knockapi::AudienceMemberRequest]) }
|
|
19
19
|
attr_accessor :members
|
|
20
20
|
|
|
21
21
|
# Create the audience if it does not exist.
|
|
@@ -28,7 +28,7 @@ module Knockapi
|
|
|
28
28
|
sig do
|
|
29
29
|
params(
|
|
30
30
|
key: String,
|
|
31
|
-
members: T::Array[Knockapi::
|
|
31
|
+
members: T::Array[Knockapi::AudienceMemberRequest::OrHash],
|
|
32
32
|
create_audience: T::Boolean,
|
|
33
33
|
request_options: Knockapi::RequestOptions::OrHash
|
|
34
34
|
).returns(T.attached_class)
|
|
@@ -47,7 +47,7 @@ module Knockapi
|
|
|
47
47
|
override.returns(
|
|
48
48
|
{
|
|
49
49
|
key: String,
|
|
50
|
-
members: T::Array[Knockapi::
|
|
50
|
+
members: T::Array[Knockapi::AudienceMemberRequest],
|
|
51
51
|
create_audience: T::Boolean,
|
|
52
52
|
request_options: Knockapi::RequestOptions
|
|
53
53
|
}
|
|
@@ -55,59 +55,6 @@ module Knockapi
|
|
|
55
55
|
end
|
|
56
56
|
def to_hash
|
|
57
57
|
end
|
|
58
|
-
|
|
59
|
-
class Member < Knockapi::Internal::Type::BaseModel
|
|
60
|
-
OrHash =
|
|
61
|
-
T.type_alias do
|
|
62
|
-
T.any(
|
|
63
|
-
Knockapi::AudienceAddMembersParams::Member,
|
|
64
|
-
Knockapi::Internal::AnyHash
|
|
65
|
-
)
|
|
66
|
-
end
|
|
67
|
-
|
|
68
|
-
# A set of parameters to inline-identify a user with. Inline identifying the user
|
|
69
|
-
# will ensure that the user is available before the request is executed in Knock.
|
|
70
|
-
# It will perform an upsert for the user you're supplying, replacing any
|
|
71
|
-
# properties specified.
|
|
72
|
-
sig { returns(Knockapi::InlineIdentifyUserRequest) }
|
|
73
|
-
attr_reader :user
|
|
74
|
-
|
|
75
|
-
sig { params(user: Knockapi::InlineIdentifyUserRequest::OrHash).void }
|
|
76
|
-
attr_writer :user
|
|
77
|
-
|
|
78
|
-
# The unique identifier for the tenant.
|
|
79
|
-
sig { returns(T.nilable(String)) }
|
|
80
|
-
attr_accessor :tenant
|
|
81
|
-
|
|
82
|
-
# An audience member.
|
|
83
|
-
sig do
|
|
84
|
-
params(
|
|
85
|
-
user: Knockapi::InlineIdentifyUserRequest::OrHash,
|
|
86
|
-
tenant: T.nilable(String)
|
|
87
|
-
).returns(T.attached_class)
|
|
88
|
-
end
|
|
89
|
-
def self.new(
|
|
90
|
-
# A set of parameters to inline-identify a user with. Inline identifying the user
|
|
91
|
-
# will ensure that the user is available before the request is executed in Knock.
|
|
92
|
-
# It will perform an upsert for the user you're supplying, replacing any
|
|
93
|
-
# properties specified.
|
|
94
|
-
user:,
|
|
95
|
-
# The unique identifier for the tenant.
|
|
96
|
-
tenant: nil
|
|
97
|
-
)
|
|
98
|
-
end
|
|
99
|
-
|
|
100
|
-
sig do
|
|
101
|
-
override.returns(
|
|
102
|
-
{
|
|
103
|
-
user: Knockapi::InlineIdentifyUserRequest,
|
|
104
|
-
tenant: T.nilable(String)
|
|
105
|
-
}
|
|
106
|
-
)
|
|
107
|
-
end
|
|
108
|
-
def to_hash
|
|
109
|
-
end
|
|
110
|
-
end
|
|
111
58
|
end
|
|
112
59
|
end
|
|
113
60
|
end
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Knockapi
|
|
4
|
+
module Models
|
|
5
|
+
class AudienceMemberRequest < Knockapi::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Knockapi::AudienceMemberRequest, Knockapi::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# A set of parameters to inline-identify a user with. Inline identifying the user
|
|
12
|
+
# will ensure that the user is available before the request is executed in Knock.
|
|
13
|
+
# It will perform an upsert for the user you're supplying, replacing any
|
|
14
|
+
# properties specified.
|
|
15
|
+
sig { returns(Knockapi::InlineIdentifyUserRequest) }
|
|
16
|
+
attr_reader :user
|
|
17
|
+
|
|
18
|
+
sig { params(user: Knockapi::InlineIdentifyUserRequest::OrHash).void }
|
|
19
|
+
attr_writer :user
|
|
20
|
+
|
|
21
|
+
# The unique identifier for the tenant.
|
|
22
|
+
sig { returns(T.nilable(String)) }
|
|
23
|
+
attr_accessor :tenant
|
|
24
|
+
|
|
25
|
+
# An audience member.
|
|
26
|
+
sig do
|
|
27
|
+
params(
|
|
28
|
+
user: Knockapi::InlineIdentifyUserRequest::OrHash,
|
|
29
|
+
tenant: T.nilable(String)
|
|
30
|
+
).returns(T.attached_class)
|
|
31
|
+
end
|
|
32
|
+
def self.new(
|
|
33
|
+
# A set of parameters to inline-identify a user with. Inline identifying the user
|
|
34
|
+
# will ensure that the user is available before the request is executed in Knock.
|
|
35
|
+
# It will perform an upsert for the user you're supplying, replacing any
|
|
36
|
+
# properties specified.
|
|
37
|
+
user:,
|
|
38
|
+
# The unique identifier for the tenant.
|
|
39
|
+
tenant: nil
|
|
40
|
+
)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
sig do
|
|
44
|
+
override.returns(
|
|
45
|
+
{
|
|
46
|
+
user: Knockapi::InlineIdentifyUserRequest,
|
|
47
|
+
tenant: T.nilable(String)
|
|
48
|
+
}
|
|
49
|
+
)
|
|
50
|
+
end
|
|
51
|
+
def to_hash
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
@@ -19,14 +19,13 @@ module Knockapi
|
|
|
19
19
|
|
|
20
20
|
# A list of audience members to remove. You can remove up to 1,000 members per
|
|
21
21
|
# request.
|
|
22
|
-
sig { returns(T::Array[Knockapi::
|
|
22
|
+
sig { returns(T::Array[Knockapi::AudienceMemberRequest]) }
|
|
23
23
|
attr_accessor :members
|
|
24
24
|
|
|
25
25
|
sig do
|
|
26
26
|
params(
|
|
27
27
|
key: String,
|
|
28
|
-
members:
|
|
29
|
-
T::Array[Knockapi::AudienceRemoveMembersParams::Member::OrHash],
|
|
28
|
+
members: T::Array[Knockapi::AudienceMemberRequest::OrHash],
|
|
30
29
|
request_options: Knockapi::RequestOptions::OrHash
|
|
31
30
|
).returns(T.attached_class)
|
|
32
31
|
end
|
|
@@ -43,66 +42,13 @@ module Knockapi
|
|
|
43
42
|
override.returns(
|
|
44
43
|
{
|
|
45
44
|
key: String,
|
|
46
|
-
members: T::Array[Knockapi::
|
|
45
|
+
members: T::Array[Knockapi::AudienceMemberRequest],
|
|
47
46
|
request_options: Knockapi::RequestOptions
|
|
48
47
|
}
|
|
49
48
|
)
|
|
50
49
|
end
|
|
51
50
|
def to_hash
|
|
52
51
|
end
|
|
53
|
-
|
|
54
|
-
class Member < Knockapi::Internal::Type::BaseModel
|
|
55
|
-
OrHash =
|
|
56
|
-
T.type_alias do
|
|
57
|
-
T.any(
|
|
58
|
-
Knockapi::AudienceRemoveMembersParams::Member,
|
|
59
|
-
Knockapi::Internal::AnyHash
|
|
60
|
-
)
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
# A set of parameters to inline-identify a user with. Inline identifying the user
|
|
64
|
-
# will ensure that the user is available before the request is executed in Knock.
|
|
65
|
-
# It will perform an upsert for the user you're supplying, replacing any
|
|
66
|
-
# properties specified.
|
|
67
|
-
sig { returns(Knockapi::InlineIdentifyUserRequest) }
|
|
68
|
-
attr_reader :user
|
|
69
|
-
|
|
70
|
-
sig { params(user: Knockapi::InlineIdentifyUserRequest::OrHash).void }
|
|
71
|
-
attr_writer :user
|
|
72
|
-
|
|
73
|
-
# The unique identifier for the tenant.
|
|
74
|
-
sig { returns(T.nilable(String)) }
|
|
75
|
-
attr_accessor :tenant
|
|
76
|
-
|
|
77
|
-
# An audience member.
|
|
78
|
-
sig do
|
|
79
|
-
params(
|
|
80
|
-
user: Knockapi::InlineIdentifyUserRequest::OrHash,
|
|
81
|
-
tenant: T.nilable(String)
|
|
82
|
-
).returns(T.attached_class)
|
|
83
|
-
end
|
|
84
|
-
def self.new(
|
|
85
|
-
# A set of parameters to inline-identify a user with. Inline identifying the user
|
|
86
|
-
# will ensure that the user is available before the request is executed in Knock.
|
|
87
|
-
# It will perform an upsert for the user you're supplying, replacing any
|
|
88
|
-
# properties specified.
|
|
89
|
-
user:,
|
|
90
|
-
# The unique identifier for the tenant.
|
|
91
|
-
tenant: nil
|
|
92
|
-
)
|
|
93
|
-
end
|
|
94
|
-
|
|
95
|
-
sig do
|
|
96
|
-
override.returns(
|
|
97
|
-
{
|
|
98
|
-
user: Knockapi::InlineIdentifyUserRequest,
|
|
99
|
-
tenant: T.nilable(String)
|
|
100
|
-
}
|
|
101
|
-
)
|
|
102
|
-
end
|
|
103
|
-
def to_hash
|
|
104
|
-
end
|
|
105
|
-
end
|
|
106
52
|
end
|
|
107
53
|
end
|
|
108
54
|
end
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Knockapi
|
|
4
|
+
module Models
|
|
5
|
+
class ListMessagesResponse < Knockapi::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Knockapi::ListMessagesResponse, Knockapi::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# A list of messages.
|
|
12
|
+
sig { returns(T::Array[Knockapi::Message]) }
|
|
13
|
+
attr_accessor :items
|
|
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 paginated list of messages.
|
|
23
|
+
sig do
|
|
24
|
+
params(
|
|
25
|
+
items: T::Array[Knockapi::Message::OrHash],
|
|
26
|
+
page_info: Knockapi::PageInfo::OrHash
|
|
27
|
+
).returns(T.attached_class)
|
|
28
|
+
end
|
|
29
|
+
def self.new(
|
|
30
|
+
# A list of messages.
|
|
31
|
+
items:,
|
|
32
|
+
# Pagination information for a list of resources.
|
|
33
|
+
page_info:
|
|
34
|
+
)
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
sig do
|
|
38
|
+
override.returns(
|
|
39
|
+
{ items: T::Array[Knockapi::Message], page_info: Knockapi::PageInfo }
|
|
40
|
+
)
|
|
41
|
+
end
|
|
42
|
+
def to_hash
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|