class ActiveCampaign::Contact

@example Contacts

ActiveCampaign::Contact.find(1)
ActiveCampaign::Contact.find_by email: "contact-1@mail.com"
ActiveCampaign::Contact.find(1).destroy
ActiveCampaign::Contact.find(1).contact_tags

Public Instance Methods

add_tag(tag, create_if_not_found: true) click to toggle source

@example Add a tag to a contact.

ActiveCampaign::Contact.find(1).add_tag "tag-name"

Don’t create the tag if it doesn’t exist.

ActiveCampaign::Contact.find(1).add_tag "tag-name", create_if_not_found: false
# File lib/active_campaign/models/contact.rb, line 35
def add_tag(tag, create_if_not_found: true)
  tag_id = Tag.find_by(tag: tag)&.id

  tag_id = ActiveCampaign::Tag.create(tag: tag)&.id if !tag_id && create_if_not_found

  return false unless tag_id

  ActiveCampaign::ContactTag.create contact: id, tag: tag_id
end
contact_tags() click to toggle source

@example Find contact’s tags.

ActiveCampaign::Contact.find(1).contact_tags
ActiveCampaign::Contact.find(1).contact_tags.last.destroy
# File lib/active_campaign/models/contact.rb, line 23
def contact_tags
  ContactTag.get "#{self.class.endpoint}/#{id}/contactTags"
end
remove_tag(tag) click to toggle source

@example Remove a tag from a contact.

ActiveCampaign::Contact.find(1).remove_tag "tag-name"
# File lib/active_campaign/models/contact.rb, line 49
def remove_tag(tag)
  tag_id = Tag.find_by(tag: tag)&.id

  return false unless tag_id

  contact_tag = contact_tags.filter_map { |ct| ct if ct.tag == tag_id }.last

  contact_tag&.destroy
end