Class: Blueticks::Resources::NewslettersResource

Inherits:
BaseResource
  • Object
show all
Defined in:
lib/blueticks/resources/newsletters.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

#create(name:, description: nil) ⇒ Object

Create newsletter.

Create a new WhatsApp newsletter (channel). Requires messages:write scope.



27
28
29
30
31
32
# File 'lib/blueticks/resources/newsletters.rb', line 27

def create(name:, description: nil)
  body = { "name" => name }
  body["description"] = description unless description.nil?
  env = client.request("POST", "/v1/newsletters", body: body)
  Types::Newsletter.from_hash(env && env["data"])
end

#list(search_token: nil, include_archive: nil, skip: nil, limit: nil) ⇒ Object

List newsletters.

List newsletters visible to the connected WhatsApp engine. Offset-paginated (NewsletterListItem rows). Requires newsletters:read scope.



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

def list(search_token: nil, include_archive: nil, skip: nil, limit: nil)
  params = {}
  params["searchToken"] = search_token unless search_token.nil?
  params["includeArchive"] = include_archive unless include_archive.nil?
  params["skip"] = skip unless skip.nil?
  params["limit"] = limit unless limit.nil?
  env = client.request("GET", "/v1/newsletters", params: params.empty? ? nil : params)
  Types::PaginatedPage.from_hash(env, item_type: Types::NewsletterListItem)
end

#retrieve(newsletter_id) ⇒ Object

Get newsletter.

Retrieve a newsletter by its JID. Requires newsletters:read scope.



37
38
39
40
# File 'lib/blueticks/resources/newsletters.rb', line 37

def retrieve(newsletter_id)
  env = client.request("GET", "/v1/newsletters/#{newsletter_id}")
  Types::Newsletter.from_hash(env && env["data"])
end