module MailerLite::Clients::Groups

MailerLite Groups

Public Instance Methods

create_group(name) click to toggle source

Create new group

@see developers.mailerlite.com/v2/reference#create-group

@param name [String] Name of your group

@return [Hash] Response from API.

# File lib/mailerlite/clients/groups.rb, line 40
def create_group(name)
  connection.post('groups', name: name)
end
create_group_subscriber(group_id, options = {}) click to toggle source

Add new single subscriber to specified group

@see developers.mailerlite.com/v2/reference#add-single-subscriber

@param group_id [Integer] Id of group @param options [Hash] Request options

@return [Hash] Response from API

# File lib/mailerlite/clients/groups.rb, line 87
def create_group_subscriber(group_id, options = {})
  connection.post("groups/#{group_id}/subscribers", options)
end
delete_group(id) click to toggle source

Remove group

@see developers.mailerlite.com/v2/reference#delete-group

@param [Integer] Id of group

@return [Boolean] Response from API.

# File lib/mailerlite/clients/groups.rb, line 63
def delete_group(id)
  connection.delete("groups/#{id}")
end
delete_group_subscriber(group_id, subscriber_id_or_email) click to toggle source

Remove single subscriber from specified group

@see developers.mailerlite.com/v2/reference#remove-subscriber

@param group_id [Integer|String] Id of group @param subscriber_id_or_email [Array] Id or email of subscriber

@return [Hash] Response from API.

# File lib/mailerlite/clients/groups.rb, line 113
def delete_group_subscriber(group_id, subscriber_id_or_email)
  escaped_subscriber_id_or_email = CGI.escape(subscriber_id_or_email)
  connection.delete(
    "groups/#{group_id}/subscribers/#{escaped_subscriber_id_or_email}"
  )
end
group(id) click to toggle source

Get single group by ID

@see developers.mailerlite.com/v2/reference#single-group

@param id [Integer] Id of group

@return [Hash] Response from API.

# File lib/mailerlite/clients/groups.rb, line 28
def group(id)
  result = connection.get("groups/#{id}")
  result.is_a?(Array) ? result[0] : result
end
group_subscribers(group_id, options = {}) click to toggle source

Get all subscribers in a specified group

@see developers.mailerlite.com/v2/reference#subscribers-in-a-group

@param group_id [Integer] Id of group @param options [Hash] Request options

@return [Array] Subscribers

# File lib/mailerlite/clients/groups.rb, line 75
def group_subscribers(group_id, options = {})
  connection.get("groups/#{group_id}/subscribers", options)
end
groups(options = {}) click to toggle source

Get list of groups

@see developers.mailerlite.com/v2/reference#groups

@param options [Hash] Options list. See more in MailerLite docs. @option options [Integer] :offset @option options [Integer] :limit @option options [String] :filters

@return [Array] Response from API.

# File lib/mailerlite/clients/groups.rb, line 17
def groups(options = {})
  connection.get('groups', options)
end
import_group_subscribers(group_id, subscribers, options = {}) click to toggle source

Add many new subscribers to specified group at once

@see developers.mailerlite.com/v2/reference#add-many-subscribers

@param group_id [Integer] Id of group @param subscribers [Array] Array of hash each indicates a subscriber @param options [Hash] Request options

@return [Hash] Response from API.

# File lib/mailerlite/clients/groups.rb, line 100
def import_group_subscribers(group_id, subscribers, options = {})
  options[:subscribers] = subscribers
  connection.post("groups/#{group_id}/subscribers/import", options)
end
update_group(id, options = {}) click to toggle source

Update group

@see developers.mailerlite.com/v2/reference#rename-group

@param [Integer] Id of group @param options [Hash] Request options

@return [Hash] Response from API.

# File lib/mailerlite/clients/groups.rb, line 52
def update_group(id, options = {})
  connection.put("groups/#{id}", options)
end