require 'httparty' ### Usage # MailEngine::Sendgrid::RestApi.stats module MailEngine module Sendgrid class RestApiError < StandardError; end class RestApi include HTTParty base_uri "https://sendgrid.com/api" default_params :api_key => MailEngine::Base.current_config["sendgrid_key"], :api_user => MailEngine::Base.current_config["sendgrid_user"] class << self # # # 2009-06-20 # 12342 # 12 # 10223 # 9992 # 5 # 3 # 6 # 7 # # def stats options = {} response = get "/stats.get.xml", :query => options response["stats"].try(:send, :[], "day") end # # # email1@domain.com # 5.1.1 # host [127.0.0.1] said: 550 5.1.1 unknown or illegal user: email1@domain.com # 2009-06-10 12:40:30 # # def bounces options = {} response = get "/bounces.get.xml", :query => options response["bounces"].try(:send, :[], "bounce") end # # # email1@domain.com # 2009-06-10 12:40:30 # # def spamreports options = {} response = get "/spamreports.get.xml", :query => options response["spamreports"].try(:send, :[], "spamreport") end # # # isaac@hotmail.comm # Mail domain mentioned in email address is unknown # 2009-06-10 12:40:30 # # def invalidemails options = {} response = get "/invalidemails.get.xml", :query => options response["invalidemails"].try(:send, :[], "invalidemail") end # # # exp_block_0466@sendgrid.com # # Some random block reason # 2010-11-08 20:39:29 # # def blocks options = {} response = get "/blocks.get.xml", :query => options response["blocks"].try(:send, :[], "block") end end end # end of rest api class end # end of sendgrid module end # end of mail engine module