osem-fcy/app/helpers/external/mailbluster_helper.rb

44 lines
1.2 KiB
Ruby
Raw Normal View History

# frozen_string_literal: true
module External
module MailblusterHelper
2021-03-17 14:54:57 -07:00
MAILBLUSTER_URL = 'https://api.mailbluster.com/api/leads/'
2021-03-17 14:54:57 -07:00
# def query_api(user, method)
# TODO? General helper for all queries
# end
def create_lead(user)
uri = URI(MAILBLUSTER_URL)
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Post.new(uri.path,
2021-03-17 14:54:57 -07:00
'Authorization' => ENV['MAILBLUSTER_API_KEY'])
request.body = {
'email' => user.email,
'firstName' => user.name,
'overrideExisting' => true,
'subscribed' => true,
'tags' => ['snapcon']
}.to_json
response = http.request(request)
response.body
rescue StandardError => e
puts "ERROR #{e}"
nil
end
def delete_lead(user)
2021-03-17 14:54:57 -07:00
email_hash = Digest::MD5.hexdigest user.email
uri = URI(MAILBLUSTER_URL + email_hash)
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Delete.new(uri.path,
'Authorization' => ENV['MAILBLUSTER_API_KEY'])
response = http.request(request)
response.body
2021-03-17 14:54:57 -07:00
rescue StandardError => e
puts "ERROR #{e}"
nil
end
end
end