class Mixmax

Constants

VERSION

Attributes

headers[R]

Public Class Methods

new(api_key) click to toggle source
# File lib/mixmax.rb, line 9
def initialize(api_key)
  @headers = {
    'X-API-Token' => api_key, 'Content-Type' => 'application/json'
  }
end

Public Instance Methods

add_to_sequence(sequence_id, recipients:) click to toggle source
# File lib/mixmax.rb, line 37
def add_to_sequence(sequence_id, recipients:)
  post "/v1/sequences/#{sequence_id}/recipients", query: recipients
end
change_user_preferences(query: {}) click to toggle source
# File lib/mixmax.rb, line 45
def change_user_preferences(query: {})
  patch '/v1/userpreferences/me', body: query
end
remove_recipient_from_sequence(sequence_id, emails:) click to toggle source
# File lib/mixmax.rb, line 49
def remove_recipient_from_sequence(sequence_id, emails:)
  post "/v1/sequences/#{sequence_id}/cancel", query: { emails: Array(emails) }
end
sequence(sequence_id) click to toggle source
# File lib/mixmax.rb, line 29
def sequence(sequence_id)
  get "/v1/sequences/#{sequence_id}"
end
sequence_recipients(sequence_id) click to toggle source
# File lib/mixmax.rb, line 33
def sequence_recipients(sequence_id)
  get "/v1/sequences/#{sequence_id}/recipients"
end
sequences(query: {}, all: false) click to toggle source
# File lib/mixmax.rb, line 17
def sequences(query: {}, all: false)
  sequences = []
  next_param = ''

  loop do
    response = get "/v1/sequences/#{next_param}", query: query
    sequences += response['results']
    return sequences unless response['hasNext'] && all
    next_param = "?next=#{response['next']}"
  end
end
user_preferences() click to toggle source
# File lib/mixmax.rb, line 41
def user_preferences
  get '/v1/userpreferences/me'
end

Private Instance Methods

get(route, query: {}) click to toggle source
# File lib/mixmax.rb, line 55
def get(route, query: {})
  self.class.get(route, headers: headers, query: query).parsed_response
end
post(route, query: {}) click to toggle source
# File lib/mixmax.rb, line 59
def post(route, query: {})
  self.class.post(route, headers: headers, body: query.to_json)
end