zerobounce-sdk 1.1.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/lib/zerobounce.rb CHANGED
@@ -11,7 +11,7 @@ require 'zerobounce/configuration'
11
11
 
12
12
  # Validate an email address with Zerobounce.net
13
13
  module Zerobounce
14
-
14
+
15
15
  API_ROOT_URL = 'https://api.zerobounce.net/v2'
16
16
  BULK_API_ROOT_URL = 'https://bulkapi.zerobounce.net/v2'
17
17
 
@@ -44,7 +44,7 @@ module Zerobounce
44
44
  #
45
45
  # @param [String] :email The email address to validate.
46
46
  # @option [String] :ip_address IP address corresponding to the email.
47
- #
47
+ #
48
48
  # @return [Hash]
49
49
  # {
50
50
  # "address": "valid@example.com",
@@ -96,16 +96,16 @@ module Zerobounce
96
96
  # @param [String] email
97
97
  # @return [Boolean]
98
98
  # def invalid?(email)
99
- # # todo:
99
+ # # todo:
100
100
  # validate(email: email).invalid?
101
101
  # end
102
102
 
103
- # Get API usage
104
- #
103
+ # Get API usage
104
+ #
105
105
  # @param [Date] start_date
106
106
  # @param [Date] end_date
107
- #
108
- # @return [Hash]
107
+ #
108
+ # @return [Hash]
109
109
  # {
110
110
  # "total": 5,
111
111
  # "status_valid": 4,
@@ -156,8 +156,8 @@ module Zerobounce
156
156
  # Get Activty for email
157
157
  #
158
158
  # @param [String] :email Email to get activity for
159
- #
160
- # @return [Hash]
159
+ #
160
+ # @return [Hash]
161
161
  # {
162
162
  # "found": true,
163
163
  # "active_in_days": "180"
@@ -168,10 +168,10 @@ module Zerobounce
168
168
  end
169
169
 
170
170
  # Validate email batch
171
- #
171
+ #
172
172
  # @param [Array] :emails List of email addresses to validate.
173
173
  # @option [Array] :ip_addresses Corresponding list of IP addresses.
174
- #
174
+ #
175
175
  # @return [Array] list of validate result for each element
176
176
  # [
177
177
  # {
@@ -220,7 +220,7 @@ module Zerobounce
220
220
  end
221
221
 
222
222
  # Validate CSV file
223
- #
223
+ #
224
224
  # @param [String] :filepath Path to the file to be uploaded
225
225
  # @option [Int] :email_address_column Specify which column the email address is on
226
226
  # @option [Int] :first_name_column Specify which column the first name is on
@@ -228,7 +228,7 @@ module Zerobounce
228
228
  # @option [Int] :gender_column Specify which column the gender is on
229
229
  # @option [Int] :has_header_row Specify whether the file includes a header row or not
230
230
  # @option [Int] :return_url Specify a callback URL (if nil, no callback will be performed)
231
- #
231
+ #
232
232
  # @return [Hash]
233
233
  # {
234
234
  # "success": true,
@@ -247,19 +247,19 @@ module Zerobounce
247
247
  )
248
248
  params = {
249
249
  email_address_column: email_address_column,
250
- first_name_column: first_name_column,
251
- last_name_column: last_name_column,
252
- gender_column: gender_column,
253
250
  has_header_row: has_header_row,
254
251
  }
252
+ params[:first_name_column] = first_name_column if first_name_column
253
+ params[:last_name_column] = last_name_column if last_name_column
254
+ params[:gender_column] = gender_column if gender_column
255
255
  params[:return_url] = return_url if return_url
256
256
  @@request.bulk_post('sendfile', params, 'multipart/form-data', filepath)
257
257
  end
258
258
 
259
259
  # Get validate file status
260
- #
260
+ #
261
261
  # @param [String] :file_id Id of the file.
262
- #
262
+ #
263
263
  # @return [Hash]
264
264
  # {
265
265
  # "success": true,
@@ -270,28 +270,28 @@ module Zerobounce
270
270
  # "complete_percentage": "100%",
271
271
  # "error_reason": null,
272
272
  # "return_url": null
273
- # }
273
+ # }
274
274
  def validate_file_check(file_id)
275
275
  # todo:
276
276
  params = {file_id: file_id}
277
277
  @@request.bulk_get('filestatus', params)
278
278
  end
279
279
 
280
- # Get validate results file
281
- #
280
+ # Get validate results file
281
+ #
282
282
  # @param [String] :file_id Id of the file.
283
- #
284
- # @return [String/File?]
283
+ #
284
+ # @return [String/File?]
285
285
  def validate_file_get(file_id)
286
286
  # todo:
287
287
  params = {file_id: file_id}
288
288
  @@request.bulk_get('getfile', params)
289
289
  end
290
290
 
291
- # Delete validate file
292
- #
291
+ # Delete validate file
292
+ #
293
293
  # @param file_id Id of the file.
294
- #
294
+ #
295
295
  # @return [Hash]
296
296
  # {
297
297
  # "success": true,
@@ -306,12 +306,12 @@ module Zerobounce
306
306
  end
307
307
 
308
308
  # Score CSV file
309
- #
309
+ #
310
310
  # @param [String] :filepath Path to the file to be uploaded
311
311
  # @option [Int] :email_address_column Specify which column the email address is on
312
312
  # @option [Int] :has_header_row Specify whether the file includes a header row or not
313
313
  # @option [Int] :return_url Specify a callback URL (if nil, no callback will be performed)
314
- #
314
+ #
315
315
  # @return [Hash]
316
316
  # {
317
317
  # "success": true,
@@ -333,11 +333,11 @@ module Zerobounce
333
333
  @@request.bulk_post('scoring/sendfile', params, 'multipart/form-data', filepath)
334
334
  end
335
335
 
336
- # Get validate results file
337
- #
336
+ # Get validate results file
337
+ #
338
338
  # @param [String] :file_id Id of the file.
339
- #
340
- # @return [String/File?]
339
+ #
340
+ # @return [String/File?]
341
341
  def scoring_file_get(file_id)
342
342
  # todo:
343
343
  params = {file_id: file_id}
@@ -345,9 +345,9 @@ module Zerobounce
345
345
  end
346
346
 
347
347
  # Get validate file status
348
- #
348
+ #
349
349
  # @param [String] :file_id Id of the file.
350
- #
350
+ #
351
351
  # @return [Hash]
352
352
  # {
353
353
  # "success": true,
@@ -357,16 +357,16 @@ module Zerobounce
357
357
  # "file_status": "Complete",
358
358
  # "complete_percentage": "100% Complete.",
359
359
  # "return_url": null
360
- # }
360
+ # }
361
361
  def scoring_file_check(file_id)
362
362
  params = {file_id: file_id}
363
363
  @@request.bulk_get('scoring/filestatus', params)
364
364
  end
365
365
 
366
- # Delete validate file
367
- #
366
+ # Delete validate file
367
+ #
368
368
  # @param file_id Id of the file.
369
- #
369
+ #
370
370
  # @return [Hash]
371
371
  # {
372
372
  # "success": true,
@@ -379,7 +379,53 @@ module Zerobounce
379
379
  @@request.bulk_get('scoring/deletefile', params)
380
380
  end
381
381
 
382
-
382
+ # Guess email formatDomain to guess format for
383
+ #
384
+ # @param [String] domain Domain to guess format for
385
+ #
386
+ # @option [String] first_name First name of target.
387
+ # @option [String] middle_name Middle name of target.
388
+ # @option [String] last_name Last name of target.
389
+ #
390
+ # @return [Hash]
391
+ # {
392
+ # "email"=>"",
393
+ # "domain"=>"zerobounce.net",
394
+ # "format"=>"first.last",
395
+ # "status"=>"",
396
+ # "sub_status"=>"",
397
+ # "confidence"=>"high",
398
+ # "did_you_mean"=>"",
399
+ # "failure_reason"=>"",
400
+ # "other_domain_formats"=> [
401
+ # {"format"=>"first", "confidence"=>"high"},
402
+ # {"format"=>"last.first", "confidence"=>"high"},
403
+ # {"format"=>"lfirst", "confidence"=>"high"},
404
+ # {"format"=>"lastfirst", "confidence"=>"high"},
405
+ # {"format"=>"firstl", "confidence"=>"high"},
406
+ # {"format"=>"last", "confidence"=>"medium"},
407
+ # {"format"=>"first.middle.last", "confidence"=>"medium"},
408
+ # {"format"=>"first-last", "confidence"=>"medium"},
409
+ # {"format"=>"l.first", "confidence"=>"medium"},
410
+ # {"format"=>"f.last", "confidence"=>"medium"},
411
+ # {"format"=>"f-last", "confidence"=>"medium"},
412
+ # {"format"=>"first.l", "confidence"=>"medium"},
413
+ # {"format"=>"first-l", "confidence"=>"medium"},
414
+ # {"format"=>"firstlast", "confidence"=>"medium"},
415
+ # {"format"=>"first_l", "confidence"=>"medium"},
416
+ # {"format"=>"f_last", "confidence"=>"medium"},
417
+ # {"format"=>"last.f", "confidence"=>"medium"},
418
+ # {"format"=>"last-f", "confidence"=>"medium"},
419
+ # {"format"=>"last-first", "confidence"=>"medium"},
420
+ # {"format"=>"first_last", "confidence"=>"medium"},
421
+ # {"format"=>"last_f", "confidence"=>"medium"},
422
+ # {"format"=>"last_first", "confidence"=>"medium"},
423
+ # {"format"=>"flast", "confidence"=>"medium"},
424
+ # {"format"=>"lastf", "confidence"=>"medium"},
425
+ # {"format"=>"l-first", "confidence"=>"low"},
426
+ # {"format"=>"l_first", "confidence"=>"low"}
427
+ # ]
428
+ # }
383
429
  def guessformat(domain, first_name: '', middle_name: '', last_name: '')
384
430
  params = {
385
431
  domain: domain
data/zerobounce.gemspec CHANGED
@@ -27,6 +27,7 @@ Gem::Specification.new do |spec| # rubocop:disable Metrics/BlockLength
27
27
  spec.required_ruby_version = '>= 2.5'
28
28
 
29
29
  spec.add_dependency 'rest-client', '~>2.1'
30
+ spec.add_dependency 'dotenv', '~> 2.8.1'
30
31
 
31
32
  spec.add_development_dependency 'bundler', '~> 2.4.6'
32
33
  spec.add_development_dependency 'pry', '~> 0.14.1'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zerobounce-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zero Bounce
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-09-04 00:00:00.000000000 Z
11
+ date: 2024-02-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '2.1'
27
+ - !ruby/object:Gem::Dependency
28
+ name: dotenv
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 2.8.1
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 2.8.1
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: bundler
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -250,8 +264,6 @@ files:
250
264
  - lib/zerobounce/mock_request.rb
251
265
  - lib/zerobounce/request.rb
252
266
  - lib/zerobounce/version.rb
253
- - output.err
254
- - output.log
255
267
  - zerobounce.gemspec
256
268
  homepage: https://zerobounce.net
257
269
  licenses: