Class: SpreeKlaviyo::Klaviyo::Client
- Inherits:
-
Object
- Object
- SpreeKlaviyo::Klaviyo::Client
- Defined in:
- app/clients/spree_klaviyo/klaviyo/client.rb
Defined Under Namespace
Classes: Result
Instance Method Summary collapse
- #get_request(api_endpoint) ⇒ Object
-
#initialize(public_api_key:, private_api_key:) ⇒ Client
constructor
A new instance of Client.
- #patch_request(api_endpoint, body) ⇒ Object
- #post_request(api_endpoint, body) ⇒ Object
Constructor Details
#initialize(public_api_key:, private_api_key:) ⇒ Client
Returns a new instance of Client.
6 7 8 9 |
# File 'app/clients/spree_klaviyo/klaviyo/client.rb', line 6 def initialize(public_api_key:, private_api_key:) @public_api_key = public_api_key @private_api_key = private_api_key end |
Instance Method Details
#get_request(api_endpoint) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'app/clients/spree_klaviyo/klaviyo/client.rb', line 11 def get_request(api_endpoint) request = Net::HTTP::Get.new(url(api_endpoint)) request["accept"] = "application/json" request["revision"] = SpreeKlaviyo::Config[:klaviyo_api_revision] request["Authorization"] = "Klaviyo-API-Key #{private_api_key}" response = http.request(request) if response.is_a?(Net::HTTPSuccess) Result.new(true, response.read_body) else Result.new(false, response.read_body) end end |
#patch_request(api_endpoint, body) ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'app/clients/spree_klaviyo/klaviyo/client.rb', line 43 def patch_request(api_endpoint, body) request = Net::HTTP::Patch.new(url(api_endpoint)) request["accept"] = "application/json" request["revision"] = SpreeKlaviyo::Config[:klaviyo_api_revision] request["content-type"] = "application/json" request["Authorization"] = "Klaviyo-API-Key #{private_api_key}" request.body = body.to_json response = http.request(request) if response.is_a?(Net::HTTPSuccess) Result.new(true, response.read_body) else Result.new(false, response.read_body) end end |
#post_request(api_endpoint, body) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'app/clients/spree_klaviyo/klaviyo/client.rb', line 26 def post_request(api_endpoint, body) request = Net::HTTP::Post.new(url(api_endpoint)) request["accept"] = "application/json" request["revision"] = SpreeKlaviyo::Config[:klaviyo_api_revision] request["content-type"] = "application/json" request["Authorization"] = "Klaviyo-API-Key #{private_api_key}" request.body = body.to_json response = http.request(request) if response.is_a?(Net::HTTPSuccess) Result.new(true, response.read_body) else Result.new(false, response.read_body) end end |