Sha256: 1d74ed15a56ec0d83ebb9327e053438daf477aef59f469be9a614d556ccef842

Contents?: true

Size: 1.03 KB

Versions: 2

Compression:

Stored size: 1.03 KB

Contents

module ActiveCampaignCrm
  class Client
    module Tags
      def tags(params = {})
        response = @connection.get('tags', params)
        response['tags']
      end

      def tag(id)
        response = @connection.get("tags/#{id}")
        response['tag']
      end

      def create_tag(fields)
        response = @connection.post('tags', tag_body(fields))
        response['tag']
      end

      def add_tag_to_contact(contact, tag)
        response = @connection.post('contactTags', contact_link_tag_body(contact, tag))
        response['contactTag']
      end

      def update_tag(id, fields)
        response = @connection.put("tags/#{id}", tag_body(fields))
        response['tag']
      end

      def delete_tag(id)
        @connection.delete("tags/#{id}")
      end

      def contact_link_tag_body(contact, tag)
        {
          'contactTag': {
            'contact': contact,
            'tag': tag
          }
        }.to_json
      end

      def tag_body(fields)
        { 'tag': fields }.to_json
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
active_campaign_crm-0.1.2 lib/active_campaign_crm/client/tags.rb
active_campaign_crm-0.1.1 lib/active_campaign_crm/client/tags.rb