thecompaniesapi 1.0.1
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 +7 -0
- data/.env.example +4 -0
- data/.github/workflows/release.yml +106 -0
- data/.github/workflows/tests.yml +93 -0
- data/.gitignore +146 -0
- data/CODE_OF_CONDUCT.md +74 -0
- data/Gemfile +7 -0
- data/Gemfile.lock +36 -0
- data/LICENSE.txt +21 -0
- data/README.md +551 -0
- data/Rakefile +25 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/lib/thecompaniesapi/client.rb +643 -0
- data/lib/thecompaniesapi/error.rb +28 -0
- data/lib/thecompaniesapi/generated/models/action.rb +91 -0
- data/lib/thecompaniesapi/generated/models/company_v2.rb +136 -0
- data/lib/thecompaniesapi/generated/models/email_pattern.rb +51 -0
- data/lib/thecompaniesapi/generated/models/job_title.rb +81 -0
- data/lib/thecompaniesapi/generated/models/list.rb +141 -0
- data/lib/thecompaniesapi/generated/models/list_analytics.rb +46 -0
- data/lib/thecompaniesapi/generated/models/llmanswer.rb +66 -0
- data/lib/thecompaniesapi/generated/models/nominatim_city.rb +101 -0
- data/lib/thecompaniesapi/generated/models/nominatim_continent.rb +111 -0
- data/lib/thecompaniesapi/generated/models/nominatim_country.rb +121 -0
- data/lib/thecompaniesapi/generated/models/nominatim_county.rb +96 -0
- data/lib/thecompaniesapi/generated/models/nominatim_state.rb +96 -0
- data/lib/thecompaniesapi/generated/models/page_contents_ideated.rb +171 -0
- data/lib/thecompaniesapi/generated/models/page_contents_link.rb +41 -0
- data/lib/thecompaniesapi/generated/models/page_contents_page.rb +71 -0
- data/lib/thecompaniesapi/generated/models/pagination_meta.rb +76 -0
- data/lib/thecompaniesapi/generated/models/prompt.rb +91 -0
- data/lib/thecompaniesapi/generated/models/segmentation_condition.rb +56 -0
- data/lib/thecompaniesapi/generated/models/team.rb +101 -0
- data/lib/thecompaniesapi/generated/models/technology.rb +96 -0
- data/lib/thecompaniesapi/generated/models/user.rb +101 -0
- data/lib/thecompaniesapi/generated/operations_map.rb +11 -0
- data/lib/thecompaniesapi/generated/requests/ask_company_request.rb +60 -0
- data/lib/thecompaniesapi/generated/requests/count_companies_post_request.rb +50 -0
- data/lib/thecompaniesapi/generated/requests/create_list_request.rb +70 -0
- data/lib/thecompaniesapi/generated/requests/export_companies_analytics_request.rb +70 -0
- data/lib/thecompaniesapi/generated/requests/fetch_companies_in_list_post_request.rb +70 -0
- data/lib/thecompaniesapi/generated/requests/product_prompt_request.rb +65 -0
- data/lib/thecompaniesapi/generated/requests/prompt_to_segmentation_request.rb +55 -0
- data/lib/thecompaniesapi/generated/requests/request_action_request.rb +80 -0
- data/lib/thecompaniesapi/generated/requests/retry_action_request.rb +30 -0
- data/lib/thecompaniesapi/generated/requests/search_companies_post_request.rb +90 -0
- data/lib/thecompaniesapi/generated/requests/toggle_companies_in_list_request.rb +50 -0
- data/lib/thecompaniesapi/generated/requests/update_list_request.rb +65 -0
- data/lib/thecompaniesapi/generated/requests/update_team_request.rb +45 -0
- data/lib/thecompaniesapi/generated/responses/ask_company_response.rb +38 -0
- data/lib/thecompaniesapi/generated/responses/count_companies_post_response.rb +34 -0
- data/lib/thecompaniesapi/generated/responses/count_companies_response.rb +34 -0
- data/lib/thecompaniesapi/generated/responses/create_list_response.rb +25 -0
- data/lib/thecompaniesapi/generated/responses/delete_list_response.rb +25 -0
- data/lib/thecompaniesapi/generated/responses/delete_prompt_response.rb +25 -0
- data/lib/thecompaniesapi/generated/responses/enrich_job_titles_response.rb +25 -0
- data/lib/thecompaniesapi/generated/responses/export_companies_analytics_response.rb +38 -0
- data/lib/thecompaniesapi/generated/responses/fetch_actions_response.rb +38 -0
- data/lib/thecompaniesapi/generated/responses/fetch_api_health_response.rb +42 -0
- data/lib/thecompaniesapi/generated/responses/fetch_companies_analytics_response.rb +38 -0
- data/lib/thecompaniesapi/generated/responses/fetch_companies_in_list_post_response.rb +42 -0
- data/lib/thecompaniesapi/generated/responses/fetch_companies_in_list_response.rb +42 -0
- data/lib/thecompaniesapi/generated/responses/fetch_company_by_email_response.rb +42 -0
- data/lib/thecompaniesapi/generated/responses/fetch_company_by_social_response.rb +25 -0
- data/lib/thecompaniesapi/generated/responses/fetch_company_context_response.rb +38 -0
- data/lib/thecompaniesapi/generated/responses/fetch_company_email_patterns_response.rb +25 -0
- data/lib/thecompaniesapi/generated/responses/fetch_company_in_list_response.rb +25 -0
- data/lib/thecompaniesapi/generated/responses/fetch_company_response.rb +25 -0
- data/lib/thecompaniesapi/generated/responses/fetch_lists_response.rb +38 -0
- data/lib/thecompaniesapi/generated/responses/fetch_open_api_response.rb +30 -0
- data/lib/thecompaniesapi/generated/responses/fetch_prompts_response.rb +38 -0
- data/lib/thecompaniesapi/generated/responses/fetch_team_response.rb +25 -0
- data/lib/thecompaniesapi/generated/responses/fetch_user_response.rb +25 -0
- data/lib/thecompaniesapi/generated/responses/product_prompt_response.rb +42 -0
- data/lib/thecompaniesapi/generated/responses/prompt_to_segmentation_response.rb +42 -0
- data/lib/thecompaniesapi/generated/responses/request_action_response.rb +34 -0
- data/lib/thecompaniesapi/generated/responses/retry_action_response.rb +34 -0
- data/lib/thecompaniesapi/generated/responses/search_cities_response.rb +38 -0
- data/lib/thecompaniesapi/generated/responses/search_companies_by_name_response.rb +38 -0
- data/lib/thecompaniesapi/generated/responses/search_companies_by_prompt_response.rb +38 -0
- data/lib/thecompaniesapi/generated/responses/search_companies_post_response.rb +42 -0
- data/lib/thecompaniesapi/generated/responses/search_companies_response.rb +42 -0
- data/lib/thecompaniesapi/generated/responses/search_continents_response.rb +38 -0
- data/lib/thecompaniesapi/generated/responses/search_counties_response.rb +38 -0
- data/lib/thecompaniesapi/generated/responses/search_countries_response.rb +38 -0
- data/lib/thecompaniesapi/generated/responses/search_industries_response.rb +38 -0
- data/lib/thecompaniesapi/generated/responses/search_industries_similar_response.rb +38 -0
- data/lib/thecompaniesapi/generated/responses/search_similar_companies_response.rb +38 -0
- data/lib/thecompaniesapi/generated/responses/search_states_response.rb +38 -0
- data/lib/thecompaniesapi/generated/responses/search_technologies_response.rb +38 -0
- data/lib/thecompaniesapi/generated/responses/toggle_companies_in_list_response.rb +25 -0
- data/lib/thecompaniesapi/generated/responses/update_list_response.rb +25 -0
- data/lib/thecompaniesapi/generated/responses/update_team_response.rb +25 -0
- data/lib/thecompaniesapi/http_client.rb +146 -0
- data/lib/thecompaniesapi/version.rb +3 -0
- data/lib/thecompaniesapi.rb +7 -0
- data/script/generate_client.rb +653 -0
- data/thecompaniesapi.gemspec +34 -0
- metadata +188 -0
@@ -0,0 +1,643 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'http_client'
|
4
|
+
|
5
|
+
module TheCompaniesAPI
|
6
|
+
##
|
7
|
+
# The Companies API client with auto-generated methods
|
8
|
+
#
|
9
|
+
# This class extends HttpClient with auto-generated methods
|
10
|
+
# from the OpenAPI specification.
|
11
|
+
class Client < HttpClient
|
12
|
+
##
|
13
|
+
#
|
14
|
+
#
|
15
|
+
# Get the health status of the API.
|
16
|
+
#
|
17
|
+
# @param params [Hash] Query parameters
|
18
|
+
# @param headers [Hash] Additional headers
|
19
|
+
# @return [Hash] API response
|
20
|
+
def fetch_api_health(params: {}, headers: {})
|
21
|
+
endpoint = '/'
|
22
|
+
|
23
|
+
get(endpoint, params: params)
|
24
|
+
end
|
25
|
+
|
26
|
+
##
|
27
|
+
#
|
28
|
+
#
|
29
|
+
# Get the current OpenAPI specification.
|
30
|
+
#
|
31
|
+
# @param params [Hash] Query parameters
|
32
|
+
# @param headers [Hash] Additional headers
|
33
|
+
# @return [Hash] API response
|
34
|
+
def fetch_open_api(params: {}, headers: {})
|
35
|
+
endpoint = '/v2/openapi'
|
36
|
+
|
37
|
+
get(endpoint, params: params)
|
38
|
+
end
|
39
|
+
|
40
|
+
##
|
41
|
+
#
|
42
|
+
#
|
43
|
+
# Get and filter your actions.
|
44
|
+
#
|
45
|
+
# @param params [Hash] Query parameters
|
46
|
+
# @param headers [Hash] Additional headers
|
47
|
+
# @return [Hash] API response
|
48
|
+
def fetch_actions(params: {}, headers: {})
|
49
|
+
endpoint = '/v2/actions'
|
50
|
+
|
51
|
+
get(endpoint, params: params)
|
52
|
+
end
|
53
|
+
|
54
|
+
##
|
55
|
+
#
|
56
|
+
#
|
57
|
+
# Request or estimate a new action.
|
58
|
+
#
|
59
|
+
# @param data [Hash] Request body data
|
60
|
+
# @param headers [Hash] Additional headers
|
61
|
+
# @return [Hash] API response
|
62
|
+
def request_action(data: {}, headers: {})
|
63
|
+
endpoint = '/v2/actions'
|
64
|
+
|
65
|
+
post(endpoint, body: data)
|
66
|
+
end
|
67
|
+
|
68
|
+
##
|
69
|
+
#
|
70
|
+
#
|
71
|
+
# Ask for a retry of failed action.
|
72
|
+
#
|
73
|
+
# @param action_id [String] Path parameter
|
74
|
+
# @param data [Hash] Request body data
|
75
|
+
# @param headers [Hash] Additional headers
|
76
|
+
# @return [Hash] API response
|
77
|
+
def retry_action(action_id, data: {}, headers: {})
|
78
|
+
endpoint = "/v2/actions/#{action_id}/retry"
|
79
|
+
|
80
|
+
post(endpoint, body: data)
|
81
|
+
end
|
82
|
+
|
83
|
+
##
|
84
|
+
#
|
85
|
+
#
|
86
|
+
# Search companies using a segmentation query.
|
87
|
+
#
|
88
|
+
# @param params [Hash] Query parameters
|
89
|
+
# @param headers [Hash] Additional headers
|
90
|
+
# @return [Hash] API response
|
91
|
+
def search_companies(params: {}, headers: {})
|
92
|
+
endpoint = '/v2/companies'
|
93
|
+
|
94
|
+
get(endpoint, params: params)
|
95
|
+
end
|
96
|
+
|
97
|
+
##
|
98
|
+
#
|
99
|
+
#
|
100
|
+
# Search companies using a segmentation query.
|
101
|
+
#
|
102
|
+
# @param data [Hash] Request body data
|
103
|
+
# @param headers [Hash] Additional headers
|
104
|
+
# @return [Hash] API response
|
105
|
+
def search_companies_post(data: {}, headers: {})
|
106
|
+
endpoint = '/v2/companies'
|
107
|
+
|
108
|
+
post(endpoint, body: data)
|
109
|
+
end
|
110
|
+
|
111
|
+
##
|
112
|
+
#
|
113
|
+
#
|
114
|
+
# Get a single company data by its domain.
|
115
|
+
#
|
116
|
+
# @param domain [String] Path parameter
|
117
|
+
# @param params [Hash] Query parameters
|
118
|
+
# @param headers [Hash] Additional headers
|
119
|
+
# @return [Hash] API response
|
120
|
+
def fetch_company(domain, params: {}, headers: {})
|
121
|
+
endpoint = "/v2/companies/#{domain}"
|
122
|
+
|
123
|
+
get(endpoint, params: params)
|
124
|
+
end
|
125
|
+
|
126
|
+
##
|
127
|
+
#
|
128
|
+
#
|
129
|
+
# Search companies by name.
|
130
|
+
#
|
131
|
+
# @param params [Hash] Query parameters
|
132
|
+
# @param headers [Hash] Additional headers
|
133
|
+
# @return [Hash] API response
|
134
|
+
def search_companies_by_name(params: {}, headers: {})
|
135
|
+
endpoint = '/v2/companies/by-name'
|
136
|
+
|
137
|
+
get(endpoint, params: params)
|
138
|
+
end
|
139
|
+
|
140
|
+
##
|
141
|
+
#
|
142
|
+
#
|
143
|
+
# Search companies by prompt.
|
144
|
+
#
|
145
|
+
# @param params [Hash] Query parameters
|
146
|
+
# @param headers [Hash] Additional headers
|
147
|
+
# @return [Hash] API response
|
148
|
+
def search_companies_by_prompt(params: {}, headers: {})
|
149
|
+
endpoint = '/v2/companies/by-prompt'
|
150
|
+
|
151
|
+
get(endpoint, params: params)
|
152
|
+
end
|
153
|
+
|
154
|
+
##
|
155
|
+
#
|
156
|
+
#
|
157
|
+
# Get similar companies from one or many domains.
|
158
|
+
#
|
159
|
+
# @param params [Hash] Query parameters
|
160
|
+
# @param headers [Hash] Additional headers
|
161
|
+
# @return [Hash] API response
|
162
|
+
def search_similar_companies(params: {}, headers: {})
|
163
|
+
endpoint = '/v2/companies/similar'
|
164
|
+
|
165
|
+
get(endpoint, params: params)
|
166
|
+
end
|
167
|
+
|
168
|
+
##
|
169
|
+
#
|
170
|
+
#
|
171
|
+
# Get the count of companies using a segmentation query.
|
172
|
+
#
|
173
|
+
# @param params [Hash] Query parameters
|
174
|
+
# @param headers [Hash] Additional headers
|
175
|
+
# @return [Hash] API response
|
176
|
+
def count_companies(params: {}, headers: {})
|
177
|
+
endpoint = '/v2/companies/count'
|
178
|
+
|
179
|
+
get(endpoint, params: params)
|
180
|
+
end
|
181
|
+
|
182
|
+
##
|
183
|
+
#
|
184
|
+
#
|
185
|
+
# Get the count of companies using a segmentation body.
|
186
|
+
#
|
187
|
+
# @param data [Hash] Request body data
|
188
|
+
# @param headers [Hash] Additional headers
|
189
|
+
# @return [Hash] API response
|
190
|
+
def count_companies_post(data: {}, headers: {})
|
191
|
+
endpoint = '/v2/companies/count'
|
192
|
+
|
193
|
+
post(endpoint, body: data)
|
194
|
+
end
|
195
|
+
|
196
|
+
##
|
197
|
+
#
|
198
|
+
#
|
199
|
+
# Get a company data by email.
|
200
|
+
#
|
201
|
+
# @param params [Hash] Query parameters
|
202
|
+
# @param headers [Hash] Additional headers
|
203
|
+
# @return [Hash] API response
|
204
|
+
def fetch_company_by_email(params: {}, headers: {})
|
205
|
+
endpoint = '/v2/companies/by-email'
|
206
|
+
|
207
|
+
get(endpoint, params: params)
|
208
|
+
end
|
209
|
+
|
210
|
+
##
|
211
|
+
#
|
212
|
+
#
|
213
|
+
# Get a company data by social media.
|
214
|
+
#
|
215
|
+
# @param params [Hash] Query parameters
|
216
|
+
# @param headers [Hash] Additional headers
|
217
|
+
# @return [Hash] API response
|
218
|
+
def fetch_company_by_social(params: {}, headers: {})
|
219
|
+
endpoint = '/v2/companies/by-social'
|
220
|
+
|
221
|
+
get(endpoint, params: params)
|
222
|
+
end
|
223
|
+
|
224
|
+
##
|
225
|
+
#
|
226
|
+
#
|
227
|
+
# Get email patterns for a company by its domain.
|
228
|
+
#
|
229
|
+
# @param domain [String] Path parameter
|
230
|
+
# @param params [Hash] Query parameters
|
231
|
+
# @param headers [Hash] Additional headers
|
232
|
+
# @return [Hash] API response
|
233
|
+
def fetch_company_email_patterns(domain, params: {}, headers: {})
|
234
|
+
endpoint = "/v2/companies/#{domain}/email-patterns"
|
235
|
+
|
236
|
+
get(endpoint, params: params)
|
237
|
+
end
|
238
|
+
|
239
|
+
##
|
240
|
+
#
|
241
|
+
#
|
242
|
+
# Ask a question about a company by its domain.
|
243
|
+
#
|
244
|
+
# @param domain [String] Path parameter
|
245
|
+
# @param data [Hash] Request body data
|
246
|
+
# @param headers [Hash] Additional headers
|
247
|
+
# @return [Hash] API response
|
248
|
+
def ask_company(domain, data: {}, headers: {})
|
249
|
+
endpoint = "/v2/companies/#{domain}/ask"
|
250
|
+
|
251
|
+
post(endpoint, body: data)
|
252
|
+
end
|
253
|
+
|
254
|
+
##
|
255
|
+
#
|
256
|
+
#
|
257
|
+
# Get the full context of a company by its domain.
|
258
|
+
#
|
259
|
+
# @param domain [String] Path parameter
|
260
|
+
# @param params [Hash] Query parameters
|
261
|
+
# @param headers [Hash] Additional headers
|
262
|
+
# @return [Hash] API response
|
263
|
+
def fetch_company_context(domain, params: {}, headers: {})
|
264
|
+
endpoint = "/v2/companies/#{domain}/context"
|
265
|
+
|
266
|
+
get(endpoint, params: params)
|
267
|
+
end
|
268
|
+
|
269
|
+
##
|
270
|
+
#
|
271
|
+
#
|
272
|
+
# Fetch analytics data for search segmentations and lists.
|
273
|
+
#
|
274
|
+
# @param params [Hash] Query parameters
|
275
|
+
# @param headers [Hash] Additional headers
|
276
|
+
# @return [Hash] API response
|
277
|
+
def fetch_companies_analytics(params: {}, headers: {})
|
278
|
+
endpoint = '/v2/companies/analytics'
|
279
|
+
|
280
|
+
get(endpoint, params: params)
|
281
|
+
end
|
282
|
+
|
283
|
+
##
|
284
|
+
#
|
285
|
+
#
|
286
|
+
# Export analytics data for search segmentations and lists.
|
287
|
+
#
|
288
|
+
# @param data [Hash] Request body data
|
289
|
+
# @param headers [Hash] Additional headers
|
290
|
+
# @return [Hash] API response
|
291
|
+
def export_companies_analytics(data: {}, headers: {})
|
292
|
+
endpoint = '/v2/companies/analytics/export'
|
293
|
+
|
294
|
+
post(endpoint, body: data)
|
295
|
+
end
|
296
|
+
|
297
|
+
##
|
298
|
+
#
|
299
|
+
#
|
300
|
+
# Search industries.
|
301
|
+
#
|
302
|
+
# @param params [Hash] Query parameters
|
303
|
+
# @param headers [Hash] Additional headers
|
304
|
+
# @return [Hash] API response
|
305
|
+
def search_industries(params: {}, headers: {})
|
306
|
+
endpoint = '/v2/industries'
|
307
|
+
|
308
|
+
get(endpoint, params: params)
|
309
|
+
end
|
310
|
+
|
311
|
+
##
|
312
|
+
#
|
313
|
+
#
|
314
|
+
# Get similar industries from one or many industries.
|
315
|
+
#
|
316
|
+
# @param params [Hash] Query parameters
|
317
|
+
# @param headers [Hash] Additional headers
|
318
|
+
# @return [Hash] API response
|
319
|
+
def search_industries_similar(params: {}, headers: {})
|
320
|
+
endpoint = '/v2/industries/similar'
|
321
|
+
|
322
|
+
get(endpoint, params: params)
|
323
|
+
end
|
324
|
+
|
325
|
+
##
|
326
|
+
#
|
327
|
+
#
|
328
|
+
# Search technologies.
|
329
|
+
#
|
330
|
+
# @param params [Hash] Query parameters
|
331
|
+
# @param headers [Hash] Additional headers
|
332
|
+
# @return [Hash] API response
|
333
|
+
def search_technologies(params: {}, headers: {})
|
334
|
+
endpoint = '/v2/technologies'
|
335
|
+
|
336
|
+
get(endpoint, params: params)
|
337
|
+
end
|
338
|
+
|
339
|
+
##
|
340
|
+
#
|
341
|
+
#
|
342
|
+
# Search cities.
|
343
|
+
#
|
344
|
+
# @param params [Hash] Query parameters
|
345
|
+
# @param headers [Hash] Additional headers
|
346
|
+
# @return [Hash] API response
|
347
|
+
def search_cities(params: {}, headers: {})
|
348
|
+
endpoint = '/v2/locations/cities'
|
349
|
+
|
350
|
+
get(endpoint, params: params)
|
351
|
+
end
|
352
|
+
|
353
|
+
##
|
354
|
+
#
|
355
|
+
#
|
356
|
+
# Search counties.
|
357
|
+
#
|
358
|
+
# @param params [Hash] Query parameters
|
359
|
+
# @param headers [Hash] Additional headers
|
360
|
+
# @return [Hash] API response
|
361
|
+
def search_counties(params: {}, headers: {})
|
362
|
+
endpoint = '/v2/locations/counties'
|
363
|
+
|
364
|
+
get(endpoint, params: params)
|
365
|
+
end
|
366
|
+
|
367
|
+
##
|
368
|
+
#
|
369
|
+
#
|
370
|
+
# Search countries.
|
371
|
+
#
|
372
|
+
# @param params [Hash] Query parameters
|
373
|
+
# @param headers [Hash] Additional headers
|
374
|
+
# @return [Hash] API response
|
375
|
+
def search_countries(params: {}, headers: {})
|
376
|
+
endpoint = '/v2/locations/countries'
|
377
|
+
|
378
|
+
get(endpoint, params: params)
|
379
|
+
end
|
380
|
+
|
381
|
+
##
|
382
|
+
#
|
383
|
+
#
|
384
|
+
# Search states.
|
385
|
+
#
|
386
|
+
# @param params [Hash] Query parameters
|
387
|
+
# @param headers [Hash] Additional headers
|
388
|
+
# @return [Hash] API response
|
389
|
+
def search_states(params: {}, headers: {})
|
390
|
+
endpoint = '/v2/locations/states'
|
391
|
+
|
392
|
+
get(endpoint, params: params)
|
393
|
+
end
|
394
|
+
|
395
|
+
##
|
396
|
+
#
|
397
|
+
#
|
398
|
+
# Search continents.
|
399
|
+
#
|
400
|
+
# @param params [Hash] Query parameters
|
401
|
+
# @param headers [Hash] Additional headers
|
402
|
+
# @return [Hash] API response
|
403
|
+
def search_continents(params: {}, headers: {})
|
404
|
+
endpoint = '/v2/locations/continents'
|
405
|
+
|
406
|
+
get(endpoint, params: params)
|
407
|
+
end
|
408
|
+
|
409
|
+
##
|
410
|
+
#
|
411
|
+
#
|
412
|
+
# Enrich job titles.
|
413
|
+
#
|
414
|
+
# @param params [Hash] Query parameters
|
415
|
+
# @param headers [Hash] Additional headers
|
416
|
+
# @return [Hash] API response
|
417
|
+
def enrich_job_titles(params: {}, headers: {})
|
418
|
+
endpoint = '/v2/job-titles/enrich'
|
419
|
+
|
420
|
+
get(endpoint, params: params)
|
421
|
+
end
|
422
|
+
|
423
|
+
##
|
424
|
+
#
|
425
|
+
#
|
426
|
+
# Get and filter your lists.
|
427
|
+
#
|
428
|
+
# @param params [Hash] Query parameters
|
429
|
+
# @param headers [Hash] Additional headers
|
430
|
+
# @return [Hash] API response
|
431
|
+
def fetch_lists(params: {}, headers: {})
|
432
|
+
endpoint = '/v2/lists'
|
433
|
+
|
434
|
+
get(endpoint, params: params)
|
435
|
+
end
|
436
|
+
|
437
|
+
##
|
438
|
+
#
|
439
|
+
#
|
440
|
+
# Create a new list.
|
441
|
+
#
|
442
|
+
# @param data [Hash] Request body data
|
443
|
+
# @param headers [Hash] Additional headers
|
444
|
+
# @return [Hash] API response
|
445
|
+
def create_list(data: {}, headers: {})
|
446
|
+
endpoint = '/v2/lists'
|
447
|
+
|
448
|
+
post(endpoint, body: data)
|
449
|
+
end
|
450
|
+
|
451
|
+
##
|
452
|
+
#
|
453
|
+
#
|
454
|
+
# Update a list.
|
455
|
+
#
|
456
|
+
# @param list_id [String] Path parameter
|
457
|
+
# @param data [Hash] Request body data
|
458
|
+
# @param headers [Hash] Additional headers
|
459
|
+
# @return [Hash] API response
|
460
|
+
def update_list(list_id, data: {}, headers: {})
|
461
|
+
endpoint = "/v2/lists/#{list_id}"
|
462
|
+
|
463
|
+
patch(endpoint, body: data)
|
464
|
+
end
|
465
|
+
|
466
|
+
##
|
467
|
+
#
|
468
|
+
#
|
469
|
+
# Delete a list.
|
470
|
+
#
|
471
|
+
# @param list_id [String] Path parameter
|
472
|
+
# @param params [Hash] Query parameters
|
473
|
+
# @param headers [Hash] Additional headers
|
474
|
+
# @return [Hash] API response
|
475
|
+
def delete_list(list_id, params: {}, headers: {})
|
476
|
+
endpoint = "/v2/lists/#{list_id}"
|
477
|
+
|
478
|
+
delete(endpoint, params: params)
|
479
|
+
end
|
480
|
+
|
481
|
+
##
|
482
|
+
#
|
483
|
+
#
|
484
|
+
# Get companies in a list with a segmentation query.
|
485
|
+
#
|
486
|
+
# @param list_id [String] Path parameter
|
487
|
+
# @param params [Hash] Query parameters
|
488
|
+
# @param headers [Hash] Additional headers
|
489
|
+
# @return [Hash] API response
|
490
|
+
def fetch_companies_in_list(list_id, params: {}, headers: {})
|
491
|
+
endpoint = "/v2/lists/#{list_id}/companies"
|
492
|
+
|
493
|
+
get(endpoint, params: params)
|
494
|
+
end
|
495
|
+
|
496
|
+
##
|
497
|
+
#
|
498
|
+
#
|
499
|
+
# Get companies in a list with a segmentation body.
|
500
|
+
#
|
501
|
+
# @param list_id [String] Path parameter
|
502
|
+
# @param data [Hash] Request body data
|
503
|
+
# @param headers [Hash] Additional headers
|
504
|
+
# @return [Hash] API response
|
505
|
+
def fetch_companies_in_list_post(list_id, data: {}, headers: {})
|
506
|
+
endpoint = "/v2/lists/#{list_id}/companies"
|
507
|
+
|
508
|
+
post(endpoint, body: data)
|
509
|
+
end
|
510
|
+
|
511
|
+
##
|
512
|
+
#
|
513
|
+
#
|
514
|
+
# Get a company in a list.
|
515
|
+
#
|
516
|
+
# @param list_id [String] Path parameter
|
517
|
+
# @param domain [String] Path parameter
|
518
|
+
# @param params [Hash] Query parameters
|
519
|
+
# @param headers [Hash] Additional headers
|
520
|
+
# @return [Hash] API response
|
521
|
+
def fetch_company_in_list(list_id, domain, params: {}, headers: {})
|
522
|
+
endpoint = "/v2/lists/#{list_id}/companies/#{domain}"
|
523
|
+
|
524
|
+
get(endpoint, params: params)
|
525
|
+
end
|
526
|
+
|
527
|
+
##
|
528
|
+
#
|
529
|
+
#
|
530
|
+
# Toggle one or more companies in a list.
|
531
|
+
#
|
532
|
+
# @param list_id [String] Path parameter
|
533
|
+
# @param data [Hash] Request body data
|
534
|
+
# @param headers [Hash] Additional headers
|
535
|
+
# @return [Hash] API response
|
536
|
+
def toggle_companies_in_list(list_id, data: {}, headers: {})
|
537
|
+
endpoint = "/v2/lists/#{list_id}/companies/toggle"
|
538
|
+
|
539
|
+
patch(endpoint, body: data)
|
540
|
+
end
|
541
|
+
|
542
|
+
##
|
543
|
+
#
|
544
|
+
#
|
545
|
+
# Get team information.
|
546
|
+
#
|
547
|
+
# @param team_id [String] Path parameter
|
548
|
+
# @param params [Hash] Query parameters
|
549
|
+
# @param headers [Hash] Additional headers
|
550
|
+
# @return [Hash] API response
|
551
|
+
def fetch_team(team_id, params: {}, headers: {})
|
552
|
+
endpoint = "/v2/teams/#{team_id}"
|
553
|
+
|
554
|
+
get(endpoint, params: params)
|
555
|
+
end
|
556
|
+
|
557
|
+
##
|
558
|
+
#
|
559
|
+
#
|
560
|
+
# Update a team.
|
561
|
+
#
|
562
|
+
# @param team_id [String] Path parameter
|
563
|
+
# @param data [Hash] Request body data
|
564
|
+
# @param headers [Hash] Additional headers
|
565
|
+
# @return [Hash] API response
|
566
|
+
def update_team(team_id, data: {}, headers: {})
|
567
|
+
endpoint = "/v2/teams/#{team_id}"
|
568
|
+
|
569
|
+
patch(endpoint, body: data)
|
570
|
+
end
|
571
|
+
|
572
|
+
##
|
573
|
+
#
|
574
|
+
#
|
575
|
+
# Get current user information.
|
576
|
+
#
|
577
|
+
# @param params [Hash] Query parameters
|
578
|
+
# @param headers [Hash] Additional headers
|
579
|
+
# @return [Hash] API response
|
580
|
+
def fetch_user(params: {}, headers: {})
|
581
|
+
endpoint = '/v2/user'
|
582
|
+
|
583
|
+
get(endpoint, params: params)
|
584
|
+
end
|
585
|
+
|
586
|
+
##
|
587
|
+
#
|
588
|
+
#
|
589
|
+
# Fetch prompts history.
|
590
|
+
#
|
591
|
+
# @param params [Hash] Query parameters
|
592
|
+
# @param headers [Hash] Additional headers
|
593
|
+
# @return [Hash] API response
|
594
|
+
def fetch_prompts(params: {}, headers: {})
|
595
|
+
endpoint = '/v2/prompts'
|
596
|
+
|
597
|
+
get(endpoint, params: params)
|
598
|
+
end
|
599
|
+
|
600
|
+
##
|
601
|
+
#
|
602
|
+
#
|
603
|
+
# Delete a prompt.
|
604
|
+
#
|
605
|
+
# @param prompt_id [String] Path parameter
|
606
|
+
# @param params [Hash] Query parameters
|
607
|
+
# @param headers [Hash] Additional headers
|
608
|
+
# @return [Hash] API response
|
609
|
+
def delete_prompt(prompt_id, params: {}, headers: {})
|
610
|
+
endpoint = "/v2/prompts/#{prompt_id}"
|
611
|
+
|
612
|
+
delete(endpoint, params: params)
|
613
|
+
end
|
614
|
+
|
615
|
+
##
|
616
|
+
#
|
617
|
+
#
|
618
|
+
# Query the product prompt.
|
619
|
+
#
|
620
|
+
# @param data [Hash] Request body data
|
621
|
+
# @param headers [Hash] Additional headers
|
622
|
+
# @return [Hash] API response
|
623
|
+
def product_prompt(data: {}, headers: {})
|
624
|
+
endpoint = '/v2/prompts/product'
|
625
|
+
|
626
|
+
post(endpoint, body: data)
|
627
|
+
end
|
628
|
+
|
629
|
+
##
|
630
|
+
#
|
631
|
+
#
|
632
|
+
# Convert a query to a segmentation.
|
633
|
+
#
|
634
|
+
# @param data [Hash] Request body data
|
635
|
+
# @param headers [Hash] Additional headers
|
636
|
+
# @return [Hash] API response
|
637
|
+
def prompt_to_segmentation(data: {}, headers: {})
|
638
|
+
endpoint = '/v2/prompts/segmentation'
|
639
|
+
|
640
|
+
post(endpoint, body: data)
|
641
|
+
end
|
642
|
+
end
|
643
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module TheCompaniesAPI
|
2
|
+
class Error < StandardError
|
3
|
+
attr_reader :status, :response_body
|
4
|
+
|
5
|
+
def initialize(message = nil, status = nil, response_body = nil)
|
6
|
+
super(message)
|
7
|
+
@status = status
|
8
|
+
@response_body = response_body
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
class Error
|
13
|
+
# Client errors (4xx)
|
14
|
+
class ClientError < Error; end
|
15
|
+
|
16
|
+
# Server errors (5xx)
|
17
|
+
class ServerError < Error; end
|
18
|
+
|
19
|
+
# Network/connection errors
|
20
|
+
class ConnectionError < Error; end
|
21
|
+
|
22
|
+
# Timeout errors
|
23
|
+
class TimeoutError < Error; end
|
24
|
+
|
25
|
+
# Generic API errors
|
26
|
+
class APIError < Error; end
|
27
|
+
end
|
28
|
+
end
|