module OntraportApi::APIs::Contacts

Constants

CONTACTS_API_METHODS_AND_PATHS
CONTACTS_OBJECT_ID

Public Instance Methods

add_sequences_to_contact(id, sequence_ids) click to toggle source
# File lib/ontraport_api/apis/contacts.rb, line 29
def add_sequences_to_contact(id, sequence_ids)
  sequence_ids = sequence_ids.is_a?(Array) ? sequence_ids.join('*/*') : sequence_ids
  query_contacts({ id: id, updateSequence: "*/*#{sequence_ids}*/*" })
end
add_tags_to_contact(id, tag_ids) click to toggle source
# File lib/ontraport_api/apis/contacts.rb, line 34
def add_tags_to_contact(id, tag_ids)
  add_tags_to_contacts(tag_ids, "id = #{id}")
end
add_tags_to_contacts(tag_ids, conditions = {}) click to toggle source
# File lib/ontraport_api/apis/contacts.rb, line 44
def add_tags_to_contacts(tag_ids, conditions = {})
  conditions = { condition: conditions } if conditions.is_a? String
  default_conditions = {
    performAll: true
  }
  conditions = default_conditions.merge(conditions)

  tag_ids = tag_ids.is_a?(Array) ? tag_ids.join(',') : tag_ids
  query_contacts(conditions.merge({ add_list: tag_ids }))
end
contact_fields(format = {}) click to toggle source
# File lib/ontraport_api/apis/contacts.rb, line 38
def contact_fields(format = {})
  default_format = { format: 'byId' }
  format = default_format.merge(format)
  query_contacts(format)
end
get_contact(id) click to toggle source
# File lib/ontraport_api/apis/contacts.rb, line 17
def get_contact(id)
  query_contacts({id: id})
end
get_contacts(conditions = {}) click to toggle source
# File lib/ontraport_api/apis/contacts.rb, line 66
def get_contacts(conditions = {})
  conditions = { condition: conditions } if conditions.is_a? String
  default_conditions = {
    performAll: true,
    sortDir: 'asc',
    searchNotes: 'true'
  }
  payload = default_conditions.merge(conditions)
  query_contacts(payload)
end
new_contact(payload = {}) click to toggle source
# File lib/ontraport_api/apis/contacts.rb, line 21
def new_contact(payload = {})
  query_contacts(payload)
end
query_contacts(payload) click to toggle source
# File lib/ontraport_api/apis/contacts.rb, line 77
def query_contacts(payload)
  method, path = CONTACTS_API_METHODS_AND_PATHS[caller[0][/`.*'/][1..-2]]
  query(method, path, payload.merge({ objectID: CONTACTS_OBJECT_ID }))
end
remove_tags_from_contacts(tag_ids, conditions = {}) click to toggle source
# File lib/ontraport_api/apis/contacts.rb, line 55
def remove_tags_from_contacts(tag_ids, conditions = {})
  conditions = { condition: conditions } if conditions.is_a? String
  default_conditions = {
    performAll: true
  }
  conditions = default_conditions.merge(conditions)

  tag_ids = tag_ids.is_a?(Array) ? tag_ids.join(',') : tag_ids
  query_contacts(conditions.merge({ remove_list: tag_ids }))
end
update_contact(id, payload = {}) click to toggle source
# File lib/ontraport_api/apis/contacts.rb, line 25
def update_contact(id, payload = {})
  query_contacts(payload.merge(id: id))
end