zerobounce-sdk 1.1.1 → 2.1.8

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.
data/documentation_es.md DELETED
@@ -1,449 +0,0 @@
1
- #### Uso
2
- Agrega esta línea a tu Gemfile de la aplicación:
3
- ```ruby
4
- gem 'zerobounce-sdk'
5
- ```
6
-
7
- Y luego ejecuta:
8
- ```bash
9
- $ bundle
10
- ```
11
-
12
- O instálalo directamente con:
13
- ```bash
14
- $ gem install zerobounce-sdk
15
- ```
16
-
17
- Importa:
18
- ```ruby
19
- require 'zerobounce'
20
- ```
21
-
22
- Configura una clave de API válida de ZeroBounce:
23
- ```ruby
24
- Zerobounce.configure do |config|
25
- config.apikey = '<clave-de-api-de-zerobounce>'
26
- ...
27
- end
28
- ```
29
- o
30
- ```ruby
31
- Zerobounce.config.apikey = '<clave-de-api-de-zerobounce>'
32
- ...
33
- ```
34
-
35
- Créditos
36
- ```ruby
37
- Zerobounce.credits
38
- => 79 ### devuelve -1 si la clave es inválida
39
- ```
40
-
41
- Actividad
42
- ```ruby
43
- Zerobounce.activity('ss@gmail.com')
44
- => {"found"=>true, "active_in_days"=>"180"}
45
- ```
46
-
47
- Estadísticas de uso
48
- ```ruby
49
- Zerobounce.api_usage(Date.today, Date.today)
50
- =>
51
- {"total"=>0,
52
- "status_valid"=>0,
53
- "status_invalid"=>0,
54
- "status_catch_all"=>0,
55
- "status_do_not_mail"=>0,
56
- "status_spamtrap"=>0,
57
- "status_unknown"=>0,
58
- "sub_status_toxic"=>0,
59
- "sub_status_disposable"=>0,
60
- "sub_status_role_based"=>0,
61
- "sub_status_possible_trap"=>0,
62
- "sub_status_global_suppression"=>0,
63
- "sub_status_timeout_exceeded"=>0,
64
- "sub_status_mail_server_temporary_error"=>0,
65
- "sub_status_mail_server_did_not_respond"=>0,
66
- "sub_status_greylisted"=>0,
67
- "sub_status_antispam_system"=>0,
68
- "sub_status_does_not_accept_mail"=>0,
69
- "sub_status_exception_occurred"=>0,
70
- "sub_status_failed_syntax_check"=>0,
71
- "sub_status_mailbox_not_found"=>0,
72
- "sub_status_unroutable_ip_address"=>0,
73
- "sub_status_possible_typo"=>0,
74
- "sub_status_no_dns_entries"=>0,
75
- "sub_status_role_based_catch_all"=>0,
76
- "sub_status_mailbox_quota_exceeded"=>0,
77
- "sub_status_forcible_disconnect"=>0,
78
- "sub_status_failed_smtp_connection"=>0,
79
- "sub_status_mx_forward"=>0,
80
- "sub_status_alternate"=>0,
81
- "sub_status_blocked"=>0,
82
- "sub_status_allowed"=>0,
83
- "start_date"=>"4/28/2023",
84
- "end_date"=>"4/28/2023"}
85
- ```
86
-
87
- ##### Validación de correo electrónico
88
-
89
- Validar un solo correo electrónico
90
- ```ruby
91
- Zerobounce.validate('valid@example.com')
92
- ### Zerobounce.validate('valid@example.com', '192.168.0.1') # dirección IP opcional
93
- =>
94
- {"address"=>"valid@example.com",
95
- "status"=>"valid",
96
- "sub_status"=>"",
97
- "free_email"=>false,
98
- "did_you_mean"=>nil,
99
- "account"=>nil,
100
- "domain"=>nil,
101
- "domain_age_days"=>"9692",
102
- "smtp_provider"=>"example",
103
- "mx_found"=>"true",
104
- "mx_record"=>"mx.example.com",
105
- "firstname"=>"zero",
106
- "lastname"=>"bounce",
107
- "gender"=>"male",
108
- "country"=>nil,
109
- "region"=>nil,
110
- "city"=>nil,
111
- "zipcode"=>nil,
112
- "processed_at"=>"2023-04-28 15:18:45.631"}
113
- ```
114
-
115
- Validar
116
-
117
- en lote
118
- ```ruby
119
- emails
120
- =>
121
- ["disposable@example.com",
122
- "invalid@example.com",
123
- "valid@example.com",
124
- "toxic@example.com",
125
- "donotmail@example.com",
126
- "spamtrap@example.com"]
127
-
128
- ### ip_addresses
129
- => ["192.168.0.1", "192.168.0.1", "192.168.0.1", "192.168.0.1", "192.168.0.1", "192.168.0.1"]
130
- ### Zerobounce.validate_batch(emails, ip_addresses) # parámetro ip_addresses opcional
131
-
132
- Zerobounce.validate_batch(emails)
133
- =>
134
- [{"address"=>"disposable@example.com",
135
- "status"=>"do_not_mail",
136
- "sub_status"=>"disposable",
137
- "free_email"=>false,
138
- "did_you_mean"=>nil,
139
- "account"=>nil,
140
- "domain"=>nil,
141
- "domain_age_days"=>"9692",
142
- "smtp_provider"=>"example",
143
- "mx_found"=>"true",
144
- "mx_record"=>"mx.example.com",
145
- "firstname"=>"zero",
146
- "lastname"=>"bounce",
147
- "gender"=>"male",
148
- "country"=>nil,
149
- "region"=>nil,
150
- "city"=>nil,
151
- "zipcode"=>nil,
152
- "processed_at"=>"2023-04-28 15:21:44.340"},
153
- {"address"=>"invalid@example.com",
154
- "status"=>"invalid",
155
- "sub_status"=>"mailbox_not_found",
156
- "free_email"=>false,
157
- "did_you_mean"=>nil,
158
- "account"=>nil,
159
- "domain"=>nil,
160
- "domain_age_days"=>"9692",
161
- "smtp_provider"=>"example",
162
- "mx_found"=>"true",
163
- "mx_record"=>"mx.example.com",
164
- "firstname"=>"zero",
165
- "lastname"=>"bounce",
166
- "gender"=>"male",
167
- "country"=>nil,
168
- "region"=>nil,
169
- "city"=>nil,
170
- "zipcode"=>nil,
171
- "processed_at"=>"2023-04-28 15:21:44.340"},
172
- {"address"=>"valid@example.com",
173
- "status"=>"valid",
174
- "sub_status"=>"",
175
- "free_email"=>false,
176
- "did_you_mean"=>nil,
177
- "account"=>nil,
178
- "domain"=>nil,
179
- "domain_age_days"=>"9692",
180
- "smtp_provider"=>"example",
181
- "mx_found"=>"true",
182
- "mx_record"=>"mx.example.com",
183
- "firstname"=>"zero",
184
- "lastname"=>"bounce",
185
- "gender"=>"male",
186
- "country"=>nil,
187
- "region"=>nil,
188
- "city"=>nil,
189
- "zipcode"=>nil,
190
- "processed_at"=>"2023-04-28 15:21:44.340"},
191
- {"address"=>"toxic@example.com",
192
- "status"=>"do_not_mail",
193
- "sub_status"=>"toxic",
194
- "free_email"=>false,
195
- "did_you_mean"=>nil,
196
- "account"=>nil,
197
- "domain"=>nil,
198
- "domain_age_days"=>"9692",
199
- "smtp_provider"=>"example",
200
- "mx_found"=>"true",
201
- "mx_record"=>"mx.example.com",
202
- "firstname"=>"zero",
203
- "lastname"=>"bounce",
204
- "gender"=>"male",
205
- "country"=>nil,
206
- "region"=>nil,
207
- "city"=>nil,
208
- "zipcode"=>nil,
209
- "processed_at"=>"2023-04-28 15:21:44.340"},
210
- {"address"=>"donotmail@example.com",
211
- "status"=>"do_not_mail",
212
- "sub_status"=>"role_based",
213
- "free_email"=>false,
214
- "did_you_mean"=>nil,
215
- "account"=>nil,
216
- "domain"=>nil,
217
- "domain
218
-
219
- _age_days"=>"9692",
220
- "smtp_provider"=>"example",
221
- "mx_found"=>"true",
222
- "mx_record"=>"mx.example.com",
223
- "firstname"=>"zero",
224
- "lastname"=>"bounce",
225
- "gender"=>"male",
226
- "country"=>nil,
227
- "region"=>nil,
228
- "city"=>nil,
229
- "zipcode"=>nil,
230
- "processed_at"=>"2023-04-28 15:21:44.340"},
231
- {"address"=>"spamtrap@example.com",
232
- "status"=>"spamtrap",
233
- "sub_status"=>"",
234
- "free_email"=>false,
235
- "did_you_mean"=>nil,
236
- "account"=>nil,
237
- "domain"=>nil,
238
- "domain_age_days"=>"9692",
239
- "smtp_provider"=>"example",
240
- "mx_found"=>"true",
241
- "mx_record"=>"mx.example.com",
242
- "firstname"=>"zero",
243
- "lastname"=>"bounce",
244
- "gender"=>"male",
245
- "country"=>nil,
246
- "region"=>nil,
247
- "city"=>nil,
248
- "zipcode"=>nil,
249
- "processed_at"=>"2023-04-28 15:21:44.340"}]
250
- ```
251
-
252
- ###### Validación de archivo en lote
253
-
254
- Enviar archivo
255
- ```ruby
256
- ### puedes encontrar un archivo de muestra en la carpeta files de este repositorio
257
- validate_file_path = File.join(Dir.pwd, 'files', 'validation.csv')
258
- => "/home/zb/wrappers/ruby-test/files/validation.csv"
259
- Zerobounce.validate_file_send(validate_file_path)
260
- =>
261
- {"success"=>true,
262
- "message"=>"File Accepted",
263
- "file_name"=>"validation.csv",
264
- "file_id"=>"75d854a6-565c-49f9-b4c8-b3344480ec4c"}
265
- ### se requerirá el file_id para los próximos pasos
266
- ### parámetros opcionales:
267
- email_address_column: 1,
268
- first_name_column: 2,
269
- last_name_column: 3,
270
- gender_column: 4,
271
- has_header_row: true,
272
- return_url: nil ### URL de devolución de resultados
273
- ### Zerobounce.validate_file_send(validate_file_path, email_address_column: 1, gender_column: 4)
274
- ```
275
-
276
- Verificar archivo
277
- ```ruby
278
- file_id = "75d854a6-565c-49f9-b4c8-b3344480ec4c"
279
- => "75d854a6-565c-49f9-b4c8-b3344480ec4c"
280
- Zerobounce.validate_file_check(file_id)
281
- =>
282
- {"success"=>true,
283
- "file_id"=>"75d854a6-565c-49f9-b4c8-b3344480ec4c",
284
- "file_name"=>"validation.csv",
285
- "upload_date"=>"2023-04-28T15:25:41Z",
286
- "file_status"=>"Greylisted",
287
- "complete_percentage"=>"0%",
288
- "error_reason"=>nil,
289
- "return_url"=>nil}
290
- ```
291
-
292
- Obtener archivo
293
- ```ruby
294
- file_id = "75d854a6-565c-49f9-b4c8-b3344480ec4c"
295
- => "75d854a6-565c-49f9-b4c8-b3344480ec4c"
296
- Zerobounce.validate_file_get(file_id)
297
- => "\"email\",\"first\",\"last\",\"gender\",\"ip\",\"ZB Status\",\"ZB Sub Status\",\"ZB Account\",\"ZB Domain\",\"ZB First Name\",\"ZB Last Name\",\"ZB Gender\",\"ZB Free Email\",\"ZB MX Found\",\"ZB MX Record\",\"ZB SMTP Provider\",\"ZB Did You Mean\"\n\"disposable@example.com\",\"
298
-
299
- First\",\"Last\",\"male\",\"127.0.0.1\",\"do_not_mail\",\"disposable\",\"\",\"\",\"zero\",\"bounce\",\"male\",\"False\",\"true\",\"mx.example.com\",\"example\",\"\"\n\"invalid@example.com\",\"First\",\"Last\",\"male\",\"127.0.0.1\",\"invalid\",\"mailbox_not_found\",\"\",\"\",\"zero\",\"bounce\",\"male\",\"False\",\"true\",\"mx.example.com\",\"example\",\"\"\n\"valid@example.com\",\"First\",\"Last\",\"male\",\"127.0.0.1\",\"valid\",\"\",\"\",\"\",\"zero\",\"bounce\",\"male\",\"False\",\"true\",\"mx.example.com\",\"example\",\"\"\n\"toxic@example.com\",\"First\",\"Last\",\"male\",\"127.0.0.1\",\"do_not_mail\",\"toxic\",\"\",\"\",\"zero\",\"bounce\",\"male\",\"False\",\"true\",\"mx.example.com\",\"example\",\"\"\n\"donotmail@example.com\",\"First\",\"Last\",\"male\",\"127.0.0.1\",\"do_not_mail\",\"role_based\",\"\",\"\",\"zero\",\"bounce\",\"male\",\"False\",\"true\",\"mx.example.com\",\"example\",\"\"\n\"spamtrap@example.com\",\"First\",\"Last\",\"male\",\"127.0.0.1\",\"spamtrap\",\"\",\"\",\"\",\"zero\",\"bounce\",\"male\",\"False\",\"true\",\"mx.example.com\",\"example\",\"\"\n\"abuse@example.com\",\"First\",\"Last\",\"male\",\"127.0.0.1\",\"abuse\",\"\",\"\",\"\",\"zero\",\"bounce\",\"male\",\"False\",\"true\",\"mx.example.com\",\"example\",\"\"\n\"unknown@example.com\",\"First\",\"Last\",\"male\",\"127.0.0.1\",\"unknown\",\"mail_server_temporary_error\",\"\",\"\",\"zero\",\"bounce\",\"male\",\"False\",\"true\",\"mx.example.com\",\"example\",\"\"\n\"catch_all@example.com\",\"First\",\"Last\",\"male\",\"127.0.0.1\",\"catch-all\",\"\",\"\",\"\",\"zero\",\"bounce\",\"male\",\"False\",\"true\",\"mx.example.com\",\"example\",\"\"\n\"antispam_system@example.com\",\"First\",\"Last\",\"male\",\"127.0.0.1\",\"unknown\",\"antispam_system\",\"\",\"\",\"zero\",\"bounce\",\"male\",\"False\",\"true\",\"mx.example.com\",\"example\",\"\"\n\"does_not_accept_mail@example.com\",\"First\",\"Last\",\"male\",\"127.0.0.1\",\"invalid\",\"does_not_accept_mail\",\"\",\"\",\"zero\",\"bounce\",\"male\",\"False\",\"true\",\"mx.example.com\",\"example\",\"\"\n\"exception_occurred@example.com\",\"First\",\"Last\",\"male\",\"127.0.0.1\",\"unknown\",\"exception_occurred\",\"\",\"\",\"zero\",\"bounce\",\"male\",\"False\",\"true\",\"mx.example.com\",\"example\",\"\"\n\"failed_smtp_connection@example.com\",\"First\",\"Last\",\"male\",\"127.0.0.1\",\"unknown\",\"failed_smtp_connection\",\"\",\"\",\"zero\",\"bounce\",\"male\",\"False\",\"true\",\"mx.example.com\",\"example\",\"\"\n\"failed_syntax_check@example.com\",\"First\",\"Last\",\"male\",\"127.0.0.1\",\"invalid\",\"failed_syntax_check\",\"\",\"\",\"zero\",\"bounce\",\"male\",\"False\",\"true\",\"mx.example.com\",\"example\",\"\"\n\"forcible_disconnect@example.com\",\"First\",\"Last\",\"male\",\"127.0.0.1\",\"unknown\",\"forcible_disconnect\",\"\",\"\",\"zero\",\"bounce\",\"male\",\"False\",\"true\",\"mx.example.com\",\"example\",\"\"\n\"global_suppression@example.com\",\"First\",\"Last\",\"male\",\"127.0.0.1\",\"do_not_mail\",\"global_suppression\",\"\",\"\",\"zero\",\"bounce\",\"male\",\"False\",\"true\",\"mx.example.com\",\"example\",\"\"\n\"greylisted@example.com\",\"First\",\"Last\",\"male\",\"127.0.0.1\",\"unknown\",\"greylisted\",\"\",\"\",\"zero\",\"
300
-
301
- bounce\",\"male\",\"False\",\"true\",\"mx.example.com\",\"example\",\"\"\n\"leading_period_removed@example.com\",\"First\",\"Last\",\"male\",\"127.0.0.1\",\"valid\",\"leading_period_removed\",\"\",\"\",\"zero\",\"bounce\",\"male\",\"False\",\"true\",\"mx.example.com\",\"example\",\"\"\n\"mail_server_did_not_respond@example.com\",\"First\",\"Last\",\"male\",\"127.0.0.1\",\"unknown\",\"mail_server_did_not_respond\",\"\",\"\",\"zero\",\"bounce\",\"male\",\"False\",\"true\",\"mx.example.com\",\"example\",\"\"\n\"mail_server_temporary_error@example.com\",\"First\",\"Last\",\"male\",\"127.0.0.1\",\"unknown\",\"mail_server_temporary_error\",\"\",\"\",\"zero\",\"bounce\",\"male\",\"False\",\"true\",\"mx.example.com\",\"example\",\"\"\n\"mailbox_quota_exceeded@example.com\",\"First\",\"Last\",\"male\",\"127.0.0.1\",\"invalid\",\"mailbox_quota_exceeded\",\"\",\"\",\"zero\",\"bounce\",\"male\",\"False\",\"true\",\"mx.example.com\",\"example\",\"\"\n\"mailbox_not_found@example.com\",\"First\",\"Last\",\"male\",\"127.0.0.1\",\"invalid\",\"mailbox_not_found\",\"\",\"\",\"zero\",\"bounce\",\"male\",\"False\",\"true\",\"mx.example.com\",\"example\",\"\"\n\"no_dns_entries@example.com\",\"First\",\"Last\",\"male\",\"127.0.0.1\",\"invalid\",\"no_dns_entries\",\"\",\"\",\"zero\",\"bounce\",\"male\",\"False\",\"true\",\"mx.example.com\",\"example\",\"\"\n\"possible_trap@example.com\",\"First\",\"Last\",\"male\",\"127.0.0.1\",\"do_not_mail\",\"possible_trap\",\"\",\"\",\"zero\",\"bounce\",\"male\",\"False\",\"true\",\"mx.example.com\",\"example\",\"\"\n\"possible_typo@example.com\",\"First\",\"Last\",\"male\",\"127.0.0.1\",\"invalid\",\"possible_typo\",\"\",\"\",\"zero\",\"bounce\",\"male\",\"False\",\"true\",\"mx.example.com\",\"example\",\"\"\n\"role_based@example.com\",\"First\",\"Last\",\"male\",\"127.0.0.1\",\"do_not_mail\",\"role_based\",\"\",\"\",\"zero\",\"bounce\",\"male\",\"False\",\"true\",\"mx.example.com\",\"example\",\"\"\n\"timeout_exceeded@example.com\",\"First\",\"Last\",\"male\",\"127.0.0.1\",\"unknown\",\"timeout_exceeded\",\"\",\"\",\"zero\",\"bounce\",\"male\",\"False\",\"true\",\"mx.example.com\",\"example\",\"\"\n\"unroutable_ip_address@example.com\",\"First\",\"Last\",\"male\",\"127.0.0.1\",\"invalid\",\"unroutable_ip_address\",\"\",\"\",\"zero\",\"bounce\",\"male\",\"False\",\"true\",\"mx.example.com\",\"example\",\"\"\n\"free_email@example.com\",\"First\",\"Last\",\"male\",\"127.0.0.1\",\"valid\",\"\",\"\",\"\",\"zero\",\"bounce\",\"male\",\"True\",\"true\",\"mx.example.com\",\"example\",\"\"\n\"role_based_catch_all@example.com\",\"First\",\"Last\",\"male\",\"127.0.0.1\",\"do_not_mail\",\"role_based_catch_all\",\"\",\"\",\"zero\",\"bounce\",\"male\",\"False\",\"true\",\"mx.example.com\",\"example\",\"\"\n"
302
- ```
303
-
304
- Eliminar archivo
305
- ```ruby
306
- file_id = "75d854a6-565c-49f9-b4c8-b3344480ec4c"
307
- => "75d854a6-565c-49f9-b4c8-b3344480ec4c"
308
- Zerobounce.validate_file_delete(file_id)
309
- =>
310
- {"success"=>true,
311
- "message"=>"File Deleted",
312
- "file_name"=>"validation.csv",
313
- "file_id"=>"75d854a6-565c-49f9-b4c8-b3344480ec4
314
-
315
- c"}
316
- ```
317
-
318
- ##### Puntuación de IA
319
-
320
- Enviar archivo
321
- ```ruby
322
- scoring_file_path = File.join(Dir.pwd, 'files', 'scoring.csv')
323
- => "/home/odin/zb/wrappers/ruby-test/files/scoring.csv"
324
- Zerobounce.scoring_file_send(scoring_file_path)
325
- =>
326
- {"success"=>true,
327
- "message"=>"File Accepted",
328
- "file_name"=>"scoring.csv",
329
- "file_id"=>"89fb7262-b845-4fa1-aa25-e486347ec64e"}
330
- ### se requerirá el file_id para los próximos pasos
331
- ### parámetros opcionales
332
- email_address_column: 1,
333
- has_header_row: true,
334
- return_url: nil ### URL de devolución de resultados
335
- ### Zerobounce.scoring_file_send(scoring_file_path, email_address_column: 1)
336
- ```
337
-
338
- Verificar archivo
339
- ```ruby
340
- file_id = "89fb7262-b845-4fa1-aa25-e486347ec64e"
341
- => "89fb7262-b845-4fa1-aa25-e486347ec64e"
342
- Zerobounce.scoring_file_check(file_id)
343
- =>
344
- {"success"=>true,
345
- "file_id"=>"89fb7262-b845-4fa1-aa25-e486347ec64e",
346
- "file_name"=>"scoring.csv",
347
- "upload_date"=>"2023-04-28T16:57:18Z",
348
- "file_status"=>"Complete",
349
- "complete_percentage"=>"100% Complete.",
350
- "return_url"=>nil}
351
- ```
352
-
353
- Obtener archivo
354
- ```ruby
355
- file_id = "89fb7262-b845-4fa1-aa25-e486347ec64e"
356
- => "89fb7262-b845-4fa1-aa25-e486347ec64e"
357
- Zerobounce.scoring_file_get(file_id)
358
- => "\"email\",\"ZeroBounceQualityScore\"\r\n\"disposable@example.com\",\"0\"\r\n\"invalid@example.com\",\"10\"\r\n\"valid@example.com\",\"10\"\r\n\"toxic@example.com\",\"2\"\r\n\"donotmail@example.com\",\"0\"\r\n\"spamtrap@example.com\",\"0\"\r\n\"abuse@example.com\",\"10\"\r\n\"unknown@example.com\",\"10\"\r\n\"catch_all@example.com\",\"10\"\r\n\"antispam_system@example.com\",\"0\"\r\n\"does_not_accept_mail@example.com\",\"0\"\r\n\"exception_occurred@example.com\",\"0\"\r\n\"failed_smtp_connection@example.com\",\"0\"\r\n\"failed_syntax_check@example.com\",\"0\"\r\n\"forcible_disconnect@example.com\",\"0\"\r\n\"global_suppression@example.com\",\"0\"\r\n\"greylisted@example.com\",\"0\"\r\n\"leading_period_removed@example.com\",\"0\"\r\n\"mail_server_did_not_respond@example.com\",\"0\"\r\n\"mail_server_temporary_error@example.com\",\"0\"\r\n\"mailbox_quota_exceeded@example.com\",\"0\"\r\n\"mailbox_not_found@example.com\",\"0\"\r\n\"no_dns_entries@example.com\",\"0\"\r\n\"possible_trap@example.com\",\"0\"\r\n\"possible_typo@example.com\",\"0\"\r\n\"role_based@example.com\",\"0\"\r\n\"timeout_exceeded@example.com\",\"0\"\r\n\"unroutable_ip_address@example.com\",\"0\"\r\n\"free_email@example.com\",\"0\"\r\n\"role_based_catch_all@example.com\",\"0\""
359
- ```
360
-
361
- Eliminar archivo
362
- ```ruby
363
- file_id = "89fb7262-b845-4fa1-aa25-e486347ec64e"
364
-
365
-
366
- => "89fb7262-b845-4fa1-aa25-e486347ec64e"
367
- Zerobounce.validate_file_delete(file_id)
368
- => {"success"=>false, "message"=>"File cannot be found."}
369
- ```
370
-
371
- ### Email Finder
372
-
373
- Guess Format
374
- ```ruby
375
- Zerobounce.guessformat("zerobounce.net")
376
- =>
377
- {"email"=>"",
378
- "domain"=>"zerobounce.net",
379
- "format"=>"first.last",
380
- "status"=>"",
381
- "sub_status"=>"",
382
- "confidence"=>"high",
383
- "did_you_mean"=>"",
384
- "failure_reason"=>"",
385
- "other_domain_formats"=>
386
- [{"format"=>"first", "confidence"=>"high"},
387
- {"format"=>"last.first", "confidence"=>"high"},
388
- {"format"=>"lfirst", "confidence"=>"high"},
389
- {"format"=>"lastfirst", "confidence"=>"high"},
390
- {"format"=>"firstl", "confidence"=>"high"},
391
- {"format"=>"last", "confidence"=>"medium"},
392
- {"format"=>"first.middle.last", "confidence"=>"medium"},
393
- {"format"=>"first-last", "confidence"=>"medium"},
394
- {"format"=>"l.first", "confidence"=>"medium"},
395
- {"format"=>"f.last", "confidence"=>"medium"},
396
- {"format"=>"f-last", "confidence"=>"medium"},
397
- {"format"=>"first.l", "confidence"=>"medium"},
398
- {"format"=>"first-l", "confidence"=>"medium"},
399
- {"format"=>"firstlast", "confidence"=>"medium"},
400
- {"format"=>"first_l", "confidence"=>"medium"},
401
- {"format"=>"f_last", "confidence"=>"medium"},
402
- {"format"=>"last.f", "confidence"=>"medium"},
403
- {"format"=>"last-f", "confidence"=>"medium"},
404
- {"format"=>"last-first", "confidence"=>"medium"},
405
- {"format"=>"first_last", "confidence"=>"medium"},
406
- {"format"=>"last_f", "confidence"=>"medium"},
407
- {"format"=>"last_first", "confidence"=>"medium"},
408
- {"format"=>"flast", "confidence"=>"medium"},
409
- {"format"=>"lastf", "confidence"=>"medium"},
410
- {"format"=>"l-first", "confidence"=>"low"},
411
- {"format"=>"l_first", "confidence"=>"low"}]}
412
- # Zerobounce.guessformat("zerobounce.net", first_name: "John", middle_name: 'Deere', last_name: "Doe")
413
- ```
414
-
415
-
416
- #### Desarrollo
417
-
418
- Después de revisar el repositorio, ejecuta las pruebas:
419
- ```bash
420
- rspec --init ### si es necesario
421
- bundle exec rspec
422
- ```
423
-
424
- Deberías ver una salida como esta:
425
- ```bash
426
- Run options: include {:focus=>true}
427
- running live tests
428
- .....................................................
429
-
430
- Finished in 6.81 seconds (files took 0.40587 seconds to load)
431
- 53 examples, 0 failures
432
- ```
433
-
434
- ##### Parámetros de prueba
435
- Las pruebas utilizan los siguientes parámetros de entorno:
436
- TEST {unit|live} influye en si se ejecutan las pruebas simuladas de unidad o se utiliza el servidor en vivo (se pueden utilizar créditos si eliges hacer esto)
437
- ZEROBOUNCE_API_KEY {<zerobounce-api-key-value>} esta clave se utiliza para realizar solicitudes al servidor en vivo; también se utiliza en las pruebas simuladas como un ejemplo de clave válida (cualquier valor funcionará para las pruebas simuladas)
438
- INCORRECT_API_KEY {cualquier cadena sin espacios en blanco que no sea una clave válida} se utiliza para pruebas en las que las solicitudes deben fallar debido al valor de la clave de la API.
439
-
440
- Para configurarlos:
441
- ```bash
442
- export ZEROBOUNCE_API_KEY=99e7ef20ceea4480a173b07b1be75371
443
- export INCORRECT_API_KEY=thiskeyisinvalidorotherwiseincorrect
444
- export TEST=unit
445
- ```
446
-
447
- Se proporciona un archivo .env.sample.
448
-
449
- Las pruebas simuladas se generaron utilizando webmock y vcr. Esto significa que se realizaron solicitudes reales y se grabaron en los archivos .yml bajo spec/cassettes con una clave API válida en ese momento utilizada con fines de prueba. Sin embargo, esta clave se ha invalidado en el ínterin, pero se proporciona en el archivo .env.sample para que las pruebas simuladas funcionen. Si no desea utilizar esta clave para simulaciones, puede reemplazarla con cualquier valor en los archivos .yml bajo spec/cassettes o eliminarlos todos y volver a ejecutar las pruebas para que vcr los grabe con una nueva clave.