Class: Knockapi::Resources::Messages
- Inherits:
-
Object
- Object
- Knockapi::Resources::Messages
- Defined in:
- lib/knockapi/resources/messages.rb,
lib/knockapi/resources/messages/batch.rb,
sig/knockapi/resources/messages.rbs,
sig/knockapi/resources/messages/batch.rbs
Overview
A message sent to a single recipient on a channel.
Defined Under Namespace
Classes: Batch
Instance Attribute Summary collapse
-
#batch ⇒ Knockapi::Resources::Messages::Batch
readonly
A message sent to a single recipient on a channel.
Instance Method Summary collapse
-
#archive(message_id, request_options: {}) ⇒ Knockapi::Models::Message
Archives a message for the user.
-
#get(message_id, request_options: {}) ⇒ Knockapi::Models::Message
Retrieves a specific message by its ID.
-
#get_content(message_id, request_options: {}) ⇒ Knockapi::Models::MessageGetContentResponse
Returns the fully rendered contents of a message, where the response depends on which channel the message was sent through.
-
#initialize(client:) ⇒ Messages
constructor
private
A new instance of Messages.
-
#list(after: nil, before: nil, channel_id: nil, engagement_status: nil, inserted_at: nil, message_ids: nil, page_size: nil, source: nil, status: nil, tenant: nil, trigger_data: nil, workflow_categories: nil, workflow_recipient_run_id: nil, workflow_run_id: nil, request_options: {}) ⇒ Knockapi::Internal::ItemsCursor<Knockapi::Models::Message>
Some parameter documentations has been truncated, see Models::MessageListParams for more details.
-
#list_activities(message_id, after: nil, before: nil, page_size: nil, trigger_data: nil, request_options: {}) ⇒ Knockapi::Internal::ItemsCursor<Knockapi::Models::Activity>
Returns a paginated list of activities for the specified message.
-
#list_delivery_logs(message_id, after: nil, before: nil, page_size: nil, request_options: {}) ⇒ Knockapi::Internal::ItemsCursor<Knockapi::Models::MessageDeliveryLog>
Returns a paginated list of delivery logs for the specified message.
-
#list_events(message_id, after: nil, before: nil, page_size: nil, request_options: {}) ⇒ Knockapi::Internal::ItemsCursor<Knockapi::Models::MessageEvent>
Returns a paginated list of events for the specified message.
-
#mark_as_interacted(message_id, metadata: nil, request_options: {}) ⇒ Knockapi::Models::Message
Marks a message as
interactedwith by the user. -
#mark_as_read(message_id, request_options: {}) ⇒ Knockapi::Models::Message
Marks a message as
read. -
#mark_as_seen(message_id, request_options: {}) ⇒ Knockapi::Models::Message
Marks a message as
seen. -
#mark_as_unread(message_id, request_options: {}) ⇒ Knockapi::Models::Message
Marks a message as
unread. -
#mark_as_unseen(message_id, request_options: {}) ⇒ Knockapi::Models::Message
Marks a message as
unseen. -
#unarchive(message_id, request_options: {}) ⇒ Knockapi::Models::Message
Removes a message from the archived state, making it visible in the default message list in the feed again.
Constructor Details
#initialize(client:) ⇒ Messages
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new instance of Messages.
358 359 360 361 |
# File 'lib/knockapi/resources/messages.rb', line 358 def initialize(client:) @client = client @batch = Knockapi::Resources::Messages::Batch.new(client: client) end |
Instance Attribute Details
#batch ⇒ Knockapi::Resources::Messages::Batch (readonly)
A message sent to a single recipient on a channel.
9 10 11 |
# File 'lib/knockapi/resources/messages.rb', line 9 def batch @batch end |
Instance Method Details
#archive(message_id, request_options: {}) ⇒ Knockapi::Models::Message
Archives a message for the user. Archived messages are hidden from the default message list in the feed but can still be accessed and unarchived later.
76 77 78 79 80 81 82 83 |
# File 'lib/knockapi/resources/messages.rb', line 76 def archive(, params = {}) @client.request( method: :put, path: ["v1/messages/%1$s/archived", ], model: Knockapi::Message, options: params[:request_options] ) end |
#get(message_id, request_options: {}) ⇒ Knockapi::Models::Message
Retrieves a specific message by its ID.
96 97 98 99 100 101 102 103 |
# File 'lib/knockapi/resources/messages.rb', line 96 def get(, params = {}) @client.request( method: :get, path: ["v1/messages/%1$s", ], model: Knockapi::Message, options: params[:request_options] ) end |
#get_content(message_id, request_options: {}) ⇒ Knockapi::Models::MessageGetContentResponse
Returns the fully rendered contents of a message, where the response depends on which channel the message was sent through.
117 118 119 120 121 122 123 124 |
# File 'lib/knockapi/resources/messages.rb', line 117 def get_content(, params = {}) @client.request( method: :get, path: ["v1/messages/%1$s/content", ], model: Knockapi::Models::MessageGetContentResponse, options: params[:request_options] ) end |
#list(after: nil, before: nil, channel_id: nil, engagement_status: nil, inserted_at: nil, message_ids: nil, page_size: nil, source: nil, status: nil, tenant: nil, trigger_data: nil, workflow_categories: nil, workflow_recipient_run_id: nil, workflow_run_id: nil, request_options: {}) ⇒ Knockapi::Internal::ItemsCursor<Knockapi::Models::Message>
Some parameter documentations has been truncated, see Models::MessageListParams for more details.
Returns a paginated list of messages for the current environment.
51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/knockapi/resources/messages.rb', line 51 def list(params = {}) parsed, = Knockapi::MessageListParams.dump_request(params) query = Knockapi::Internal::Util.encode_query_params(parsed) @client.request( method: :get, path: "v1/messages", query: query, page: Knockapi::Internal::ItemsCursor, model: Knockapi::Message, options: ) end |
#list_activities(message_id, after: nil, before: nil, page_size: nil, trigger_data: nil, request_options: {}) ⇒ Knockapi::Internal::ItemsCursor<Knockapi::Models::Activity>
Returns a paginated list of activities for the specified message.
145 146 147 148 149 150 151 152 153 154 155 156 |
# File 'lib/knockapi/resources/messages.rb', line 145 def list_activities(, params = {}) parsed, = Knockapi::MessageListActivitiesParams.dump_request(params) query = Knockapi::Internal::Util.encode_query_params(parsed) @client.request( method: :get, path: ["v1/messages/%1$s/activities", ], query: query, page: Knockapi::Internal::ItemsCursor, model: Knockapi::Activity, options: ) end |
#list_delivery_logs(message_id, after: nil, before: nil, page_size: nil, request_options: {}) ⇒ Knockapi::Internal::ItemsCursor<Knockapi::Models::MessageDeliveryLog>
Returns a paginated list of delivery logs for the specified message.
175 176 177 178 179 180 181 182 183 184 185 186 |
# File 'lib/knockapi/resources/messages.rb', line 175 def list_delivery_logs(, params = {}) parsed, = Knockapi::MessageListDeliveryLogsParams.dump_request(params) query = Knockapi::Internal::Util.encode_query_params(parsed) @client.request( method: :get, path: ["v1/messages/%1$s/delivery_logs", ], query: query, page: Knockapi::Internal::ItemsCursor, model: Knockapi::MessageDeliveryLog, options: ) end |
#list_events(message_id, after: nil, before: nil, page_size: nil, request_options: {}) ⇒ Knockapi::Internal::ItemsCursor<Knockapi::Models::MessageEvent>
Returns a paginated list of events for the specified message.
205 206 207 208 209 210 211 212 213 214 215 216 |
# File 'lib/knockapi/resources/messages.rb', line 205 def list_events(, params = {}) parsed, = Knockapi::MessageListEventsParams.dump_request(params) query = Knockapi::Internal::Util.encode_query_params(parsed) @client.request( method: :get, path: ["v1/messages/%1$s/events", ], query: query, page: Knockapi::Internal::ItemsCursor, model: Knockapi::MessageEvent, options: ) end |
#mark_as_interacted(message_id, metadata: nil, request_options: {}) ⇒ Knockapi::Models::Message
Marks a message as interacted with by the user. This can include any user
action on the message, with optional metadata about the specific interaction.
Cannot include more than 5 key-value pairs, must not contain nested data. Read
more about message engagement statuses
here.
235 236 237 238 239 240 241 242 243 244 |
# File 'lib/knockapi/resources/messages.rb', line 235 def mark_as_interacted(, params = {}) parsed, = Knockapi::MessageMarkAsInteractedParams.dump_request(params) @client.request( method: :put, path: ["v1/messages/%1$s/interacted", ], body: parsed, model: Knockapi::Message, options: ) end |
#mark_as_read(message_id, request_options: {}) ⇒ Knockapi::Models::Message
Marks a message as read. This indicates that the user has read the message
content. Read more about message engagement statuses
here.
259 260 261 262 263 264 265 266 |
# File 'lib/knockapi/resources/messages.rb', line 259 def mark_as_read(, params = {}) @client.request( method: :put, path: ["v1/messages/%1$s/read", ], model: Knockapi::Message, options: params[:request_options] ) end |
#mark_as_seen(message_id, request_options: {}) ⇒ Knockapi::Models::Message
Marks a message as seen. This indicates that the user has viewed the message
in their feed or inbox. Read more about message engagement statuses
here.
281 282 283 284 285 286 287 288 |
# File 'lib/knockapi/resources/messages.rb', line 281 def mark_as_seen(, params = {}) @client.request( method: :put, path: ["v1/messages/%1$s/seen", ], model: Knockapi::Message, options: params[:request_options] ) end |
#mark_as_unread(message_id, request_options: {}) ⇒ Knockapi::Models::Message
Marks a message as unread. This reverses the read state. Read more about
message engagement statuses
here.
303 304 305 306 307 308 309 310 |
# File 'lib/knockapi/resources/messages.rb', line 303 def mark_as_unread(, params = {}) @client.request( method: :delete, path: ["v1/messages/%1$s/read", ], model: Knockapi::Message, options: params[:request_options] ) end |
#mark_as_unseen(message_id, request_options: {}) ⇒ Knockapi::Models::Message
Marks a message as unseen. This reverses the seen state. Read more about
message engagement statuses
here.
325 326 327 328 329 330 331 332 |
# File 'lib/knockapi/resources/messages.rb', line 325 def mark_as_unseen(, params = {}) @client.request( method: :delete, path: ["v1/messages/%1$s/seen", ], model: Knockapi::Message, options: params[:request_options] ) end |
#unarchive(message_id, request_options: {}) ⇒ Knockapi::Models::Message
Removes a message from the archived state, making it visible in the default message list in the feed again.
346 347 348 349 350 351 352 353 |
# File 'lib/knockapi/resources/messages.rb', line 346 def unarchive(, params = {}) @client.request( method: :delete, path: ["v1/messages/%1$s/archived", ], model: Knockapi::Message, options: params[:request_options] ) end |