Class: Blueticks::Resources::ScheduledMessagesResource

Inherits:
BaseResource
  • Object
show all
Defined in:
lib/blueticks/resources/scheduled_messages.rb

Instance Attribute Summary

Attributes inherited from BaseResource

#client

Instance Method Summary collapse

Methods inherited from BaseResource

#initialize

Constructor Details

This class inherits a constructor from Blueticks::BaseResource

Instance Method Details

#delete(id) ⇒ Object

Cancel scheduled message.

Cancel a queued scheduled message before it fires. Soft-deletes the row (still queryable in audit logs). Returns the deleted ref.



47
48
49
50
# File 'lib/blueticks/resources/scheduled_messages.rb', line 47

def delete(id)
  data = client.request("DELETE", "/v1/scheduled-messages/#{id}")
  Types::DeletedResource.from_hash(data)
end

#list(limit: nil, cursor: nil) ⇒ Object

List scheduled messages.

Retrieves a list of all resources from the service. Cursor-paginated.



14
15
16
17
18
19
20
# File 'lib/blueticks/resources/scheduled_messages.rb', line 14

def list(limit: nil, cursor: nil)
  params = {}
  params["limit"] = limit unless limit.nil?
  params["cursor"] = cursor unless cursor.nil?
  data = client.request("GET", "/v1/scheduled-messages", params: params.empty? ? nil : params)
  Types::Page.from_hash(data, item_type: Types::ScheduledMessage)
end

#retrieve(id) ⇒ Object

Get scheduled message.

Retrieves a single resource with the given id from the service.



25
26
27
28
# File 'lib/blueticks/resources/scheduled_messages.rb', line 25

def retrieve(id)
  data = client.request("GET", "/v1/scheduled-messages/#{id}")
  Types::ScheduledMessage.from_hash(data)
end

#update(id, text: nil, media_url: nil, media_caption: nil, send_at: nil) ⇒ Object

Update scheduled message.

Updates the resource identified by id using data.



33
34
35
36
37
38
39
40
41
# File 'lib/blueticks/resources/scheduled_messages.rb', line 33

def update(id, text: nil, media_url: nil, media_caption: nil, send_at: nil)
  body = {}
  body["text"] = text unless text.nil?
  body["media_url"] = media_url unless media_url.nil?
  body["media_caption"] = media_caption unless media_caption.nil?
  body["send_at"] = send_at unless send_at.nil?
  data = client.request("PATCH", "/v1/scheduled-messages/#{id}", body: body)
  Types::ScheduledMessage.from_hash(data)
end