diff --git a/lib/convertkit.rb b/lib/convertkit.rb index 1449612..dca157b 100644 --- a/lib/convertkit.rb +++ b/lib/convertkit.rb @@ -24,6 +24,7 @@ require 'convertkit/resources/subscriber_bulk_create_failure_response' require 'convertkit/resources/subscriber_bulk_remove_tag_response' require 'convertkit/resources/subscriber_bulk_tag_failure_response' +require 'convertkit/resources/subscriber_tag_response' require 'convertkit/resources/subscribers' require 'convertkit/resources/subscribers_response' require 'convertkit/resources/subscription_response' diff --git a/lib/convertkit/resources/subscriber_bulk_tag_failure_response.rb b/lib/convertkit/resources/subscriber_bulk_tag_failure_response.rb index da9fb03..4aa5452 100644 --- a/lib/convertkit/resources/subscriber_bulk_tag_failure_response.rb +++ b/lib/convertkit/resources/subscriber_bulk_tag_failure_response.rb @@ -1,10 +1,10 @@ module ConvertKit module Resources class SubscriberBulkTagFailureResponse - attr_accessor :subscriber, :errors + attr_accessor :tagging, :errors def initialize(response) - @subscriber = SubscriberResponse.new(response['subscriber']) if response['subscriber'] + @tagging = SubscriberTagResponse.new(response['tagging']) if response['tagging'] @errors = response['errors'] end end diff --git a/lib/convertkit/resources/subscriber_tag_response.rb b/lib/convertkit/resources/subscriber_tag_response.rb new file mode 100644 index 0000000..c198f79 --- /dev/null +++ b/lib/convertkit/resources/subscriber_tag_response.rb @@ -0,0 +1,12 @@ +module ConvertKit + module Resources + class SubscriberTagResponse + attr_accessor :tag_id, :subscriber_id + + def initialize(response) + @tag_id = response['tag_id'] + @subscriber_id = response['subscriber_id'] + end + end + end +end diff --git a/spec/lib/convertkit/resources/tags_spec.rb b/spec/lib/convertkit/resources/tags_spec.rb index 9e883a9..5625291 100644 --- a/spec/lib/convertkit/resources/tags_spec.rb +++ b/spec/lib/convertkit/resources/tags_spec.rb @@ -174,11 +174,9 @@ { 'subscribers' => [], 'failures' => [{ - 'subscriber' => { - 'id' => 1, - 'first_name' => 'foo', - 'email_address' => 'foo@bar.com', - 'created_at' => '2023-08-09T04:30:00Z', + 'tagging' => { + 'subscriber_id' => 1, + 'tag_id' => 2, }, 'errors' => ['Test error message'] }] @@ -190,7 +188,8 @@ tags_response = tags.bulk_add_to_subscribers(taggings) expect(tags_response.failures.count).to eq(1) - expect(tags_response.failures.first.subscriber.id).to eq(1) + expect(tags_response.failures.first.tagging.subscriber_id).to eq(1) + expect(tags_response.failures.first.tagging.tag_id).to eq(2) expect(tags_response.failures.first.errors.first).to eq('Test error message') end end @@ -219,11 +218,9 @@ let(:response) do { 'failures' => [{ - 'subscriber' => { - 'id' => 1, - 'first_name' => 'foo', - 'email_address' => 'foo@bar.com', - 'created_at' => '2023-08-09T04:30:00Z', + 'tagging' => { + 'subscriber_id' => 1, + 'tag_id' => 2, }, 'errors' => ['Test error message'] }] @@ -235,7 +232,8 @@ tags_response = tags.bulk_remove_from_subscribers(taggings) expect(tags_response.failures.count).to eq(1) - expect(tags_response.failures.first.subscriber.id).to eq(1) + expect(tags_response.failures.first.tagging.subscriber_id).to eq(1) + expect(tags_response.failures.first.tagging.tag_id).to eq(2) expect(tags_response.failures.first.errors.first).to eq('Test error message') end end