cufinder-ruby 0.0.1 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +35 -50
- data/cufinder-ruby.gemspec +1 -1
- data/lib/cufinder_ruby/base_api_client.rb +84 -0
- data/lib/cufinder_ruby/client.rb +107 -78
- data/lib/cufinder_ruby/errors.rb +1 -1
- data/lib/cufinder_ruby/services.rb +2 -2
- data/lib/cufinder_ruby/types.rb +1 -1
- data/lib/cufinder_ruby/version.rb +2 -2
- data/lib/cufinder_ruby.rb +2 -2
- metadata +2 -2
- data/lib/cufinder_ruby/sdk.rb +0 -99
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5f02342f587a60dcb5946f69fce0aab002736425ead7614d5cecaca4af35d035
|
4
|
+
data.tar.gz: '097b09d59e662d36c221de3fcc9bda06ebc0778c84daf291fb12f7047dd3f549'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bc1ee47853ec78af1f478410b7ed54dc0dcb024d918cf0f32e145084f621751326a4f878b7ff4ec22029f39efcccb5b1e4fa0b386a42ae8bd2cc5aa937f85df4
|
7
|
+
data.tar.gz: 469e8cd28fc6308b2768ffcda28a350397604908ae3ebfedc531b24c76e8a067be905f0deddad258894825f4155acd7554d131d1637cf9ee6393d1b3514ec0a7
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
# CUFinder Ruby
|
1
|
+
# CUFinder Ruby Client
|
2
2
|
|
3
|
-
Official Ruby
|
3
|
+
Official Ruby Client for accessing CUFinder's comprehensive business intelligence and lead generation services.
|
4
4
|
|
5
5
|
## Installation
|
6
6
|
|
@@ -29,178 +29,163 @@ gem install cufinder-ruby
|
|
29
29
|
```ruby
|
30
30
|
require 'cufinder_ruby'
|
31
31
|
|
32
|
-
# Initialize the
|
33
|
-
|
32
|
+
# Initialize the client with your API key
|
33
|
+
client = Cufinder::Client.new(api_key: 'your-api-key-here')
|
34
34
|
```
|
35
35
|
|
36
36
|
### Available Services
|
37
37
|
|
38
|
-
The
|
38
|
+
The Client provides access to all CUFinder API services:
|
39
39
|
|
40
40
|
#### 1. CUF - Company URL Finder
|
41
41
|
```ruby
|
42
|
-
result =
|
42
|
+
result = client.cuf(company_name: "Apple Inc", country_code: "US")
|
43
43
|
puts result.domain # => "apple.com"
|
44
44
|
```
|
45
45
|
|
46
46
|
#### 2. LCUF - LinkedIn Company URL Finder
|
47
47
|
```ruby
|
48
|
-
result =
|
48
|
+
result = client.lcuf(company_name: "Apple Inc")
|
49
49
|
puts result.linkedin_url # => "linkedin.com/company/apple"
|
50
50
|
```
|
51
51
|
|
52
52
|
#### 3. DTC - Domain to Company
|
53
53
|
```ruby
|
54
|
-
result =
|
54
|
+
result = client.dtc(company_website: "apple.com")
|
55
55
|
puts result.company_name # => "Apple Inc"
|
56
56
|
```
|
57
57
|
|
58
58
|
#### 4. DTE - Domain to Emails
|
59
59
|
```ruby
|
60
|
-
result =
|
60
|
+
result = client.dte(company_website: "apple.com")
|
61
61
|
puts result.emails # => ["contact@apple.com", "info@apple.com"]
|
62
62
|
```
|
63
63
|
|
64
64
|
#### 5. NTP - Name to Phones
|
65
65
|
```ruby
|
66
|
-
result =
|
66
|
+
result = client.ntp(company_name: "Apple Inc")
|
67
67
|
puts result.phones # => ["+1-408-996-1010"]
|
68
68
|
```
|
69
69
|
|
70
70
|
#### 6. REL - Reverse Email Lookup
|
71
71
|
```ruby
|
72
|
-
result =
|
72
|
+
result = client.rel(email: "tim.cook@apple.com")
|
73
73
|
puts result.person.full_name # => "Tim Cook"
|
74
74
|
```
|
75
75
|
|
76
76
|
#### 7. FCL - Find Company Lookalikes
|
77
77
|
```ruby
|
78
|
-
result =
|
78
|
+
result = client.fcl(query: "tech startup")
|
79
79
|
puts result.companies.length # => 10
|
80
80
|
```
|
81
81
|
|
82
82
|
#### 8. ELF - Enrich LinkedIn Fundraising
|
83
83
|
```ruby
|
84
|
-
result =
|
84
|
+
result = client.elf(query: "tech company")
|
85
85
|
puts result.fundraising.funding_money_raised # => "$5M"
|
86
86
|
```
|
87
87
|
|
88
88
|
#### 9. CAR - Company Annual Revenue
|
89
89
|
```ruby
|
90
|
-
result =
|
90
|
+
result = client.car(query: "Apple Inc")
|
91
91
|
puts result.revenue # => "$394.3B"
|
92
92
|
```
|
93
93
|
|
94
94
|
#### 10. FCC - Find Company Children
|
95
95
|
```ruby
|
96
|
-
result =
|
96
|
+
result = client.fcc(query: "Apple Inc")
|
97
97
|
puts result.subsidiaries # => ["Beats Electronics", "Shazam"]
|
98
98
|
```
|
99
99
|
|
100
100
|
#### 11. FTS - Find Tech Stack
|
101
101
|
```ruby
|
102
|
-
result =
|
102
|
+
result = client.fts(query: "web development")
|
103
103
|
puts result.technologies # => ["React", "Node.js", "Python"]
|
104
104
|
```
|
105
105
|
|
106
106
|
#### 12. EPP - Enrich Person Profile
|
107
107
|
```ruby
|
108
|
-
result =
|
108
|
+
result = client.epp(linkedin_url: "linkedin.com/in/tim-cook")
|
109
109
|
puts result.person.full_name # => "Tim Cook"
|
110
110
|
```
|
111
111
|
|
112
112
|
#### 13. FWE - Find Work Email
|
113
113
|
```ruby
|
114
|
-
result =
|
114
|
+
result = client.fwe(linkedin_url: "linkedin.com/in/tim-cook")
|
115
115
|
puts result.email # => "tim.cook@apple.com"
|
116
116
|
```
|
117
117
|
|
118
118
|
#### 14. TEP - Title Email Phone
|
119
119
|
```ruby
|
120
|
-
result =
|
120
|
+
result = client.tep(full_name: "Tim Cook", company: "Apple Inc")
|
121
121
|
puts result.person.email # => "tim.cook@apple.com"
|
122
122
|
puts result.person.phone # => "+1-408-996-1010"
|
123
123
|
```
|
124
124
|
|
125
125
|
#### 15. ENC - Enrich Company
|
126
126
|
```ruby
|
127
|
-
result =
|
127
|
+
result = client.enc(query: "Apple Inc")
|
128
128
|
puts result.company.employee_count # => 164000
|
129
129
|
```
|
130
130
|
|
131
131
|
#### 16. CEC - Company Employee Count
|
132
132
|
```ruby
|
133
|
-
result =
|
133
|
+
result = client.cec(query: "Apple Inc")
|
134
134
|
puts result.countries # => {"US" => 100000, "CA" => 5000}
|
135
135
|
```
|
136
136
|
|
137
137
|
#### 17. CLO - Company Locations
|
138
138
|
```ruby
|
139
|
-
result =
|
139
|
+
result = client.clo(query: "Apple Inc")
|
140
140
|
puts result.locations.first.city # => "Cupertino"
|
141
141
|
```
|
142
142
|
|
143
143
|
#### 18. CSE - Company Search Engine
|
144
144
|
```ruby
|
145
|
-
result =
|
145
|
+
result = client.cse(name: "tech", country: "US", industry: "software")
|
146
146
|
puts result.companies.length # => 50
|
147
147
|
```
|
148
148
|
|
149
149
|
#### 19. PSE - Person Search Engine
|
150
150
|
```ruby
|
151
|
-
result =
|
151
|
+
result = client.pse(full_name: "John", country: "US", company_name: "Apple")
|
152
152
|
puts result.peoples.length # => 25
|
153
153
|
```
|
154
154
|
|
155
155
|
#### 20. LBS - Local Business Search
|
156
156
|
```ruby
|
157
|
-
result =
|
157
|
+
result = client.lbs(name: "restaurant", city: "New York")
|
158
158
|
puts result.companies.length # => 100
|
159
159
|
```
|
160
160
|
|
161
161
|
### Error Handling
|
162
162
|
|
163
|
-
The
|
163
|
+
The Client provides comprehensive error handling:
|
164
164
|
|
165
165
|
```ruby
|
166
166
|
begin
|
167
|
-
result =
|
168
|
-
rescue
|
167
|
+
result = client.cuf(company_name: "Apple Inc", country_code: "US")
|
168
|
+
rescue Cufinder::AuthenticationError => e
|
169
169
|
puts "Authentication failed: #{e.message}"
|
170
|
-
rescue
|
170
|
+
rescue Cufinder::RateLimitError => e
|
171
171
|
puts "Rate limit exceeded: #{e.message}"
|
172
|
-
rescue
|
172
|
+
rescue Cufinder::CreditLimitError => e
|
173
173
|
puts "Credit limit exceeded: #{e.message}"
|
174
|
-
rescue
|
174
|
+
rescue Cufinder::ApiError => e
|
175
175
|
puts "API error #{e.status}: #{e.message}"
|
176
|
-
rescue
|
176
|
+
rescue Cufinder::ValidationError => e
|
177
177
|
puts "Validation error: #{e.message}"
|
178
178
|
end
|
179
179
|
```
|
180
180
|
|
181
181
|
### Configuration
|
182
182
|
|
183
|
-
You can configure the
|
183
|
+
You can configure the Client with custom settings:
|
184
184
|
|
185
185
|
```ruby
|
186
|
-
sdk =
|
186
|
+
sdk = Cufinder::Client.new(
|
187
187
|
api_key: 'your-api-key',
|
188
|
-
base_url: 'https://api.cufinder.io/v2', # Default
|
189
188
|
timeout: 30, # Default
|
190
189
|
max_retries: 3 # Default
|
191
190
|
)
|
192
|
-
```
|
193
|
-
|
194
|
-
## Development
|
195
|
-
|
196
|
-
After checking out the repo, run `bundle install` to install dependencies. Then, run `rake spec` to run the tests.
|
197
|
-
|
198
|
-
To install this gem onto your local machine, run `bundle exec rake install`.
|
199
|
-
|
200
|
-
## Contributing
|
201
|
-
|
202
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/cufinder/cufinder-ruby.
|
203
|
-
|
204
|
-
## License
|
205
|
-
|
206
|
-
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
191
|
+
```
|
data/cufinder-ruby.gemspec
CHANGED
@@ -0,0 +1,84 @@
|
|
1
|
+
require "httparty"
|
2
|
+
require "json"
|
3
|
+
require "cufinder_ruby/errors"
|
4
|
+
|
5
|
+
module Cufinder
|
6
|
+
class BaseApiClient
|
7
|
+
include HTTParty
|
8
|
+
|
9
|
+
attr_reader :api_key, :base_url, :timeout, :max_retries
|
10
|
+
|
11
|
+
def initialize(api_key:, timeout: 30, max_retries: 3)
|
12
|
+
@api_key = api_key
|
13
|
+
@base_url = "https://api.cufinder.io/v2"
|
14
|
+
@timeout = timeout
|
15
|
+
@max_retries = max_retries
|
16
|
+
|
17
|
+
self.class.base_uri @base_url
|
18
|
+
self.class.headers "User-Agent" => "cufinder-ruby/#{Cufinder::VERSION}"
|
19
|
+
end
|
20
|
+
|
21
|
+
def post(endpoint, data)
|
22
|
+
response = self.class.post(
|
23
|
+
endpoint,
|
24
|
+
body: form_encode(data),
|
25
|
+
headers: {
|
26
|
+
"x-api-key" => api_key,
|
27
|
+
"Content-Type" => "application/x-www-form-urlencoded"
|
28
|
+
},
|
29
|
+
timeout: @timeout
|
30
|
+
)
|
31
|
+
|
32
|
+
handle_response(response)
|
33
|
+
end
|
34
|
+
|
35
|
+
private
|
36
|
+
|
37
|
+
def form_encode(data)
|
38
|
+
return "" if data.nil? || data.empty?
|
39
|
+
|
40
|
+
data.map do |key, value|
|
41
|
+
next if value.nil?
|
42
|
+
|
43
|
+
if value.is_a?(Array)
|
44
|
+
value.map { |v| "#{key}=#{CGI.escape(v.to_s)}" }.join("&")
|
45
|
+
else
|
46
|
+
"#{key}=#{CGI.escape(value.to_s)}"
|
47
|
+
end
|
48
|
+
end.compact.join("&")
|
49
|
+
end
|
50
|
+
|
51
|
+
def handle_response(response)
|
52
|
+
case response.code
|
53
|
+
when 200..299
|
54
|
+
extract_data(response.parsed_response)
|
55
|
+
when 401
|
56
|
+
raise AuthenticationError, response.body
|
57
|
+
when 402
|
58
|
+
raise CreditLimitError, response.body
|
59
|
+
when 429
|
60
|
+
raise RateLimitError, response.body
|
61
|
+
else
|
62
|
+
raise ApiError.new(response.code, response.body)
|
63
|
+
end
|
64
|
+
rescue JSON::ParserError => e
|
65
|
+
raise HttpError, "Failed to parse response: #{e.message}"
|
66
|
+
rescue HTTParty::Error => e
|
67
|
+
raise HttpError, "HTTP request failed: #{e.message}"
|
68
|
+
end
|
69
|
+
|
70
|
+
def extract_data(response_data)
|
71
|
+
# Extract data from wrapper if present (similar to Go SDK's mapToStruct)
|
72
|
+
if response_data.is_a?(Hash) && response_data.key?("data")
|
73
|
+
data = response_data["data"]
|
74
|
+
# Add meta_data if it exists in the outer response
|
75
|
+
if response_data.key?("meta_data")
|
76
|
+
data["meta_data"] = response_data["meta_data"]
|
77
|
+
end
|
78
|
+
data
|
79
|
+
else
|
80
|
+
response_data
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
data/lib/cufinder_ruby/client.rb
CHANGED
@@ -1,84 +1,113 @@
|
|
1
|
-
require "
|
2
|
-
require "
|
3
|
-
require "cufinder_ruby/errors"
|
1
|
+
require "cufinder_ruby/base_api_client"
|
2
|
+
require "cufinder_ruby/services"
|
4
3
|
|
5
|
-
module
|
4
|
+
module Cufinder
|
5
|
+
# Main client class for interacting with the CUFinder API
|
6
|
+
#
|
7
|
+
# This is the primary entry point for all API operations.
|
8
|
+
# It provides convenient methods for each service and handles
|
9
|
+
# authentication and HTTP communication internally.
|
10
|
+
#
|
11
|
+
# @example Basic usage
|
12
|
+
# client = Cufinder::Client.new(api_key: 'your-api-key')
|
13
|
+
# result = client.cuf(company_name: 'Example Corp', country_code: 'US')
|
14
|
+
#
|
6
15
|
class Client
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
@
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
self.class.headers "User-Agent" => "cufinder-ruby/#{CufinderRuby::VERSION}"
|
20
|
-
end
|
21
|
-
|
22
|
-
def post(endpoint, data)
|
23
|
-
response = self.class.post(
|
24
|
-
endpoint,
|
25
|
-
body: form_encode(data),
|
26
|
-
headers: {
|
27
|
-
"x-api-key" => api_key,
|
28
|
-
"Content-Type" => "application/x-www-form-urlencoded"
|
29
|
-
}
|
16
|
+
attr_reader :client, :services
|
17
|
+
|
18
|
+
# Initialize a new CUFinder client
|
19
|
+
#
|
20
|
+
# @param api_key [String] Your CUFinder API key
|
21
|
+
# @param timeout [Integer] Request timeout in seconds (default: 30)
|
22
|
+
# @param max_retries [Integer] Maximum number of retries (default: 3)
|
23
|
+
def initialize(api_key:, timeout: 30, max_retries: 3)
|
24
|
+
@client = BaseApiClient.new(
|
25
|
+
api_key: api_key,
|
26
|
+
timeout: timeout,
|
27
|
+
max_retries: max_retries
|
30
28
|
)
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
end
|
50
|
-
|
51
|
-
def
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
29
|
+
@services = Services.new(@client)
|
30
|
+
end
|
31
|
+
|
32
|
+
# Service methods - Each method corresponds to a CUFinder API service
|
33
|
+
def cuf(company_name:, country_code:)
|
34
|
+
@services.get_domain(company_name: company_name, country_code: country_code)
|
35
|
+
end
|
36
|
+
|
37
|
+
def lcuf(company_name:)
|
38
|
+
@services.get_linkedin_url(company_name: company_name)
|
39
|
+
end
|
40
|
+
|
41
|
+
def dtc(company_website:)
|
42
|
+
@services.get_company_name(company_website: company_website)
|
43
|
+
end
|
44
|
+
|
45
|
+
def dte(company_website:)
|
46
|
+
@services.get_emails(company_website: company_website)
|
47
|
+
end
|
48
|
+
|
49
|
+
def ntp(company_name:)
|
50
|
+
@services.get_phones(company_name: company_name)
|
51
|
+
end
|
52
|
+
|
53
|
+
def rel(email:)
|
54
|
+
@services.get_person_by_email(email: email)
|
55
|
+
end
|
56
|
+
|
57
|
+
def fcl(query:)
|
58
|
+
@services.find_company_lookalikes(query: query)
|
59
|
+
end
|
60
|
+
|
61
|
+
def elf(query:)
|
62
|
+
@services.enrich_linkedin_fundraising(query: query)
|
63
|
+
end
|
64
|
+
|
65
|
+
def car(query:)
|
66
|
+
@services.get_annual_revenue(query: query)
|
67
|
+
end
|
68
|
+
|
69
|
+
def fcc(query:)
|
70
|
+
@services.find_company_children(query: query)
|
71
|
+
end
|
72
|
+
|
73
|
+
def fts(query:)
|
74
|
+
@services.find_tech_stack(query: query)
|
75
|
+
end
|
76
|
+
|
77
|
+
def epp(linkedin_url:)
|
78
|
+
@services.enrich_person_profile(linkedin_url: linkedin_url)
|
79
|
+
end
|
80
|
+
|
81
|
+
def fwe(linkedin_url:)
|
82
|
+
@services.find_work_email(linkedin_url: linkedin_url)
|
83
|
+
end
|
84
|
+
|
85
|
+
def tep(full_name:, company:)
|
86
|
+
@services.get_title_email_phone(full_name: full_name, company: company)
|
87
|
+
end
|
88
|
+
|
89
|
+
def enc(query:)
|
90
|
+
@services.enrich_company(query: query)
|
91
|
+
end
|
92
|
+
|
93
|
+
def cec(query:)
|
94
|
+
@services.get_company_employee_count(query: query)
|
95
|
+
end
|
96
|
+
|
97
|
+
def clo(query:)
|
98
|
+
@services.get_company_locations(query: query)
|
99
|
+
end
|
100
|
+
|
101
|
+
def cse(**params)
|
102
|
+
@services.search_companies(params)
|
103
|
+
end
|
104
|
+
|
105
|
+
def pse(**params)
|
106
|
+
@services.search_people(params)
|
107
|
+
end
|
108
|
+
|
109
|
+
def lbs(**params)
|
110
|
+
@services.search_local_businesses(params)
|
82
111
|
end
|
83
112
|
end
|
84
113
|
end
|
data/lib/cufinder_ruby/errors.rb
CHANGED
data/lib/cufinder_ruby/types.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
module
|
2
|
-
VERSION = "0.0
|
1
|
+
module Cufinder
|
2
|
+
VERSION = "1.0.0"
|
3
3
|
end
|
data/lib/cufinder_ruby.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cufinder-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- CUFinder Team
|
@@ -95,9 +95,9 @@ files:
|
|
95
95
|
- Rakefile
|
96
96
|
- cufinder-ruby.gemspec
|
97
97
|
- lib/cufinder_ruby.rb
|
98
|
+
- lib/cufinder_ruby/base_api_client.rb
|
98
99
|
- lib/cufinder_ruby/client.rb
|
99
100
|
- lib/cufinder_ruby/errors.rb
|
100
|
-
- lib/cufinder_ruby/sdk.rb
|
101
101
|
- lib/cufinder_ruby/services.rb
|
102
102
|
- lib/cufinder_ruby/types.rb
|
103
103
|
- lib/cufinder_ruby/version.rb
|
data/lib/cufinder_ruby/sdk.rb
DELETED
@@ -1,99 +0,0 @@
|
|
1
|
-
require "cufinder_ruby/client"
|
2
|
-
require "cufinder_ruby/services"
|
3
|
-
|
4
|
-
module CufinderRuby
|
5
|
-
class SDK
|
6
|
-
attr_reader :client, :services
|
7
|
-
|
8
|
-
def initialize(api_key:, base_url: "https://api.cufinder.io/v2", timeout: 30, max_retries: 3)
|
9
|
-
@client = Client.new(
|
10
|
-
api_key: api_key,
|
11
|
-
base_url: base_url,
|
12
|
-
timeout: timeout,
|
13
|
-
max_retries: max_retries
|
14
|
-
)
|
15
|
-
@services = Services.new(@client)
|
16
|
-
end
|
17
|
-
|
18
|
-
# Convenience methods for each service
|
19
|
-
def cuf(company_name:, country_code:)
|
20
|
-
@services.get_domain(company_name: company_name, country_code: country_code)
|
21
|
-
end
|
22
|
-
|
23
|
-
def lcuf(company_name:)
|
24
|
-
@services.get_linkedin_url(company_name: company_name)
|
25
|
-
end
|
26
|
-
|
27
|
-
def dtc(company_website:)
|
28
|
-
@services.get_company_name(company_website: company_website)
|
29
|
-
end
|
30
|
-
|
31
|
-
def dte(company_website:)
|
32
|
-
@services.get_emails(company_website: company_website)
|
33
|
-
end
|
34
|
-
|
35
|
-
def ntp(company_name:)
|
36
|
-
@services.get_phones(company_name: company_name)
|
37
|
-
end
|
38
|
-
|
39
|
-
def rel(email:)
|
40
|
-
@services.get_person_by_email(email: email)
|
41
|
-
end
|
42
|
-
|
43
|
-
def fcl(query:)
|
44
|
-
@services.find_company_lookalikes(query: query)
|
45
|
-
end
|
46
|
-
|
47
|
-
def elf(query:)
|
48
|
-
@services.enrich_linkedin_fundraising(query: query)
|
49
|
-
end
|
50
|
-
|
51
|
-
def car(query:)
|
52
|
-
@services.get_annual_revenue(query: query)
|
53
|
-
end
|
54
|
-
|
55
|
-
def fcc(query:)
|
56
|
-
@services.find_company_children(query: query)
|
57
|
-
end
|
58
|
-
|
59
|
-
def fts(query:)
|
60
|
-
@services.find_tech_stack(query: query)
|
61
|
-
end
|
62
|
-
|
63
|
-
def epp(linkedin_url:)
|
64
|
-
@services.enrich_person_profile(linkedin_url: linkedin_url)
|
65
|
-
end
|
66
|
-
|
67
|
-
def fwe(linkedin_url:)
|
68
|
-
@services.find_work_email(linkedin_url: linkedin_url)
|
69
|
-
end
|
70
|
-
|
71
|
-
def tep(full_name:, company:)
|
72
|
-
@services.get_title_email_phone(full_name: full_name, company: company)
|
73
|
-
end
|
74
|
-
|
75
|
-
def enc(query:)
|
76
|
-
@services.enrich_company(query: query)
|
77
|
-
end
|
78
|
-
|
79
|
-
def cec(query:)
|
80
|
-
@services.get_company_employee_count(query: query)
|
81
|
-
end
|
82
|
-
|
83
|
-
def clo(query:)
|
84
|
-
@services.get_company_locations(query: query)
|
85
|
-
end
|
86
|
-
|
87
|
-
def cse(**params)
|
88
|
-
@services.search_companies(params)
|
89
|
-
end
|
90
|
-
|
91
|
-
def pse(**params)
|
92
|
-
@services.search_people(params)
|
93
|
-
end
|
94
|
-
|
95
|
-
def lbs(**params)
|
96
|
-
@services.search_local_businesses(params)
|
97
|
-
end
|
98
|
-
end
|
99
|
-
end
|