class Customerio::APIClient
Public Class Methods
new(app_key, options = {})
click to toggle source
# File lib/customerio/api.rb, line 6 def initialize(app_key, options = {}) options[:region] = Customerio::Regions::US if options[:region].nil? raise "region must be an instance of Customerio::Regions::Region" unless options[:region].is_a?(Customerio::Regions::Region) options[:url] = options[:region].api_url if options[:url].nil? || options[:url].empty? @client = Customerio::BaseClient.new({ app_key: app_key }, options) end
Public Instance Methods
send_email(req)
click to toggle source
# File lib/customerio/api.rb, line 14 def send_email(req) raise "request must be an instance of Customerio::SendEmailRequest" unless req.is_a?(Customerio::SendEmailRequest) response = @client.request(:post, send_email_path, req.message) case response when Net::HTTPSuccess then JSON.parse(response.body) when Net::HTTPBadRequest then json = JSON.parse(response.body) raise Customerio::InvalidResponse.new(response.code, json['meta']['error'], response) else raise InvalidResponse.new(response.code, response.body) end end
Private Instance Methods
send_email_path()
click to toggle source
# File lib/customerio/api.rb, line 31 def send_email_path "/v1/send/email" end