Class: Knockapi::Resources::Messages
- Inherits:
-
Object
- Object
- Knockapi::Resources::Messages
- Defined in:
- lib/knockapi/resources/messages.rb,
lib/knockapi/resources/messages/batch.rb
Defined Under Namespace
Classes: Batch
Instance Attribute Summary collapse
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 ‘interacted` with 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.
352 353 354 355 |
# File 'lib/knockapi/resources/messages.rb', line 352 def initialize(client:) @client = client @batch = Knockapi::Resources::Messages::Batch.new(client: client) end |
Instance Attribute Details
#batch ⇒ Knockapi::Resources::Messages::Batch (readonly)
7 8 9 |
# File 'lib/knockapi/resources/messages.rb', line 7 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.
73 74 75 76 77 78 79 80 |
# File 'lib/knockapi/resources/messages.rb', line 73 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.
93 94 95 96 97 98 99 100 |
# File 'lib/knockapi/resources/messages.rb', line 93 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.
114 115 116 117 118 119 120 121 |
# File 'lib/knockapi/resources/messages.rb', line 114 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.
49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/knockapi/resources/messages.rb', line 49 def list(params = {}) parsed, = Knockapi::MessageListParams.dump_request(params) @client.request( method: :get, path: "v1/messages", query: parsed, 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.
142 143 144 145 146 147 148 149 150 151 152 |
# File 'lib/knockapi/resources/messages.rb', line 142 def list_activities(, params = {}) parsed, = Knockapi::MessageListActivitiesParams.dump_request(params) @client.request( method: :get, path: ["v1/messages/%1$s/activities", ], query: parsed, 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.
171 172 173 174 175 176 177 178 179 180 181 |
# File 'lib/knockapi/resources/messages.rb', line 171 def list_delivery_logs(, params = {}) parsed, = Knockapi::MessageListDeliveryLogsParams.dump_request(params) @client.request( method: :get, path: ["v1/messages/%1$s/delivery_logs", ], query: parsed, 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.
200 201 202 203 204 205 206 207 208 209 210 |
# File 'lib/knockapi/resources/messages.rb', line 200 def list_events(, params = {}) parsed, = Knockapi::MessageListEventsParams.dump_request(params) @client.request( method: :get, path: ["v1/messages/%1$s/events", ], query: parsed, 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](/send-notifications/message-statuses#engagement-status).
229 230 231 232 233 234 235 236 237 238 |
# File 'lib/knockapi/resources/messages.rb', line 229 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](/send-notifications/message-statuses#engagement-status).
253 254 255 256 257 258 259 260 |
# File 'lib/knockapi/resources/messages.rb', line 253 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](/send-notifications/message-statuses#engagement-status).
275 276 277 278 279 280 281 282 |
# File 'lib/knockapi/resources/messages.rb', line 275 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](/send-notifications/message-statuses#engagement-status).
297 298 299 300 301 302 303 304 |
# File 'lib/knockapi/resources/messages.rb', line 297 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](/send-notifications/message-statuses#engagement-status).
319 320 321 322 323 324 325 326 |
# File 'lib/knockapi/resources/messages.rb', line 319 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.
340 341 342 343 344 345 346 347 |
# File 'lib/knockapi/resources/messages.rb', line 340 def unarchive(, params = {}) @client.request( method: :delete, path: ["v1/messages/%1$s/archived", ], model: Knockapi::Message, options: params[:request_options] ) end |