diff --git a/lib/convertkit_v4/client.rb b/lib/convertkit_v4/client.rb index 4a69183..86fe4b5 100644 --- a/lib/convertkit_v4/client.rb +++ b/lib/convertkit_v4/client.rb @@ -2,6 +2,7 @@ require "convertkit_v4/client/custom_fields" require "convertkit_v4/client/forms" require "convertkit_v4/client/sequences" +require "convertkit_v4/client/broadcasts" require "convertkit_v4/client/subscribers" require "convertkit_v4/client/webhooks" require "convertkit_v4/client/tags" @@ -13,6 +14,7 @@ class Client include CustomFields include Forms include Sequences + include Broadcasts include Subscribers include Webhooks include Tags diff --git a/lib/convertkit_v4/client/broadcasts.rb b/lib/convertkit_v4/client/broadcasts.rb new file mode 100644 index 0000000..b8bd979 --- /dev/null +++ b/lib/convertkit_v4/client/broadcasts.rb @@ -0,0 +1,19 @@ +module ConvertkitV4 + class Client + module Broadcasts + + def broadcasts + connection.get("broadcasts").body["broadcasts"] + end + + def broadcast(broadcast_id) + connection.get("broadcasts/#{broadcast_id}").body["broadcast"] + end + + def broadcast_stats(broadcast_id) + connection.get("broadcasts/#{broadcast_id}/stats").body["broadcast"] + end + + end + end +end diff --git a/lib/convertkit_v4/version.rb b/lib/convertkit_v4/version.rb index df04e30..4993468 100644 --- a/lib/convertkit_v4/version.rb +++ b/lib/convertkit_v4/version.rb @@ -1,3 +1,3 @@ module ConvertkitV4 - VERSION = "1.0.15" + VERSION = "1.0.17" end diff --git a/spec/convertkit_v4/client/broadcasts_spec.rb b/spec/convertkit_v4/client/broadcasts_spec.rb new file mode 100644 index 0000000..94fed14 --- /dev/null +++ b/spec/convertkit_v4/client/broadcasts_spec.rb @@ -0,0 +1,43 @@ +require "spec_helper" +require "securerandom" + +module ConvertkitV4 + class Client + describe Broadcasts do + before do + ConvertkitV4.configure do |config| + config.api_secret = ENV["API_SECRET"] + config.api_key = ENV["API_KEY"] + end + + @client = ConvertkitV4::Client.new + end + + describe "#broadcasts" do + it "sends the right request" do + r = @client.broadcasts + expect(r.success?).to be_truthy + expect(r.body).to_not eql({"error"=>"Authorization Failed", "message"=>"API Key not present"}) + end + end + + describe "#broadcast" do + it "sends the right request" do + broadcast_id = ENV['BROADCAST_ID'] + + r = @client.broadcast(broadcast_id) + expect(r.success?).to be_truthy + expect(r.body).to_not eql({"error"=>"Not Found", "message"=>"The entity you were trying to find doesn't exist"}) + end + end + + describe "#broadcast_stats" do + it "sends the right request" do + broadcast_id = ENV['BROADCAST_ID'] + + r = @client.broadcast_stats(broadcast_id) + expect(r.success?).to be_truthy + expect(r.body).to_not eql({"error"=>"Not Found", "message"=>"The entity you were trying to find doesn't exist"}) + end + end + end