Class: ZoomInfo::Company

Inherits:
Base
  • Object
show all
Defined in:
lib/zoominfo-ruby/company.rb

Constant Summary collapse

SEARCH_NON_KEY_PARAMS =
%w(pc outputType outputFieldOptions rpp page SortBy SortOrder)
DETAIL_KEY_PARAMS =
%w(CompanyID CompanyDomain)

Instance Attribute Summary

Attributes inherited from Base

#api_key, #partner_name

Instance Method Summary collapse

Methods inherited from Base

#generate_key, #initialize

Constructor Details

This class inherits a constructor from ZoomInfo::Base

Instance Method Details

#company_by_email(email_address) ⇒ Object

Runs 2 API calls, first to people search, second to company detail



25
26
27
28
# File 'lib/zoominfo-ruby/company.rb', line 25

def company_by_email(email_address)
  company_id = Person.new(@partner_name, @api_key).search_by_email(email_address)['PeopleSearchRequest']['PeopleSearchResults']['CurrentEmployment']['Company']['CompanyID']
  detail('CompanyID' => company_id)
end

#detail(query = {}) ⇒ Object



11
12
13
14
# File 'lib/zoominfo-ruby/company.rb', line 11

def detail(query = {})
  query[:key] = generate_key(query.slice(*DETAIL_KEY_PARAMS).values, @api_key)
  self.class.get("/company/detail", query: query).parsed_response["CompanyDetailRequest"]
end

#detail_by_domain_name(domain_name, opts = {}) ⇒ Object



20
21
22
# File 'lib/zoominfo-ruby/company.rb', line 20

def detail_by_domain_name(domain_name, opts = {})
  detail({'CompanyDomain' => domain_name}.merge!(opts))
end

#search(query = {}) ⇒ Object



6
7
8
9
# File 'lib/zoominfo-ruby/company.rb', line 6

def search(query = {})
  query[:key] = generate_key(query.except(*SEARCH_NON_KEY_PARAMS).values, @api_key)
  self.class.get("/company/search", query: query).parsed_response
end

#search_by_company_name(company_name) ⇒ Object



16
17
18
# File 'lib/zoominfo-ruby/company.rb', line 16

def search_by_company_name(company_name)
  search('CompanyName' => company_name)['CompanySearchRequest']['CompanySearchResults']
end